Most virtual machine implementations employ generational garbage collection to manage dynamically allocated memory. Studies have shown that these generational schemes work efficiently in desktop-like applications where most objects are short-lived. The performance of generational collectors, however, has been rarely studied in the context of distributed systems.
Given the increasing popularity of such systems, and the distinct type of objects they introduce to support the distributed paradigm, providing insights into their memory allocation behavior could have a large impact on the design of future garbage collection techniques, and in the implementation of such distributed systems as well.
This work presents one of the first attempts to characterize the lifespan of objects in distributed systems. First, we empirically study the differences in lifespan of remote and local objects. Second, we investigate the effects of ephemeral heap size and workload on the lifespan or remote objects. Last, we utilize the insights gained through the experiment to improve the efficiency of a generational collection scheme through the segregation of objects based on their locality.