Parallel programming has become the focus of much research in the past decade. As the limits of VLSI technology are tested, it becomes more apparent that parallel processors will be responsible for the next quantum leap in performance. Already parallel programming is responsible for significant advances not so much in the speed of solving problems, but in the size of problems that can be solved. Carefully crafted parallel programs are solving problems magnitudes larger than could be considered for serial machines.
Object-oriented programming has also become popular in academia and perhaps even moreso in industry. O-O holds out the promise of being able to efficiently build large systems that are understandable, maintainable, and more robust. The programs targetted by O-O are different than those typically found running on a computer such as the Connection Machine. Parallel programs are often designed for very specific tasks; O-O programs' strengths are that they handle a wide variety of requirements.
The thesis proposed here is that an object-oriented model of programming can be developed that is suitable for massively parallel processors. A set of criteria are developed for object-oriented parallel programming models and existing models are evaluated using this criteria. Given these criteria, the thesis presents a new way of thinking of parallel programs that builds upon an object-oriented foundation. A new basic type is added to the object model called Parallel-Set. Parallel sets are rigorously defined and then used to express complex communication between objects. The communication model is then extended to allow communication and synchronization protocols to be developed.
The contribution of this work is that a wider range of reliable programs can be designed for use on parallel computers and that these programs will be easier to construct and understand.
Cited By
- Kotz D (1995). A data-parallel programming library for education (DAPPLE), ACM SIGCSE Bulletin, 27:1, (76-81), Online publication date: 15-Mar-1995.
- Kotz D A data-parallel programming library for education (DAPPLE) Proceedings of the twenty-sixth SIGCSE technical symposium on Computer science education, (76-81)
- Carey M, DeWitt D, Franklin M, Hall N, McAuliffe M, Naughton J, Schuh D, Solomon M, Tan C, Tsatalos O, White S and Zwilling M Shoring up persistent applications Proceedings of the 1994 ACM SIGMOD international conference on Management of data, (383-394)
- Carey M, DeWitt D, Franklin M, Hall N, McAuliffe M, Naughton J, Schuh D, Solomon M, Tan C, Tsatalos O, White S and Zwilling M (1994). Shoring up persistent applications, ACM SIGMOD Record, 23:2, (383-394), Online publication date: 1-Jun-1994.
Index Terms
- Parallel sets: an object-oriented methodology for massively parallel programming
Recommendations
An object-oriented parallel programming language for distributed-memory parallel computing platforms
In object-oriented programming (OOP) languages, the ability to encapsulate software concerns of the dominant decomposition in objects is the key to reaching high modularity and loss of complexity in large scale designs. However, distributed-memory ...
A Comparison of 12 Parallel FORTRAN Dialects
A simple program that approximates pi by numerical quadrature is rewritten to run on nine commercially available processors to illustrate the compilations that arise in parallel programming in FORTRAN. The machines used are the Alliant FX/8, BBN ...