ACM Transactions on Programming Languages and Systems (TOPLAS)
The CODE 2.0 graphical parallel programming language
ICS '92 Proceedings of the 6th international conference on Supercomputing
Associative broadcast and the communication semantics of naming in concurrent systems
Associative broadcast and the communication semantics of naming in concurrent systems
MPI-SIM: using parallel simulation to evaluate MPI programs
Proceedings of the 30th conference on Winter simulation
Path lookahead: a data flow view of PDES models
PADS '99 Proceedings of the thirteenth workshop on Parallel and distributed simulation
Time, clocks, and the ordering of events in a distributed system
Communications of the ACM
Proceedings of the fifteenth workshop on Parallel and distributed simulation
Looking ahead of real time in Hybrid component networks
Proceedings of the fifteenth workshop on Parallel and distributed simulation
Parallel and Distribution Simulation Systems
Parallel and Distribution Simulation Systems
Asserting performance expectations
Proceedings of the 2002 ACM/IEEE conference on Supercomputing
Merging the CCA Component Model with the OGSI Framework
CCGRID '03 Proceedings of the 3st International Symposium on Cluster Computing and the Grid
Toward a Common Component Architecture for High-Performance Scientific Computing
HPDC '99 Proceedings of the 8th IEEE International Symposium on High Performance Distributed Computing
SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS
SIMULATION OF PACKET COMMUNICATION ARCHITECTURE COMPUTER SYSTEMS
Program control language: a programming language for adaptive distributed applications
Journal of Parallel and Distributed Computing
Model-Based Performance Prediction in Software Development: A Survey
IEEE Transactions on Software Engineering
ICCS'05 Proceedings of the 5th international conference on Computational Science - Volume Part I
A case study on dynamic kernel adaptation in a component-based infectious disease simulator
Proceedings of the 2009 Workshop on Component-Based High Performance Computing
Hi-index | 0.00 |
This paper describes a method for evolutionary component-based development of families of parallel programs to attain performance goals on multiple execution environments for multiple family instances and an implementation of the method. It is based upon combining component-oriented development with integration of parallel/distributed execution and parallel/distributed simulation. Each component may have multiple representations at multiple levels of realization from analytical timing models to production code. Each component is encapsulated with an associative interface specifying its properties and behaviors which enables distinguishing among different implementations (or abstractions) of the same functional behavior which may have different performance behavior. Evolutionary development evolves a program from an abstract performance model to a complete program and may continue evolution during runtime. Performance can be estimated at any stage of realization. The implementation is a compiler which composes parallel/distributed programs from components encapsulated with associative interfaces and a runtime system which supports integrated execution/simulation of parallel programs composed from components at different levels of abstraction and program evolution at runtime by component replacement. Case studies in the application of the evolutionary development method including performance results are given.