论文摘要
随着信息技术的快速发展,以及网络的大规模应用,网络中需要传输的数据呈爆炸性增长,这给网络传输带来巨大的压力。随着存储系统规模的扩大,存储系统中形成了复杂的网络链路,因此利用存储网络中的链路资源提高传输率方法的研究具有实用价值和应用前景。为了充分利用网络链路资源,构建了一个多链路存储系统,作为研究多链路技术的平台。研究发现在I/O功能栈中的块层实现多链路功能具有与其他系统模块最小的耦合性,据此提出了利用系统资源的调度算法,降低系统资源利用率,实现了灵活配置和扩展。研究了多链路设备的虚拟化技术,提出了多链路设备的虚拟化实现的方法,包括增加了表示虚拟设备和链路组的抽象层,建立了相关的映射关系,融合了回调函数,共享内存和消息机制在模块之间通信的优势,实现了对多链路的统一管理和级联访问,避免了因虚拟化而引起的模块之间信息慢同步的问题。研究了故障检测技术,提出了充分考虑网络流量等实时因素来动态预测下一个心跳到达时间的算法,提高了故障检测的准确度和速率。研究了链路负载平衡及不同的调度策略,实现了四种简单并有效分担负载的调度策略:根据链路数目而均匀的轮流分担负载,即轮询;根据各条链路所需要处理的I/O数,即选择I/O数目最小的链路;根据各条链路所需要处理的块数,即选择块数目最小的链路;错误恢复,即选择热备的链路。在百兆以太网的环境下,对单链路和多链路访问进行了理论分析,并进行了性能测试,多链路访问速度高于单链路访问速度,但由于多链路访问增加了I/O重定向的代价,因而多链路中的单路比普通的单链路访问速度低,并且随着链路数增多,性能增量降低,这个问题需要在日后的研究中对其做进一步的改进。