Lightweight dynamic partitioning for last-level cache of multicore processor on real system

Lightweight dynamic partitioning for last-level cache of multicore processor on real system
复制标题

DOI:
10.1007/s11227-014-1092-2
复制
发表时间:
2014-08
期刊:
The Journal of Supercomputing
影响因子:
--
通讯作者:
Ludan Zhang;Yi Liu;Rui Wang;D. Qian
Ludan Zhang;Yi Liu;Rui Wang;D. Qian
中科院分区:
其他
文献类型:
--
作者:
Ludan Zhang;Yi Liu;Rui Wang;D. Qian

文献摘要

相似文献

随着多核/众核成为处理器体系结构的发展趋势,共享Cache的冲突问题越来越严重,制约了并行程序性能的提高。最近的研究采用页面着色机制在真实的系统上实现缓存分区,以减少共享缓存冲突。然而,基于页面着色的缓存分区也有一些副作用,一是页面着色限制了应用程序可以分配的内存空间,可能会导致内存压力;二是动态改变缓存分区需要大量的页面复制,这将带来很大的开销,可能不利于应用程序的性能。为了使基于页面着色的缓存划分更加实用,提出了一种基于malloc分配器的页面着色动态缓存划分机制。由我们的malloc分配器分配的内存可以根据该高速缓存分区策略在不同的应用程序之间进行分区。我们的分区策略是基于类型识别方法。可以在运行时通过更改malloc分配器分配的页的颜色来调整缓存分区。与全页着色相比,仅对动态分配的页着色就可以缓解内存压力,减少重着色所带来的页复制开销。为了进一步减轻开销,我们引入了最小距离页面复制策略和延迟刷新策略。这些策略通过缓存分区为共同运行的应用程序带来高达14.28%的性能提升,并在分区频率较高时平均减少55%的重新着色开销。结果表明,只有对动态分配的内存进行分区才能达到减少缓存冲突丢失的目的,最小距离页面复制策略更有利于数据集规模较大、数据重用距离较短的应用。
As multi-core/many-core becomes the trend of processor architecture, conflict in shared cache has become more and more serious that restricts performance improvement of parallel program. Recent research has employed page coloring mechanism to realizing cache partitioning on real system for the purpose of decline shared cache conflict. However, page coloring-based cache partitioning has some side-effects, one is page coloring restricts memory space an application can allocate from which may lead to memory pressure, another is changing cache partition dynamically need massive page copying which will incur large overhead and may go against with application's performance. To make page coloring based cache partition more practical, we proposed a malloc allocator based dynamic cache partitioning mechanism with page coloring. Memory allocated by our malloc allocator can be partitioned among different applications according to the cache partitioning policy. Our partition policy is based on a type recognition approach. Cache partition can be adjusted at run-time by changing the color of the pages allocated by the malloc allocator. Only coloring the dynamic allocated pages can remission memory pressure and reduce page copying overhead lead by re-coloring compared to all-page coloring. To further alleviate the overhead, we introduced minimum distance page copying strategy and lazy flush strategy. These policies yield performance improvements for co-running applications as high as 14.28% through cache partitioning and reduce the overhead of re-coloring by 55% on average when partitioning frequency is high. Our results demonstrate that only partitioning the dynamically allocated memory can reach the purpose of reducing cache conflict miss and the minimum distance page copying strategy is more beneficial to application with larger data-set and shorter data reuse distance.