Transcript FPGA的16核
基于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规模的互连网络 软硬件混合模拟 软件完成外设与系统调用模拟 研究内容与指标(续) 工作频率——80Mhz Functional Model Timing Model (ISA + peripherals) (Micro -architecture) Host+FPGA trace FPGA Host Memory Interleaved Pipeline 16xCPU SRAM Cache #0 Cache #1 …… SDRAM Cache #15 IDE Cache Controller NIOSII Processor #0_MMU NIOSII Processor #1_Cplx NIOSII Processor #2_PCI-E Xilinx Virtex-5 XC5VLX110T BEE3-LX155T-2C 集成了四片Xilinx LX155T FPGA芯片、64GB DDR2内存、8个10G以太网接口、4个PCI-E接口的 大规模开发平台。 预计可以模拟几百核至近千核的多核多芯片系统 (采用时分复用模式),包括其互连、存储层次 等结构。 7 预期成果 FPGA模拟器的可综合RTL代码以及相关工程文件 相关开发文档以及使用手册 关键技术说明文档或者技术论文 相应的测试用OS、编译器以及测试代码(采用第三方开源软件) 验收方法 展示FPGA演示系统 功能检查、运行频率检查(根据量化指标) 文档、代码检查 帮助进行系统迁移、安装。 基本目标 规模:64核规模,80结点互连网络规模( 支持虚通道) 频率: 80Mhz 良好目标 规模:128核规模,256结点互连网络规模 挑战目标 规模:128核规模 + 256结点互连网络规模(需要跨片实现) 项目进度 阶段一 (三个月) 确定细化技术方案,给出细致指标; 完成初步的内核模拟代码,以及RTL功能仿真; 完成互连模拟的RTL代码(支持跨片设计)。 阶段二 (七到九个月) 代码综合、上板调试 完成原型系统 集成软件部分 阶段三 (二到三个月) 调整优化 系统展示 1Clk 16Clk 发射16条指令 来自模拟的16个处理器 完成16条指令的执行 Interleaved Pipeline 16xCPU 每条指令依次经过16个流水段 每个流水段上依次经过16个核的指令 多核多处理器互连网络模拟( 用于设计阶段 ) •方法 模拟互连网络系统,采用时钟周期驱动模式,模拟网络中包传送的过程以及每个 节点的处理与发送过程 传输瓶颈分析与不同拓扑结构对比 •输入 互连拓扑结构、网络各节点行为参数(处理/发送时延、连接带宽、工作频率、 转发策略等) 随机负载(强度可调) •评测项目 包传输时延(平均/最大) 节点处理阻塞时间(平均/最大) 。。。。。。 软件模拟 完成了周期精确的可配置互连网络模拟 模拟网络节点的内部微体系结构 模拟了物理层、Cache一致性协议层 灵活统计各项性能参数 FPGA模拟 在软件模拟的基础上,完成了周期精确的可配置的互连网络仿真 拓扑结构、信道个数、缓存大小、网络节点处理时间等可配置 正在开展扩展工作,争取在4个FPGA片上完成256~512结点网络 规模的高速模拟。 面向IA64的处理器体系结构模拟、故障注入与跟踪(设计 阶段) •IA64处理器的微体系结构模拟 •提供内核、存储层次、互连网络等多层次的故障注入接口 •内部模拟实现了多种主流容错技术,可以直接配置运行 •提供容错技术开发接口,以开发新的容错功能模块 Application/Benchmark 容错模拟结果、模拟统计 分析、模拟执行记录… User 启动时配置参数 输入 输出 研究平台 配 置 接 口 体系结构配置参数 … 处理器锁步配置参数 … 互联网络配置参数 … 故障注入参数 … ECC容错模块 新的容错 处理器锁步模块 模块 互联网络容错模块 检查点设置模块 模块接口 内存容错模块 修改的处理器锁步容错模块 ... 系统模拟 高性能服务器 容 错 开 发 接 口 User