Algorithmic skeletons: structured management of parallel computation
Algorithmic skeletons: structured management of parallel computation
The Vision of Autonomic Computing
Computer
Autonomic QoS in ASSIST Grid-Aware Components
PDP '06 Proceedings of the 14th Euromicro International Conference on Parallel, Distributed, and Network-Based Processing
Software—Practice & Experience
A component platform for experimenting with autonomic composition
Proceedings of the 1st international conference on Autonomic computing and communication systems
Autonomic management of non-functional concerns in distributed & parallel application programming
IPDPS '09 Proceedings of the 2009 IEEE International Symposium on Parallel&Distributed Processing
Skandium: Multi-core Programming with Algorithmic Skeletons
PDP '10 Proceedings of the 2010 18th Euromicro Conference on Parallel, Distributed and Network-based Processing
Concurrency and Computation: Practice & Experience
A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers
Software—Practice & Experience - Focus on Selected PhD Literature Reviews in the Practical Aspects of Software Technology
Auto-tuning SkePU: a multi-backend skeleton programming framework for multi-GPU systems
Proceedings of the 4th International Workshop on Multicore Software Engineering
An aspect-oriented approach for developing self-adaptive fractal components
SC'06 Proceedings of the 5th international conference on Software Composition
Tackling Algorithmic Skeleton's Inversion of Control
PDP '12 Proceedings of the 2012 20th Euromicro International Conference on Parallel, Distributed and Network-based Processing
Estimating parallel performance
Journal of Parallel and Distributed Computing
Hi-index | 0.00 |
This paper presents a novel way to introduce self-configuration and self-optimization autonomic characteristics to algorithmic skeletons using event driven programming techniques. Based on an algorithmic skeleton language, we show that the use of events greatly improves the estimation of the remaining computation time for skeleton execution. Events allow us to precisely monitor the status of the execution of algorithmic skeletons. Using such events, we provide a framework for the execution of skeletons with a very high level of adaptability. We focus mainly on guaranteeing a given execution time for a skeleton, by optimizing autonomically the number of threads allocated. The proposed solution is independent from the platform chosen for executing the skeleton for example we illustrate our approach in a multicore setting, but it could also be adapted to a distributed execution environment.