Extending Software Component Models with the Master-Worker Paradigm
Résumé
Recent advances in computing and networking technologies -- such as multi-core processors and high bandwidth wide area networks -- lead parallel infrastructures to reach a higher degree of complexity. Programmers have to face with both parallel and distributed programming paradigms when designing an application. This is especially true when dealing with e-Science applications. Moreover, as parallel processing is moving to the mainstream, it does not seem appropriate to rely on low-level solutions requiring expert knowledge. This paper studies how to combine modern programming practices such as those based on software components and one of the most important parallel programming paradigms which is the well-known master-worker paradigm. The goal is to provide a simple and resource transparent model while enabling an efficient utilization of resources. The paper proposes a generic approach to embed the master-worker paradigm into software component models and describes how this generic approach can be implemented within an existing software component model. The overall approach is validated with synthetic experiments on clusters and the Grid'5000 testbed.