Package edu.rit.pj

Package edu.rit.pj contains Parallel Java (PJ), an API and middleware for parallel programming in 100% Java on shared memory multiprocessor (SMP) parallel computers, cluster parallel computers, and hybrid SMP cluster parallel computers.

See:
          Description

Class Summary
BarrierAction Class BarrierAction is the abstract base class for an object containing code that is executed as part of a barrier wait.
Comm Class Comm provides a communicator for a PJ cluster parallel program.
CommRequest Class CommRequest provides an object for doing a non-blocking message passing operation in a PJ cluster parallel program.
CommStatus Class CommStatus provides the result of receiving a message from a communicator (class Comm).
HybridTeam Class HybridTeam provides a team of threads, distributed across the processes of a cluster parallel program, for executing a WorkerRegion in parallel.
IntegerForLoop Class IntegerForLoop is the abstract base class for one variation of a parallel for loop that is executed inside a ParallelRegion.
IntegerSchedule Class IntegerSchedule provides an object that determines how to schedule the iterations of a ParallelForLoop among the threads in a ParallelTeam.
IntegerStrideForLoop Class IntegerStrideForLoop is the abstract base class for one variation of a parallel for loop that is executed inside a ParallelRegion.
Lock Class Lock provides an object used for synchronizing parallel team threads in a critical region.
LongForLoop Class LongForLoop is the abstract base class for one variation of a parallel for loop that is executed inside a ParallelRegion.
LongSchedule Class LongSchedule provides an object that determines how to schedule the iterations of a ParallelForLoop among the threads in a ParallelTeam.
LongStrideForLoop Class LongStrideForLoop is the abstract base class for one variation of a parallel for loop that is executed inside a ParallelRegion.
ParallelConstruct Class ParallelConstruct is the common base class for all parallel constructs that are executed by a ParallelTeam.
ParallelForLoop Class ParallelForLoop is the abstract base class for a parallel for loop that is executed inside a ParallelRegion.
ParallelIteration<T> Class ParallelIteration is the abstract base class for a parallel iteration that is executed inside a ParallelRegion.
ParallelRegion Class ParallelRegion is the abstract base class for a parallel region that is executed by a ParallelTeam of threads.
ParallelSection Class ParallelSection is the abstract base class for a section of code to be executed in parallel.
ParallelTeam Class ParallelTeam provides a team of threads for executing a ParallelRegion in parallel.
PJProperties Class PJProperties provides static methods for reading Java system properties that control the behavior of Parallel Java.
Schedule Class Schedule provides an object that determines how to schedule the iterations of a ParallelForLoop among the threads in a ParallelTeam.
Version Class Version defines version information for the Parallel Java Library.
WorkerConstruct Class WorkerConstruct is the common base class for all worker constructs that are executed by a WorkerTeam.
WorkerForLoop Class WorkerForLoop is the abstract base class for a worker for loop that is executed inside a WorkerRegion.
WorkerIntegerForLoop Class WorkerIntegerForLoop is the abstract base class for one variation of a worker for loop that is executed inside a WorkerRegion.
WorkerIntegerStrideForLoop Class WorkerIntegerStrideForLoop is the abstract base class for one variation of a worker for loop that is executed inside a WorkerRegion.
WorkerIteration<T> Class WorkerIteration is the abstract base class for a worker iteration that is executed inside a WorkerRegion.
WorkerLongForLoop Class WorkerLongForLoop is the abstract base class for one variation of a worker for loop that is executed inside a WorkerRegion.
WorkerLongStrideForLoop Class WorkerLongStrideForLoop is the abstract base class for one variation of a worker for loop that is executed inside a WorkerRegion.
WorkerRegion Class WorkerRegion is the abstract base class for a worker region that is executed by a WorkerTeam of threads distributed across the processes of a cluster parallel program.
WorkerTeam Class WorkerTeam provides a team of threads, distributed across the processes of a cluster parallel program, for executing a WorkerRegion in parallel.
 

Exception Summary
MultipleParallelException Class MultipleParallelException is thrown to indicate that multiple threads in a parallel team threw exceptions while executing a parallel construct.
 

Package edu.rit.pj Description

Package edu.rit.pj contains Parallel Java (PJ), an API and middleware for parallel programming in 100% Java on shared memory multiprocessor (SMP) parallel computers, cluster parallel computers, and hybrid SMP cluster parallel computers.

PJ includes the following classes for thread-based parallel programming inspired by the OpenMP standard.

When such a program runs on an SMP parallel computer, the Java Virtual Machine (JVM) schedules each thread on a separate processor, thus executing the program in parallel. Although PJ achieves the same effect as OpenMP, PJ programs are coded differently from OpenMP programs. OpenMP uses pragmas or directives that must be translated by a precompiler. PJ uses Java classes and needs no precompiler.

PJ includes the following classes for message passing parallel programming inspired by the MPI standard.

PJ includes the following classes that provide the master-worker pattern for automatic loop partitioning and load balancing in message passing parallel programs.

When such a program runs on a cluster parallel computer, the PJ message passing middleware runs multiple copies of the program, each in its own process on a different backend processor of the cluster, thus executing the program in parallel. PJ's message passing API is similar to that of MPI, except PJ's is an object oriented Java API.

For further information about the PJ message passing middleware, see package edu.rit.pj.cluster.

For further information about OpenMP, see the OpenMP Home Page (http://www.openmp.org/).

For further information about MPI, see the MPI Standard (http://www-unix.mcs.anl.gov/mpi/).



Copyright © 2005-2012 by Alan Kaminsky. All rights reserved. Send comments to ark­@­cs.rit.edu.