×

Extending software component models with the master-worker paradigm. (English) Zbl 1209.68132

Summary: 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.

MSC:

68N99 Theory of software
PDFBibTeX XMLCite
Full Text: DOI

References:

[1] H. Nakada, S. Matsuoka, K. Seymour, J. Dongarra, C. Lee, H. Casanova, A GridRPC Model and API for End-User Applications, Technical Report GFD-R.052, Open Grid Forum, June 2007.
[2] Casanova, H.; Dongarra, J.: Netsolve: a network-enabled server for solving computational science problems, Int. J. Supercomput. appl. High perform. Comput. 11, No. 3, 212-223 (1997)
[3] Tanaka, Y.; Nakada, H.; Sekiguchi, S.; Suzumura, T.; Matsuoka, S.: Ninf-G: a reference implementation of RPC-based programming middleware for grid computing, J. grid comput. 1, No. 1, 41-51 (2003)
[4] Caron, E.; Desprez, F.: DIET: a scalable toolbox to build network enabled servers on the grid, Int. J. High perform. Comput. appl. 20, No. 3, 335-352 (2006)
[5] E. Korpela, D. Werthimer, D. Anderson, J. Cobb, M. Leboisky, SETI@home-massively distributed computing for SETI, in: IEEE Computer Society, Los Alamitos, CA, USA, 2001, pp. 78 – 83.
[6] Berkeley Open Infrastructure for Network Computing, 2002.
[7] Cappello, F.; Djilali, S.; Fedak, G.; Herault, T.; Magniette, F.; Néri, V.; Lodygensky, O.: Computing on large-scale distributed systems: xtremweb architecture, programming models, security, tests, and convergence with grid, Fgcs 21, No. 3, 417-437 (2005)
[8] Cole, M.: Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming, Parallel comput. 30, No. 3, 389-406 (2004)
[9] M. Aldinucci, S. Campa, M. Danelutto, M. Vanneschi, P. Dazzi, D. Laforenza, N. Tonellotto, P. Kilpatrick, Behavioural skeletons in GCM: autonomic management of grid components, in: D.E. Baz, J. Bourgeois, F. Spies (Eds.), Proceedings of the International Euromicro PDP 2008: Parallel Distributed and Network-Based Processing, IEEE, Toulouse, France, 2008, pp. 54 – 63, doi:10.1109/PDP.2008.46.
[10] M. Aldinucci, S. Campa, M. Coppola, M. Danelutto, D. Laforenza, D. Puppin, L. Scarponi, M. Vanneschi, C. Zoccolo, Components for high performance grid programming in Grid.it, in: Proceedings of the International Workshop on Component Models and Systems for Grid Applications, CoreGRID Series, Springer, Saint-Malo, France, 2005, pp. 19 – 38.
[11] Programming Model Institute, Innovative Features of GCM (with Sample Case Studies): A Technical Survey, Technical Report, CoreGrid, D.PM.07, October 2007.
[12] Szyperski, C.; Gruntz, D.; Murer, S.: Component software – beyond object-oriented programming, (2002)
[13] OMG, Deployment and Configuration of Component-based Distributed Applications Specification, v4.0, Document formal/2006-04-02, April 2006.
[14] A. Flissi, J. Dubus, N. Dolet, P. Merle, Deploying on the grid with deployware, in: CCGRID’08: Proceedings of the 2008 8th IEEE International Symposium on Cluster Computing and the Grid, IEEE Computer Society, Washington, DC, USA, 2008, pp. 177 – 184, doi:10.1109/CCGRID.2008.59.
[15] Lacour, S.; Pérez, C.; Priol, T.: Generic application description model: toward automatic deployment of applications on computational grids, (2005)
[16] OMG, CORBA Component Model, v4.0, Document formal/2006-04-01, April 2006.
[17] M. Beisiegel, H. Blohm, D. Booz, M. Edwards, O. Hurley, S. Ielceanu, A. Miller, A. Karmarkar, A. Malhotra, J. Marino, M. Nally, E. Newcomer, S. Patil, G. Pavlik, M. Raepple, M. Rowley, K. Tam, S. Vorthmann, P. Walker, L. Waterman, SCA Service Component Architecture – Assembly Model Specification, Version 1.0, Technical Report, Open Service Oriented Architecture collaboration (OSOA), March 2007.
[18] E. Bruneton, T. Coupaye, J.B. Stefani, The Fractal Component Model, Version 2.0-3, Technical Report, ObjectWeb Consortium, February 2004.
[19] Baude, F.; Caromel, D.; Dalmasso, C.; Danelutto, M.; Getov, V.; Henrio, L.; Pérez, C.: GCM: a grid extension to fractal for autonomous distributed components, Special issue ann. Telecommun.: software compon. – fract. Initiat. 64, No. 1 – 2, 5-24 (2008)
[20] Aldinucci, M.; Campa, S.; Coppola, M.; Danelutto, M.; Laforenza, D.; Puppin, D.; Scarponi, L.; Vanneschi, M.; Zoccolo, C.: Components for high performance grid programming in the grid.it project, (2004)
[21] Furmento, N.; Mayer, A.; Mcgough, S.; Newhouse, S.; Field, T.; Darlington, J.: ICENI: optimisation of component applications within a grid environment, J. parallel comput. 28, No. 12, 1753-1772 (2002) · Zbl 1043.68022 · doi:10.1016/S0167-8191(02)00187-4
[22] J. Magee, N. Dulay, J. Kramer, A constructive development environment for parallel and distributed programs, in: Proceedings of the International Workshop on Configurable Distributed Systems, Pittsburgh, US, 1994, pp. 4 – 14.
[23] Bernholdt, D. E.; Allan, B. A.; Armstrong, R.; Bertrand, F.; Chiu, K.; Dahlgren, T. L.; Damevski, K.; Elwasif, W. R.; Epperly, T. G. W.; Govindaraju, M.; Katz, D. S.; Kohl, J. A.; Krishnan, M.; Kumfert, G.; Larson, J. W.; Lefantzi, S.; Lewis, M. J.; Malony, A. D.; Mcinnes, L. C.; Nieplocha, J.; Norris, B.; Parker, S. G.; Ray, J.; Shende, S.; Windus, T. L.; Zhou, S.: A component architecture for high-performance scientific computing, Int. J. High perform. Comput. appl. 20, No. 2, 163-202 (2006)
[24] T. Goodale, G. Allen, G. Lanfermann, J. Massó, T. Radke, E. Seidel, J. Shalf, The cactus framework and toolkit: design and applications, in: Vector and Parallel Processing – VECPAR’2002, 5th International Conference, Springer, 2003. · Zbl 1027.65524
[25] Larson, J.; Jacob, R.; Ong, E.: The model coupling toolkit: a new fortran90 toolkit for building multiphysics parallel coupled models, Int. J. High perform. Comput. appl. 19, No. 3, 277-292 (2005)
[26] Fraunhofer SCAI, MpCCI 3.1.0-1 Documentation – Part I Overview, January 2009.
[27] Ribes, A.; Caremoli, C.: Salome platform component model for numerical simulation, Comput. software appl. Conf., annual int. 2, 553-564 (2007)
[28] H.L. Bouziane, C. Pérez, T. Priol, Modeling and executing master – worker applications in component models, in: 11th International Workshop on High-Level Parallel Programming Models and Supportive Environments (HIPS), Rhodes Island, Greece, 2006.
[29] H.L. Bouziane, De lábstraction des Modèles de Composants Logiciels pour la Programmation dápplications Scientifiques Distribuées, Thèse de doctorat, Université de Rennes 1, IRISA/INRIA, Rennes, France, February 2008.
[30] Caron, E.; Desprez, F.; Lombard, F.; Nicod, J.; Quinson, M.; Suter, F.: A scalable approach to network enabled servers, Lecture notes in computer science 2400, 907-910 (2002) · Zbl 1068.68534
[31] Bigot, J.; Pérez, C.: Increasing reuse in component models through genericity, Lncs (2009)
[32] André, F.; Bouziane, H. L.; Buisson, J.; Pazat, J. -L.; Pérez, C.: Towards dynamic adaptability support for the master – worker paradigm in component based applications, , 117-127 (2007)
[33] André, F.; Gauvrit, G.; Pérez, C.: Dynamic adaptation of the master – worker paradigm, (2009)
[34] Krishnan, M.; Alexeev, Y.; Windus, T. L.; Nieplocha, J.: Multilevel parallelism in computational chemistry using common component architecture and global arrays, , 23 (2005)
[35] Antoniu, G.; Bouziane, H. L.; Jan, M.; Pérez, C.; Priol, T.: Combining data sharing with the master – worker paradigm in the common component architecture, Cluster comput. 10, No. 3, 265-276 (2007)
[36] Bolze, R.; Cappello, F.; Caron, E.; Daydt, M.; Desprez, F.; Jeannot, E.; Jtgou, Y.; Lanttri, S.; Leduc, J.; Melab, N.; Mornet, G.; Namyst, R.; Primet, P.; Quetier, B.; Richard, O.; Talbi, E. -G.; Irta, T.: Grid’5000: a large scale and highly reconfigurable experimental grid testbed, Int. J. High perform. Comput. appl. 20, No. 4, 481-494 (2006)
[37] Denis, A.; Ptrez, C.; Priol, T.: Padicotm: an open integration framework for communication middleware and runtimes, Fgcs 19, No. 4, 575-585 (2003)
This reference list is based on information provided by the publisher or from digital mathematics libraries. Its items are heuristically matched to zbMATH identifiers and may contain data conversion errors. In some cases that data have been complemented/enhanced by data from zbMATH Open. This attempts to reflect the references listed in the original paper as accurately as possible without claiming completeness or a perfect matching.