论文部分内容阅读
高性能计算机具有比个人计算机更大的规模和更强的性能,具备每秒万亿次的计算能力。相应地,高性能计算机拥有显著增加的数据通信需求,传统的计算机内部总线共享通信已无法满足更加高速的网络互联需求。在这一背景下,高带宽、低延迟的Infini Band网络成为了数据中心网络互联的主流选择,即总线网络化。本文基于ARM+FPGA的异构计算嵌入式HCA卡平台,提出了嵌入式Infini Band网络的用户态驱动方案,将Linux系统中的网卡设备驱动分为用户态部分和内核态部分:用户态驱动部分实现了工作队列模块、完成队列模块和内存管理模块;内核态驱动部分负责地址映射,地址翻译,以及中断信号传递。从而可以在用户空间基于大页内存和地址转换表,管理工作队列并控制数据收发,完成中断处理操作。基于Infini Band网络用户态驱动,本文还提出了传输层的超时重传机制和出错重传(快重传)机制,作为保证网络通信双方可靠传输的解决方案。最后本文通过功能完整性实验验证了驱动方案的功能正确性,通过性能对比实验证实了用户态驱动的零拷贝机制能够有效避免上下文切换带来的开销,从而给整个网络系统带来一定的性能提升。