This work is described elsewhere in more detail. Our goal is to provide high-level abstractions for scientific high performance computing which will allow users to construct and define their own applications through a graphical composition tool integrated with distributed component repositories. The distributed component repositories will allow developers to contribute their software to the wider community and easily incorporate other work into their own components or applications.
Our target architectures are the emerging Computational Grids which will dominate the provision of high performance computing in the years to come. The efficient exploitation of these physically distributed computational resources connected by wide area networks is only possible through effective data partitioning and communication patterns. The use of performance models allows the optimal implementation and data partition to be determined by sophisticated scheduling algorithms. Numerical efficiency will be maintained through dynamic cross-component optimisations such as lazy libraries and delayed evaluation.
The emerging computational grids provide considerable challenges in the optimal exploitation of distributed computational, software, networking and storage resource. These resources will be owned by different organisations which are cooperating to build a computational community. Within these federated resources an individual organisation's access control and usage policies must be respected and enforced. We are currently implementing this architecture using Java and Jini.
Further information can be obtained from icpc-sw@doc.ic.ac.uk.