CN110750358B - 一种超算平台资源利用率分析方法 - Google Patents
一种超算平台资源利用率分析方法 Download PDFInfo
- Publication number
- CN110750358B CN110750358B CN201910994549.XA CN201910994549A CN110750358B CN 110750358 B CN110750358 B CN 110750358B CN 201910994549 A CN201910994549 A CN 201910994549A CN 110750358 B CN110750358 B CN 110750358B
- Authority
- CN
- China
- Prior art keywords
- task
- user
- cpus
- cpu
- gpus
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5013—Request control
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明实施例提供一种超算平台资源利用率分析方法,包括:获取用户提交特定任务所使用的CPU数量和GPU数量;判断该GPU数量是否大于或等于CPU数量的N倍,如果否,则判定该特定任务对资源的占用需要调优,提示该用户的该特定任务需要优化。该方法能够为从源头解决资源浪费的问题提供支持。
Description
技术领域
本发明涉及超算领域,尤其涉及一种超算平台资源利用率分析方法。
背景技术
超算平台在各行各业中已经得到广泛应用。用户在向超算平台提交任务时,会申请所需资源,包括CPU的数量、GPU的数量。超算平台基于用户提出的资源需求,由调度系统为用户分配服务器和该服务器上的CPU和GPU资源。目前GPU资源的成本远高于CPU资源的成本,因此超算平台的运维工作重点在追求GPU资源利用率的提高。
发明内容
本发明的目的在于提供一种超算平台资源利用率分析方法,为从源头解决资源浪费的问题提供支持。
为实现上述目的,本发明提供一种超算平台资源利用率分析方法,包括:
获取用户提交特定任务所使用的CPU数量和GPU数量;
判断该GPU数量是否大于或等于CPU数量的N倍,如果否,则判定该特定任务对资源的占用需要调优,提示该用户的该特定任务需要优化。
在一个优选的实施例中,所述获取用户提交特定任务所使用的GPU数量包括:
确定每个GPU运行的任务的任务标识,得到每个GPU与对应的任务标识信息;
基于所有GPU与对应的任务标识信息,统计该特定任务的任务标识对应的GPU的数量,得到该用户提交特定任务所使用的GPU数量。
在一个优选的实施例中,所述获取用户特定任务所使用的CPU数量包括:
确定每个CPU运行的任务的任务标识,得到每个CPU与对应的任务标识信息;
基于所有CPU与对应的任务标识信息,统计该特定任务的任务标识对应的CPU的数量,得到该用户提交特定任务所使用的CPU数量。
在一个优选的实施例中,所述CPU数量为CPU的颗数或CPU的核数。
在一个优选的实施例中,所述CPU的核数为CPU的物理核数、CPU的逻辑核数、或CPU的虚拟核数。
在一个优选的实施例中,所述N等于所有服务器中的CPU数量总和与GPU数量总和的比值。
在一个优选的实施例中,所述N等于当前服务器中的CPU数量与GPU数量的比值。
在一个优选的实施例中,所述提示该用户的该特定任务需要优化包括:
将该用户的该特定任务记录在日志文件中。
在一个优选的实施例中,在收到用户任务发出的申请资源时,对比该资源申请中GPU数量和CPU数量的比值是否小于N,如果是,则将该用户任务分配给CPU资源更多的服务器进行执行。
本发明实施例的方案能够发现用户提交任务对资源的占用不合理情况,最终目的是提醒用户改善其提交任务对资源的申请,为从源头解决资源浪费的问题提供支持。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明实施例提供的一种超算平台资源利用率分析方法的流程图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
现有技术中的调度系统对资源的申请请求不做过多限制,设置了相对宽松的条件,这使得用户所提交的任务在资源申请方面的优化往往不会考虑太多,比如更适合用GPU运算的任务去申请CPU资源进行处理,或者任务中的代码问题导致在任务执行中,产生了用户预先不知道的子任务,这部分子任务在用户不知情的情况下申请了CPU资源。这些因素都可能导致用户任务的执行过多占用了CPU资源,而浪费了成本更高的GPU资源,这是超算平台的运维方不希望看到的,同时也反映了提交任务的用户在代码开发水平方面有待优化,为此需要对这类行为进行分析,并提示提交任务的用户对任务进行优化,进而提高用户的代码开发能力的同时也提高了超算平台的利用率。
现有技术中存在改善调度系统能力的方案,比如公开号为CN108363623A、名称为“GPU资源调度方法装置设备及计算机可读存储介质”的中国发明专利申请公开说明书中提到如何均衡用户的资源申请,但是这些方案都是建立在用户资源申请已经确定的前提下如何做到更优化。如果用户提交的资源申请本身就不合理,这类的现有技术是无法进行改善的。本发明实施例的方案能够发现用户提交任务对资源的占用不合理情况,最终目的是提醒用户改善其提交任务对资源的申请,为从源头解决资源浪费的问题提供支持。
图1示出了本发明实施例提供的一种超算平台资源利用率分析方法的流程图,该方法包括如下步骤:
步骤S101:获取用户提交特定任务所使用的CPU数量和GPU数量。
本发明实施中是以任务实际执行所占用的CPU情况和GPU情况为准,而不是以任务的资源时调度系统为其分配的CPU情况和GPU情况为准,这是因为任务在提交后受任务中的代码影响,某些任务没有按照调度系统为其分配的资源进行执行,而是自己强行指定了其他资源进行执行。而本发明更关注用户任务实际执行对资源的占用,尤其是需要对用户任务的代码提出优化请求,为此应该以任务实际执行所占用的CPU情况和GPU情况为准。
当系统支持直接从用户的特定任务查询到该任务所占用的CPU的标志和所占用的GPU的标识,则可以直接获取到用户提交特定任务所使用的CPU数量和GPU数量。但是很多系统并不支持这样直接获取,为此需要采用间接的方式获得。
间接获取用户提交特定任务所使用的CPU数量的方式可以包括如下步骤:
确定当前服务器上每个CPU上运行的任务的任务标识,得到每个CPU与其上运行的任务的任务标识的对应关系。下表1示出一个当前服务器(记做服务器A)上的所有CPU和其上运行的任务的任务标识的对应关系的一种示例。显然标识为Job3的用户任务占用了两个CPU,其他用户任务均只占用了一个CPU。
表1服务器A上的所有CPU与其上运行的任务的对应关系
然后基于所述CPU与对应的任务标识信息,统计特定任务的任务标识对应的CPU数量,得到该特定任务的所使用的CPU数量。在实际中,可以是仅统计某些或某个任务的标识对应的CPU数量,比如仅统计标识为Job3的任务对应的CPU数量。也可以是运行在服务器所有CPU上的任务均需要统计每个任务的标识对应的CPU数量,比如首先确定服务器上所有CPU上运行的任务的任务标识的集合为{Job1,Job2,Job3,Job4}。然后统计集合中所有任务标识对应的CPU数量,即得到任务标识对应的任务所占用的CPU数量,基于表1的数据可以得出下表的统计数据。
表2
上述的CPU数量可以是CPU的颗数,即CPU的物理形态的芯片数量。当CPU的数量为CPU的颗数时,本发明实施例中的CPU的标识对应为每颗CPU芯片的标识。
上述的CPU数量也可以是CPU的核数,即将CPU的物理形态的芯片按照其核数再做拆分,这种情况的考虑是因为目前很多CPU都是多核CPU,多核CPU虽然在物理形态上是一颗CPU,但是服务器在进行资源分配以及用户提交任务占用CPU资源时,都是能够细分到具体的CPU核的。此时,本发明实施例中的CPU的标识对应为每个CPU核的标识。
CPU核数可以是CPU的物理核数,也可以是CPU的逻辑核数,还可以是CPU的虚拟核数。随着技术的发展,在CPU物理核的基础上又陆续产生CPU逻辑核、CPU虚拟核的概念。根据实际资源划分的粒度层级,对CPU核数的计算可以采用对应的粒度层级进行统计。
间接获取用户提交任务所使用的GPU数量的方式可以包括如下步骤:
确定当前服务器上每个GPU上运行的任务的任务标识,得到每个GPU与其上运行的任务的任务标识的对应关系。然后基于GPU与对应的任务标识信息,统计特定任务的任务标识对应的GPU数量,得到该特定任务所使用的GPU数量。在实际中,可以是仅统计某些或某个任务的标识对应的GPU数量,也可以统计服务器上所有CPU上的任务均需要统计每个任务的标识对应的GPU数量。
上述的GPU数量可以是GPU卡数。
步骤S102:判断步骤S101中获取到的用户提交特定任务所使用的GPU数量是否大于或等于CPU数量的N倍,如果否,则判定该特定任务对应资源的占用需要调优,提示该用户的该特定任务需要优化。
GPU数量大于或等于CPU数量的N倍表明:用户提交的该特定任务对资源的占用比例较为合理,不易造成成本较高的GPU资源的浪费。如果GPU数量小于CPU数量的N倍则表明:用户提交的该特定任务对资源的占用比例不太合理,容易造成成本较高的GPU资源的浪费。
上述N值可以是一个经验值,该经验值被所有服务器所接受,即所有服务器对N值的取值相同,无论是任何一台服务器上的用户任务占用的GPU数量和CPU数量的比值,均与相同的N值进行比较。
上述N值也可以基于超算平台上所有服务器的GPU和CPU数量配置情况来确定的,比如N值可以取为超算平台上的所有服务器的GPU数量总和与CPU数量总和的比值,这样得到的N值实际上反映了超算平台上所有服务器GPU和CPU数量配置的平均情况。此时仍然是任何一台服务器上的用户任务占用的GPU数量和CPU数量的比值,均与相同的N值进行比较。
上述N值还可以是针对每个服务器取不同的值,比如当前服务器的N值取为该服务器的CPU数量与GPU数量的比值。
在任何一台服务器上的用户任务占用的GPU数量和CPU数量的比值,均与相同的N值进行比较的方案中,用户任务在向调度系统申请资源时,如果发现用户任务申请的GPU的数量小于CPU数量的N倍时,则调度系统将该用户任务分配给CPU资源更多的服务器,如从GPU数量小于CPU数量N倍的服务器上分配GPU资源和CPU资源。这种策略的用意在于此类用户任务不适合用通常资源配置的服务器进行执行,而是应该为这类特殊用户任务分配更合适的服务器。
提示用户的特定任务需要优化的具体实现手段,在实际中可以是将该用户的该特定任务记录在日志文件中。这样通过运维人员查看日志或者通过抓取该日志的监控平台即可发现该用户的该特定任务需要优化。可由运维人员通知提交该任务的用户对该任务的代码进行优化。
请注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
Claims (7)
1.一种超算平台资源利用率分析方法,其特征在于,包括:
获取用户提交特定任务所使用的CPU数量和GPU数量;
判断该GPU数量是否大于或等于CPU数量的N倍,GPU数量大于或等于CPU数量的N倍表明:用户提交的该特定任务对资源的占用比例较为合理,GPU数量小于CPU数量的N倍则表明:用户提交的该特定任务对资源的占用比例不太合理,如果否,则判定该特定任务对资源的占用需要调优,提示该用户的该特定任务需要优化;
所述N等于所有服务器中的CPU数量总和与GPU数量总和的比值或当前服务器中的CPU数量总和与GPU数量总和的比值。
2.如权利要求1所述的方法,其特征在于,所述获取用户提交特定任务所使用的GPU数量包括:
确定每个GPU运行的任务的任务标识,得到每个GPU与对应的任务标识信息;
基于所有GPU与对应的任务标识信息,统计该特定任务的任务标识对应的GPU的数量,得到该用户提交特定任务所使用的GPU数量。
3.如权利要求1所述的方法,其特征在于,所述获取用户特定任务所使用的CPU数量包括:
确定每个CPU运行的任务的任务标识,得到每个CPU与对应的任务标识信息;
基于所有CPU与对应的任务标识信息,统计该特定任务的任务标识对应的CPU的数量,得到该用户提交特定任务所使用的CPU数量。
4.如权利要求3所述的方法,其特征在于,所述CPU数量为CPU的颗数或CPU的核数。
5.如权利要求4所述的方法,其特征在于,所述CPU的核数为CPU的物理核数、CPU的逻辑核数、或CPU的虚拟核数。
6.如权利要求1所述的方法,其特征在于,所述提示该用户的该特定任务需要优化包括:
将该用户的该特定任务记录在日志文件中。
7.如权利要求1所述的方法,其特征在于,在收到用户任务发出的资源申请时,对比该资源申请中GPU数量和CPU数量的比值是否小于N,如果是,则将该用户任务分配给CPU资源更多的服务器进行执行。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994549.XA CN110750358B (zh) | 2019-10-18 | 2019-10-18 | 一种超算平台资源利用率分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910994549.XA CN110750358B (zh) | 2019-10-18 | 2019-10-18 | 一种超算平台资源利用率分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110750358A CN110750358A (zh) | 2020-02-04 |
CN110750358B true CN110750358B (zh) | 2023-06-23 |
Family
ID=69278921
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910994549.XA Active CN110750358B (zh) | 2019-10-18 | 2019-10-18 | 一种超算平台资源利用率分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110750358B (zh) |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101706741B (zh) * | 2009-12-11 | 2012-10-24 | 中国人民解放军国防科学技术大学 | 一种基于负载平衡的cpu和gpu两级动态任务划分方法 |
CN101751376B (zh) * | 2009-12-30 | 2012-03-21 | 中国人民解放军国防科学技术大学 | 利用cpu和gpu协同工作对三角线性方程组求解的加速方法 |
WO2015150342A1 (en) * | 2014-03-30 | 2015-10-08 | Universiteit Gent | Program execution on heterogeneous platform |
KR20170102726A (ko) * | 2016-03-02 | 2017-09-12 | 한국전자통신연구원 | 이종 컴퓨팅 방법 |
CN107817969B (zh) * | 2016-08-31 | 2020-10-16 | 华为技术有限公司 | 一种程序生成方法、装置及计算机系统 |
CN109144710B (zh) * | 2017-06-16 | 2020-12-04 | 中国移动通信有限公司研究院 | 资源调度方法、装置及计算机可读存储介质 |
CN108334409B (zh) * | 2018-01-15 | 2020-10-09 | 北京大学 | 一种细粒度的高性能云资源管理调度方法 |
CN108363623A (zh) * | 2018-02-27 | 2018-08-03 | 郑州云海信息技术有限公司 | Gpu资源调度方法、装置、设备及计算机可读存储介质 |
-
2019
- 2019-10-18 CN CN201910994549.XA patent/CN110750358B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN110750358A (zh) | 2020-02-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109144710B (zh) | 资源调度方法、装置及计算机可读存储介质 | |
US8869160B2 (en) | Goal oriented performance management of workload utilizing accelerators | |
US20150317179A1 (en) | Efficient input/output-aware multi-processor virtual machine scheduling | |
US8627325B2 (en) | Scheduling memory usage of a workload | |
US20110078297A1 (en) | Job processing system, method and program | |
US7627662B2 (en) | Transaction request processing system and method | |
CN104462432A (zh) | 自适应的分布式计算方法 | |
CN104407926A (zh) | 一种云计算资源的调度方法 | |
CN110750339B (zh) | 一种线程调度方法、装置及电子设备 | |
CN103581336A (zh) | 基于云计算平台的业务流程调度方法及系统 | |
CN111163186B (zh) | 一种id生成方法、装置、设备和存储介质 | |
CN110750358B (zh) | 一种超算平台资源利用率分析方法 | |
US6754658B1 (en) | Database server processing system, method, program and program storage device | |
CN105550025A (zh) | 分布式基础设施即服务(IaaS)调度方法及系统 | |
CN109558210B (zh) | 一种虚拟机应用主机gpu设备的方法及系统 | |
CN114860449B (zh) | 数据处理方法、装置、设备和存储介质 | |
Gehr et al. | Measuring fragmentation of two-dimensional resources applied to advance reservation grid scheduling | |
CN114327862B (zh) | 一种内存分配方法、装置、电子设备及存储介质 | |
CN115878910A (zh) | 线路查询方法、装置和存储介质 | |
CN115016890A (zh) | 虚拟机资源分配方法、装置、电子设备及存储介质 | |
CN107977259B (zh) | 一种通用并行计算方法及平台 | |
CN113568891A (zh) | 分布式id生成方法、装置、服务器和可读存储介质 | |
CN110673931A (zh) | 单证合成的分布式计算方法、单证合成系统及其控制装置 | |
CN111767148B (zh) | 一种基于多核dsp的嵌入式系统资源管理方法 | |
CN115242814A (zh) | 基于闲置存储量的云空间存储量分配方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |