《ASTRA-sim 系列两篇》

《ASTRA-SIM: Enabling SW/HW co-design exploration for distributed DL training platforms》 1. 文章简介 1.1 摘要 现代深度学习系统主要依靠基于高性能加速器(如 TPU、GPU)的硬件平台进行分布式训练。目前的例子包括谷歌的云 TPU 和 Facebook 的 Zion。DNN 训练涉及 DNN 模型架构、并行化策略、调度策略、集体通信算法、网络拓扑和终端加速器之间复杂的相互作用。随着人工智能/ML 模型的创新不断加速发展,需要一种全面的方法来理解和驾驭未来系统中复杂的 SW/HW 设计空间,以支持未来 DNN 模型的高效训练。在这项工作中,我们做出了以下贡献:(i) 为分层扩展结构上的分布式训练建立了 SW/HW 设计空间;(ii) 开发了一个用于导航设计空间的网络模拟器;(iii) 展示了算法拓扑协同设计加速端到端训练的前景。 1.2 研究动机 对模型架构、并行策略、调度算法、集合通信、网络拓扑、终端算力的仿真 大规模并行训练成本高,在实际部署和训练之前,需要一个仿真工具进行评估 1.3 主要贡献 为分层加速器结构设计空间探索建立 SW/HW 设计空间,并确定扩展 DL 工作负载的关键瓶颈 开发名为 ASTRASIM 的端到端网络模拟器,用于评估设计空间的各个方面 使用 ASTRA-SIM 对 alltoall 和 Torus 拓扑的 all-reduce 和 all-to-all 集合的一维、二维和三维拓扑进行全面分析 2. 实现方法 3. 实验结果 实验参数 ...

2024年6月15日 · 1 分钟

文献阅读《Chakra: Advancing performance benchmarking and co-design using standardized execution traces》

1. 文章简介 1.1 摘要 基准测试和协同设计对于推动 ML 模型、ML 软件和下一代硬件的优化和创新至关重要。全工作量基准(如 MLPerf)在实现不同软件和硬件堆栈之间的公平比较方面发挥着至关重要的作用,尤其是在系统完全设计和部署之后。然而,人工智能创新的步伐要求模拟器和仿真器采用更加敏捷的方法来创建和使用基准,以实现未来的系统协同设计。我们提出了 Chakra,这是一种开放式图模式,用于标准化工作负载规范,捕捉关键操作和依赖关系,也称为执行跟踪(ET)。此外,我们还提出了一套互补的工具/功能,使各种模拟器、仿真器和基准能够收集、生成和采用 Chakra ET。例如,我们使用生成式人工智能模型学习数千种 Chakra ET 的潜在统计属性,并使用这些模型合成 Chakra ET。这些合成的 ET 可以混淆关键的专有信息,还可以针对未来的假设场景进行设计。举例来说,我们展示了一个端到端的概念验证,它能将 PyTorch ET 转换为 Chakra ET,并以此驱动一个开源训练系统模拟器(ASTRA-sim)。我们的最终目标是建立一个充满活力的全行业敏捷基准和工具生态系统,以推动未来的人工智能系统协同设计。 1.2 研究动机 Full Workload Benchmarks对于评价分布式训练的性能虽然非常重要,但是需要更加敏捷的方式 评价分布式训练的软硬件联合设计的效果 不同的AI/ML模型通常由不同的公司在不同的平台上构建,通常不能提供公开模型的细节 缺少在不同的组织之间交换ML模型ET的统一架构 缺少完善的性能评估工具链 目前的方法缺乏合成ET的能力 以Pytorch为例,可以使用Execution Graph Observer获取直接的ET,但是这种方法得到的结果受真实的系统的限制(例如NPU数量,计算时间,网络延迟等),使用合成的ET可以避免这些限制 1.3 主要贡献 捕捉相关执行和依赖信息的 Chakra ET 可视化器、转换器和模拟器等开源工具链 人工智能生成模型的ET合成 2. 实现方法 2.1 设计需求 应该包含内存访问、计算负载、网络通信、并行策略 应该最小化且可扩展 应该从性能建模的角度对 ML 执行的各个方面进行建模 应该能显示不同执行阶段的ET,且与设备解耦 2.2 实现方案 2.2.1 ET的表示 A. Chakra Node type的值范围 INVALID 字段的初始值,用于忽略非关键节点 MEM_LOAD、MEM_STORE COMP COMM_SEND、COMM_RECV、COMM_COLL B. Chakra Attribute type的值范围 ...

2024年6月15日 · 1 分钟

文献阅读《NS3 Simulator for a study of Data Center Networks》

1. 文章简介 1.1 摘要 部署在数据中心网络(DCN)上的应用日益复杂和先进,对 DCN 的新功能和更高性能提出了更高要求。这就产生了许多设计,以应对成本、性能、可靠性、可扩展性、安全性和能源等各种挑战。设计人员经常面临的一个主要挑战是如何实现他们提出的设计或实现现有设计进行比较。虽然原型设计是更好的选择,但它有一定的局限性,而且非常复杂和昂贵。因此,仿真被认为是原型设计的替代方案。 本文介绍了使用网络Network Simulator 3(NS3)实现 DCN 的各种架构并研究其性能的案例研究。我们提供的信息包括最流行的 DCN 设计的实现,以及 NS3 可用来研究其性能的工具。我们的努力是让初学者能够轻松使用 NS3 构建 DCN 的流行设计并研究其性能。 1.2 研究动机 数据中心的网络设计通常需要大量的成本 单个FPGA网卡的成本超过$599.0,在验证DCN可行性时成本是不可估算的 1.3 主要贡献 使用NS3仿真DCN:Fat-Tree、BCube、DCell、PortLand、4-4、1-4等 2. 实现方法 在他们提出的工作中实现DCN的不同设计 3.1 Fat-Tree 一个 k-ary 的胖树结构由k个 Pod 组成,每个 Pod 由 k/2 个 k 端口的交换机组成两层网络,k 端口的交换机中的k/2个端口连接下一层级的主机,剩余的 k/2 个端口连接上一层级,最终聚合到核心层。 以 10.0.0.0/8 地址段为例,可以为胖树网络进行IP编址 3.2 BCube BCube_0 是一个 BCube 网络拓扑的基础,可以将 n 个服务器连接到 1 个 n 端口的交换机上 BCube_1 由 BCube_0 演化而来,由 n 个 BCube_0 和 n 个 n 端口的路由器组成 ...

2024年6月15日 · 1 分钟

文献阅读《The GEM5 Simulator》

1. 文章简介 1.1 摘要 开源和社区支持的 gem5 仿真器是计算机体系结构研究领域最流行的工具之一。这种仿真基础架构允许研究人员在周期级别对现代计算机硬件进行建模,其保真度足以启动未经修改的基于Linux的操作系统,并为包括x86、Arm®和RISC-V在内的多种体系结构运行完整的应用程序。自gem5最初发布以来,gem5模拟器在过去九年中一直处于积极开发阶段。在此期间,有超过 250 位独特的贡献者对代码库进行了 7000 多次提交,通过添加新功能、修复错误和提高代码质量来改进模拟器。在本文中,我们将概述gem5的用法和功能,描述gem5模拟器的现状,并列举自gem5首次发布以来的主要变化。我们还讨论了gem5模拟器如何过渡到正式的管理模式,以便在未来20年的计算机体系结构研究中实现持续改进和社区支持。 1.2 主要贡献 gem5 可通过基于 Python 的强大脚本界面进行动态配置。大多数其他模拟器都是通过平面文本文件(如 json)或在编译时进行静态配置的。另一方面,gem5 允许用户使用面向对象的 Python 脚本将较简单的系统组成更复杂的系统,从而更轻松地模拟复杂系统。 gem5 可通过简洁的模型应用程序接口进行扩展。gem5模拟器有300多个参数化模型,添加新模型和参数简单明了,并有详细的文档说明。 gem5 是一个完整的系统模拟器。其高保真模型可支持启动未修改的操作系统和运行未修改的应用程序,并提供周期级统计数据。 gem5 是一个由社区驱动并经常更新的项目。gem5 社区蓬勃发展。自九年前首次发布以来,已有 250 多名独特的贡献者和 7000 多次提交。即使在过去六个月中,gem5 也有超过 850 次提交和 50 个独特的贡献者。 2. 实现方法 gem5的简单使用方法 gem5的组成部分

2024年6月15日 · 1 分钟

文献阅读《COSSIM: An open-source integrated solution to address the simulator gap for systems of systems》

1. 文章简介 1.1 摘要 在复杂的网络化异构系统时代,仅对设计中系统的部分、组件或属性进行独立仿真是不可行、不准确或不高效的。交互作用太多、太复杂,无法产生有意义的结果,而且以孤立的方式考虑系统的每个部分时,优化机会受到严重限制。所介绍的 COSSIM 仿真框架是首个已知的开源高性能仿真器,可全面处理包括处理器、外设和网络在内的系统;这种方法对 CPS/IoT 和高并行异构系统设计人员和应用开发人员都非常有吸引力。我们的高度集成方法通过精确的功率估算和安全子工具得到了进一步增强,这些工具可以挖掘所有系统组件,并对整个网络系统进行安全性和稳健性分析。此外,我们还开发了一个图形用户界面,以提供简便的仿真设置、执行和结果可视化。COSSIM 已在云计算和 CPS 系统的实际应用中进行了评估,显示出很高的准确性和性能,几乎与专用于模拟器的 CPU 数量成线性关系。 1.2 研究动机 针对CPS/IoT或依赖高度并行的异构系统的仿真场景,没有现有的、可靠的、高精度、高性能的工具 现有工具主要分为两类: 一种面向系统功能设计,针对物理器件、处理器、电子组件、用户行为、事件、消息等(Ptolemy、Matlab Simulink、Modelica-based Simulation Environments) 另外一种可以处理周期精度、功耗等,主要在WSN中广泛应用(TOSSIM、COOJA) 在云服务器仿真中常用的是:CloudSim及其衍生物 1.3 主要贡献 构建了一套COSSIM的仿真工具,具有高精度、高可信、高效的特点 仿真工具可以对系统性能、功耗、网络、安全等多方面进行评估 仿真工具主要面向两种系统:一种是Encompasses Systems(WSN、CPS、IoT等),另外一种是Cloud and Parallel/Distributed Systems 2. 实现方法 COSSIM主要针对的软件栈、动态网络、能耗仿真等几个方面 2.1 COSSIM组成 2.1.1 处理器仿真 主要使用 GEM5 对节点(处理器)进行仿真,它可以满足对周期精度、指令集、可配置等多个条件。但是由于GEM5不支持对能耗的仿真,因此使用 McPAT 对能耗进行补充 2.1.2 网络仿真 GEM5虽然可以支持到网络网卡(NIC)层级的仿真,但是不支持网络建模。使用 OMNET++ 处理从网卡层级及以上的仿真。 2.1.3 组件集成 需要在处理器仿真与网络仿真之间细心的设计通信接口和同步方案。使用 IEEE HLA 对网络数据、消息、同步等进行网络控制 2.2 COSSIM实现 用户输入系统配置、运行的应用、系统镜像、网络拓扑等参数,通过仿真可以得到处理器/网络状态、应用是模拟输出、功耗等信息 GEM5和McPAT模块用于仿真节点,在运行的时候是多个实例进行并行的 OMNET++用于多节点之间的网络模拟 在节点(GEM5)和网络(OMNET++)之间通过HLA进行时钟同步 使用嵌入的COSSIMlib控制节点间的同步策略和全局同步策略 同一个网络上可以有多个不同算力,不同配置的GEM5实例,且节点间需要同时交换信息,因此同步是必要的 3. 实验结果 COSSIM在移动视觉搜索应用和建筑管理系统应用上进行仿真和验证 3.1 移动视觉搜索 移动视觉搜索(Mobile Visual Search,MVS)是一个计算机视觉应用,主要分为图像分析和搜索两个阶段 ...

2024年6月7日 · 1 分钟