论文部分内容阅读
现代大规模并行系统除了被广泛应用于传统的高性能计算领域外,还开始用于新兴的云计算领域。通过对近年来高性能计算体系结构和云计算体系结构发展的调研,发现系统互连是构成上述大规模系统的关键部件之一;高性能计算与云计算应用,对高带宽、低延迟的互连通信系统有着相似的需求与共性。而这些共性也让研制能兼顾融合这两类应用特征的计算平台成为可能。为更有效地满足这些共性需求,有必要开展探索相关互连通信系统的结构、设计与性能评估工作,以便为发展出可有效地支持高性能计算和云计算的融合型计算系统提供支持。 面向上述的共性和特性需求,中国科学院计算技术研究所高性能中心提出了cHPP(configurable Hyper Parallel Processing)体系结构,cHPP控制器是实现这一结构的核心部件。通过在cHPP控制器的网络接口控制器(NIC: Network Interface Controller)中引入虚拟化的支持,为高性能计算和云计算在通信系统层面的融合提供了可能。本论文涉及一款支持原生共享的高性能网络接口控制器的设计、FPGA原型实现和性能分析工作,该网络接口控制器具体包括以下特性: 1.面向兼容性需求: 使用具有良好兼容性的PCIe高速总线作为主机端接口,并提出一种基于PCIe的网络通信协议。 2.面向通信性能需求: a)提出一种用户级通信接口设计,实现进程直接操作通信接口,提高了通信效率; b)硬件支持高效的通信原语,包括用于大消息传输的RDMA PUT、GET原语,以及用于小消息传输的NAP原语; c)实现灵活的传输机制,包括门铃启动、chain DMA、大页面支持等。 3.面向通信接口虚拟共享需求: 提出一种支持PCIe SR-IOV(Single-Root IO Virtualization)标准的控制器设计,实现用户级通信接口与虚拟功能的融合,即虚拟机可直接使用用户级通信接口。 本文采用Xilinx Virtex6 Lx365t对上述设计进行了原型实现,测试结果表明用户级通信和IO虚拟化功能正确,且有效通信带宽3.2GBps(峰值带宽的80%),最低延迟1.242us。