Skip to main content
QUICK REVIEW

[论文解读] An Evaluation of Coarse-Grained Locking for Multicore Microkernels

Kevin Elphinstone, Amirreza Zarrabi|arXiv (Cornell University)|Sep 27, 2016
Parallel Computing and Optimization Techniques参考文献 7被引用 4
一句话总结

本文评估了多核微内核中的粗粒度锁(大锁)机制,表明其在x86和ARM等紧密耦合、共享缓存的架构上,其可扩展性可与细粒度锁相媲美,尤其是在结合英特尔TSX硬件事务内存时效果更佳。关键发现是:单一内核锁配合事务内存可实现接近最优的性能表现,同时简化了代码实现并支持形式化验证。

ABSTRACT

The trade-off between coarse- and fine-grained locking is a well understood issue in operating systems. Coarse-grained locking provides lower overhead under low contention, fine-grained locking provides higher scalability under contention, though at the expense of implementation complexity and re- duced best-case performance. We revisit this trade-off in the context of microkernels and tightly-coupled cores with shared caches and low inter-core migration latencies. We evaluate performance on two architectures: x86 and ARM MPCore, in the former case also utilising transactional memory (Intel TSX). Our thesis is that on such hardware, a well-designed microkernel, with short system calls, can take advantage of coarse-grained locking on modern hardware, avoid the run-time and complexity cost of multiple locks, enable formal verification, and still achieve scalability comparable to fine-grained locking.

研究动机与目标

  • 评估粗粒度锁是否能在现代多核微内核中实现与细粒度锁相当的可扩展性。
  • 评估在系统调用延迟极短(数百周期)的微内核中,锁开销对性能的影响。
  • 研究硬件事务内存(英特尔TSX)是否能消除复杂细粒度锁的需求,同时保持高性能。
  • 确定在核心间通信快速的紧密耦合、共享缓存多核系统中,大锁设计是否依然可行。
  • 探讨微内核设计中实现复杂度、性能与形式化验证可行性之间的权衡。

提出的方法

  • 作者实现并评估了seL4微内核的三种版本:一种采用大内核锁(BKL),一种采用细粒度锁,一种使用英特尔TSX实现锁消除。
  • 他们在两个平台(x86服务器和ARM MPCore嵌入式处理器)上运行微基准测试和宏基准测试。
  • 构建了一个基于排队论的模型,并通过实验验证,用于预测和分析不同锁机制下的可扩展性。
  • 使用硬件事务内存(英特尔TSX)实现大锁的消除,使整个系统调用可封装在事务中。
  • 该模型考虑了核心间缓存行迁移成本和系统调用延迟,以估算理论性能极限。
  • 评估在不同核心数量和工作负载下,对吞吐量和开销的性能对比。

实验结果

研究问题

  • RQ1在现代紧密耦合多核系统中,微内核中的粗粒度锁是否能实现与细粒度锁相当的可扩展性?
  • RQ2在系统调用延迟极短的微内核中,锁获取的性能开销有多大?
  • RQ3硬件事务内存(英特尔TSX)在多大程度上能实现细粒度锁的性能优势,而无需其复杂性?
  • RQ4在共享内核微内核设计中,核心间缓存行迁移成本是否显著影响可扩展性?
  • RQ5大锁微内核是否能保持高性能,并且易于形式化验证,而细粒度锁则难以实现?

主要发现

  • 在x86平台上,高竞争条件下大锁(BKL)的性能与细粒度锁相差不超过25%,但由于核心间缓存行迁移成本过高,其可扩展性在四核后趋于平缓。
  • 在ARM平台上,即使平均系统调用间隔为500周期,BKL在四核内仍能实现完美可扩展性,表明缓存一致性成本更具优势。
  • 锁开销在微内核中具有显著影响:BKL在ARM上造成23%的开销,在x86上最高可达数个百分点,表明锁成本是关键性能因素。
  • 硬件事务内存(英特尔TSX)使内存访问高度并行的工作负载实现完美可扩展性,开销极低且无序列化。
  • 在真实宏基准测试中,RTM(受限事务内存)为BKL和细粒度锁设定了性能上限,表明其可兼得两者优势。
  • 在非极端工作负载下,BKL设计性能优于细粒度锁,且支持形式化验证,而细粒度锁因复杂度过高而难以实现形式化验证。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。