Moving Garbage Collection with Low-Variation Memory Overhead and Deterministic Concurrent Relocation
2020 (English)Independent thesis Advanced level (professional degree), 20 credits / 30 HE credits
Student thesis
Abstract [en]
A parallel and concurrent garbage collector offers low latency spikes. A common approach in such collectors is to move objects around in memory without stopping the application. This imposes additional overhead on an application in the form of tracking objects' movements, so that all pointers to them, can eventually be updated to the new locations. Typical ways of storing this information suffer from pathological cases where the size of this "forwarding information" can theoretically become as big as the heap itself. If we dimension the application for the pathological case this would be a waste of resources, since the memory usage is usually significantly less. This makes it hard to determine an application's memory requirements.
In this thesis, we propose a new design that trades memory for CPU, with a maximum memory overhead of less than 3.2% memory overhead. To evaluate the impact of this trade-off, measurements on application execution time was performed using the benchmarks from the DaCapo suite and SPECjbb2015. For 6 configurations in DaCapo a statistically significant negative effect on execution time in the range of 1-3% was found for the new design. For 10 configurations in DaCapo no change in execution times was shown in statistically significant data and two configurations in DaCapo showed a statistically significant shorter execution times for the new design on 6% and 22%, respectively. In SPECjbb2015, both max-jOPS and critical-jOPS has, for the new design, a statistically significant performance regression of ~2%. This suggests that for applications were stable and predictable memory footprint is important, this approach could be something to consider.
Place, publisher, year, edition, pages
2020. , p. 63
Series
UPTEC IT, ISSN 1401-5749 ; 20019
National Category
Computer and Information Sciences
Identifiers
URN: urn:nbn:se:uu:diva-414090OAI: oai:DiVA.org:uu-414090DiVA, id: diva2:1445578
External cooperation
Oracle
Educational program
Master of Science Programme in Information Technology Engineering
Supervisors
Examiners
2020-06-242020-06-232020-06-24Bibliographically approved