Watzke, H. (2015). Lifecycle and memory management for extensible virtual shared memory (XVSM) [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2015.22102
Heute ist die Rolle von verteilen Systemen so wichtig wie nie zuvor. Die Entwicklung derartiger Systeme ist jedoch komplex und schwierig und wird daher oft durch Middleware unterstützt. Die Unterstützung und Dienste, die von Middleware geboten werden, können sehr variieren und viele Features wie beispielsweise Security, Persistenz, Lifecycle Management, Netzwerkkommunikation, Koordination und vieles mehr umfassen. Es gibt verschiedene Muster und Methoden nach denen Middleware arbeiten kann, beispielsweise nachrichten-orientiert oder auch space-basiert. Der Nachrichtenaustausch in space-basierten Middlewares verläuft über sogenannte (Tuple) Spaces, einen gemeinsamen virtuellen Speicher. Teilnehmer an einem Tuple Space interagieren nur mit dem Space und müssen nichts von anderen Teilnehmern wissen, die auch am Space teilhaben, daher ist die Kommunikation via Tuple Spaces sehr lose gekoppelt in Zeit und Raum. Ein allgemeines mögliches Problem in verteilten Systemen ist Ressourcenzuwachs, d.h., Zuwachs von Daten, die nicht mehr benötigt werden oder nicht mehr aktuell sind und gelöscht werden könnten. Dies führt zu Performance-Einbuen und Ressourcenverschwendung. Diese Diplomarbeit beschäftigt sich mit der Middleware MozartSpaces, der Java Referenzimplementierung von eXtensible Virtual Shared Memory (XVSM), einer space-basierten Middleware Spezi kation die das Tuple Space-Konzept um mächtige Koordinationsmechanismen erweitert und hohe Erweiterbarkeit bietet. Diese Middleware soll in dieser Arbeit um einige Features erweitert werden. Die beiden Haupterweiterungen werden eine neue, umfassende, Event-Architektur sein, die auch zeit-basierte Events bietet, sowie ein weiterer Erweiterungsmechanismus - Jobs -, welcher die Ausführung beliebigen Codes in Reaktion auf Ereignisse unterstützt. Aufbauend auf diesen beiden Mechanismen wird ein Leasing-Mechanismus zum Verwalten der Lebenszeit und Gültigkeit von Daten im Space implementiert werden. Auerdem wird ein optionales Modul implementiert werden, welches Datenaggregation bietet, was auch von Jobs verwendet werden kann um alternatives Verhalten für das Leasing-Module zu bieten für die Behandlung von Daten, deren Gültigkeit abgelaufen ist. Die Leistung wird mittels JUnit Benchmarks gemessen und die implementierten Mechanismen werden mit anderen relevanten space-basierten Systemen verglichen.
de
Today the role of distributed systems is more important than ever before. However the development of such systems is complex and dicult and thus is often supported by the use of middleware. The support and services provided by middleware may vary greatly however and may include many features, such as security, persistence, lifecycle management, network communication, coordination and many more. Middleware may be constructed using many dierent styles, for example message-oriented (message queues) or also space-based. Message exchange in space-based middleware is performed using a shared virtual memory called the (tuple) space. Participants in a tuple space only interact with the space and do not need to have any knowledge of other parties also sharing in the space, so communication via a tuple space is very loosely coupled in time and space. A common possible problem in distributed systems is resource accretion, i.e., that is accretion of data which is no longer valid or up-to-date and may safely be removed. This leads to performance loss and waste of resources. This thesis deals with the middleware MozartSpaces, the Java reference implementation of eXtensible Virtual Shared Memory (XVSM), a space-based middleware speci cation that extends the tuple space concept with powerful coordination mechanisms and high extensibility. This middleware is extended in this thesis with a number of features. The two main extensions are a new, comprehensive event-driven architecture which also provides time-based events, as well as an additional extensibility mechanism - jobs, which will support the execution of arbitrary code in reaction to events. Building on these two mechanisms, a leasing mechanism for managing the lifetime and validity of data in the space is implemented. Additionally basic data aggregation is implemented as an optional module, which may be employed also by jobs to provide alternative behavior for the leasing module, speci cally the handling of expired data. The performance is evaluated using JUnit benchmarks and the implemented mechanisms are compared to other relevant space-based systems. III
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in dt. Sprache