Abstract
Conversion algorithms are presented that would enable programmers to write programs in a high-level, data flow language and then run those programs on a synchronous machine. A model of interprocess communication systems is developed in which both data-driven and synchronous execution modes are represented. Balancing equations are used to characterize a subclass of parallel programs, called loop programs, for which conversions are possible. We show that all loop programs having the finite buffer property can be converted into synchronous mode. Finally two algorithms for the conversion of loop programs are presented and discussed.
- 1 BAILEY, D. A., CUNY, J. E., AND MACLEOo, B.B. Coordination in the Poker Parallel Programming Environment: A parallel code optimization. Tech. Rep. 85-21, University of Massachusetts, Amherst, Aug. 1985.Google Scholar
- 2 CUNY, J. E., AND SNYDER, L. Testing the coordination predicate. IEEE Trans. Comput. 33, 3 (Mar. 1984), 201-208.Google Scholar
- 3 GANNON, D., SNYDER, L., AND VAN ROSENDALE, J. Programming substructure computations for elliptic problems on the CHiP computer. In Impact o{ New Computing Systems on Computational Mechanics, A. K. Noor (Ed.), American Society of Mechanical Engineers, 1983.Google Scholar
- 4 KARP, R., AND MILLER, R.E. Parallel program schemata. J. Comput. Syst. Sci. 3 (May 1969), 147-195.Google Scholar
- 5 PETERSON, J.L. Petri nets. ACM Comput. Surv. 9, 3 (Mar. 1977), 223-252. Google Scholar
- 6 CUNY, g. E., AND SNYDER, L. A model for analyzing generalized interprocessor communication system. In AlgorithmicaUy-specialized Computers, L. Snyder, L. Jamieson, H. Siegel, and D. Gannon (Eds.), 1985, pp. 7-16.Google Scholar
- 7 KARP, R. M., AND MILLER, R.E. Properties of a model for parallel computations: Determinacy, termination and queuing. SIAMJ. Appl. Math. 14 (Nov. 1966), 1390-1411.Google Scholar
- 8 KuNa, H. T., ANO LEISERSON, C.E. Systolic arrays (for VLSI). Tech. Rep. CS-79-103, Carnegie- Mellon University, Pittsburgh, Pa., 1979.Google Scholar
- 9 LEISERSON, C. E., ANO SAXE, J.B. Optimizing synchronous system. In Proceedings o{ the 22nd Symposium on the Foundations of Computer Science. IEEE, New York (1981), pp. 23-36.Google Scholar
- 10 CUNY, J. E., AND SNYDER, L. Compilation of data-driven programs for synchronous execution. In Proceedings of the lOth Symposium on Principles of Programming Languages. ACM, New York (1983), pp. 197-202. Google Scholar
- 11 DENNIS, J. B., AND RONO, G.G. Maximum pipelining of array operations on static data flow machine. In Proceedings of the 1983 International Conference on Parallel Processing. IEEE, New York, 1983, pp. 331-334.Google Scholar
- 12 RON(~, G.G. Pipelined mapping of homogeneous data flow programs. In Proceedings of the 1984 International Conference on Parallel Processing. IEEE, New York, 1984, pp. 532-534.Google Scholar
- 13 SNYDER, L. Parallel programming and the Poker Programming Environment. Computer 17, 7 (1984), 27-37.Google Scholar
Index Terms
- Conversion from data-driven to synchronous execution in loop programs
Recommendations
Compilation of data-driven programs for synchronous execution
POPL '83: Proceedings of the 10th ACM SIGACT-SIGPLAN symposium on Principles of programming languagesWe present algorithms that convert a class of parallel programs, called loop programs, from data-driven mode to synchronous mode. Such algorithms enable programmers to use a high-level, data-driven programming language without forfeiting the efficiency ...
Data capture & conversion
The columbia guide to digital publishingThis chapter discusses the ins and outs of converting and upgrading textual data and related information from all kinds of formats into markup languages for publishing purposes. While the issues and approaches apply to all markup languages, particular ...
A compiler optimization to reduce execution time of loop nest
In this paper, a compiler optimization to reduce the execution time of loop nest is proposed. Loop tiling is used to optimize loop nest. Loop tiling is the well-known optimization for improving locality. However, it has a count result that increases the ...
Comments