FireSim简介-亚马逊云-伯克利合作项目-公共云中FPGA加速的周期精确扩展系统仿真-ISCA18

论文:Karandikar S , Mao H , Kim D , et al. FireSim: FPGA-Accelerated Cycle-Exact Scale-Out System Simulation in the Public Cloud[C]// 2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA). IEEE, 2018.
在这里插入图片描述
Abstract
FireSim:
an open-source simulation platform that enables cycle-exact microarchitectural simulation of large scale-out clusters by combining FPGA-accelerated simulation of silicon-proven RTL designs(RTL设计的硅上验证) with a scalable, distributed network simulation.

scale-out clusters:横向扩展,横向扩展存储系统的基础是NAS空间,可以添加若干并行工作的节点并作为一个节点进行管理,从而实现吞吐量和容量的独立扩展。
在这里插入图片描述

FireSim runs on Amazon EC2 F1(易用性、弹性、成本)
本论文讨论的架构应用于仓库级别机器/数据中心

i.Introduction
虽然前几代仓库级计算机都是使用标准服务器构建的,但是硬件趋势正在推动数据中心架构师构建越来越专业化和紧密集成的仓库级机器。
通用处理器性能扩展的终结已推动云提供商通过定制芯片来提高专用性(TPU\FPGA\GPU…)
数据中心的网络带宽速度还在快速发展中。(
atacenter operators are currently deploying Ethernet networks with 100s of Gbit/s of bandwidth and latencies below 10s of microseconds. )
众多的学术和行业团体也推动了分立型数据中心架构(disaggregated datacenter architectures ),这些架构通过在高带宽,低延迟的数据中心架构上分配资源(包括CPU,高性能存储和专用计算)来组合所有这些趋势[3]。

这些趋势推动了大规模软硬件协同设计的边界。 架构师不再能只简单地模拟单个节点,而将大规模问题留给后续。 此外,在云中引入定制芯片意味着架构师必须对新兴的硬件进行建模,而不仅仅是对易于理解的处理器微体系结构进行建模。

下一代仓库级计算机的设计缺少一个好的仿真环境。
软件仿真器(如gem5)速度太慢(5-100kips)。商用定制硬件仿真器太贵。

firesim:
In this work, we present FireSim , an open-source,cycle-exact, FPGA-accelerated simulation framework that can simulate large clusters, including high-bandwidth, lowlatency networks, on a public-cloud host platform.
firesim的单个节点源自可综合的rtl并运行有真是的软件堆栈,可以boot linux。c++写的转接器耐模型可以帮助用户高效的实验交换范例和链路层协议。
用户编写RTL(以后可以与CAD工具综合,可能还可以tape out出来)以自定义数据中心blades,使用C ++代码自定义交换机设计,并指定其网络仿真的拓扑和链接特性至仿真管理器,然后构建并管理 部署模拟。
只有RTL更改才需要重新运行FPGA综合,网络延迟,带宽,网络拓扑和刀片选择都可以在运行时进行配置。

Ii. FPGAS IN THE PUBLIC CLOUD

传统的FPGA平台受限于高昂的价格,单个平台特异导致的难以重现性的,在初次购买时必须考虑到以后的最大利用率、以及较长的构建时间。其中并行性受build 许可证和构建服务器数量的限制。
But recently, many cloud providers have begun integrating FPGAs into their cloud services, including Amazon [18], Microsoft [19], [20], Huawei [21], and Alibaba [22].
在云时代到来之初,系统研究人员发现了获取计算的经济学方面的几处变化:(1)无限计算资源的新景象;(2)消除了对硬件资源的前期计算;以及(3) 按需扩展资源的能力[23]。 鉴于大型FPGA的价格甚至比最昂贵的通用计算服务器要高得多,因此,这些优势对于基于FPGA的仿真平台的开发人员和用户而言是更为明显的。
亚马逊fpga云两个实例:
Amazon’s EC2 F1 offering provides two new EC2 instance types, f1.2xlarge and f1.16xlarge, which consist of a powerful host instance (8 or 64 vCPUs, 122 or 976 GB of DRAM, 10 or 25 Gbit/s networking) attached to 1 or 8 Xilinx Virtex UltraScale+ FPGAs over PCIe. Furthermore, each FPGA contains 64 GB of DRAM onboard across 4 channels

第III-B3节介绍了FireSim在大量f1.2xlarge和f1.16xlarge实例上自动化映射和部署仿真的功能。
亚马逊提供“FPGA Developer AMI”,一个os镜像,包含fpga开发的工具和许可证

第III-B3节介绍了FireSim基础架构,该基础架构可以根据一组提供的节点配置自动分发FPGA映像构建。

iii.Firesim
在这里插入图片描述
要仿真的数据中心处理器(rocket)布置在fpga,要仿真的交换机使用c++模型布置在亚马逊服务器的cpu上。
在这里插入图片描述
rocket的设计由Chisel语言设计(一种高级硬件语言),自动生成verilog语言
network interface controller (NIC) 网络接口控制器

最近的论文呼吁将CPU和NIC集成在同一芯片上,以减少通信延迟[28]。 我们的NIC实现了这种方法,并通过TileLink2互连[29]直接连接到Rocket Chip SoC的片上网络。 这使NIC可以直接在服务器SoC上的共享L2中读/写数据(图2)。

中间细节不太感兴趣

vii:RELATED WORK
计算机架构师长期以来使用精确的周期模拟技术来对机器和工作负载(包括仓库级机器中的服务器)进行建模。 对于2010年代的数据中心而言,在单个节点规模上对机器进行仿真已足够。 大多数数据中心中使用的商品以太网网络提供了自然的去耦点,从而为微体系结构变化的影响划定了界限。 由于大多数系统是使用商品组件构建的,因此可以在实际部署中衡量规模问题,并将其用于改进未来的设计。 例如,在横向扩展工作负载在细粒度性能方面与传统工作负载不同的情况下,可以使用基于性能计数器的机制来分析规模较大的商品服务器上的微架构性能问题[37],[38]。
用于模拟构建规模系统的其他工具大致可分为三类:基于软件的模拟器,提供灵活性但性能低下;硬件加速的模拟器,部署昂贵且难以使用,但提供高性能的统计模型,用于分析 数据中心性能的大图,但并非针对建模细粒度的系统交互。 下面,我们回顾一下这项先前的工作。
A软件模拟器
模拟仓库级计算机的一种方法是采用现有的具有周期精确度的全系统软件模拟器,并将其扩展以支持多个节点。 使用这种方法的一个模拟器是dist-gem5 [16],它是流行的架构模拟器gem5的分布式版本。 该模拟器通过移动同步消息和目标数据包将在不同节点上运行的gem5实例联网在一起。 这些基于软件的方法的主要优点是它们非常灵活。 但是,这种灵活性是以性能为代价的-这些基于软件的解决方案比FPGA加速的仿真平台(如FireSim)要慢几个数量级。
而且,处理器的软件模型很难根据实际设计进行验证和校准[39],并且不能直接提供可靠的功率和面积数。通过在云服务中利用FPGA,FireSim具备了软件模拟器的许多传统灵活性优势,但是firesim build时间较长。
传统上,软件模拟器比基于FPGA的模拟器具有更复杂的硬件模型,但是最近开源硬件的爆炸式发展提供了现实的设计[40]-[42],其优点是可以精确地实现周期精确并且可综合以获得现实的物理测量结果。
另一个基于软件的方法:Wisconsin Wind Tunnel (WWT) [43] project,它使用直接执行技术来实现单个节点的高仿真性能。 反过来,WWT也遇到了与FireSim类似的性能瓶颈-网络仿真对整体仿真性能有重大影响。 WWT项目的后续工作[44]探索了几种不同的网络仿真模型对WWT的性能和准确性的影响。

Graphite模拟器[45]采用了一种基于软件的不同方法来模拟数据中心。 可以通过高仿真速率(低至41倍的慢速)来仿真共享内存系统中的数千个内核,但这只能通过降低循环精度和放松仿真内核之间的同步来实现。 此外,与完整系统的软件模拟器不同,Graphite仅支持用户应用程序,不启动操作系统。

最后一种基于软件的模拟数据中心的方法是将数据中心抽象为一组统计事件。 这减少了仿真运行时间,但牺牲了详细的微体系结构模型所提供的保真度。
像BigHouse [46]和MDCSim [47]这样的数据中心规模的模拟器都使用这种方法。 BigHouse使用随机排队模拟为数据中心建模,将数据中心工作负载表示为一组任务,并分配到达时间和服务时间。 该分布是通过对已部署的数据中心系统进行检测来凭经验确定的。
这些分布然后用于生成综合事件跟踪,该跟踪被输入到离散事件模拟中。
通过在每个节点上运行具有不同随机种子的模拟器的单独实例,然后将各个结果收集到最终合并结果中,可以将模拟分布在多个节点上。 MDCSim将模拟分为三层:用户,内核和通信。 然后,它将每层中的特定服务和系统(例如Web和数据库服务器,调度程序和NIC)建模为M / M / 1队列。 虽然这些仿真工具可用于提供数据中心性能的“总体”视图,并且比FireSim更快,但FireSim却专注于在大规模系统之间详细的微体系结构更改级别上对细粒度的交互进行建模。

B硬件加速仿真器
Cadence Palladium,Mentor Veloce和Synopsys Zebu [48]。 这些系统通常过于昂贵(约数百万美元)
最接近FireSim的模拟器是DIABLO
但是1.DIABLO使用systemverilog抽象模型手动建模,得不到功耗面积2.使用特定fpga平台,成本高

viii:讨论和未来的工作
Reproducible and scalable single-node experimentation.与软件模拟器不同,FireSim可以在不牺牲性能的情况下集成更复杂的CPU模型,只要它们适合FPGA并满足时序要求即可。
进一步增加仿真节点数量的一种方法是使用FAME-5多线程[24]。 这样可以将多个模拟内核映射到FPGA的每个物理管道上,但会降低模拟性能并降低每个模拟内核的物理内存

FireSim还支持将加速器连接到Rocket Chip。 这种加速器的一个例子是Hwacha数据并行向量加速器[25]。 FireSim节点可以将Hwachas集成到集群中,包括模拟Hwachas的分解池。 FireSim还包含一个自定义通道,该通道可以自动将从HLS工具生成的Verilog转换为插入仿真的加速器,并且可以与SoC的其余部分精确地仿真。

Ix.结论
开源FireSim仿真平台代表了一种仓库规模架构研究的新方法,同时支持保真度(源自可综合RTL的周期精确的微体系结构模型),目标规模(通过网络交换机连接的4,096个处理器内核)的空前组合 (可修改为包括任意RTL和/或抽象模型),可重复性,目标软件支持和性能(实时降幅小于1,000倍),同时使用公共FPGA云平台消除前期成本并按需提供大型集群仿真。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值