论文部分内容阅读
现在的机群互连网络要么价格偏高;要么功能不强,也不支持RDMA操作。本文尝试设计一种高性能的机群互连网络FRAMP(Fast Remote Access and Message Passing),它不但提供高性能的消息传递,而且对共享虚拟存储提供一些底层硬件支持,包括RDMA读写操作和TLB自动更新,同时在价格上维持较低的水平。本文论述了并行计算的现状和发展趋势及支持并行计算的互连网络的特点和研究现状,用测试数据展示了不同的通信方式对提高机群并行性能的影响,分析了每种方式的通信特点及对并行性能的影响程度,指出机群并行计算对互连网络的要求:采用高性能网络和精简通信协议。本文实现了尽量穿透交换方式——该方式是对虚穿透、虫洞和混合交换的改进,它利用原有的硬件尽量进行虚穿透交换,发现没有可用资源时与虫洞交换一样阻塞链路,它不需要增加硬件,但是提高了链路利用率。本文中设计的FRAMP网络采用尽量穿透交换方式、水线流量控制和源路由寻径,在通信链路上以同步和并行方式传输数据。本文为FRAMP网络设计了一种定制的轻量级通信协议,其特点是:用户进程直接访问网卡,减少系统调用开销;尽量减少数据拷贝,远程数据读写不进行数据拷贝,普通消息只进行一次数据拷贝;减少中断处理次数,采用多线程进行通信;合并网络层和链路层,采用两层协议结构,减少组包拆包次数;采用链路级流量控制和错误检测,减少上层协议流量控制和数据校验开销;丢弃分组中的无用填充,减小帧的长度。FRAMP原型交换机是一个4×4的用FPGA实现的高速交换机,其设计要点是采用输入缓冲输出分布式调度的交叉开关结构、穿透交换、带初始值的轮循调度算法和水线流量控制方法,用LVDS接收和发送器作端口控制器。采用双时钟同步先进先出存储器作缓冲器,解决了时钟隔离和切换问题,实现了输入缓冲功能,并利用存储器的使用情况对输入端口进行水线流量控制,这种流量控制机制比采用异步数据传输的交换机提高了链路的利用率和加快传输速度。FRAMP交换机采用穿透交换方式和同步传输数据和控制,实现分组的流水传输,减小了传输延时,简化了交换机级联扩展。为了减小调度时间,采用分布式仲裁部件进行调度。为了进一步加快调度速度,在一个时钟周期内完成改进的带初始值的轮循调度,大大缩短了交换延时,提高了交换效率,而实现调度算法的硬件成本增加较少,仍保持较低的水平。FRAMP网络支持四种数据传输方式:小消息发送和接收,大消息发送和接收,远程DMA读和远程DMA写,这些功能在网卡上实现。FRAMP网卡的主要组成部分是一个功能强大的FPGA芯片和一些接口控制器与缓冲器。网卡FPGA完成网络接口的大部分逻辑功能,包括:以轮循方式实现本地总线仲裁、完成普通大小消息的快速发送和接收、在网卡上实现一个定制的小规模TLB表并进行自动更新、实现远程内存直接写和直接读功能。在网卡上实现RDMA读和RDMA写,为虚拟共享存储系统提供了强有力的硬件支持。