@incollection{DuennweberAldinucciGorlatchetal., author = {D{\"u}nnweber, Jan and Aldinucci, Marco and Gorlatch, Sergei and Campa, Sonia and Danelutto, Marco}, title = {Adaptable Parallel Components for Grid Programming}, series = {Integrated Research in GRID Computing}, booktitle = {Integrated Research in GRID Computing}, editor = {Gorlatch, Sergei and Danelutto, Marco}, publisher = {Springer Verlag}, address = {Boston, MA}, isbn = {978-0-387-47656-8}, doi = {10.1007/978-0-387-47658-2_4}, pages = {43 -- 57}, abstract = {We suggest that parallel software components used for grid computing should be adaptable to application-specific requirements, instead of developing new components from scratch for each particular application. As an example, we take a parallel farm component which is "embarrassingly parallel", i. e., free of dependencies, and adapt it to the wavefront processing pattern with dependencies that impact its behavior. We describe our approach in the context of Higher-Order Components (HOCs), with the Java-based system Lithium as our implementation framework. The adaptation process relies on HOCs' mobile code parameters that are shipped over the network of the grid. We describe our implementation of the proposed component adaptation method and report first experimental results for a particular grid application — the alignment of DNA sequence pairs, a popular, time-critical problem in computational molecular biology.}, language = {en} } @incollection{AldinucciDuennweberDaneluttoetal., author = {Aldinucci, Marco and D{\"u}nnweber, Jan and Danelutto, Marco and Golatch, Sergei}, title = {Optimization techniques for skeletons on grids}, series = {Grid Computing: The New Frontier of High Performance Computing}, booktitle = {Grid Computing: The New Frontier of High Performance Computing}, editor = {Grandinetti, Lucio}, publisher = {Elsevier}, address = {Scotland}, isbn = {978-0-08-046146-5}, doi = {10.1016/S0927-5452(05)80014-0}, pages = {255 -- 273}, abstract = {Skeletons are common patterns of parallelism, such as farm and pipeline, that can be abstracted and offered to the application programmer as programming primitives. We describe the use and implementation of skeletons on emerging computational grids, with the skeleton system Lithium, based on Java and RMI, as our reference programming syttem. Our main contribution is the exploration of optimization techniques for implementing skeletons on grids based on an optimized, future-based RMI mechanism, which we integrate into the macro-dataflow evaluation mechanism of Lithium. We discuss three optimizations: 1) a lookahead mechanism that allows to process multiple tasks concurrently at each grid server and thereby increases the overall degree of parallelism, 2) a lazy taskbinding technique that reduces interactions between grid servers and the task dispatcher, and 3) dynamic improvements that optimize the collecting of results and the work-load balancing. We report experimental results that demonstrate the improvements due to our optimizations on various testbeds, including a heterogeneous grid-like environment.}, language = {en} }