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

Jan Zarnikov

Energy-efficient Persistence for Extensible Virtual Shared memory on the Android Operating System


Diploma Thesis, TU-Vienna, 2012


The result of the rapid growth of the Internet is that most computers in developed countries are always online. This always-connected state is now also spreading to mobile devices. This allows us to develop a new generation of distributed and mobile applications.


However coordination of processes within a distributed application is a difficult task. Space based computing solves the coordination problem by writing information into a virtual shared medium called the space. The space (sometimes also called blackboard) decouples the processes and eliminates explicit communication between them. eXtensible Virtual Shared Memory (XVSM) is a specification of a space based middleware.


Until now MozartSpaces (the reference implementation of XVSM) did not support persistence which means that all data was lost when the space was shut down or crashed. Previously it was attempted to solve this problem by either implementing persistence as orthogonal functionality with aspects or by replacing the core of MozartSpaces with a database. Unfortunately both approaches have serious drawbacks: the incompatibility with the XVSM transactions and in the case of the aspect-base solution the problematic management of entry IDs. Therefore a new approach has to be found. Also to our knowledge there is currently no space based middleware that can run and store data on a mobile platform without the need for a server. The solution proposed in this thesis is a new persistence layer which is tightly integrated into the core of MozartSpaces. The persistence layer hides the database-specific details and can use different database engines. Currently supported databases are Berkeley DB and SQLite but it is possible to add support for further databases.


A benchmark suite was developed to evaluate the performance of the persistence. The results show that both Berkeley DB and SQLite are very fast. A nice side effect of using a database to store data is a significantly reduced memory footprint at runtime. An important requirement was also the energy-efficiency of the persistence on mobile devices running the Android operating system. This goal was reached only partially because there are no energy profilers that can measure the energy consumption of all relevant components on a scale small enough to be usable for code optimization. Overall the new persistence implementation works very well. The new extended version of MozartSpaces offers good performance and remains compliant with the XVSM specification.


top | XHtml 1.0 strict | last update: Jun 2015