Kite: A Family of Heterogeneous Interposer Topologies Enabled via Accurate Interconnect Modeling

通过精确互连建模实现的一系列异构中介层拓扑

Srikant Bharadwaj
Advanced Micro Devices, Inc.
Georgia Institute of Technology

背景和动机

裸片堆叠和 2.5D 芯片集成技术的最新进展引入了封装内网络异质性,这可能使互连设计变得复杂。在硅中介层上集成小芯片提供了优化中介层拓扑的新机会。然而,由于现有片上网络 (NoC) 模拟器的功能有限,基于interposer的 NoC 的全部潜力尚未得到充分利用。

我们解决了先前 NoC 设计的不足,并提出了一个名为 Kite 的新小芯片拓扑系列。 Kite 拓扑更好地利用了新有源中介层系统中存在的多样化网络和频域,并且优于之前的小芯片拓扑方案。与 Double Butterfly 和 Butter Donut(之前使用不太准确的建模开发的两个提案)相比,Kite 将合成流量延迟减少了 7%,最大吞吐量平均提高了 17%。
【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

背景

  1. 2.5D 系统实现的关键技术之一是通过硅中介层或其他封装技术将多个分立芯片(通常称为小芯片)集成在一个封装内 [2, 3]。此外,小芯片还可以使用多芯片模块 SoC (MCM-SoC) 进行集成。图 1(a) 显示了 64 核单片芯片的示例,而其小芯片化 版本如图 1(b) 所示。
  2. 在基于中介层的系统中,小芯片以及中介层可以拥有自己的互连网络,在不同的时钟域和/或链路宽度下运行。这导致整个系统出现异构片上网络 (NoC) + 中介层网络 (NoI) 互连结构。(其他作品没有使用术语 NoI,而是将芯片和中介层网络统称为“混合 NoC”。 在这项工作中,我们使用术语 NoC 和 NoI 来分别区分各个小芯片上的网络和中介层上的小芯片之间的网络。)
  3. 设计 NoI 拓扑对于整体系统性能至关重要,因为中介层是小芯片间通信、片外数据传输和 I/O 的共享资源。先前的工作提出了混合 NoC + NoI 架构的新拓扑。然而,他们假设 NoC 和 NoI 以相同的频率运行,这对于商业产品来说可能不经济或不有利。对于工业设计来说,小芯片和中介层拥有自己的时钟域以发挥小芯片-中介层集成的最大潜力是相当可行的。因此,我们在更现实的假设和约束下重新审视 NoI 拓扑设计。
  4. 传统 NoC 模拟器缺乏的一个重要设计方面是将 NoI 与核心和内存小芯片解耦。因此,大多数现有工具假设 NoI 频率和链路宽度等于 NoC 频率和链路宽度,这种方法限制了设计者和研究人员评估拓扑设计的权衡。此外,NoC + NoI 交互的建模不足会导致大量的设计选项丢失。为了充分探索NoC + NoI设计空间,需要对异构互连进行精确建模。
  5. 在本文中,我们通过设计一套名为 Kite 的新拓扑,准确地重新评估和改进了先前的学术方法,该拓扑在核心到核心和核心-memory流量下均优于当前发布的最先进的拓扑。具体来说,通过将 NoI 与 NoC 频率和功率限制解耦,我们准确地评估了在 NoI 内使用较长链路的权衡。我们采用实现感知的设计时指标,称为有效跳数和有效带宽,它们考虑了不同链路长度的频率限制,并改进了拓扑设计。因此,我们的 Kite 拓扑比之前得出的结论更有效地使用更长的链路并维持更高的吞吐量。此外,我们还介绍了 HeteroGarnet,一种用于建模异构网络的模拟器,并利用它来测量 NoI 拓扑的性能。

动机

  1. 中介层网络已被提议用于核心到内存流量以及核心到核心一致性流量。
  2. 先前的工作:
    1. 一种简单的拓扑结构是将core路由器连接到中介层路由器,然后中介层形成简单的Mesh网络。但这种设计ubumps占用面积大,大多数链路未得到充分利用。
    2. 另一种替代方法是使用集中Mesh网络,多个核心路由器连接到一个中介层路由器,然后在中介层形成Mesh网络。集中网格 (CMesh) 利用高基数路由器(8 级)以较少的网络跳数连接到内存控制器。CMesh 由于二分带宽较低而提供较低的吞吐量。
    3. 双蝴蝶[图2©]利用较长的链路并减少平均跳数;此外,对角线链路增加了二分带宽
    4. 一项研究通过利用“错位”网络优化了 NoI 拓扑。未对齐的中介层网络会偏移其路由器的位置,从而使两个相邻小芯片边缘的核心共享同一路由器 [4],如图 2(d) 所示。他们进一步提出了 ButterDonut 拓扑来减少平均跳数以及芯片间一致性流量延迟,如图 2(e) 所示。 ButterDonut 增加了二等分带宽,同时保持与 CMesh 类似的路由器复杂性。我们遵循原始论文中未对齐拓扑的命名法,其中 ButterDonut(X) 指的是 X 维度的未对齐。
  3. 混合 NoC 探索的挑战。设计拓扑的评估应包括准确地建模工作参数,例如延迟和工作频率。此外,考虑到添加更多电线的成本相对较低[7],一个自然的方向是探索在不影响 NoC 设计参数的情况下增加 NoI 链路带宽的好处。

【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

工作内容

KITE 拓扑

  1. 设计指标

    1. Effective Hops有效跳数,数据包在任何源目的地对之间穿越的网络延迟 (T) 定义为
      𝑇 = 𝐻 × 𝑡𝑤 + 𝐻 × 𝑡𝑟 + 𝑇𝑐 + 𝑇𝑠
      H 是源 - 目的地对之间的跳数,tw 是每跳线路延迟,tr 是路由器延迟,Tc 和 Ts 分别是争用延迟和串行化延迟。所有这些延迟都是循环的。 tw、tr 和 Ts 是设计时指标,而 H 和 Tc 取决于运行时的流量特征。

    独立于运行时流量争用的设计时延迟代理是平均跳数 ( Havg )。 Havg 是通过对所有可能的源-目标对上的 H 进行平均来确定的。并且通常与其他指标(例如直径(最坏情况延迟的代理)和二分带宽(峰值吞吐量的代理))相结合来衡量拓扑的有效性 。减少 Havg 是拓扑设计的黄金标准,并导致了多种流行的基于片上快速链路。Havg 中的问题是,通常不考虑工作频率 f(每跳的持续时间)。例如,拓扑可以使用长快速链路来提供单跳传输,但可能受到最大可能 f 的限制。因此,tw 和 tr 值会上升,使其比具有较高 Havg 但较高 f 的拓扑更糟糕。

    这在 NoC 中通常不是问题,因为 NoC 的(低)运行频率受到 CPU/GPU 核心和缓存的限制,自从 Dennard 扩展停止以来,这些频率已趋于稳定。然而,NoI 不需要耦合到核心频率,因此可以在不同的(多 GHz)工作频率下工作。这需要共同优化 Havg 和工作频率 f。为此,我们定义了一个称为有效跳数 (Heff) 的指标作为设计我们提出的 NoI 拓扑的代理。

    𝐸𝑓𝑓. 𝐻𝑜𝑝 𝐶𝑜𝑢𝑛𝑡 (𝐻𝑒𝑓𝑓) = 𝐴𝑣𝑒𝑟𝑎𝑔𝑒 𝐻𝑜𝑝 𝐶𝑜𝑢𝑛𝑡 (𝐻𝑎𝑣𝑔) / 𝑂𝑝𝑒𝑟𝑎𝑡𝑖𝑛𝑔 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦 (𝑓)

    Heff 测量在网络内遍历 Havg 跳所需的有效时间。将这种实现特定的度量思想扩展到二等分带宽使我们得到一个有效的二等分带宽度量。

    𝐸𝑓𝑓. 𝐵𝑖𝑠𝑒𝑐𝑡𝑖𝑜𝑛 𝐵𝑊 = 𝐵𝑖𝑠𝑒𝑐𝑡𝑖𝑜𝑛 𝐵𝑊 × 𝑂𝑝𝑒𝑟𝑎𝑡𝑖𝑛𝑔 𝐹𝑟𝑒𝑞𝑢𝑒𝑛𝑐𝑦(𝑓)

    具有相同 Havg 和 Bisection BW 的两种拓扑可能会导致截然不同的可操作频率(以及 Heff 和 Eff. BW)。

  2. Links的分类:k-straight 和 k-m-diagonal
    确定了两类链接k-straight 和 k-m-diagonal。 k-straight链路沿同一维度(水平或垂直)直接连接两个路由器,物理上跳过或绕过 k-1 个中间路由器。例如,1 条直线链路是最近邻居链路,2 条直线链路连接中间跳过一条的路由器,如图 2 中紫色线所示。 k-m 对角链路遵循相同的规则,在一个方向上有 k 跳,在另一个方向上有 m 跳。图 2 中的橙色和绿色链接分别显示 1-1 对角线和 2-1 对角线。我们假设拓扑中最长的链路类别限制并确定 NoI 的整体工作频率。

  3. 假设系统具有 16 个内存控制器、4 个 CPU/GPU 小芯片(每个芯片有 16 个核心)、每个路由器的集中因子为 4、最大路由器度数为 8。Kite 拓扑采用未对齐NoI 拓扑 [4] 可减少小芯片间流量所需的跳数。所有 Kite 拓扑都是通过选择 k 条直线或 k 条对角线链路之一作为最长链路来构建的,以在尽可能多的路由器之间提供连接。之后,使用较短的链路连接任何剩余的路由器和端口,直到满足最大路由器度数。出于说明目的,我们使用三种不同的链路长度(1-1 对角线、2 直线和 2-1 对角线)演示此策略,构建三种拓扑 - Kite-Small、Kite-Medium 和 Kite-Large 使用这些分别作为最长的链接。由此产生的拓扑如图 2 所示。可以通过使用更长和/或异构链路来构建其他变体。

  4. 技术特定评估
    使用 HeteroGarnet(第 IV 节)和 DSENT 来支持路由器和链路功率建模,稍后将在第 V.B 节中详细介绍。最大工作频率由最大路由器的基数和最长导线的长度决定,如图3所示。网状拓扑具有最短的链路和低基数路由器,因此可以工作在4.0 GHz。 CMesh 可承受高达 3.6GHz 的频率。然而,具有较长链路的拓扑(即 Double Butterfly 和 ButterDonut)的时钟频率最高只能为 2.7 GHz。我们考虑使用 24mm × 36mm 有源中介层系统进行评估,该系统具有较低的 μbump 面积开销。
    【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

  5. Kite 拓扑分析
    表 1 总结了 Kite 拓扑与其他 NoI 拓扑在几个指标上的比较。
    【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

实验方法和评估结果

  1. 系统配置
    • 合成流量和实际应用来进行拓扑评估。统一随机合成流量包括 50% 一致性流量(任意一对核心之间)和 50% 内存流量(核心和内存通道之间)。在每个一致性/内存流量中,一半流量是读取,一半是写入。读请求和写响应消息的长度为 8 字节,而读响应和写请求消息的长度为 72 字节。
    • 路由和无死锁。为了保持比较公平,我们对所有拓扑使用最短路径路由和逃逸虚拟通道(VC)
  2. 技术模型
    与 DSENT 结合以提取互连的功率和面积估计值。
  3. 实验结果
    1. NoC 和 NoI 分离时钟域
      【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

      评估其中 NoC 和 NoI 在不同时钟频率下运行的小芯片中介层系统。在这个实验中,我们首先使用以前作品采用的传统方法重现结果,即NoC和NoI以相同的频率运行。然后,我们应用新的方法来评估 NoI 以最大频率运行时的性能影响。这种方法将使我们能够看到设计具有更长链接的 NoI 的权衡。

      1. 内存流量延迟
        图 4(a) 提供了当整个 NoC + NoI 工作在 1.8GHz(传统方法)时,所评估的 NoI 拓扑的负载延迟曲线。即使在低注入率下,Mesh 和 CMesh 也会遭受较高的平均延迟。 Butter Donut、Kite Medium 和 Kite Large 等拓扑利用长链路,因此能够提供低延迟。由于较高的二等分带宽,这些拓扑还能以较高的注入速率提供低延迟。总体而言,与 ButterDonut 相比,Kite Large 将延迟降低了 1%,同时将饱和负载提高了 8%。上述观察激发了 NoI 内的长链接。然而,如果忠实地建模NoC + NoI(HeteroGarnet Methodology),我们将得出不同的结论。

      图 4(b) 显示了同一组拓扑的负载延迟曲线,每个拓扑都以其最大工作频率运行。我们发现,具有较短链路的拓扑可以利用较高的工作频率,从而提供更好的延迟和更高的吞吐量。Kite 拓扑对其最长链路的有效利用在低延迟和更高的内存流量饱和度限制方面都得到了回报。
      2. 一致性流量延迟
      一致性流量也观察到类似的趋势。尽管 Kite Medium 在我们的评估中表现最好,但根据设计和技术限制,任何 Kite 变体都可能是最佳的。

    2. NoI 链路宽度
      【DAC‘ 2022】Kite: A Family of Heterogeneous Interposer Topologies-LMLPHP

      增加了 NoI 的链路宽度,同时保持核心级 NoC 链路宽度恒定在 16 字节。所有拓扑都以在更高注射速率下提高吞吐量的形式获得优势。

    3. 面积和功耗
      在较高频率和链路宽度下运行任何逻辑的开销都会对面积和功耗产生影响。中介层上的区域对于维持最小活动逻辑至关重要。此外,高功耗并不能证明更高频率下的性能改进是合理的。由于系统中存在大量路由器,网状拓扑的功耗和面积成本较高。与 ButterDonut 相比,Kite 拓扑具有相似的面积和功率开销。我们性能最佳的拓扑 Kite Medium-32Byte 的面积开销仅为 3.83 mm2。这仅占中介层总几何面积的 1.3%。

    4. NoI 拓扑的可扩展性
      图 4(e) 显示了不同小芯片大小的数据包所经历的平均数据包延迟。将小芯片大小缩小到四个核心会增加中介层拓扑内的一致性流量,从而因争用而导致更高的延迟。16 核小芯片是最佳尺寸。
      图 4(f) 显示了随着内核数量的增加,注入率为 0.03 时的平均数据包延迟。一般来说,由于跳数的增加,随着核心数量的增加,数据包所经历的延迟也会增加。 Kite 系列在所有核心数上都优于其他拓扑,即使核心数为 256,Kite Medium 的性能也更好。

    5. 真实应用程序
      评估了 Rodinia 和 HPC 代理应用程序的子集 使用 64 CU AMD GPU 模型。图 6 显示了这些应用程序标准化为基于双蝴蝶的内插器 NoC 的总体运行时间。我们发现,在 xsbench、snapc 和 hpgmg 等内存密集型应用程序中,Kite Medium 的性能提升更为明显。总体而言,与 Double Butterfly 和 ButterDonut 拓扑相比,Kite Medium 的性能分别提高了约 12% 和 9.2%。

04-11 03:28