论文部分内容阅读
iSCSI协议是一种在TCP/IP网络上传输存储块数据的端到端协议。通过利用无处不在的Internet设备,iSCSI极大的方便了远程存储、远程备份、远程镜像。存储需要高性能,然而 TCP/IP 网络并不是为存储所设计的,远程网络环境下不稳定的延时、丢包、包乱序以及端系统上 TCP/IP 协议栈的处理、校验和产生、内存拷贝、系统调用等都会对 iSCSI 的性能带来不可预料的损失,因此研究iSCSI远程条件下的性能以及优化改进方法就具有重要意义,这也是国内外研究的热点项目之一。
本文结合SCSI协议深入探讨了iSCSI协议的体系结构和诸多特点。分类研究了影响iSCSI远程性能的诸多因素,并给出了软硬件实现的改进方案和应用系统集成的优化方案。iSCSI端系统的拷贝机制是制约其整体性能的一个重要方面,本文阐明了拷贝机制的原理和目前解决拷贝负载的国内外研究动态,分析研究了。Intel公司iSCSI参考实现中启动器端的具体实现细节,在此基础上自行设计实现了一种新的基于Linux零拷贝接口函数的iSCSI数据零拷贝发送方案,提出了一种iSCSI零拷贝接收方案的设计构想。
最后本文构建了一个iSCSI实验测试系统,对不同的块大小测试了联网和单机条件下改进前后的系统吞吐率。结果证明:当网络成为瓶颈时,零拷贝对吞吐率的提升并无显著作用;当 CPU 成为瓶颈时,本文的设计方案可以明显的提高系统吞吐率。最后测试了零拷贝前后启动器端的 CPU 利用率,结果证明,此零拷贝方案可以降低10%左右的CPU利用率。