Avoiding Out-Of-Memory Errors in ThinGC

University essay from Uppsala universitet/Institutionen för informationsteknologi

Author: Pontus Ernstedt; [2020]

Keywords: ;

Abstract: A new garbage collector, called ThinGC, is producing out-of-memory errors when applied to certain user applications. ThinGC introduces a classification of objects as either hot or cold, where hot objects are currently in use by the application and cold objects are not. The heap is partitioned into two isolated areas, hot storage and coldstorage, separating the differently classified objects. When cold objects are needed bythe application again, they are first moved back into hot storage - a process called reheating. Reheating requires that space is available in hot storage to accommodate the object. If the reheating fails, ThinGC crashes reporting an out-of-memory error, as ThinGC disallows hot objects to reside in cold storage. As it stands, ThinGC's approach in performing the reheat is flawed, leading to manyfailed reheats when running reheat-prone applications with limited memory space.This thesis sets out to reduce the amount of out-of-memory errors produced byreheats in ThinGC. A strategy which reserves hot storage space specifically forreheats is proposed, and implemented into ThinGC. Evaluation shows that the strategy is successful in avoiding applications crashing. Our implementation comes of short, however, as it puts the burden on the user to configure the amount of memory to reserve for the strategy to work well - a task for which there is no obvious optimal approach.

  AT THIS PAGE YOU CAN DOWNLOAD THE WHOLE ESSAY. (follow the link to the next page)