ISMM 2007 START Conference Manager    

Allocation-Phase Aware Scheduling Policies to Improve Garbage Collection Performance

Feng Xian, Witawas Srisa-an and Hong Jiang

The 2007 International Symposium on Memory Management (ISMM 2007)
Montreal, Canada, 21-22 October, 2007


Past studies have shown that objects are created in phases (allocation oriented) and most objects also die in phases (computation-oriented). Thus, one way to sustain good garbage collection efficiency is to have a large enough heap to allow many allocation phases to complete, and most of the objects to become unreachable before garbage collection is invoked. However, studies have shown such an operating condition is hard to maintain in large multithreaded applications because most typical time-sharing schedulers are not allocation-phase cognizant; thus, they tend to schedule threads in a way that prevents them from completing their allocation phases quickly. Thus, when garbage collection is invoked, most of the allocation phases have yet to be completed, resulting in poor collection efficiency.

In this paper, we introduce two new scheduling strategies, MQRR (memory-quantum round robin) and LARF (lower allocation rate first), designed to be allocation-phase aware. Both schemes assign higher execution priority to threads in computation-oriented phases so more objects can die. We have simulated the proposed algorithms and evaluated their performances. The results show that when a generational schemes are used, the reductions of the garbage collection time of can range from 0\%-16\% and 0\%-27\% when LARF and MQRR are used, respectively. The reductions of the overall execution time range from

-0.1\%-3\% for both LARF and MQRR. The reductions of the average thread turn-around time range from -0.1\%-12\% for LARF and 0.1\%-13\% for MQRR. Our results also show that LARF and MQRR achieve much smaller improvement when used with non-generational collectors.

START Conference Manager (V2.54.5)