Scioto

From HPCRL Wiki
Revision as of 16:39, 13 September 2008 by 67.184.75.229 (Talk)
Jump to: navigation, search

Contents

Scioto: Shared Collections of Task Objects

Scioto (pronounced /sigh-OH-toe/ [1]) is a framework for supporting task parallelism on distributed memory machines under one-sided and global view parallel programming models. This framework allows the user to express their program as a set of tasks that are automatically scheduled and load balanced with respect to locality by the runtime system. Through task parallelism, the Scioto framework provides an approach to overcoming irregularity, load imbalance, and heterogeneity as well as dynamic mapping of computation onto emerging architectures.

Scioto uses ARMCI and MPI internally. We have tested interoperability with MPI, ARMCI, and Global Arrays applications and are investigating interoperability with additional parallel programming tools.

Documentation

Sorry, documentation is a work in progress! We hope to have something here soon! Please refer to the example programs included with the Scioto source code and Doxygen comments in the source.

Publications

Scioto: A Framework for Global-View Task Parallelism pdf slides
James Dinan, Sriram Krishnamoorthy, D. Brian Larkins, Jarek Nieplocha, P. Sadayappan
Proc. of 37th Intl. Conference on Parallel Processing. Portland, OR, Sept. 8-12, 2008.

Installing Scioto

Scioto depends on both ARMCI and MPI. Detailed installation instructions are included in the README file.

Installing on a Linux Desktop

Scioto is designed for use on distributed memory clusters but it is also possible to try it out on your desktop. This can also be convenient for development and tends to work best on SMP and multicore systems. Here's how I do it on my Ubuntu Linux laptop:

  1. Install MPI. Under Ubuntu, MPICH for shared memory can be easily installed via:
    1. $ apt-get install mpich-shmem-bin
  2. Download ARMCI v1.3.
  3. Compile ARMCI using your MPI distribution. Here's how I do it (note: if you are running a 64 bit OS, you should change the target to LINUX64 and the ARMCI_LIBS path to LINUX64):
    1. $ tar xvzf armci-1-3.tgz
    2. $ cd armci-1-3
    3. $ make CC=mpicc TARGET=LINUX MSG_COMMS=MPI ARMCI_NETWORK=SOCKETS
  4. Compile Scioto:
    1. $ make CC=mpicc ARMCI_LIBS=~/src/armci-1-3/lib/LINUX/ ARMCI_INCLUDE=~/src/armci-1-3/src/
  5. Compile the Scioto examples:
    1. $ cd tc-examples
    2. $ make CC=mpicc ARMCI_LIBS=~/src/armci-1-3/lib/LINUX/ ARMCI_INCLUDE=~/src/armci-1-3/src/
  6. Try it out! Using Ubuntu's MPICH:
    1. $ mpirun.mpich-shmem -n 2 ./test-task

Acknowledgements

Current project members:

This research was supported in part by DOE grant #DE-FC02- 06ER25755 and NSF grant #0403342.

Download

We are currently providing early development snapshots for download. Please contact Jim Dinan (dinan at cse.ohio-state.edu) if you have questions or comments regarding Scioto.

  • Dev Snapshot, 09-13-2008 [2]
  • Dev Snapshot, 09-10-2008 [3]
Personal tools