TY - THES A1 - Huang, Wanjun T1 - Temporary binding for dynamic middleware construction and web services composition T1 - Temporäre Anbindung für dynamischen Middlewareaufbau und Web Services Integration N2 - With increasing number of applications in Internet and mobile environments, distributed software systems are demanded to be more powerful and flexible, especially in terms of dynamism and security. This dissertation describes my work concerning three aspects: dynamic reconfiguration of component software, security control on middleware applications, and web services dynamic composition. Firstly, I proposed a technology named Routing Based Workflow (RBW) to model the execution and management of collaborative components and realize temporary binding for component instances. The temporary binding means component instances are temporarily loaded into a created execution environment to execute their functions, and then are released to their repository after executions. The temporary binding allows to create an idle execution environment for all collaborative components, on which the change operations can be immediately carried out. The changes on execution environment will result in a new collaboration of all involved components, and also greatly simplifies the classical issues arising from dynamic changes, such as consistency preserving etc. To demonstrate the feasibility of RBW, I created a dynamic secure middleware system - the Smart Data Server Version 3.0 (SDS3). In SDS3, an open source implementation of CORBA is adopted and modified as the communication infrastructure, and three secure components managed by RBW, are created to enhance the security on the access of deployed applications. SDS3 offers multi-level security control on its applications from strategy control to application-specific detail control. For the management by RBW, the strategy control of SDS3 applications could be dynamically changed by reorganizing the collaboration of the three secure components. In addition, I created the Dynamic Services Composer (DSC) based on Apache open source projects, Apache Axis and WSIF. In DSC, RBW is employed to model the interaction and collaboration of web services and to enable the dynamic changes on the flow structure of web services. Finally, overall performance tests were made to evaluate the efficiency of the developed RBW and SDS3. The results demonstrated that temporary binding of component instances makes slight impacts on the execution efficiency of components, and the blackout time arising from dynamic changes can be extremely reduced in any applications. N2 - Heutige Softwareanwendungen fuer das Internet und den mobilen Einsatz erfordern bezueglich Funktionalitaet und Sicherheit immer leistungsstaerkere verteilte Softwaresysteme. Diese Dissertation befasst sich mit der dynamischen Rekonfiguration von Komponentensoftware, Sicherheitskontrolle von Middlewareanwendungen und der dynamischen Komposition von Web Services. Zuerst wird eine Routing Based Workflow (RBW) Technologie vorgestellt, welche die Ausfuehrung und das Management von kollaborierenden Komponenten modelliert, sowie fuer die Realisierung einer temporaeren Anbindung von Komponenteninstanzen zustaendig ist. D.h., Komponenteninstanzen werden zur Ausfuehrung ihrer Funktionalitaet temporaer in eine geschaffene Ausfuehrungsumgebung geladen und nach Beendigung wieder freigegeben. Die temporaere Anbindung erlaubt das Erstellen einer Ausfuehrungsumgebung, in der Rekonfigurationen unmittelbar vollzogen werden koennen. Aenderungen der Ausfuehrungsumgebung haben neue Kollaborations-Beziehungen der Komponenten zufolge und vereinfachen stark die Schwierigkeiten wie z.B. Konsistenzerhaltung, die mit dynamischen Aenderungen verbunden sind. Um die Durchfuehrbarkeit von RBW zu demonstrieren, wurde ein dynamisches, sicheres Middleware System erstellt - der Smart Data Server, Version 3 (SDS3). Bei SDS3 kommt eine Open Source Softwareimplementierung von CORBA zum Einsatz, die modifiziert als Kommunikationsinfrasturkutur genutzt wird. Zudem wurden drei Sicherheitskomponenten erstellt, die von RBW verwaltet werden und die Sicherheit beim Zugriff auf die eingesetzten Anwendungen erhoehen. SDS3 bietet den Anwendungen Sicherheitskontrollfunktionen auf verschiedenen Ebenen, angefangen von einer Strategiekontrolle bis zu anwendungsspezifischen Kontrollfunktionen. Mittels RBW kann die Strategiekontrolle des SDS3 dynamisch durch Reorganisation von Kollabortions-Beziehungen zwischen den Sicherheitskomponenten angepasst werden. Neben diesem System wurde der Dynamic Service Composer (DSC) implementiert, welcher auf den Apache Open Source Projekten Apache Axis und WSIF basiert. Im DSC wird RBW eingesetzt, um die Interaktion und Zusammenarbeit von Web Services zu modellieren sowie dynamische Aenderungen der Flussstruktur von Web Services zu ermoeglichen. Nach der Implementierung wurden Performance-Tests bezueglich RBW und SDS3 durchgefuehrt. Die Ergebnisse der Tests zeigen, dass eine temporaere Anbindung von Komponenteninstanzen nur einen geringen Einfluss auf die Ausfuehrungseffizienz von Komponeten hat. Ausserdem bestaetigen die Testergebnisse, dass die mit der dynamischen Rekonfiguration verbundene Ausfallzeit extrem niedrig ist. KW - Middleware KW - Web Services KW - Temporäre Anbindung KW - Dynamische Rekonfiguration KW - temporary binding KW - dynamic reconfiguration Y1 - 2006 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-7672 ER - TY - THES A1 - Christgau, Steffen T1 - One-sided communication on a non-cache-coherent many-core architecture T1 - Einseitige Kommunikation auf einer nicht-cache-kohärenten Vielkern-Prozessorarchitektur N2 - Aktuelle Mehrkernprozessoren stellen parallele Systeme dar, die den darauf ausgeführten Programmen gemeinsamen Speicher zur Verfügung stellen. Sowohl die ansteigende Kernanzahlen in sogenannten Vielkernprozessoren (many-core processors) als auch die weiterhin steigende Leistungsfähigkeit der einzelnen Kerne erfordert hohe Bandbreiten, die das Speichersystem des Prozessors liefern muss. Hardware-basierte Cache-Kohärenz stößt in aktuellen Vielkernprozessoren an Grenzen des praktisch Machbaren. Dementsprechend müssen alternative Architekturen und entsprechend geeignete Programmiermodelle untersucht werden. In dieser Arbeit wird der Single-Chip Cloud Computer (SCC), ein nicht-cachekohärenter Vielkernprozessor betrachtet, der aus 48, über ein Gitternetzwerk verbundenen Kernen besteht. Obwohl der Prozessor für nachrichten-basierte Kommunikation entwickelt worden ist, zeigen die Ergebnisse dieser Arbeit, dass einseitige Kommunikation auf Basis gemeinsamen Speichers effizient auf diesem Architekturtyp realisiert werden kann. Einseitige Kommunikation ermöglicht Datenaustausch zwischen Prozessen, bei der der Empfänger keine Details über die stattfindende Kommunikation besitzen muss. Im Sinne des MPI-Standards ist so ein Zugriff auf Speicher entfernter Prozesse möglich. Zur Umsetzung dieses Konzepts auf nicht-kohärenten Architekturen werden in dieser Arbeit sowohl eine effiziente Prozesssynchronisation als auch ein Kommunikationsschema auf Basis von software-basierter Cache-Kohärenz erarbeitet und untersucht. Die Prozesssynchronisation setzt das Konzept der general active target synchronization aus dem MPI-Standard um. Ein existierendes Klassifikationsschema für dessen Implementierungen wird erweitert und zur Identifikation einer geeigneten Klasse für die nicht-kohärente Plattform des SCC verwendet. Auf Grundlage der Klassifikation werden existierende Implementierungen analysiert, daraus geeignete Konzepte extrahiert und ein leichtgewichtiges Synchronisationsprotokoll für den SCC entwickelt, das sowohl gemeinsamen Speicher als auch ungecachete Speicherzugriffe verwendet. Das vorgestellte Schema ist nicht anfällig für Verzögerungen zwischen Prozessen und erlaubt direkte Kommunikation sobald beide Kommunikationspartner dafür bereit sind. Die experimentellen Ergebnisse zeigen ein sehr gutes Skaliserungsverhalten und eine fünffach geringere Latenz für die Prozesssynchronisation im Vergleich zu einer auf Nachrichten basierenden MPI-Implementierung des SCC. Für die Kommunikation wird mit SCOSCo ein auf gemeinsamen Speicher und software-basierter Cache-Kohärenz basierenden Konzept vorgestellt. Entsprechende Anforderungen an die Kohärenz, die dem MPI-Standard entsprechen, werden aufgestellt und eine schlanke Implementierung auf Basis der Hard- und Software-Funktionalitäten des SCCs entwickelt. Trotz einer aufgedecktem Fehlfunktion im Speichersubsystem des SCC kann in den experimentellen Auswertungen von Mikrobenchmarks eine fünffach verbesserte Bandbreite und eine nahezu vierfach verringerte Latenz beobachtet werden. In Anwendungsexperimenten, wie einer dreidimensionalen schnellen Fourier-Transformation, kann der Anteil der Kommunikation an der Laufzeit um den Faktor fünf reduziert werden. In Ergänzung dazu werden in dieser Arbeit Konzepte aufgestellt, die in zukünftigen Architekturen, die Cache-Kohärenz nicht auf einer globalen Ebene des Prozessors liefern können, für die Umsetzung von Software-basierter Kohärenz für einseitige Kommunikation hilfreich sind. N2 - Contemporary multi-core processors are parallel systems that also provide shared memory for programs running on them. Both the increasing number of cores in so-called many-core systems and the still growing computational power of the cores demand for memory systems that are able to deliver high bandwidths. Caches are essential components to satisfy this requirement. Nevertheless, hardware-based cache coherence in many-core chips faces practical limits to provide both coherence and high memory bandwidths. In addition, a shift away from global coherence can be observed. As a result, alternative architectures and suitable programming models need to be investigated. This thesis focuses on fast communication for non-cache-coherent many-core architectures. Experiments are conducted on the Single-Chip Cloud Computer (SCC), a non-cache-coherent many-core processor with 48 mesh-connected cores. Although originally designed for message passing, the results of this thesis show that shared memory can be efficiently used for one-sided communication on this kind of architecture. One-sided communication enables data exchanges between processes where the receiver is not required to know the details of the performed communication. In the notion of the Message Passing Interface (MPI) standard, this type of communication allows to access memory of remote processes. In order to support this communication scheme on non-cache-coherent architectures, both an efficient process synchronization and a communication scheme with software-managed cache coherence are designed and investigated. The process synchronization realizes the concept of the general active target synchronization scheme from the MPI standard. An existing classification of implementation approaches is extended and used to identify an appropriate class for the non-cache-coherent shared memory platform. Based on this classification, existing implementations are surveyed in order to find beneficial concepts, which are then used to design a lightweight synchronization protocol for the SCC that uses shared memory and uncached memory accesses. The proposed scheme is not prone to process skew and also enables direct communication as soon as both communication partners are ready. Experimental results show very good scaling properties and up to five times lower synchronization latency compared to a tuned message-based MPI implementation for the SCC. For the communication, SCOSCo, a shared memory approach with software-managed cache coherence, is presented. According requirements for the coherence that fulfill MPI's separate memory model are formulated, and a lightweight implementation exploiting SCC hard- and software features is developed. Despite a discovered malfunction in the SCC's memory subsystem, the experimental evaluation of the design reveals up to five times better bandwidths and nearly four times lower latencies in micro-benchmarks compared to the SCC-tuned but message-based MPI library. For application benchmarks, like a parallel 3D fast Fourier transform, the runtime share of communication can be reduced by a factor of up to five. In addition, this thesis postulates beneficial hardware concepts that would support software-managed coherence for one-sided communication on future non-cache-coherent architectures where coherence might be only available in local subdomains but not on a global processor level. KW - parallel programming KW - middleware KW - Message Passing Interface KW - one-sided communication KW - software-based cache coherence KW - process synchronization KW - parallele Programmierung KW - einseitige Kommunikation KW - Software-basierte Cache-Kohärenz KW - Prozesssynchronisierung KW - Message Passing Interface KW - Middleware Y1 - 2017 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus4-403100 ER - TY - BOOK ED - Adams, Bram ED - Haupt, Michael ED - Lohmann, Daniel T1 - Proceedings of the 9th Workshop on Aspects, Components, and Patterns for Infrastructure Software (ACP4IS '10) N2 - Aspect-oriented programming, component models, and design patterns are modern and actively evolving techniques for improving the modularization of complex software. In particular, these techniques hold great promise for the development of "systems infrastructure" software, e.g., application servers, middleware, virtual machines, compilers, operating systems, and other software that provides general services for higher-level applications. The developers of infrastructure software are faced with increasing demands from application programmers needing higher-level support for application development. Meeting these demands requires careful use of software modularization techniques, since infrastructural concerns are notoriously hard to modularize. Aspects, components, and patterns provide very different means to deal with infrastructure software, but despite their differences, they have much in common. For instance, component models try to free the developer from the need to deal directly with services like security or transactions. These are primary examples of crosscutting concerns, and modularizing such concerns are the main target of aspect-oriented languages. Similarly, design patterns like Visitor and Interceptor facilitate the clean modularization of otherwise tangled concerns. Building on the ACP4IS meetings at AOSD 2002-2009, this workshop aims to provide a highly interactive forum for researchers and developers to discuss the application of and relationships between aspects, components, and patterns within modern infrastructure software. The goal is to put aspects, components, and patterns into a common reference frame and to build connections between the software engineering and systems communities. T3 - Technische Berichte des Hasso-Plattner-Instituts für Digital Engineering an der Universität Potsdam - 33 KW - Aspektorientierte Softwareentwicklung KW - Systemsoftware KW - Middleware KW - Virtuelle Maschinen KW - Betriebssysteme KW - systems software KW - middleware KW - virtual machines KW - operating systems Y1 - 2010 U6 - http://nbn-resolving.de/urn/resolver.pl?urn:nbn:de:kobv:517-opus-41221 SN - 978-3-86956-043-4 PB - Universitätsverlag Potsdam CY - Potsdam ER -