Abstract

We have developed an integrated programming environment, called IPRESPS, for static partitioning of time critical tasks into concurrent modules and for scheduling those modules for the shortest possible execution time on a model of a macro dataflow computer (MHDFC). IPRESPS consists out of a program graph generation module, a partitioning module, a memory allocation module, a code generation module and a simulation module. The program graph generation module transforms a time critical task (written in DFCL) into a fine grained program graph. The partitioning module transforms fine grained program graph into a near optimal grained program graph and schedules it's nodes on the MMDFC. A combination of an algorithm for aggregation of program statements or modules into grains, a DSH algorithm (Kruatrachue and Lewis 1987) and a heuristic algorihm which increases node size with determination of node's nonstrict inputs (Ojsteršek and Žumer 1990) is used for node size determination. A heuristic critical path multi-lists scheduling algorithm is developed for static scheduling of near optimal grained nodes on the MMDFC too. The memory allocation module depending on the static scheduling strategy reserves memory space in units of the MMDFC. The code generation module generates sequential code for each node of a near optimal grained program graph. The simulation module (Ojsteršek, Žumer, and Veleski 1992) is a loose event-driven block-level simulator that monitors the execution of time critical applications, written in DFCL, which are executed on the MMDFC. It enables performance debugging and time critical task debugging at the programming language level, at the abstract machine level, at the model of the computation level and partially at the realization level.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call