论文部分内容阅读
近年来,以大数据、云计算、物联网、移动互联网等为代表的互联网新兴技术已经成为国际社会普遍关注的热点,在金融、军事、科研、通信、医疗等领域都引起了人们的高度重视。目前,主流大数据、云计算等运行环境通常部署在互联网数据中心IDC(Internet data center)上统一向用户提供服务,依托IDC提供计算服务已经成为重要的技术手段。然而,当前数据中心存在着成本高昂、资源规模有限、功耗巨大等问题,在满足未来社会对计算需求的普遍增长上存在挑战。与此同时,人们周围广泛分布着丰富空闲的异构动态资源,因此,可以考虑利用这些资源构建高效、可靠、低成本的分布式计算环境,这对于构建未来社会的泛在计算网络环境具有重要意义。随着信息社会的快速发展,人们要在异构动态网络上提供分布式计算环境至少面临着网络资源三个方面的基本挑战:网络资源的异构性、网络资源的动态性、网络通信延迟及有限带宽等。然而,目前云计算、网格计算、P2P计算等有影响力的主流分布式计算模型针对上述挑战都存在一定的不足。鉴于近年来流计算体系结构的广泛兴起,本文深入分析了流计算模型的特性,认为其具有计算资源普适性、延迟计算绑定特性、高度数据并行性与多层次并行性等,具有应对异构动态网络挑战的潜力,并首次基于传统的流计算模型提出了一种新型的分布式流体系结构。针对异构动态网络环境下的分布式计算问题,本文分别从计算模型、编程模型、资源管理与性能优化技术、容错技术等四个方面展开研究,其主要工作与创新点体现在:1.提出了分布式流体系结构(第二章)本文深入分析后认为传统的流计算模型具有计算资源普适性、延迟计算绑定特性、高度数据并行性、多层次并行性等特点,对于解决异构动态网络下的分布式计算模型问题具有较大潜力。因此,本文首次面向异构动态网络环境提出了一种新型的分布式流体系结构,将流计算模型推广到分布式计算环境中,构建了分布式流体系结构的基本概念,并设计了其软件栈以支持分布式流处理过程。同时,本文基于Kahn过程网络建立了分布式流计算模型,采用CCS进程代数进行了语义分析。研究人员可以基于分布式流体系结构面向异构动态网络构建高效、可靠、低成本的分布式计算环境。2.提出了分布式流体系结构编程模型(第三章)本文针对传统流编程语言的不足,在分布式流体系结构基础上提出了新型的分布式流编程模型Brook#,以解决在异构动态网络上应用程序的编程模型问题。接着,本文深入剖析了Brook#编译器及其运行时的相关技术,如维护数据一致性的中间列表法、Brook#编译指导语句等,并深入分析了四种Kernel执行模式及其实现机制。基于新型的Brook#编程模型,研究人员可以把注意力集中在应用程序的性能开发上,尤其是多层次并行性,而无需关心资源异构性、动态任务绑定与动态负载均衡等底层细节。实验结果表明,分布式流编程模型Brook#能有效提高应用程序的执行性能,充分开发分布式环境下应用程序的潜在并行性。3.提出了分布式流体系结构资源管理、性能模型与优化技术(第四章)本文针对异构动态网络上大规模资源管理与调度问题,设计了以主从架构与两级资源调度模型为核心的分布式流体系结构资源管理系统。同时,本文进一步分析了四种Kernel执行模式下应用程序的性能模型,以其为基础构建了分布式流体系结构的性能模型,并分析指出其性能瓶颈与性能优化原则,最后提出了两种性能优化技术,即数据流Eager传输技术与计算核心前瞻执行技术。实验结果验证了分布式流体系结构资源管理技术的有效性,同时表明提出的两种优化技术可以有效加速应用执行,降低程序执行开销。4.提出了分布式流体系结构容错技术(第五章)本文分析认为随着商用器件的广泛使用、计算系统规模的持续扩大与异构系统的迅速兴起,分布式流体系结构面临着可靠性的严峻挑战。本文首先分析了分布式流体系结构的结点故障模型与常见错误类型。接着,本文针对运行流级程序结点故障所引起的不易察觉的软错误,结合分布式流体系结构应用程序的特点,引入了容错程序段以有效控制错误传播范围与灵活设置容错粒度,并提出了一种高效低成本的多副本容错方法TREFT,其基于网络闲置资源利用三个程序副本同时进行检错与纠错。实验结果表明,这种灵活的容错技术可以在异构动态网络中有效降低容错成本,提高容错效率。