阅读了A Methodology for Simulating Multi-chiplet Systems UsingOpen-source Simulators这篇论文,是关于多chiplet的通信的,个人感觉核心贡献在于改了Gem5的源码从而实现了chiplet间的通信,而不仅仅是考虑单个chiplet,具体的一些记录如下:
目录
三、Comments对文献的想法 (强迫自己思考,结合自己的学科)
一、Article:文献出处(方便再次搜索)
(1)作者
- Haocong Zhi∗, Xianuo Xu∗, Weijian Han∗ , Zhilin Gao∗, Xiaohang Wang†(华南理工大学)
- Maurizio Palesi(卡塔尼亚大学)
- Amit Kumar Singh(埃塞克斯大学)
-
Letian Huang(电子科技大学)
(2)文献题目
- A Methodology for Simulating Multi-chiplet Systems UsingOpen-source Simulators
(3)文献时间
- September 7–9, 2021
- In The Eight Annual ACM International Conference on Nanoscale Computing and
Communication (NANOCOM ’21)
(4)引用
- Haocong Zhi∗, Xianuo Xu∗, Weijian Han, Zhilin Gao∗, Xiaohang Wang, Maurizio Palesi, Amit Kumar Singh, and Letian Huang. 2021. A Methodology for Simulating Multi-chiplet Systems Using Open-source Simulators. In The Eight Annual ACM International Conference on Nanoscale Computing and Communication (NANOCOM ’21), September 7–9, 2021, Virtual Event, Italy. ACM, New York, NY, USA, 6 pages. https://doi.org/10.1145/3477206.3477459
二、Data:文献数据(总结归纳,方便理解)
(1)背景介绍
- Chiplet间的通信仿真缺乏精度(inaccurate inter-chiplet interconnection model),比如:interposer级别的互连延迟、power model等
- 无法进行大规模的并行仿真(incapable of large-scale parallel simulation),无法承担成百上千的cores并行仿真
- Chiplet的设计空间非常具有挑战性,因为设计空间比设计单个SoC要大得多。需要考虑的问题,以一个128核的系统为例:
- 组合方式:32Cores x 4Chiplets;16 Cores x 8个Chiplets;8 × 16......
- 互连拓扑(Mesh or Star?)和内存模型(分布式还是)?
- interposer是active or passive
(2)目的
- 提供一种使用开源模拟器模拟Multi-chiplet系统的方法 ——mimics the reuse and integration idea of chiplets
- reuse:重用现有的开源模拟器来模拟单个chiplet
- integration:模拟器进程间通信和同步协议( inter-simulator-process communication and synchronization protocol )用于模拟芯片间的通信
(3)结论
- 芯片间和芯片内大规模互连系统可并行仿真(基于文件的模拟器进程间通信和同步协议),其中文件指Timing model files(通信包,模拟交互通信)和Functional model files(放数据),由此观之数据包和时间包是分离的,数据包的读写由Gem5模拟器执行,通信过程的仿真由popnet模拟器执行
- 提供的multi-chiplet系统包括:分布式和共享内存模型
- 提供了一个修改Gem5源码的开源Chiplet模拟器(m5_gadia_call和m5_gadia_receive函数)
(4)主要实现手段
- 远程读写协议
- 模拟器进程间通信和同步协议
- 内存模型和编程模型
(5)实验结果
- 实验配置和benchmarks
- 矩阵乘法和BFS实验结果表明:随着Chiplet数量增加性能会提升(S1的减少可能由于通信开销)
- S5(popnet网络模拟器)实验结果表明:随着包注入率增加网络延迟增大迅速
- 图8显示了不同模拟器使用不同数量的Chiplet进程并行化模拟时的仿真时间(矩阵乘法)
三、Comments对文献的想法 (强迫自己思考,结合自己的学科)
记录自己看文献时的一些思路,以及发现文献的一些不足
- 为什么在Timing model files里面已经记录了delay和time stamp,为什么在通信过程中还需要σ记录延迟,什么时候会出现σ(依据是什么)?
- 论文偏架构?开源的代码实现很简单感觉有点对不上号,call和receive函数只能实现Chiplet间的读写,通信互连拓扑结构如何体现的呢?比如,论文中提到的centralized和tiled两种如何实现呢?network manager是如何体现的?
- call(写)和receive(读)函数实现Chiplet间的读写,文中提到读遵循握手协议但是代码压根没实现啊,写所说的有buffer和reply也没有实现,只是纯粹的写文件
- 为什么需要Timing model files(通信包)和Functional model files(放数据),都合并在一个包里也并非不可以完成啊,感觉这样也挺符合实际情况的
- 每个模拟器为了实现同步,会保持一个本地时钟周期,每λ个周期会检查一下自己的Timing model files和Functional model files,这个λ的值需要同时考虑到精度和速度,但是开源代码没有看见具体的实现
- 单个Chiplet实现可以直接通过命令行进行配置,考虑Chiplet设计空间的时候,更多应该考虑通信互连时的拓扑结构、传输延迟等
四、Why:为什么看这篇文献 (方便再次搜索)
用于实验设计:
- 了解多Chiplet间的仿真细节的具体实现
- 考虑如何和毕业设计“Chiplet设计空间探索”联系起来
- 如何复用该Chiplet模拟器实现需求
五、Summary:文献方向归纳 (方便分类管理)
multi-chiplet simulator
- parallel simulation
- reuse and integration
- remote read and write API functions
- inter-simulator-process communication and synchronization protocol