Software Component Technology for High Performance Parallel and Grid Computing
A software component framework is one where an application designer programs by composing well understood and tested “components”e rather than writing large volumes of not-very-reusable code. The software industry has been using component technology to build desktop applications for about ten years now. More recently this idea has been extended to application in distributed systems with frameworks like the Corba Component Model and Enterprise Java Beans. With the advent of Grid computing, high performance applications may be distributed over a wide area network of compute and data servers. Also “peer-to-peer” applications exploit vast amounts of parallelism exploiting the resources of thousands of servers.
In this talk we look at the problem of building a component technology for scientific applications. The common component architecture project seeks to build a framework that allows software components runing on a massively parallel computers to be linked together to form wide-area, high performance application services that may be accessed from desktop applications. This problem is far from being solved and the talk will describe progress to date and outline some of the difficult problems that remain to be solved.