arXiv Open Access 2018

Object-oriented design for massively parallel computing

Edward Givelberg
Lihat Sumber

Abstrak

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.

Topik & Kata Kunci

Penulis (1)

E

Edward Givelberg

Format Sitasi

Givelberg, E. (2018). Object-oriented design for massively parallel computing. https://arxiv.org/abs/1811.09303

Akses Cepat

Lihat di Sumber
Informasi Jurnal
Tahun Terbit
2018
Bahasa
en
Sumber Database
arXiv
Akses
Open Access ✓