System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种多租户GPU集群弹性配额调度方法和系统技术方案_技高网

一种多租户GPU集群弹性配额调度方法和系统技术方案

技术编号:40668476 阅读:2 留言:0更新日期:2024-03-18 19:03
本发明专利技术实现了一种多租户GPU集群弹性配额调度方法和系统。首先进行数据收集和预处理步骤,从任务历史数据库中抽取对任务执行时间有影响的关键指标,将数据输入预测模型模块;所述预测模型模块对每个用户分别构建和训练一个任务持续时间预测模型,而后输入训练好的所述任务持续时间预测模型得到时间预测结果;最后使用建立好的模型对新提交的任务的执行时间进行预测,并通过平均绝对误差MAE、均方误差MSE和决定系数R2指标来评估模型的准确性。该方案解决了目前多租户深度学习训练的GPU集群存在资源利用率低、多租户场景下资源使用的公平性和效率问题。

【技术实现步骤摘要】

本专利技术涉及云计算处理,尤其涉及一种多租户gpu集群弹性配额调度方法和系统。


技术介绍

1、在多租户gpu集群资源管理和调度领域,已存在一些相关技术和方法。包括:

2、任务打包与共享gpu的调度:为了提高gpu资源的利用率,许多研究工作通过任务打包后调度到统一个gpu上共享资源。gandiva利用在线分析来反思性地确定是否在加速器上共享资源。antman通过动态缩放技术实现更细粒度的gpu共享。salus实现了两个原语快速任务切换和内存共享,以实现更高效的gpu共享。horus将用户模型转换为onnx图表示并提取工作负载特征以确定任务打包。lucid支持以非侵入式调度范例进行任务打包。muri利用多资源交错来提高资源利用率并减少。但这些技术并不能准确预估任务之间的干扰,从而指导调度决策。

3、基于队列或者固定配额调度系统:目前存在着一些固定配额调度系统,这些系统为gpu集群中的每个租户分配固定的资源配额,例如slurm集群管理系统。这些系统通常基于静态的资源分配策略,无法根据实时需求和资源利用情况进行动态调整。因此,这种固定配额调度系统可能导致资源浪费或资源不足的问题。

4、集群管理工具:kubernetes是一种流行的开源编排解决方案,适用于基于容器的工作负载。借助kubernetes,可以通过类似于传统hpc集群方法的方式有效管理这些工作负载,但kubernetes本身并不能提供slurm的所有调度功能——例如批处理调度和群调度,所以需要一些拓展性的方案来实现这些功能。

5、gpu集群监控技术:现有技术中存在一些gpu集群监控的技术方法,如prometheus和dcgm exporter,用于收集gpu的资源利用情况和性能数据。这些工具可以监测gpu设备的温度、功耗、内存使用情况等硬件指标,以及作业的执行状态和性能指标。然而,目前的资源管理器和监控器通常在gpu硬件设备层进行指标的收集,缺乏对进程级别gpu利用率信息的收集和分析。

6、上述技术管理的集群可能存在如下问题:

7、资源利用率低下:用户往往无法准确预估自己任务的资源需求,导致申请的资源与实际使用不符,进而造成gpu资源的低利用率。这不仅意味着昂贵的硬件资源没有得到充分利用,也意味着其他可能需要这些资源的用户无法及时获取。

8、配额管理机制不足:传统的配额管理机制通常较为固定且缺乏弹性,未能根据集群实时状态调整资源分配。这种机制在资源空闲时不能有效利用,而在资源紧张时则可能导致长时间的任务排队等待,影响集群的吞吐量和用户体验。

9、用户特征挖掘不足:现有调度工作往往没有充分挖掘用户的使用模式和行为特征,这些信息如果被有效利用,可以预测用户的资源需求,动态调整资源分配策略,从而优化整个集群的运行效率。

10、针对上述不足,本申请希望解决多租户环境下的gpu集群调度系统需要更加智能化的配额管理和资源调度机制问题,以实现资源的高效利用,确保公平性和服务水平质量,并挖掘用户行为数据以进一步优化调度策略。


技术实现思路

1、为此,本专利技术首先提出一种多租户gpu集群弹性配额调度方法,首先进行数据收集和预处理步骤,从任务历史数据库中抽取对任务执行时间有影响的关键指标,通过数据预处理流程进行清洗和标准化后,进行文本特征提取,使用文本特征的tf-idf转换和nmf降维方法,提取出能够代表用户任务特征的关键信息并将文本转化为模型可处理的数值向量,对于其余的数值特征,则进行标准化处理后,将数据输入预测模型模块;所述预测模型模块采用用户队列和集群队列共同作用的方法,优化任务调度过程对每个用户分别构建和训练一个任务持续时间预测模型,当用户历史信息不足以训练一个独立模型时,退回到使用基于集群全体任务训练的通用模型来进行预测,对于特征提取数据收集和预处理后的数据,首先通过文本向量化、数据归一化和特征聚合的方式进行特征处理,而后输入训练好的所述任务持续时间预测模型得到时间预测结果;最后使用建立好的模型对新提交的任务的执行时间进行预测,并通过平均绝对误差mae、均方误差mse和决定系数r2指标来评估模型的准确性。

2、所述任务持续时间预测模型需要进行周期性更新,具体而言:随着历史任务的逐渐增加,用户的使用习惯随之变化,或集群的硬件升级、系统软件更新或者工作负载的变化时,将模型进行定期的更新,确保数据的准确性和实时性。

3、本专利技术还提出一种多租户gpu集群弹性配额调度系统,包括任务管理模块、调度模块、性能分析模块、监控模块和历史负载数据库,每个模块之间通过grpc进行接口调用和信息传输;

4、所述任务管理模块负责管理用户提交的任务,维护各用户的任务队列,支持根据任务的优先级进行排队,并管理弹性配额以保证公平性,与集群队列管理器协作,确保任务能够高效、有序地提交至调度模块;

5、所述调度模块集成性能干扰混部模型与任务时间预测模型,根据任务的资源需求、优先级和预测的运行时间来确定任务的调度顺序和节点放置,在高优先级任务到达时触发低优先级任务的抢占逻辑,以保障关键任务的服务水平;

6、所述监控模块通过进程级别的监控获取任务的实时运行信息;

7、所述性能分析模块利用监控数据,分析各项任务的性能指标,并将性能指标记录在任务的资源对象字段中,为性能干扰模型提供输入;

8、所述历史负载数据库存储历史监控数据的数据库,为性能分析模块和任务时间预测模块提供历史数据支持。

9、所述任务管理模块的具体实现方式为:用户提交任务至服务端,服务端收集任务的元数据写入到数据库中,任务的格式在上一小节已进行定义,接着提交的任务首先经过任务持续时间预测模块,任务的元数据被用作输入来预测任务的持续时间,如果用户没有历史数据,将等待任务的性能分析数据,当性能分析完成,任务的利用率信息被输入到预测模型中以估算任务的持续时间;

10、然后任务被提交到用户队列中进行排队,经过任务队列和配额模块的检查后通过集群交互模块创建具体的aijob资源提交到kubernetes集群;

11、任务完成后,集群交互模块将监测到任务的结束并请求性能数据,接着将将任务运行时的性能数据写入历史负载数据库,用于未来的预测和分析。

12、所述任务队列和配额模块的工作流程为:首先初始化队列,为每个用户创建一个独立的队列,用来存放用户提交的任务请求,这些队列按照用户的配额和任务的优先级来组织;之后设置配额:使每个用户都有一个固定的资源配额;之后进行性能分析:任务在队列中排队等待的时候,将其提交到性能分析模块进行利用率数据的收集,然后将利用率信息写回到任务中;之后实施轮询策略:控制器轮询用户队列,取出所有不超过用户资源配额的高优先级任务进行排队,按照配额的使用度和提交时间进行排序,提交到集群队列中。如果高优任务为空且集群队列为空,可以按照配额使用度取出低优的任务,提交到集群的队列中;最后提交任务:请求控制器模块,查看集群队本文档来自技高网...

【技术保护点】

1.一种多租户GPU集群弹性配额调度方法,其特征在于:首先进行数据收集和预处理步骤,从任务历史数据库中抽取对任务执行时间有影响的关键指标,通过数据预处理流程进行清洗和标准化后,进行文本特征提取,使用文本特征的TF-IDF转换和NMF降维方法,提取出能够代表用户任务特征的关键信息并将文本转化为模型可处理的数值向量,对于其余的数值特征,则进行标准化处理后,将数据输入预测模型模块;所述预测模型模块采用用户队列和集群队列共同作用的方法,优化任务调度过程对每个用户分别构建和训练一个任务持续时间预测模型,当用户历史信息不足以训练一个独立模型时,退回到使用基于集群全体任务训练的通用模型来进行预测,对于特征提取数据收集和预处理后的数据,首先通过文本向量化、数据归一化和特征聚合的方式进行特征处理,而后输入训练好的所述任务持续时间预测模型得到时间预测结果;最后使用建立好的模型对新提交的任务的执行时间进行预测,并通过平均绝对误差MAE、均方误差MSE和决定系数R2指标来评估模型的准确性。

2.如权利要求1所述的一种多租户GPU集群弹性配额调度方法,其特征在于:所述任务持续时间预测模型需要进行周期性更新,具体而言:随着历史任务的逐渐增加,用户的使用习惯随之变化,或集群的硬件升级、系统软件更新或者工作负载的变化时,将模型进行定期的更新,确保数据的准确性和实时性。

3.如权利要求1所述的一种多租户GPU集群弹性配额调度方法,其特征在于:所述预测模型模块采用用户队列和集群队列共同作用的方法为多租户间GPU资源配额的弹性管理机制:

4.一种多租户GPU集群弹性配额调度系统,其特征在于,包括任务管理模块、调度模块、性能分析模块、监控模块和历史负载数据库,每个模块之间通过gRPC进行接口调用和信息传输;

5.如权利要求4所述的一种多租户GPU集群弹性配额调度系统,其特征在于,所述任务管理模块的具体实现方式为:用户提交任务至服务端,服务端收集任务的元数据写入到数据库中,任务的格式在上一小节已进行定义,接着提交的任务首先经过任务持续时间预测模块,任务的元数据被用作输入来预测任务的持续时间,如果用户没有历史数据,将等待任务的性能分析数据,当性能分析完成,任务的利用率信息被输入到预测模型中以估算任务的持续时间;

6.如权利要求5所述的一种多租户GPU集群弹性配额调度系统,其特征在于,所述任务队列和配额模块的工作流程为:首先初始化队列,为每个用户创建一个独立的队列,用来存放用户提交的任务请求,这些队列按照用户的配额和任务的优先级来组织;之后设置配额:使每个用户都有一个固定的资源配额;之后进行性能分析:任务在队列中排队等待的时候,将其提交到性能分析模块进行利用率数据的收集,然后将利用率信息写回到任务中;之后实施轮询策略:控制器轮询用户队列,取出所有不超过用户资源配额的高优先级任务进行排队,按照配额的使用度和提交时间进行排序,提交到集群队列中。如果高优任务为空且集群队列为空,可以按照配额使用度取出低优的任务,提交到集群的队列中;最后提交任务:请求控制器模块,查看集群队列的紧张程度,逐个创建AIJob,并将提交到集群中,如果提交成功,更新用户的配额,将任务在排队队列中删除。

7.如权利要求6所述的一种多租户GPU集群弹性配额调度系统,其特征在于,所述调度模块构建在Kubernetes调度器框架基础上,采用插件化的设计。

8.如权利要求7所述的一种多租户GPU集群弹性配额调度系统,其特征在于,所述监控模块在节点上部署多个Exporter进行监控指标的暴露,经过Prometheus进行指标聚合及持久化,Grafana实现监控指标可视化。

9.如权利要求8所述的一种多租户GPU集群弹性配额调度系统,其特征在于,所述性能分析模块的具体实现方式为:

...

【技术特征摘要】

1.一种多租户gpu集群弹性配额调度方法,其特征在于:首先进行数据收集和预处理步骤,从任务历史数据库中抽取对任务执行时间有影响的关键指标,通过数据预处理流程进行清洗和标准化后,进行文本特征提取,使用文本特征的tf-idf转换和nmf降维方法,提取出能够代表用户任务特征的关键信息并将文本转化为模型可处理的数值向量,对于其余的数值特征,则进行标准化处理后,将数据输入预测模型模块;所述预测模型模块采用用户队列和集群队列共同作用的方法,优化任务调度过程对每个用户分别构建和训练一个任务持续时间预测模型,当用户历史信息不足以训练一个独立模型时,退回到使用基于集群全体任务训练的通用模型来进行预测,对于特征提取数据收集和预处理后的数据,首先通过文本向量化、数据归一化和特征聚合的方式进行特征处理,而后输入训练好的所述任务持续时间预测模型得到时间预测结果;最后使用建立好的模型对新提交的任务的执行时间进行预测,并通过平均绝对误差mae、均方误差mse和决定系数r2指标来评估模型的准确性。

2.如权利要求1所述的一种多租户gpu集群弹性配额调度方法,其特征在于:所述任务持续时间预测模型需要进行周期性更新,具体而言:随着历史任务的逐渐增加,用户的使用习惯随之变化,或集群的硬件升级、系统软件更新或者工作负载的变化时,将模型进行定期的更新,确保数据的准确性和实时性。

3.如权利要求1所述的一种多租户gpu集群弹性配额调度方法,其特征在于:所述预测模型模块采用用户队列和集群队列共同作用的方法为多租户间gpu资源配额的弹性管理机制:

4.一种多租户gpu集群弹性配额调度系统,其特征在于,包括任务管理模块、调度模块、性能分析模块、监控模块和历史负载数据库,每个模块之间通过grpc进行接口调用和信息传输;

5.如权利要求4所述的一种多租户gpu集群弹性配额调度系统,其特征在于,所述任...

【专利技术属性】
技术研发人员:沃天宇庄廓然杨任宇李沛熙
申请(专利权)人:北京航空航天大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1