Gang-GC:面向键值存储的局部感知并行数据放置优化
Gang-GC: Locality-aware Parallel Data Placement Optimizations for Key-Value Storages
摘要:
许多云应用程序依赖于快速和非关系存储来帮助处理大量数据。托管运行时现在被广泛用于支持NoSQL运动的几种存储解决方案的执行,特别是在处理大数据键值存储驱动的应用程序时。然而,这些运行时的好处可能受到现代并行面向吞吐量的GC算法的限制,其中相关对象可能分散在内存中,无论是在同一代还是不同代。从长远来看,这会导致更多的页面错误和系统级内存缓存的局部性下降。我们建议,Gang-CG,现代堆布局和并行GC算法的扩展,以促进相关对象组之间的局部性。这是在不对应用程序进行大量剖析的情况下完成的,并且以对程序员透明的方式完成,而不需要使用专门的数据结构。堆布局和算法扩展是在HotSpot JVM的Parallel Scavenge垃圾收集器上实现的。使用微基准测试,捕捉几个键值存储数据库的体系结构,我们在频繁的操作,如新对象的分配和数据的访问速度的提高,支持系统级内存缓存中的较低的未命中率可以忽略不计的开销。总的来说,我们显示了6%的读取和更新操作的平均时间的改善和平均减少12.4%的页面错误。
英文摘要:
Many cloud applications rely on fast and non-relational storage to aid in the processing of large amounts of data. Managed runtimes are now widely used to support the execution of several storage solutions of the NoSQL movement, particularly when dealing with big data key-value store-driven applications. The benefits of these runtimes can however be limited by modern parallel throughput-oriented GC algorithms, where related objects have the potential to be dispersed in memory, either in the same or different generations. In the long run this causes more page faults and degradation of locality on system-level memory caches. We propose, Gang-CG, an extension to modern heap layouts and to a parallel GC algorithm to promote locality between groups of related objects. This is done without extensive profiling of the applications and in a way that is transparent to the programmer, without the need to use specialized data structures. The heap layout and algorithmic extensions were implemented over the Parallel Scavenge garbage collector of the HotSpot JVM\@. Using microbenchmarks that capture the architecture of several key-value stores databases, we show negligible overhead in frequent operations such as the allocation of new objects and improvements to the access speed of data, supported by lower misses in system-level memory caches. Overall, we show a 6\% improvement in the average time of read and update operations and an average decrease of 12.4\% in page faults.
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。