Future Generation Computer Systems — 2003
An advanced environment supporting structured parallel programming in Java
Marco Aldinucci, Marco Danelutto, Paolo Teti
Abstract
In this work we present Lithium, a pure Java structured parallel programming environment based on skeletons (common, reusable and efficient parallelism exploitation patterns). Lithium is implemented as a Java package and represents both the first skeleton based programming environment in Java and the first complete skeleton based Java environment exploiting macro-data flow implementation techniques. Lithium supports a set of user code optimizations which are based on skeleton rewriting techniques. These optimizations improve both absolute performance and resource usage with respect to original user code. Parallel programs developed using the library run on any network of workstations provided the workstations support plain JRE. The paper describes the library implementation, outlines the optimization techniques used and eventually presents the performance results obtained on both synthetic and real applications.
@article{lithium:fgcs:03,
abstract = {In this work we present Lithium, a pure Java structured parallel programming environment based on skeletons (common, reusable and efficient parallelism exploitation patterns). Lithium is implemented as a Java package and represents both the first skeleton based programming environment in Java and the first complete skeleton based Java environment exploiting macro-data flow implementation techniques. Lithium supports a set of user code optimizations which are based on skeleton rewriting techniques. These optimizations improve both absolute performance and resource usage with respect to original user code. Parallel programs developed using the library run on any network of workstations provided the workstations support plain JRE. The paper describes the library implementation, outlines the optimization techniques used and eventually presents the performance results obtained on both synthetic and real applications.},
author = {Marco Aldinucci and Marco Danelutto and Paolo Teti},
date-modified = {2024-04-01 11:30:57 +0200},
doi = {10.1016/S0167-739X(02)00172-3},
journal = {Future Generation Computer Systems},
keywords = {parallel},
month = jul,
number = {5},
pages = {611--626},
title = {An advanced environment supporting structured parallel programming in {Java}},
url = {http://calvados.di.unipi.it/storage/paper_files/2003_lithium_fgcs.pdf},
volume = {19},
year = {2003},
bdsk-url-1 = {http://calvados.di.unipi.it/storage/paper_files/2003_lithium_fgcs.pdf},
bdsk-url-2 = {http://dx.doi.org/10.1016/S0167-739X(02)00172-3}}