Skip to Main Content
In distributed heterogeneous systems, the target application is partitioned and the partitions are executed in different computing units while satisfying the dependencies between the code partitions. Code generation is the process of converting the code partitions into individually executable code clusters and satisfying the code dependencies by adding communication primitives to send and receive data between dependent the code clusters. In this work, we describe a code generation tool that is applicable to procedural language based applications for distributed processing. The application programs along with the partition primitives are converted into independently executable concrete implementations. The process consists of two steps, first translating the primitives of the application program into equivalent code clusters, and then scheduling the implementations of these code clusters according to the inherent data dependencies. Further, the original source code needs to be reverse engineered in order to create a meta-data table describing the program elements and dependency trees. This data gathered, is used along with parallel virtual machine (PVM) primitives for enabling the communication between the partitioned programs in the distributed environment. The proposed code generation model has been implemented using C and tested for various application programs for functional verification.