Abstract
Language constructs that support parallel computing are relatively well recognized at this point, with features such as parallel loops (optionally with reduction operators), divide-and-conquer parallelism, and general parallel blocks. But what language features would make distributed computing safer and more productive? Is it helpful to be able to specify on what node a computation should take place, and on what node data should reside, or is that overspecification? We don't normally expect a user of a parallel programming language to specify what core is used for a given iteration of a loop, nor which data should be moved into which core's cache. Generally the compiler and the run-time manage the allocation of cores, and the hardware worries about the cache. But in a distributed world, communication costs can easily outweigh computation costs in a poorly designed application. This panel will discuss various language features, some of which already exist to support parallel computing, and how they could be enhanced or generalized to support distributed computing safely and efficiently.
Recommendations
Distributed parallel computing with Futhark: a functional language to generate distributed parallel code
ARRAY 2022: Proceedings of the 8th ACM SIGPLAN International Workshop on Libraries, Languages and Compilers for Array ProgrammingIn this paper, we present two proofs-of-concept for distributed-memory parallel approaches based on the Futhark functional programming language. Futhark is an array-based language generating high-performance code for CPU and GPU back-ends, leveraging ...
Language and Compiler Support for Hybrid-Parallel Programming on SMP Clusters
ISHPC '02: Proceedings of the 4th International Symposium on High Performance ComputingIn this paper we present HPF extensions for clusters of SMPs and their implementation within the VFC compiler. The main goal of these extensions is to optimize HPF for clusters of SMPs by enhancing the functionality of the mapping mechanisms and by ...






Comments