$PTOLEMY/src/domains/cg/parScheduler. All parallel schedulers use an APEG as the input. The APEG for parallel schedulers is called ParGraph, which is derived from class ExpandedGraph. Class ParNode, derived from class EGNode, is a node in a ParGraph.
The base scheduler object is ParScheduler. Since it is derived from class SDFScheduler, it inherits many methods and members from the SDFScheduler class. The ParScheduler class has a ParProcessors class that has member methods to implement the main scheduling algorithm. The ParProcessors class has an array of UniProcessor classes. The UniProcessor class, privately derived from class DoubleLinkList, is mapped to a processing element in the target architecture.
Note that all parallel scheduling algorithms are retargettable: they do not assume any specific topology while they take the effect of topology into account to estimate the interprocessor communication overhead.
Refer to class ParScheduler, to see the overall procedure of parallel scheduling. Refer to class UniProcessor, to see the procedure of sub-universe generations.