论文部分内容阅读
互联网资源的成长性、自治性和多样性,使得面向互联网的资源共享技术面临很大困难。虚拟计算环境是一种新型网络计算技术,它以互联网资源的自主化为基础,以按需聚合和自主协同为核心机制,在开放的网络基础设施之上,实现多种资源的共享与协同工作。内存资源的共享是虚拟计算环境中一个重要而特殊的问题。一方面,虽然传统的网络内存技术能够有效共享集群中的内存资源,提高内存密集型或I/O密集型应用的性能,却不能适应松耦合的网络计算环境的特点;另一方面,虽然对数据、存储等资源的共享已有很成熟的研究,但内存资源又具有完全不同的特殊性质。本文主要借助虚拟计算环境的思想,试图把传统的网络内存技术扩展到基于公共网络的松耦合计算环境中,并分别针对内存资源的自主化方法、按需聚合与自主协同机制展开深入研究。传统的网络内存技术通常面向紧耦合的集群环境,受可用内存容量限制较大,本文将内存资源共享的思想引入到松耦合的网络计算环境中,提出了基于虚拟计算环境的内存资源共享系统iVCE/M,适用于具有大量小粒度、随机性的磁盘访问的应用。本文首先提出了iVCE/M的单一服务原则、单一身份原则和指数探测原则,然后利用虚拟计算环境中资源自主化的思想,把iVCE/M中的所有节点分为五种,并定义其相互转换关系,及其交互的内存服务和代理服务机制。为适应资源的成长性、自治性和多样性,为各种节点分别设计了基本行为策略,并与虚拟计算环境的相应概念进行了对比。通过基于真实的气象应用程序运行状态的模拟,说明了iVCE/M在校园网等条件较好的网络环境下,能够有效提高内存密集型应用或I/O密集型应用的性能。由于内存资源的特殊性,使传统的集中式、非结构化分布式和结构化分布式资源信息管理方法都很难适用。为体现虚拟计算环境所强调的无集中管理、无全局视图、根据实际需求动态获取资源信息的思想,本文结合内存资源共享的特殊性,提出了基于网络延迟的资源聚类机制,把iVCE/M中的节点划分为若干个组,确保在大概率情况下,只有同一组内的节点才需要进行内存资源的共享。从而有效降低了资源信息管理的问题规模。通过建立内存资源聚类的基本模型,给出了满足分布式要求的贪婪算法,并分析其不足之处;然后借鉴物理学中的力场和势能理论,建立了内存资源聚类的力场-势能模型,以考虑网络与磁盘延迟的多样性、动态性等多种因素;在相应的算法方面,通过定义节点的冲突集和对网络延迟的概率估计,提出了力场-势能聚类算法,并通过基于真实网络拓扑的模拟,对两种模型和算法的假阳性和假阴性错误、组内内存资源容量等重要指标进行了评估。iVCE/M的性能主要取决于内存页帧存取过程中的网络通信开销,隐藏网络通信开销也是本文重点考虑的问题之一。预取技术在计算机系统中应用广泛,但由于资源的限制等,难以对数据访问模式进行有效预测,对空间局部性较弱的应用预取效果有限。考虑到虚拟计算环境中资源自主化的思想,本文提出了一种基于“推”模式的iVCE/M预取技术。内存节点不仅需要响应用户节点存取页帧的操作,还能自动分析用户节点在存取页帧过程中的模式,预测其后续操作,并主动把可能需要的页帧推向用户节点。借助数据挖掘领域中的序列模式挖掘技术,提出了相应的I/O模式预测算法,与一般的访问模式预测算法相比,其分析粒度更细,效果更好。本文还分析和证明了上述算法的时空开销及正确性,通过基于实际运行状态的模拟,对预取机制中的几个重要参数的影响进行了考察。iVCE/M的性能还可以从时间和空间两方面进行优化,在时间上,可以通过多个内存节点的并行传输,提高内存节点和用户节点之间的网络通信效率;在空间上,多个内存节点有时会保存大量完全相同的数据,可以将其进行合并,令iVCE/M保存更大的应用工作集。本文在时间方面,分析了传统的数据条块化技术、I/O并行化技术,通过对网络传输进行建模,提出了内存页帧传输中时间相关的概念,并阐述了通过页帧交换形成自适应的并行传输的方法;在空间方面,提出了合并冗余页帧以保存更大的应用工作集的方法,由于各个内存节点是完全分布的,本文采用基于Bloom Filter技术的冗余检测机制与合并机制,其时间和空间开销都比较低,且能够适应分布式计算的要求,具有很强的实用性。最后,采集了三种I/O密集型应用在不同配置下的实际运行状态,并据此进行了模拟评估。