Schmidt, R. (2007). An architecture and programming model for component-based grid applications [Dissertation, Technische Universität Wien]. reposiTUm. http://hdl.handle.net/20.500.12708/179490
Service-orientierte Grid Umgebungen für rechenintensive, wissenschaftliche Berechnungen bestehen typischerweise aus einer Vielzahl kollaborierender Services. Typische Grid Services stellen Dienste im Bereich Sicherheit, Informations-, Daten-, und Ressourceverwaltung zur Verfügung. Web services Technologie ermöglicht es dabei unterschiedlichste Rechensysteme, Architekturen (PCs, Cluster, Muli-Prozessor, Vectorrechner) und Plattformen auf einheitlicheWeise undmittels standardisierter Schnittstellen und Protokolle, über Netzwerke zur Verfügung zu stellen. Eine besondere Herausforderung in diesem Zusammenhang ist die Entwicklung entsprechender Software Entwicklungs- und Programmiermodelle. Ziel ist die Entwicklung geeigneter Paradigmen und Werkzeuge zur Erstellung und Adaption wissenschaftlicher Applikationen speziell für Grid Infrastrukturen. Die Abstraktion infrastrukturbedingter Komplexität ist dabei von besonderem Interesse. Sowohl die zur Verfügungstellung, als auch die Nutzung und Programmierung von Grid Ressourcen sollte nicht nur Grid-Experten vorbehalten sein, sondernWissenschaftlern unterschiedlichster Disziplinen zugänglich gemacht werden. Komponenten-basierte Software Entwicklung findet im kommerziellen sowie im wissenschaftlichen Bereich breite Akzeptanz. Komponentenmodelle bieten unter anderem Vorteile wie Software-Kapselung, Wiederverwendung und modulare Applikationskonstruktion. CCA bieted ein Komponentenmodell welches speziell für die Erstellung komplexer wissenschaftlicher Applikationen entwickelt wurde. Das im Rahmen dieser Dissertation entwickelte VGE-CCA ist ein verteiltes Komponenten System für die Entwicklung verteilter Grid Applikationen. Das System basiert auf der VGE Grid Infrastruktur und dem CCA Komponentenmodell. VGE-CCA erweitert VGE Grid services mit einem Programmiermodell für räumliche Komposition. In der Dissertation wird das Komponentenmodell, seine Anwendbarkeit auf Web/Grid services, sowie das VGE-CCA Framework diskutiert. VGE-CCA implementiert ein Programmiermodell zur Erstellung verteilter Grid Applikationen basierend of parallelen Komponenten. VGE-CCA Applikationskomponenten werden zur Laufzeit gefunden, konfiguriert und koordiniert. Das System wird anhand eines praktischen Beispiels basierend auf einer parallelen Applikation für Ant Colony Optimization demonstriert.
Service-based Grid infrastructures typically comprise various collaborating services providing capabilities like security, information, data or resource management. An important challenge in building and deploying distributed high performance scientific applications is the development of appropriate software engineering and programming models. VGE-CCA is a distributed component framework that allows to develop, deploy and assemble component-based high performance applications for aWeb service based Grid environment. The framework is layered atop aWeb service based Grid environment and implements the Common Component Architecture (CCA), a component model that is specifically designed for large scale scientific computations. VGE-CCA extends the Vienna Grid Environment (VGE), a Grid infrastructure for secure and automatic provision of compute-intensive applications running on parallel hardware over standard Web service technology. VGE-CCA models HPC application Web services as distributed CCA components, allowing to express and dynamically manage application and performance meta-data as well as dependencies on infrastructure services as well as other application components. VGE-CCA provides a set of libraries that can be used to extend Web/Grid services with the required mechanisms for component-based composition as well as a set of infrastructure elements providing framework services to components and client runtimes. Moreover, the framework provides a plugin mechanism that supports the development and deployment of individual application component libraries (clibs) encapsulating application specific logic, ports and dependencies. The clibs plugin mechanism provides the required functionality to transform applications running on different HPC computing resources into actively interacting components which can be launched by a client as a single composite application. The VGE-CCA programming API supports the client-side creation of distributed scientific applications and experiments from abstract Grid components. The presented programming model extends workflow orchestration with a model for peer-based and interaction driven composition.