本发明属于计算机学科中的资源调度和中间件,涉及一种对异构平台下的gpu资源的调度方法及系统,使用不同计算平台的中间件来收集监控数据,特别涉及云计算平台的openstack集群、高性能计算平台的slurm集群和人工智能平台的kubernetes集群收集数据。
背景技术:
1、随着信息技术的发展,数据中心对于算力的需求越来越高,需要更多更好的利用算力处理爆发式增长的数据。算力已成为核心生产力。作为算力生产中心和供应中心的数据中心,对外提供着基于算力的各种服务。gpu凭借强大的计算能力、高内存带宽和海量数据集并行计算处理等优势成为重要的计算资源。
2、当前,针对数据中心的集群调度成为研究的重点,在不同的领域均出现了不同的调度系统,比如人工智能领域、大数据分析领域及云计算领域。单个计算平台来说,其调度系统能有效的调度任务和分配资源,提高资源利用率。
3、基于人工智能平台的gpu调度框架主要是kubernetes框架,kubernetes是一种基于容器技术的调度框架,可以将一个物理资源虚拟化成多个逻辑资源,这些逻辑资源可以被不同的应用程序使用。基于高性能计算平台的gpu资源调度框架主要是slurm,slurm是一种广泛应用于高性能计算集群的集群管理器和作业调度系统。它以其开源、高容错性和高度可伸缩性等众多优点而备受青睐。
4、常见的数据异常检测算法主要基于机器学习与深度学习,其中,基于机器学习的数据异常检测模型包括sr、svr和prophet,基于深度学习的数据异常检测模型主要包括vae和lstm,不同的检测算法适用于不同的数据场景,需要根据具体的数据特征选择不同的数据异常检测模型。
5、arima模型是一种时间序列模型,基本思想是利用数据本身的历史信息预测未来信息,可以通过该模型预测待调度任务的资源使用情况。
6、现有的异构计算平台的资源调度存在各个平台采集的数据特征值差异大,数据异常程度高以及异构计算平台的资源调度准确性地、及时性差以致导致资源浪费等问题。
技术实现思路
1、本发明提出一种针对异构计算平台的gpu资源调度的方法及系统,用以部分解决现有技术中存在的异构计算平台gpu资源利用率不高的问题。
2、本发明的方法所采用的技术方案是:一种基于异构计算平台的gpu资源调度方法,包括以下步骤:
3、步骤1:将gpu作为通用资源并把分散在异构计算平台的gpu资源集中,形成gpu资源池,供调度器调度;
4、步骤2:采集异构平台的监控数据,为数据异常检测和预测调度提供数据支持;
5、步骤3:对数据进行检测,处理检测到的异常数据;
6、步骤4:进行资源的使用趋势预测,预测平台的资源使用趋势,提前为平台分配资源,进一步充分利用gpu资源;
7、步骤5:根据步骤4的预测结果,对资源进行不同计算平台间的调度。
8、作为优选,步骤1中,利用gpu虚拟化技术实现将大卡转小卡,利用远程gpu功能打破物理服务器的边界,将gpu的管理和使用从单台服务器扩展至整个数据中心,实现不同异构平台的gpu资源的池化,形成可供调度器调度的gpu资源池。
9、作为优选,步骤2中,云计算平台的数据采集使用openstack社区的ceilometer框架,ceilometer框架使用代理完成集群资源信息的数据采集。
10、作为优选,步骤2中,人工智能平台的历史数据采集,使用基于resource metricsapi和custom metrics api收集集群的资源使用数据。
11、作为优选,步骤2中,高性能计算平台的历史资源使用信息数据采集,通过部署slurm集群的promethes收集,promethes是一个用于监控和报警的开源框架,可以使用promethes的导出器导出高性能计算平台的各种资源信息。
12、作为优选,步骤3中,基于异构计算平台数据的异常检测模型,对数据进行异常检测以及对检测到的数据异常进行处理;
13、所述基于异构计算平台数据的异常检测模型,通过提取各应用平台数据的稳定性及周期性特征值,然后模型路由根据特征值选择匹配的异常检测算法。
14、作为优选,步骤3中,基于时间序列进行数据异常检测,其中出现频率最高和使用范围最广的异常类别为点异常;
15、根据点异常判断数据异常的公式如下:
16、
17、其中,xt指在t时刻的数据特征值,指数据在t时刻的期望值,τ表示一个大于0的阈值,若在t时刻,数据的特征值与期望值相减的绝对值大于给定的阈值,则说明t时刻采集的数据是异常的,需要对该时刻的数据进行去异常处理。
18、作为优选,步骤4中,进行资源的使用趋势预测;
19、所述arima模型,首先输入采集到的时间序列,对时间序列进行平稳性的校验,运用差分模型进行差分运算,以便消除数据的波动性,使数据的平稳性达到要求,在这个过程中,确定差分的阶数;数据平稳性达到要求后,对数据的白噪声进行检验,此过程中,使用ar模型与ma模型进行去白噪声操作,使数据的白噪声满足一定的阈值,对arima模型进行拟合,使用自回归模型确定数据自回归部分的阶数p及使用移动平均模型确定代表数据移动平均部分的阶数q,当数据的平稳性及白噪声满足要求后,arima模型的建模结束。
20、本发明的系统所采用的技术方案是:一种基于异构计算平台的gpu资源调度系统,包括以下模块:
21、gpu资源池构建模块,用于将gpu作为通用资源并把分散在异构计算平台的gpu资源集中,形成gpu资源池,供调度器调度;
22、异构平台监控数据采集模块,用于采集异构平台的监控数据,为数据异常检测和预测调度提供数据支持;
23、异常数据检测处理模块,用于对数据进行检测,处理检测到的异常数据;
24、趋势预测模块,用于进行资源的使用趋势预测,预测平台的资源使用趋势,提前为平台分配资源,进一步充分利用gpu资源;
25、资源调度模块,用于预测结果,对资源进行不同计算平台间的调度。
26、相对于现有技术,本发明的有益效果包括:
27、(1)本发明通过将gpu节点与平台解耦并池化,实现资源在异构计算平台间的调度,提升数据中心的整体资源利用率。
28、(2)本发明提出了一种基于异构计算平台的数据异常检测模型,为解决不同平台数据异常程度高和特征值差异大的问题,通过提取数据特征值,选择匹配的异常算法,提高数据质量。
29、(3)本发明提出了资源预测的方法,针对异构计算平台资源调度开销大、效率低的问题,在调度之前提出使用arima模型进行资源预测,提高资源的利用率。
1.一种基于异构计算平台的gpu资源调度方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤1中,利用gpu虚拟化技术实现将大卡转小卡,利用远程gpu功能打破物理服务器的边界,将gpu的管理和使用从单台服务器扩展至整个数据中心,实现不同异构平台的gpu资源的池化,形成可供调度器调度的gpu资源池。
3.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤2中,云计算平台的数据采集使用openstack社区的ceilometer框架,ceilometer框架使用代理完成集群资源信息的数据采集。
4.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤2中,人工智能平台的历史数据采集,使用基于resource metrics api和custom metricsapi收集集群的资源使用数据。
5.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤2中,高性能计算平台的历史资源使用信息数据采集,通过部署slurm集群的promethes收集。
6.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤3中,基于异构计算平台数据的异常检测模型,对数据进行异常检测以及对检测到的数据异常进行处理;
7.根据权利要求1所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤3中,基于时间序列进行数据异常检测,其中出现频率最高和使用范围最广的异常类别为点异常;
8.根据权利要求1-7任意一项所述的基于异构计算平台的gpu资源调度方法,其特征在于:步骤4中,使用arima模型进行资源的使用趋势预测;
9.一种基于异构计算平台的gpu资源调度系统,其特征在于,包括以下模块: