Abstract
Programmers are often required to develop parallel programs using new parallel languages or parallel extensions to existing languages that are different from the languages they used previously on sequential machines. As a consequence, programmers are faced with unfamiliar programming models and are often compelled to program at a low level with specific target machines. In this paper, we are going to introduce an implicit parallel programming method that allows programmers to use their favorite sequential programming languages for heterogeneous and parallel programming. Implicit parallelism relieves programmers since they do not have to worry about the details of parallel execution.
- Adir, A., N. Francez, and S. Katz, 'Implementing a Language for Coordinated Distributed Computing,' Proceedings of the World Transputer Congress, September 1994.Google Scholar
- Ahuja, S., N. Carriero, and D. Gelernter, Linda and Friends, Computer, Vol. 19, No. 8, August 1986, pp. 26--34. Google ScholarDigital Library
- Bräunl, T., Parallel Programming: An Introduction, Prentice Hall, 1993. Google ScholarDigital Library
- Carriero, N. and D. Gelernter, 'How to Write Parallel Programs: A Guide to the Preplexed,' ACM Computing Surveys, Vol. 21, No. 3, September 1989, pp. 323--357. Google ScholarDigital Library
- Chiang, C.-C. and P. Tang, 'Middleware Support for Coordination in Distributed Applications,' Proceedings of the Fifth IEEE International Symposium on Multimedia Software Engineering (MSE 2003), December 2003, pp. 148--155.Google ScholarCross Ref
- Corchuelo, R. and D. Ruiz, M. Toro, and A. Ruiz, 'Implementing Multiparty Interactions on a Network Computer,' Proceedings of the XXVth Euromicro Conference, Milan, Italy, September 1999, pp. 458--465.Google Scholar
- Dijkstra, E., Cooperating Sequential Processes, Technical Report EWD-123, Technical University Eindhoven, 1965. Google ScholarDigital Library
- Francez, N. and I. R. Forman, Interacting Processes, Addison-Wesley, 1996.Google Scholar
- Garg, V. and S. Ajmani, 'An Efficient Algorithm for Multiprocess Shared Events,' Proceedings of the 2nd Symposium on Parallel and Distributed Computing, 1990.Google Scholar
- A. Grama, A. Gupta, G. Karypis, and V. Kumar, Introduction to Parallel Computing, 2nd Ed., Addison Wesley, 2003.Google Scholar
- Young, Y.-J. and S. Smolka, 'A Completely Distributed and Message-Efficient Implementation of Synchronous Multiprocess Communication,' In P.-C. Yew, editor, Proceedings of the 19th International Conference on Parallel Processing, Vol. 3, August 1990, pp. 311--318.Google Scholar
- Joung, Y.-J. and S. Smolka, 'A Comprehensive Study of the Complexity of Multiparty Interaction,' Journal of the ACM, Vol. 43, No. 1, January 1996, pp. 75--115. Google ScholarDigital Library
- Quinn, M. J., Designing Efficient Algorithms for Parallel Computers, McGraw-Hill, 1987. Google ScholarDigital Library
Index Terms
- Implicit heterogeneous and parallel programming
Recommendations
A framework for visual parallel programming
PAS '95: Proceedings of the First Aizu International Symposium on Parallel Algorithms/Architecture SynthesisOne of the difficulties of parallel programming is the gap between the desire of programmers to describe computations with manageable abstractions and the detailed description of parallelism, communication and synchronization required by most parallel ...
Parallelism in Object-Oriented Languages: A Survey
Fourteen concurrent object-oriented languages are compared in terms of how they deal with communication, synchronization, process management, inheritance, and implementation trade-offs. The ways in which they divide responsibility between the programmer,...
Data-Parallel Programming on MIMD Computers
The implementation of two compilers for the data-parallel programming language Dataparallel C is described. One compiler generates code for Intel and nCUBE hypercube multicomputers; the other generates code for Sequent multiprocessors. A suite of ...
Comments