论文部分内容阅读
随着高性能计算技术的快速发展,I/O密集型应用对高性能计算机的存储子系统的容量、性能、可扩展性和可靠性等方面提出了越来越高的要求,在大数据时代下,海量数据的快速分析处理也需要优秀的存储系统作为支撑。存储子系统作为高性能计算机系统的关键组成部分,其I/O性能和系统计算性能的不匹配已经成为阻碍系统整体性能提升的重要瓶颈。磁盘作为目前主流的存储设备,其性能提升速度远远落后于CPU等计算设备的性能提升速度,面对这一事实,现有存储架构的性能可提升空间有限。多层存储架构的灵感来自于单机环境下的存储层次结构,为高性能计算机的计算节点增加存储设备组成本地存储,将原有的存储子系统作为全局存储,两者组成多层结构,充分发挥各种类型存储资源的优势,是未来高性能计算机存储系统的发展方向。本文面向多层存储架构,对其I/O优化技术进行了研究,主要工作如下:1、对多层存储架构的运行模式进行了研究。多层存储架构相比传统的单层存储架构有着更大的性能提升空间,本文分析了目前多层存储架构中使用的I/O调度和容错方法,指出了其中存在的问题和对其进行优化的方向。2、设计实现了一种基于节点I/O繁忙度的I/O调度方法。在多层存储架构中,如何有效地利用本地存储资源并减少I/O冲突是提高系统I/O性能的关键,然而,在高性能计算机系统中,由于多个计算节点作为客户端共同使用系统中的存储资源,当系统中有多个作业同时运行时,不同作业在使用本地存储资源过程中必然存在I/O冲突,这可能使得某个作业的I/O请求需要等待较长时间才能被响应,这种情况下I/O调度方法对系统的整体性能有重要影响,本文提出的基于节点I/O繁忙度的I/O调度方法针对系统中存储设备的当前I/O繁忙程度进行调度,从而有效提高系统的整体I/O性能。3、设计实现了一种基于分层协同的I/O容错方法。现有存储系统的容错方法如RAID、纠删码等主要面向单层存储架构,没有充分发掘多层存储架构的协同容错能力。为此,本文设计了分层协同的I/O容错方法,通过构造I/O代理层来实现对作业I/O过程的实时监控,在异常发生时利用多层存储资源协同容错,有效改善了多层存储架构的可靠性和可用性。本文以写时“磁盘满”容错和多副本情况下读容错为例详述了分层协同容错方法的具体实现过程。4、基于Gluster FS构造模拟测试环境,对本文提出的I/O调度和容错方法的有效性进行模拟测试。测试结果表明基于节点I/O繁忙度的I/O调度方法相比现有的I/O调度方法有效地提升了系统的I/O性能,同时验证了基于分层协同的I/O容错方法的有效性。