Towards an architecture for component-oriented parallel programming
Corresponding Author
F. H. Carvalho Junior
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Departamento de Computação, Campus Universitário do Pici, Av. Mister Hull s/n, Pici, 60455-760 Fortaleza-CE, BrazilSearch for more papers by this authorR. D. Lins
Departamento de Eletrônica e Sistemas, Universidade Federal de Pernambuco, Recife, Brazil
Search for more papers by this authorR. C. Corrêa
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Search for more papers by this authorG. A. Araújo
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Search for more papers by this authorCorresponding Author
F. H. Carvalho Junior
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Departamento de Computação, Campus Universitário do Pici, Av. Mister Hull s/n, Pici, 60455-760 Fortaleza-CE, BrazilSearch for more papers by this authorR. D. Lins
Departamento de Eletrônica e Sistemas, Universidade Federal de Pernambuco, Recife, Brazil
Search for more papers by this authorR. C. Corrêa
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Search for more papers by this authorG. A. Araújo
Departamento de Computação, Universidade Federal do Ceará, Fortaleza, Brazil
Search for more papers by this authorAbstract
The # component model was proposed to meet the growing demands of new complex applications of science and engineering that require productive and efficient use of high-performance computing architectures. This paper presents the principles, intuition, and theories underlying the # component model, and the design of an architecture for programming frameworks that comply to the # component model. Copyright © 2006 John Wiley & Sons, Ltd.
REFERENCES
- 1Bramley R, Armstrong R, McInnes L, Sottile M. High-performance component software systems. Technical Report TR608, Department of Computer Science, Indiana University, Bloomington, IN, February 2005.
- 2Armstrong R, Gannon D, Geist A, Keahey K, Kohn S, McInnes L, Parker S, Smolinski B. Towards a common component architecture for high-performance scientific computing. Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing. IEEE Computer Society Press: Los Alamitos, CA, 1999.
- 3Mahmood N, Deng G, Browne JC. Compositional development of parallel programs. Proceedings of the 16th International Workshop on Languages and Compilers for Parallel Computing, October 2003. Springer: Berlin, 2003.
- 4Baude F, Caromel D, Morel M. From distributed objects to hierarchical Grid components. Proceedings of the International Symposium on Distributed Objects and Applications. Springer: Berlin, 2003.
- 5van der Steen AJ. Issues in computational frameworks. Concurrency and Computation: Practice and Experience 2005; 18(2): 141–150.
- 6Allan BA, Armstrong RC, Wolfe AP, Ray J, Bernholdt DE, Kohl JA. The CCA core specification in a distributed memory SPMD framework. Concurrency and Computation: Practice and Experience 2002; 14(5): 323–345.
- 7Chiu K. An architecture for concurrent, peer-to-peer components. PhD Thesis, Department of Computer Science, Indiana University, 2001.
- 8Dongarra J. Trends in high performance computing. The Computer Journal 2004; 47(4): 399–403.
- 9Cole M. Bringing skeletons out of the closet: A pragmatic manifesto for skeletal parallel programming. Parallel Computing 2004; 30: 389–406.
- 10Bernholdt DE, Nieplocha J, Sadayappan P. Raising level of programming abstraction in scalable programming models. Proceedings of the Workshop on Productivity and Performance in High-End Computing (P-PHEC), Madrid, Spain, 2004. IEEE Computer Society Press: Los Alamitos, CA, 2004; 76–84.
- 11Post DE, Votta LG. Computational science demands a new paradigm. Physics Today 2005; 58(1): 35–41.
- 12Koahey K, Gannon D. PARDIS: A parallel approach to CORBA. Proceedings of the 6th IEEE International Symposium on High Performance Distributed Computing (HPDC'97), August 1997. Springer: Berlin, 1997; 31–39.
10.1109/HPDC.1997.622360 Google Scholar
- 13Denis A, Pérez C, Priol T. PadicoTM: An open integration framework for communication middleware and runtimes. Future Generation Computing Systems 2004; 19: 575–585.
- 14Pérez C, Priol T, Ribes A. A parallel CORBA component model for numerical code coupling. Proceedings of the 3rd International Workshop on Grid Computing, November 2002 ( Lecture Notes in Computer Science, vol. 2536). Springer: Berlin, 2002; 88–99.
10.1007/3-540-36133-2_9 Google Scholar
- 15Carvalho Junior FH, Lins RD. Separation of concerns for improving practice of parallel programming. INFORMATION, An International Journal 2005; 8(5): 621–638.
- 16Carvalho Junior FH, Lins RD. Haskell#: Parallel programming made simple and efficient. Journal of Universal Computer Science 2003; 9(8): 776–794.
- 17Milli H, Elkharraz A, Mcheick H. Understanding separation of concerns. Proceedings of the Workshop on Early Aspects—Aspect Oriented Software Development (AOSD'04), March 2004. ACM Press: New York, 2004; 411–428.
- 18Carvalho Junior FH, Lins RD, Lima RMF. Translating Haskell# programs into Petri nets. Proceedings of VECPAR2000 ( Lecture Notes in Computer Science, vol. 2565). Springer: Berlin, 2002; 635–649.
- 19Tip F. A survey of program slicing techniques. Journal of Programming Languages 1995; 3: 121–189.
- 20Bruneton E, Coupaye T, Stefani JB. Recursive and dynamic software composition with sharing. Proceedings of the European Conference on Object Oriented Programming (ECOOP2002). Springer: Berlin, 2002.
- 21Perry DE. The inscape environment. The Proceedings of the 11th International Conference on Software Engineering, May 1989. IEEE Computer Society Press: Los Alamitos, CA, 1989.
- 22Shaw M. Procedure calls are the assembly language of software interconnection: Connectors deserve first-class status. Proceedings of the 1993 International Workshop on Studies of Software Design ( Lecture Notes in Computer Science, vol. 1078). Springer: Berlin, 1996; 17–32.
10.1007/BFb0030517 Google Scholar
- 23Lau K, Elizondo PV, Wang Z. Exogenous connectors for software components. Proceedings of 2005 International SIGSOFT Symposium on Component-Based Software Engineering (CBSE2005) ( Lecture Notes in Computer Science, vol. 3489). Springer: Berlin, 2005; 90–108.
10.1007/11590354_11 Google Scholar
- 24Goguen J, Burstall R. Institutions: Abstract model theory for specification and programming. Journal of ACM 1992; 39(1): 95–146.
- 25Goguen J. Types as theories. Topology and Category Theory in Computer Science, GM Reed, AW Roscoe, RF Wachter, (eds.). Oxford University Press: Oxford, 1991; 357–390.
- 26Goguen J. What is a logic? Logica Universalis—Towards a General Theory of Logic. Springer: Berlin, 2005; 113–133.
- 27Bednarczyk MA, Borzyszkowski A. General Morphisms of Petri Nets ( Lecture Notes in Computer Science, vol. 1113). Springer: Berlin, 1999; 190–199.
10.1007/3-540-48523-6_16 Google Scholar
- 28Cole M. Algorithm Skeletons: Structured Management of Parallel Computation. Pitman: Boston, MA, 1989.
- 29Dongarra J, Foster I, Fox G, Gropp W, Kennedy K, Torczon L, White A. Sourcebook of Parallel Computing. Morgan Kauffman: San Francisco, CA, 2003.
- 30Pierce B. Types and Programming Languages. MIT Press: Cambridge, MA, 2002.
- 31Carvalho Junior FH, Lins RD. Topological skeletons in Haskell#. Proceedings of the International Parallel and Distributed Processing Symposium (IPDPS), April 2003. IEEE Press: Piscataway, NJ, 2003.
- 32Alt M, Dünnweber J, Müller J, Gorlatch S. HOCs: Higher-order components for Grids. Proceedings of the Workshop on Component Models and Systems for Grid Applications (in ICS2004), July 2004. Kluwer: Dordrecht, 2004.
- 33Dünnweber J, Gorlatch S, Baude F, Legrand L, Parlavantzas N. Towards automatic creation of Web Services for Grid component composition. Proceedings of the CoreGRID Workshop on Grid Systems, Tools and Environments, October 2005. The CoreGrid Network, 2005.
- 34Kiczales G, Lamping J, Menhdhekar A, Maeda C, Lopes C, Loingtier J, Irwin J. Aspect-oriented programming. Proceedings of the 11th European Conference on Object-Oriented Programming (ECOOP'97) November 1997 ( Lecture Notes in Computer Science, vol. 1241). Springer: Berlin, 1997; 220–242.
- 35Ossher H, Tarr P. Multi-dimensional separation of concerns and the hyperspace approach. Proceedings of the Symposium on Software Architectures and Component Technology: The State of the Art in Software Development, University of Twente, Enschede, The Netherlands, June 2000. Kluwer: Dordrecht, 2000.
- 36Batory D, Sarvela JN, and Rauschmayer A. Scaling step-wise refinement. Proceedings of the International Conference on Software Engineering, May 2003. IEEE Computer Society Press: Los Alamitos, CA, 2003.
- 37Lopez Herrejon RE, Batory D, Cook W. Evaluating support for features in advanced modularization technologies. Proceedings of the 9th European Conference on Object-Oriented Programming (ECOOP2005) ( Lecture Notes in Computer Science, vol. 3586). Springer: Berlin, 2005; 169–194.
- 38Kohn S, Kumfert G, Painter J, Ribbens C. Divorcing language dependencies from a scientific software library. Proceedings of the 10th SIAM Conference on Parallel Processing, March 2001. Springer: Berlin, 2001.
- 39Gorlatch S. Send–Recv considered harmful? Myths and truths about parallel programming. ACM Transactions in Programming Languages and Systems 2004; 1: 47–56.
- 40Plasil F, Visnovsky S. Behavior protocols for software components. IEEE Transactions on Software Engineering 2002; 28(11): 1056–1076.