Next: Scheduling Using Dynamic Up: Codex-dp: Co-design of Communicating Previous: Related work

Process Decomposition in a Task Graph

This phase decomposes the communicating processes into some smaller computational subprocesses and communication processes. The decomposition step ensures that all of the precedence relationships imposed by the required blocking/nonblocking communication mechanisms are added. Transformation of the communicating processes into computational subprocesses and communication processes for blocking send/blocking receive, nonblocking send/blocking receive, blocking send/nonblocking receive and nonblocking send/nonblocking receive are shown in [CP99] Note that there is strong internal communication (variable accesses) and logical coherence between two subprocesses decomposed from the same original coarse-grain proceee and thus they should be finally mapped to the same hardware/software instance.

For a task graph with complex communications among processes, we follow the transformation rules to create to the decomposed task graph. When there is more than one midway communication for a given process the decomposition of this process depends on whether it is single threaded or multi-threaded. More details can be seen in [CP99].


raychang@
Wed Dec 23 15:26:00 PST 1998