A.o. Univ. Prof. Dr. Dipl.-Ing. eva Kühn
TU Wien

Harald Watzke

Lifecycle and Memory Management for Extensible Virtual Shared Memory (XVSM)


Diploma Thesis, TU-Vienna, 2015


Today the role of distributed systems is more important than ever before. However the development of such systems is complex and difficult 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 different 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 specification 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, specifically the handling of expired data.


The performance is evaluated using JUnit benchmarks and the implemented mechanisms are compared to other relevant space-based systems.

top | XHtml 1.0 strict | last update: Jun 2015