Papers
Topics
Authors
Recent
Search
2000 character limit reached

Object-oriented design for massively parallel computing

Published 22 Nov 2018 in cs.PL | (1811.09303v2)

Abstract: We define an abstract framework for object-oriented programming and show that object-oriented languages, such as C++, can be interpreted as parallel programming languages. Parallel C++ code is typically more than ten times shorter than the equivalent C++ code with MPI. The large reduction in the number of lines of code in parallel C++ is primarily due to the fact that coordination of concurrency, and the communications instructions, including packing and unpacking of messages, are automatically generated in the implementation of object operations. We implemented a prototype of a compiler and a runtime system for parallel C++ and used them to create complex data-intensive and HPC applications. These results indicate that adoption of the parallel object-oriented framework has the potential to drastically reduce the cost of parallel programming. We also show that standard sequential object-oriented programs can be ported to parallel architecture, parallelized automatically, and potentially sped up. The parallel object-oriented framework enables an implementation of a compiler with a dedicated backend for the interconnect fabric, which exposes the network hardware features directly to the application. We discuss the potential implications for computer architecture.

Summary

No one has generated a summary of this paper yet.

Paper to Video (Beta)

No one has generated a video about this paper yet.

Whiteboard

No one has generated a whiteboard explanation for this paper yet.

Open Problems

We haven't generated a list of open problems mentioned in this paper yet.

Continue Learning

We haven't generated follow-up questions for this paper yet.

Authors (1)

Collections

Sign up for free to add this paper to one or more collections.