论文部分内容阅读
超级计算机系统主要用于特大型科学计算,然而,随着大数据和云计算技术研究的不断深入,超级计算机系统无疑也能为大规模数据处理与云服务提供珍稀的计算基础设施服务。本文以广州超算中心云平台的研发为背景,利用超级计算机高速互连、紧密耦合的集群式并行体系结构等特性,针对现有云计算中基础设施服务(Iaa S)通常考量的资源因素少、调度资源粒度粗、网络性能不稳定等缺点和不足,主要研究与实现集群资源的统一管理与综合调度技术,实现比一般分布式松耦合的云计算平台更加精细、更为高效的计算基础设施服务。本文的主要贡献有:1.建立了一种基于资源图和层次化资源向量的资源描述模型,丰富了Iaa S云平台的服务模式,为集群资源的优化调度提供了结构基础。资源图由资源节点和节点链路组成。其中,资源节点由层次化的资源向量描述,组成资源向量的元素分别对应于该节点的计算能力、存储容量和网卡带宽等能力。每个元素又可以用向量来定义,例如节点计算能力可以进一步表述为由CPU、GPU、MIC等元素组成的向量,而GPU还可以细化到核的个数、主频、共享内存大小等元素组成的向量,如此逐层细化。节点链路同样可以表述为包含通信关系、链路能力、交换设备等元素的层次化向量。以上资源表示方法可以适应不同粒度的资源请求,也为节点和链路的综合调度提供了结构支持。2.提出了一种基于向量分解排序的单节点资源向量调度算法RVS,提高了多维资源协同调度的响应速度。当用户的需求表示是单节点的资源向量时,为了快速找到满足向量各维要求的物理节点,首先将资源向量降维分解为多个单维向量,然后利用快速排序算法将所有物理节点按每一维资源的可用能力大小进行排序,进而通过交集计算获得同时满足各个维度资源约束条件的物理节点集。分析表明,RVS算法可以将N个节点的R维资源的综合调度复杂度从O(R*N)下降到O(Rlog N)。3.提出了一种基于粒子群算法的多节点需求资源图调度算法VCE-PSO,优化了多个节点协同调度的响应速度和资源效益。当用户的资源需求是包含多个节点及节点间通信能力要求的资源图时,运用RVS算法为每个节点需求生成可用物理节点集,在此基础上,寻找满足节点间总路径最短的资源图。首先将需求资源图映射到物理资源图的某个子图定义为粒子,进而以所有节点之间的总路径长度与链路带宽消耗作为粒子的状态。利用节点间路径长度为适应度函数的单调下降来指导粒子的变化,从粒子的所有可行解状态中选择消耗链路资源最少的多节点集群。测试表明,VCE-PSO利用多个粒子的并行能够在较短时间内实现需求链路的优化部署。4.设计并实现了一种基于向量相似度的网络链路资源调度技术,提高了网络设备的多种资源的平衡利用和网络报文吞吐量。首先,监测交换机上多种资源的消耗情况,获取不同网络流所需要的资源向量。接着,计算各网络流的资源需求向量和交换机可用资源向量的余弦相似度,并调度相似度高的网络流报文优先进行处理。进而,在资源消耗超过阈值接近拥塞的时候,基于上述相似度对各网络流报文进行标记,并通过接收端反馈的Ack报文通知发送端,由发送端根据标记的报文比例调整发送速率。测试表明,该技术能够使得Openvswitch的吞吐量得到约15%的提升。5.设计并实现了一种基于资源向量和数据倾斜性约束的物理资源和数据资源综合调度技术,优化了大规模数据处理应用的资源调度与运行性能。大规模数据的处理性能不仅受限于节点的计算资源,还受节点I/O带宽、节点间的链路带宽时延以及数据块计算量倾斜度的影响。针对这个问题,首先根据节点上数据块多少和大小估算其计算、I/O和网络需求。接着,综合考量所需的节点资源和链路资源,通过从多个数据块副本中选择合适的副本和对各节点以其计算量为权重针对性分配节点资源和链路资源等方法来以平衡其倾斜性,使得作业的并行任务能够同步完成。基于该技术对Hadoop做的优化工作测试结果表明,在100G规模的数据处理中,该技术能够减少约12%作业整体完成时间。以上技术已基于Openstack Nova调度器和Openvswitch虚拟交换机等软件进行了相关实现,并在广州超算中心天河云平台上得到了初步部署应用。实际结果表明,以上关键技术显著提高了云平台中各类资源的利用效率,有效减少了租户资源请求的响应时间,优化了在云平台上进行大数据处理的性能。