Data Parallel Skeletons in Java

Ernsting Steffen, Kuchen Herbert

Forschungsartikel (Zeitschrift) | Peer reviewed

Zusammenfassung

In the past years, multi-core processors and clusters of multi-core processors have emerged to be promising approaches to meet the growing demand for computing performance. They deliver scalable performance, certainly at the costs of tedious and complex parallel programming. Due to a lack of high-level abstractions, developers of parallel applications have to deal with low-level details such as coordinating threads or synchronizing processes. Thus, parallel programming still remains a dificult and error-prone task. In order to shield the programmer from these low–level details, algorithmic skeletons have been proposed. They encapsulate typical parallel programming patterns and have emerged to be an effcient and scalable approach to simplifying the development of parallel applications. In this paper, we present a Java binding of our skeleton library Muesli. We point out strengths and weaknesses of Java with respect to parallel and distributed computing. A matrix multiplication benchmark demonstrates that the Java Generics deliver poor performance, thus the Java implementation is unable to compete with the C++ implementation in terms of performance.

Details zur Publikation

FachzeitschriftProcedia Computer Science
Jahrgang / Bandnr. / Volume9
Seitenbereich1817-1826
StatusVeröffentlicht
Veröffentlichungsjahr2012
Sprache, in der die Publikation verfasst istEnglisch
DOI10.1016/j.procs.2012.04.200
Stichwörteralgorithmic skeletons; parallel programming; distributed programming; Java

Autor*innen der Universität Münster

Ernsting, Steffen
Lehrstuhl für Praktische Informatik in der Wirtschaft (Prof. Kuchen) (PI)
Kuchen, Herbert
Lehrstuhl für Praktische Informatik in der Wirtschaft (Prof. Kuchen) (PI)