140 likes | 355 Views
基于 FPGA 的 计算机系统模拟. 清华大学计算机系高性能计算所 张悠慧 2010.10. 需求背景 高端容错计算机的设计合理性问题 系统投资巨大,构建周期长,如何尽早评估设计是否合理? 分析方法 vs. 模拟技术 模拟技术被广泛应用于大规模计算机系统的设计 IBM 、 UIUC 的 BigSim 、 BG/ LSim Los Alamos 国家实验室 的 PARSIM 在精度、时间与成本之间的权衡 多核、多芯片、大规模已成为计算机系统的发展趋势 传统的基于软件的模拟(尤其是周期精确模拟)已经 无法适应 大规模目标系统的需求
E N D
基于FPGA的计算机系统模拟 • 清华大学计算机系高性能计算所 张悠慧 2010.10
需求背景 • 高端容错计算机的设计合理性问题 • 系统投资巨大,构建周期长,如何尽早评估设计是否合理? • 分析方法 vs.模拟技术 • 模拟技术被广泛应用于大规模计算机系统的设计 • IBM、UIUC的BigSim、BG/LSim • Los Alamos国家实验室的PARSIM • 在精度、时间与成本之间的权衡 • 多核、多芯片、大规模已成为计算机系统的发展趋势 • 传统的基于软件的模拟(尤其是周期精确模拟)已经无法适应大规模目标系统的需求 • 其模拟速度是真实运行速度的千分之一到万分之一
解决思路 • 基于FPGA的系统模拟 • 灵活可配 快速 成本相对低 • Intel的HASim • UC Berkeley等一些高校以及微软、SUN联合的RAMP课题 • 2006年以来的HPCA上都设立了Workshop on Architecture Research using FPGA Platforms • 近几年来,全系统性能模拟从传统的软件实现逐步演化为软硬件混合模式,或者说是硬件加速模式
基于FPGA的计算机全系统模拟技术 • 研究目标 • 研究基于FPGA的多核多处理器计算机系统模拟技术,包括系统功能模型与时序模型分离的模拟框架、硬件资源时分复用模拟技术、软硬件混合的模拟方法,并完成相应的模拟平台。 • 研究内容与指标 • 功能模型与时序模型分离的模拟框架 • 功能模型采用内部微码,指令集可调;支持一种主流指令集 • 时序模型参数可调(包括微体系结构、存储层次结构参数等) • 硬件资源时分复用 (目标FPGA: Xilinx Virtex 5 ) • 可以模拟64~128个处理器核,周期级模拟 • 可以模拟80~256规模的互连网络 • 软硬件混合模拟 • 软件完成外设与系统调用模拟
Functional Functional Timing Timing Model Model Model Model (ISA + peripherals) (ISA + peripherals) (Micro (Micro - - architecture) architecture) trace trace Host+FPGA Host+FPGA FPGA FPGA Host Host • 研究内容与指标(续) • 工作频率——80Mhz
Cache #0 Cache #1 …… Cache #15 Cache Controller Memory SRAM SDRAM IDE Interleaved Pipeline 16xCPU NIOSII Processor #0_MMU NIOSII Processor #1_Cplx NIOSII Processor #2_PCI-E
BEE3-LX155T-2C Xilinx Virtex-5 XC5VLX110T 集成了四片Xilinx LX155T FPGA芯片、64GB DDR2内存、8个10G以太网接口、4个PCI-E接口的大规模开发平台。 预计可以模拟几百核至近千核的多核多芯片系统(采用时分复用模式),包括其互连、存储层次等结构。
预期成果 • FPGA模拟器的可综合RTL代码以及相关工程文件 • 相关开发文档以及使用手册 • 关键技术说明文档或者技术论文 • 相应的测试用OS、编译器以及测试代码(采用第三方开源软件) • 验收方法 • 展示FPGA演示系统 • 功能检查、运行频率检查(根据量化指标) • 文档、代码检查 • 帮助进行系统迁移、安装。
基本目标 • 规模:64核规模,80结点互连网络规模( 支持虚通道) • 频率: 80Mhz • 良好目标 • 规模:128核规模,256结点互连网络规模 • 挑战目标 • 规模:128核规模 + 256结点互连网络规模(需要跨片实现)
项目进度 • 阶段一 (三个月) • 确定细化技术方案,给出细致指标; • 完成初步的内核模拟代码,以及RTL功能仿真; • 完成互连模拟的RTL代码(支持跨片设计)。 • 阶段二 (七到九个月) • 代码综合、上板调试 • 完成原型系统 • 集成软件部分 • 阶段三(二到三个月) • 调整优化 • 系统展示
16Clk 1Clk 发射16条指令 来自模拟的16个处理器 完成16条指令的执行 Interleaved Pipeline 16xCPU 每条指令依次经过16个流水段 每个流水段上依次经过16个核的指令
多核多处理器互连网络模拟( 用于设计阶段 ) • 方法 • 模拟互连网络系统,采用时钟周期驱动模式,模拟网络中包传送的过程以及每个节点的处理与发送过程 • 传输瓶颈分析与不同拓扑结构对比 • 输入 • 互连拓扑结构、网络各节点行为参数(处理/发送时延、连接带宽、工作频率、转发策略等) • 随机负载(强度可调) • 评测项目 • 包传输时延(平均/最大) • 节点处理阻塞时间(平均/最大) • 。。。。。。
软件模拟 • 完成了周期精确的可配置互连网络模拟 • 模拟网络节点的内部微体系结构 • 模拟了物理层、Cache一致性协议层 • 灵活统计各项性能参数 • FPGA模拟 • 在软件模拟的基础上,完成了周期精确的可配置的互连网络仿真 • 拓扑结构、信道个数、缓存大小、网络节点处理时间等可配置 • 正在开展扩展工作,争取在4个FPGA片上完成256~512结点网络规模的高速模拟。
面向IA64的处理器体系结构模拟、故障注入与跟踪(设计阶段)面向IA64的处理器体系结构模拟、故障注入与跟踪(设计阶段) • IA64处理器的微体系结构模拟 • 提供内核、存储层次、互连网络等多层次的故障注入接口 • 内部模拟实现了多种主流容错技术,可以直接配置运行 • 提供容错技术开发接口,以开发新的容错功能模块