关键词:
高性能集群
任务调度
小文件存储管理
集群调度系统
摘要:
高性能集群将一组相互独立的计算机,即集群节点,通过高速网络进行连接,并作为一个整体进行管理和对外提供服务。与传统的高性能计算机相比,集群系统能够使用普通计算机作为节点,因此造价低廉。随着并行技术的不断发展,集群系统能够通过充分利用集群中每一台计算机的资源,高效地完成大规模的计算任务,如今已广泛应用于医学、天文、材料、仿真、人工智能、金融等科学领域。
高性能集群通常将提交任务分解为一系列的子任务,然后分配到集群不同节点上协同运行。然而,随着计算任务的规模不断增长,高性能集群有许多尚需解决的问题,其中任务调度和小文件管理是影响高性能集群性能和效率的关键影响因素。一是在优化任务处理时间的同时,未充分考虑调度任务对应的子任务间的依赖性,也未结合考虑集群负载因素的影响,造成任务运行效率的降低及集群资源的浪费。二是高性能集群计算过程中会产生海量的数据小文件,在以HDFS(Hadoop Distribute File System)为代表的分布式文件系统中,没有考虑对实时高性能的数据文件存储,无法满足日益增长的海量小文件存储需求。针对上述问题,本文研究任务调度和小文件存储管理策略,从而实现高性能集群资源的高效利用。
(一)针对缺少有效的高性能集群任务调度策略的问题,将任务分解为具有数据依赖关系的子任务,以对任务执行时间和集群负载为主要目标,提出基于DDQN(Double Deep Q-Network)的任务调度策略(DDQN Based Task Scheduling Strategy,DDQN-TSS)。首先使用图嵌入方法对任务中的子任务进行编码,充分提取子任务的特征及依赖信息。其次将任务的调度建模为马尔可夫决策过程,设计状态空间、动作空间和奖励函数,从而得到任务调度整体框架和调度流程。最后使用DDQN-TSS进行实验并分析实验结果,验证算法的效果。通过实验对比,DDQN-TSS策略在任务运行中数据平均处理时间最短,提升了任务运行效率,同时能够降低集群网络通信量,并能够维持集群节点间的负载均衡。
(二)针对集群中任务运行产生的海量小文件存在读取性能不足的问题,研究小文件存储管理策略,在保证数据完整性和可访问性的前提下,提出一种基于划分和层次的组合聚类算法(Partition and Hierarchy Hybrid Algorithm,PHHA)。首先研究了对划分聚类算法的改进,并使用改进后的算法进行相似小文件的聚类合并。其次设计了小文件数据块索引结构和小文件索引的读取缓冲,降低系统中元数据对内存的消耗,提升读取小文件的效率。最后通过实验对比,小文件存储管理策略文件平均读取时间相较与HDFS原生系统下降了约33%,集群主管理节点的内存占用约为原生系统的47%,提升了任务运行时文件存储读取性能。
(三)本文以采用高性能集群的数字化样机平台为背景,结合本文提出的任务调度策略和小文件存储管理策略,设计并实现一个集群管理系统,在实际生产环境下与数字化样机平台一起部署,进行功能测试,验证了集群任务调度和小文件存储管理策略的可用性。