My PhD defense: “Application-Level Virtual Memory for Object-Oriented Systems”

Hi all. After 3 years of hard work, my “PhD journey” is arriving to an end (which means, among others, that it is now time to search a job again hahaha). The defense will take place on Monday, October 29, 2012 at Mines de Douai, site Lahure, room “Espace Somme”, Douai, France.

After the defense there will be a kind of cocktail with some food and drinks. If you are reading this and you are interested, you are more than invited to come 🙂 Just send me a private email for further details.

The following is the title and abstract of the thesis:

Application-Level Virtual Memory for Object-Oriented Systems

During the execution of object-oriented applications, several millions of objects are created, used and then collected if they are not referenced. Problems appear when objects are unused but cannot be garbage-collected because they are still referenced from other objects. This is an issue because those objects waste primary memory and applications use more primary memory than what they actually need. We claim that relying on operating systems (OS) virtual memory is not always enough since it is completely transparent to applications. The OS cannot take into account the domain and structure of applications. At the same time, applications have no easy way to control nor influence memory management.

In this dissertation, we present Marea, an efficient application-level virtual memory for object-oriented programming languages. Its main goal is to offer the programmer a novel solution to handle application-level memory. Developers can instruct our system to release primary memory by swapping out unused yet referenced objects to secondary memory.

Marea is designed to: 1) save as much memory as possible i.e., the memory used by its infrastructure is minimal compared to the amount of memory released by swapping out unused objects, 2) minimize the runtime overhead i.e., the swapping process is fast enough to avoid slowing down primary computations of applications, and 3) allow the programmer to control or influence the objects to swap.

Besides describing the model and the algorithms behind Marea, we also present our implementation in the Pharo programming language. Our approach has been qualitatively and quantitatively validated. Our experiments and benchmarks on real-world applications show that Marea can reduce the memory footprint between 25% and 40%

7 thoughts on “My PhD defense: “Application-Level Virtual Memory for Object-Oriented Systems”

  1. This is definitely a very interesting subject.

    It has always been very comfortable for Smalltalk developers to have all their object “always there”, in reach. Which works of course as long as you have enough memory. This “comfort” soon becomes a disadvantage in such cases.

    I think it is important to research in this area because the typical solution to this problem is to use a database… Ughk!

    With such a virtual memory system as you propose, we could have our cake and eat it too.

    In other words, it would be what makes the “prevlayer” approach really usable.

    Whish you effort in your defense and your research!

    1. Hi Sebastian. Thanks for the comment. Exactly!! Moreover, the problem does not appear only when you reach the memory limit. Why would you occupy 100MB if you could use say 20MB? At the end, we would all like to run as much images as possible in the same amount of hardware, wouldn’t we? Or say you want to run Smalltalk in a embedded or limited device…. And yes, I didn’t thought about it but in fact it is a kind of “prevlayer”. If you are interested, send me a private email and I can share with you the thesis. Anyway, I will post it after the defense.

Leave a Reply