首页> 外文会议>International conference on computer design >Pool directory: Efficient coherence tracking with dynamic directory allocation in many-core systems
【24h】

Pool directory: Efficient coherence tracking with dynamic directory allocation in many-core systems

机译:池目录:在多核系统中通过动态目录分配进行高效的一致性跟踪

获取原文

摘要

The coherence directory in a chip-multiprocessor keeps track of each memory block inside the cache hierarchy and plays a significant role in offering a scalable shared memory abstraction in many-core systems. Multi-threaded applications typically require two types of directory entries, namely, limited pointer entries tracking a few sharers of a block and bitvector entries tracking larger number of sharers for widely shared blocks. Recent proposals aiming to optimize the average number of bits per directory entry have organized the directory as either a static mix of these two types of entries or a collection of relatively short bitvector entries that can encode either a limited number of sharer pointers or a larger number of sharers hierarchically. In this paper, we present a directory organization that facilitates allocation of two different types of directory entries dynamically. Our design maintains a pool of limited pointer entries, where each entry can also double as a segment directory entry encoding the sharers in a cluster of cores. Each tag in the primary sparse directory array has a pointer that can either represent a sharer or point to an entry in the pool. When multiple segment directory entries are needed to encode all the sharers of a block, our pool management protocol guarantees that all these entries are allocated contiguously so that maintaining a pointer to the head entry is enough. Such a design offers significant flexibility in sharer encoding and allows us to independently size the sparse directory array and the pool. Detailed simulation results show that our proposal incorporated in a 128-core system running multi-threaded applications drawn from scientific, general-purpose, and commercial computing domains can offer, on average, 5% improvement in performance and 20% savings in interconnect traffic compared to the state-of-the-art scalable coherence directory (SCD) proposal when using a 1/16 × sparse directory.
机译:芯片多处理器中的一致性目录可跟踪高速缓存层次结构中的每个内存块,并在提供多核系统中的可伸缩共享内存抽象中发挥重要作用。多线程应用程序通常需要两种类型的目录条目,即跟踪一个块的几个共享者的有限指针条目和跟踪广泛共享的块的大量共享者的位向量条目。旨在优化每个目录条目的平均位数的最新提议已经将目录组织为这两种类型的条目的静态混合,或者是可以编码有限数量的共享程序指针或较大数量的相对较短的位向量条目的集合层次结构的共享者。在本文中,我们提出了一种目录组织,该目录组织有助于动态分配两种不同类型的目录条目。我们的设计维护了一个有限的指针条目池,其中每个条目也可以兼作段目录条目,对核心集群中的共享者进行编码。主稀疏目录数组中的每个标记都有一个指针,该指针可以表示共享者,也可以指向池中的条目。当需要多个段目录条目来对一个块的所有共享者进行编码时,我们的池管理协议保证所有这些条目都是连续分配的,因此只需维护一个指向头条目的指针即可。这种设计在共享程序编码方面提供了极大的灵活性,并允许我们独立设置稀疏目录数组和池的大小。详细的仿真结果表明,与运行在科学,通用和商业计算域中的多线程应用程序结合在一起的128核系统中,我们的建议平均可提供5%的性能提升和20%的互连流量节省使用1/16×稀疏目录时最新的可伸缩一致性目录(SCD)建议。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号