Parallel implementation of real-time control programs
Phillip L. Shaffer · 2003
Two turbojet engine control programs were analyzed for potential parallelism. Both were subjected to global, hierarchical, large-grain data-flow analysis, using internally developed data-flow analysis tools. Execution times of constituent code segments or procedures were determined. Data dependences were combined with execution times to determine maximum possible speedup, using the length of the critical path as the shortest execution time. The first control program was divided into 199 code segments, and had a maximum speedup of 7.2. The second program consisted of 64 basic control procedures; this program has a maximum possible speedup of 5.3. The amount of data passed between the dependent tasks was small, averaging 1.3 values per dependency. Static, nonpreemptive schedules have been determined using a heuristic algorithm based on the critical path method. For the first control program this allowed a speedup of 6.6 using 7 processors; for the second, the maximum possible speedup of 5.3 was achieved using 6 processors. The first program is being implemented on a shared-memory bus-shaped multiprocessor.>