论文部分内容阅读
大数据时代存储系统在众多实际应用中扮演越来越重要的角色,其读写性能的好坏直接影响上层应用的性能。目前,分布式文件系统都是利用扩展性支持不断攀升的性能需求,但规模扩大易导致成本增加、维护困难。虽然基于对象的文件系统利用了存储设备的智能性,但却忽视了存储系统中所有组件是一个有机的整体。存储系统性能好坏的关键在于能否充分发挥系统中各个节点的优势和充分利用节点间的互联网络。着重研究了存储系统中的数据读写流程,并对影响系统性能的关键步骤进行了优化。所做工作全部在实验室研发的基于对象的分布式文件系统Cappella中实现并完成测试。针对数据写流程,设计并实现了根据存储服务器实时负载的动态布局方案。每个存储服务器都有一个实时权重表示其忙闲程度,在文件布局时,根据所有存储服务器的实时负载进行有偏重的随机选择,成功地解决了Cappella系统静态布局容易造成负载不均衡的问题。针对数据读流程,详细分析了Linux内核原有数据预取算法,针对Linux原有数据预取算法的缺点,设计并实现了一种适用于分布式环境的数据预取策略。Linux中的预取算法是针对本地文件系统和磁盘作为存储设备的限制提出的,在分布式环境中显得不足。分布式环境下数据分布在通过专用高速网络互联的多个节点中,因此节点间的互联网络和数据在多个节点上的分布方式成为优化系统性能的关键,分布式环境下的预取算法综合考虑了网络传输的限制和数据分布的特点,有效地提升了系统性能。测试结果表明,数据能在各个存储服务器上按服务器权重合理分布,读带宽在顺序访问和大块的随机访问情况下可以提高30%以上,最高近90%。