Accelerating Concurrent Workloads with CPU Cache Partitioning

Accelerating Concurrent Workloads with CPU Cache Partitioning
复制标题

通过 CPU 缓存分区加速并发工作负载

DOI:
--
复制
发表时间:
2018
期刊:
IEEE International Conference on Data Engineering
影响因子:
--
通讯作者:
Alexander Böhm
Alexander Böhm
中科院分区:
--
文献类型:
--
作者:
Stefan Noll;J. Teubner;Norman May;Alexander Böhm

文献摘要

被引文献

相似文献

现代微处理器包括复杂的高速缓存层次结构,以隐藏存储器访问的延迟,从而加快数据处理速度。然而,处理器中的多个内核通常共享相同的末级缓存。这可能会影响性能,尤其是在并发工作负载中,只要一个查询受到在同一套接字上运行的另一个查询造成的缓存污染。在这项工作中,我们证实了这一点尤其适用于内存中DBMS的不同操作符:缓存敏感操作符的吞吐量下降了50%以上。为了解决这一问题,我们通过对不同操作符的经验分析,设计了一种缓存分配方案,并将缓存分区机制集成到商业DBMS的执行引擎中。最后,我们证明了我们的方法将系统的整体性能提高了38%。
Modern microprocessors include a sophisticated hierarchy of caches to hide the latency of memory access and thereby speed up data processing. However, multiple cores within a processor usually share the same last-level cache. This can hurt performance, especially in concurrent workloads whenever a query suffers from cache pollution caused by another query running on the same socket. In this work, we confirm that this particularly holds true for the different operators of an in-memory DBMS: The throughput of cache-sensitive operators degrades by more than 50 %. To remedy this issue, we devise a cache allocation scheme from an empirical analysis of different operators and integrate a cache partitioning mechanism into the execution engine of a commercial DBMS. Finally, we demonstrate that our approach improves the overall system performance by up to 38 %.