CN107678853B - 图形处理任务的调度方法以及装置 - Google Patents
图形处理任务的调度方法以及装置 Download PDFInfo
- Publication number
- CN107678853B CN107678853B CN201610622786.XA CN201610622786A CN107678853B CN 107678853 B CN107678853 B CN 107678853B CN 201610622786 A CN201610622786 A CN 201610622786A CN 107678853 B CN107678853 B CN 107678853B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- central processing
- task
- processed
- core
- 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
Abstract
本发明公开了一种图形处理任务的调度方法以及装置,涉及计算机技术领域。本发明的方法包括:获取中央处理器的负载率;当中央处理器的负载率达到预设值时,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理。本发明通过监测中央处理器的负载状况,当中央处理器的负载率达到预设值时,则将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理,避免了处理一个图形处理任务需要在不同的物理核甚至不同的中央处理器之间进行切换,减轻了系统的性能损耗和波动,提高了系统的整体性能。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种图形处理任务的调度方法以及装置。
背景技术
多核中央处理器(Central Processing Unit,CPU)与图形处理器(GraphicProcessing Unit,GPU)协同处理大量数据时,传统的图形处理任务调度方法中,操作系统把所有核作为负载均衡(近似公平队列方式)的操作单元,忽略了中央处理器内部的物理总线的互联情况,把一个图形处理任务的多个线程分配到不同的物理核甚至不同的中央处理器进行处理,这样,处理一个图形处理任务需要在不同的物理核甚至不同的中央处理器之间进行切换,增加额外的开销,尤其当中央处理器的负载较高时,会使中央处理器处理性能产生较大的损耗和较大幅度的波动。
发明内容
本发明所要解决的一个技术问题是:当中央处理器的负载较高时,如何减轻中央处理器处理性能的损耗和波动。
根据本发明的一个方面,提供的一种图形处理任务的调度方法,包括:获取中央处理器的负载率;当中央处理器的负载率达到预设值时,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理。
在一个实施例中,将待处理的一个图形处理任务组分配到中央处理器的相同的物理核进行处理包括:获取系统内所有图形处理器的待处理的图形处理任务的总个数;获取系统内中央处理器的物理核的总个数;根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组;将每个图形处理任务组分配到中央处理器的相同的物理核进行处理。
在一个实施例中,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理包括:获取系统内中央处理器的物理核与逻辑核的对应关系;根据对应关系,将待处理的一个图形处理任务或一个图形处理任务组分配到处理该任务的物理核所对应的至少一个逻辑核进行处理。
在一个实施例中,当中央处理器的负载率未达到预设值时,将待处理的一个图形处理任务分配到多个物理核进行处理。
在一个实施例中,中央处理器的负载率的预设值的范围为85%至100%。
根据本发明的第二个方面,提供的一种图形处理任务的调度装置,包括:负载获取模块,用于获取中央处理器的负载率;调度模块,用于当中央处理器的负载率达到预设值时,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理。
在一个实施例中,调度模块包括:任务统计单元,用于获取系统内所有图形处理器的待处理的图形处理任务的总个数;物理核统计单元,用于获取系统内中央处理器的物理核的总个数;任务组划分单元,用于根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组;任务组调度单元,用于将每个图形处理任务组分配到中央处理器的相同的物理核进行处理。
在一个实施例中,调度模块,用于获取系统内中央处理器的物理核与逻辑核的对应关系,根据对应关系,将待处理的一个图形处理任务或一个图形处理任务组分配到处理该任务的物理核所对应的至少一个逻辑核进行处理。
在一个实施例中,调度模块,还用于当中央处理器的负载率未达到预设值时,将待处理的一个图形处理任务分配到多个物理核进行处理。
在一个实施例中,中央处理器的负载率的预设值的范围为85%至100%。
本发明通过监测中央处理器的负载状况,当中央处理器的负载率达到预设值时,则将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理,避免了处理一个图形处理任务需要在不同的物理核甚至不同的中央处理器之间进行切换,减轻了系统的性能损耗和波动,提高了系统的整体性能。
通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出现有技术中图形处理任务的调度方法的示意图。
图2示出本发明的一个实施例的图形处理任务的调度方法的流程示意图。
图3示出本发明的一个实施例的图形处理任务的调度方法的示意图。
图4示出本发明的一个应用例的图形处理任务的调度方法的流程示意图。
图5示出本发明的一个实施例的图形处理任务的调度装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
发明人发现,多核中央处理器与图形处理器协同处理大量数据,当中央处理器的负载率达到一定值后,系统的处理性能下降较多并出现比较大幅度的波动。发明人经过分析发现现有技术的图形处理器的任务的调度方法,很可能会把一个图形处理任务的多个线程分配到不同的物理核甚至不同的中央处理器进行处理,如图1中所示,系统内配置6核超线程双CPU芯片,共有24个逻辑核(L0~L23),从CPU核的物理分布图可以看出,相邻编号的逻辑核不一定属于同一个物理核,甚至不属于同一个CPU。现有技术中以逻辑核作为负载均衡的操作单元,对GPU的任务进行调度,很可能出现图1中所示的调度结果,GPU一个多线程任务1被分配到不同的物理核L12、L14、L15,甚至GPU一个多线程任务2被分配到不同的CPU0和CPU1上。这样,忽略了中央处理器内部的物理总线的互联情况,处理一个图形处理任务需要在不同的物理核甚至不同的CPU之间进行切换,增加额外的开销,当CPU负载较高时,这种切换会带来系统性能较大的下降以及较大幅度的波动。针对这一问题,提出本方案。
以下参考图2至图4描述本发明图形处理任务的调度方法。
图2为本发明图形处理任务的调度方法一个实施例的流程图。如图2所示,该实施例的方法包括:
步骤S202,获取中央处理器的负载率。
其中,操作系统可以周期性的监测中央处理器的负载状态;或者,中央处理器主动上报负载状态,可以周期性主动上报负载状态,也可以达到预设值时主动上报负载状态。
步骤S204,当中央处理器的负载率达到预设值时,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理。
其中,当中央处理器的负载量未达到预设值时,例如采用操作系统自带的负载均衡调度方法,近似公平队列的调度方法即根据每个逻辑核的负载状况对GPU的任务进行调度,使每个逻辑核的负载大体相同,将待处理的一个图形处理任务分配到多个物理核进行处理。当中央处理器的负载率达到预设值时,自动屏蔽操作系统自带的调度方法,而采用本方案的调度方法。
作为一种示例,图形处理任务组的划分方式:获取系统内中央处理器的物理核的总个数;获取系统内所有图形处理器的待处理的图形处理任务的总个数;根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组;进而,将每个图形处理任务组分配到中央处理器的相同的物理核进行处理。
具体的,获取系统内中央处理器的物理核与逻辑核的对应关系;根据对应关系,将待处理的一个图形处理任务或一个图形处理任务组分配到处理该任务的物理核所对应的至少一个逻辑核进行处理。参考图3所示,系统内中央处理器的物理核与逻辑核的对应关系即图中所示的CPU核的物理分布图,根据CPU核的物理分布图为待处理的一个图形处理任务或一个图形处理任务组指定同一物理核下的一个或多个逻辑核,例如为GPU任务1指定CPU0的物理核3下的逻辑核L3和L15,为GPU任务1指定CPU1的物理核2下的逻辑核L8和L20,当处理该任务或任务组时,则调度同一物理核下的逻辑核进行处理,而不会将该任务分配到不同的逻辑核进行处理。
上述实施例的方法,通过监测中央处理器的负载状况,当中央处理器的负载率达到预设值时,则将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理,避免了处理一个图形处理任务需要在不同的物理核甚至不同的中央处理器之间进行切换,减轻了系统的性能损耗和波动,提高了系统的整体性能。
下面结合图4描述本发明图形处理任务的调度方法的一个应用例。
图4为本发明图形处理任务的调度方法一个应用例的流程图。如图4所示,该应用例的方法包括:
步骤S402,获取CPU的负载率,判断CPU的负载率是否达到预设值,如果达到则执行步骤S404。
步骤S404,获取所有GPU的待处理的图形处理任务总数量T。
步骤S406,获取系统内CPU的数量N、各个CPU的物理核数量K,以及CPU、物理核、逻辑核三者的物理分布图,并计算系统内物理核总数N*K。
步骤S408,计算单个物理核需要承担的待处理的图形处理任务数Tk=T/(N*K),将所有待处理的图形处理任务划分为多个组。
步骤S410,每个图形处理任务组中Tk个任务分配到一个物理核,并为任务组中每个任务指定该物理核下的至少一个逻辑核进行处理。
其中,处理图形处理任务组中的一个任务时,根据任务的线程数和处理该任务的物理核下各个逻辑核的负载状况进行调度,在该物理核下可以采用原有的操作系统调度方法进行调度。
发明人针对不同数量的并发图形处理器任务进行测试,观察采用不同调度方法时中央处理器的性能,得到如表1中的测试数据。如表1所示,其中,操作系统的调度方法为操作系统自带的负载均衡调度方法,近似公平队列的调度方法即根据每个逻辑核的负载状况对GPU的任务进行调度,使每个逻辑核的负载大体相同。如表1所示,当系统内由单个GPU卡产生20个并发任务时,CPU的负载率为50%,此时,采用本方案的调度方法系统平均每秒传输的帧数和传输速率的波动范围略优于采用传统的操作系统的调度方法。当系统内由两个GPU卡产生40个并发任务时,CPU的负载率为100%,此时,采用本方案的调度方法系统的平均性能明显高于采用操作系统的调度方法,并且采用本方案的调度方法系统性能的波动范围明显小于采用操作系统的调度方法。并且发明人通过测试发现,当CPU的负载率为50%~100%时,本方案的调度方法相对于传统的调度方法具有优势,而当CPU的负载率为85%~100%,本方案的调度方法对系统的平均性能和性能的波动范围有较大的改善。
表1
本发明还提供一种图形处理任务的调度装置,下面结合图5进行描述。
图5为本发明图形处理任务的调度装置的一个实施例的结构示意图。如图5所示,该装置50包括:
负载获取模块502,用于获取中央处理器的负载量。
调度模块504,用于当中央处理器的负载量达到预设值时,将待处理的一个图形处理任务或一个图形处理任务组分配到中央处理器的相同的物理核进行处理。
具体的,调度模块504还可以包括:物理核统计单元,用于获取系统内中央处理器的物理核的总个数;任务统计单元,用于获取系统内所有图形处理器的待处理的图形处理任务的总个数;任务组划分单元,用于根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组;任务组调度单元,用于将每个图形处理任务组分配到中央处理器的相同的物理核进行处理。
其中,调度模块504,用于获取系统内中央处理器的物理核与逻辑核的对应关系,根据对应关系,将待处理的一个图形处理任务或一个图形处理任务组分配到处理该任务的物理核所对应的至少一个逻辑核进行处理。
进一步的,调度模块504,还用于当中央处理器的负载量未达到预设值时,将待处理的一个图形处理任务分配到多个物理核进行处理。
其中,中央处理器的负载量的预设值的范围为85%至100%。
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种图形处理任务的调度方法,其特征在于,包括:
获取中央处理器的负载率;
当中央处理器的负载率达到预设值时,获取系统内所有图形处理器的待处理的图形处理任务的总个数,获取系统内中央处理器的物理核的总个数;
根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组;
将每个图形处理任务组分配到中央处理器的相同的物理核进行处理;其中,待处理的一个图形处理任务包括多个线程;
其中,所述将每个图形处理任务组分配到中央处理器的相同的物理核进行处理包括:
获取系统内中央处理器的物理核与逻辑核的对应关系;
根据所述对应关系,将该图形处理任务组中每个任务分配到处理该任务组的物理核所对应的至少一个逻辑核进行处理,以避免一个图形处理任务在不同的物理核之间进行切换。
2.根据权利要求1所述的方法,其特征在于,还包括:
当中央处理器的负载率未达到预设值时,将待处理的一个图形处理任务分配到多个物理核进行处理。
3.根据权利要求1所述的方法,其特征在于,
所述中央处理器的负载率的预设值的范围为85%至100%。
4.一种图形处理任务的调度装置,其特征在于,包括:
负载获取模块,用于获取中央处理器的负载率;
调度模块,用于当中央处理器的负载率达到预设值时,获取系统内所有图形处理器的待处理的图形处理任务的总个数,获取系统内中央处理器的物理核的总个数,根据系统内物理核的总个数将所有待处理的图形处理任务平均划分为多个组,将每个图形处理任务组分配到中央处理器的相同的物理核进行处理,其中,待处理的一个图形处理任务包括多个线程;
其中,所述调度模块,用于获取系统内中央处理器的物理核与逻辑核的对应关系,根据所述对应关系,将该图形处理任务组中每个任务分配到处理该任务组的物理核所对应的至少一个逻辑核进行处理,以避免一个图形处理任务在不同的物理核之间进行切换。
5.根据权利要求4所述的装置,其特征在于,
所述调度模块,还用于当中央处理器的负载率未达到预设值时,将待处理的一个图形处理任务分配到多个物理核进行处理。
6.根据权利要求4所述的装置,其特征在于,
所述中央处理器的负载率的预设值的范围为85%至100%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610622786.XA CN107678853B (zh) | 2016-08-02 | 2016-08-02 | 图形处理任务的调度方法以及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610622786.XA CN107678853B (zh) | 2016-08-02 | 2016-08-02 | 图形处理任务的调度方法以及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107678853A CN107678853A (zh) | 2018-02-09 |
CN107678853B true CN107678853B (zh) | 2020-08-25 |
Family
ID=61133865
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610622786.XA Active CN107678853B (zh) | 2016-08-02 | 2016-08-02 | 图形处理任务的调度方法以及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107678853B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108897622A (zh) * | 2018-06-29 | 2018-11-27 | 郑州云海信息技术有限公司 | 一种任务运行的调度方法以及相关装置 |
CN110442389B (zh) * | 2019-08-07 | 2024-01-09 | 北京技德系统技术有限公司 | 一种多桌面环境共享使用gpu的方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及系统 |
WO2013131340A1 (zh) * | 2012-03-05 | 2013-09-12 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
CN103631568A (zh) * | 2013-12-20 | 2014-03-12 | 厦门大学 | 面向医学图像的多线程并行计算方法 |
-
2016
- 2016-08-02 CN CN201610622786.XA patent/CN107678853B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102325255A (zh) * | 2011-09-09 | 2012-01-18 | 深圳市融创天下科技股份有限公司 | 一种多核心cpu视频转码调度方法及系统 |
WO2013131340A1 (zh) * | 2012-03-05 | 2013-09-12 | 中兴通讯股份有限公司 | 片上系统soc的多处理器的调度方法及装置 |
CN103631568A (zh) * | 2013-12-20 | 2014-03-12 | 厦门大学 | 面向医学图像的多线程并行计算方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107678853A (zh) | 2018-02-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9715415B2 (en) | Method of scheduling threads for execution on multiple processors within an information handling system | |
US8132172B2 (en) | Thread scheduling on multiprocessor systems | |
CN107515786B (zh) | 资源分配方法、主装置、从装置和分布式计算系统 | |
US9742869B2 (en) | Approach to adaptive allocation of shared resources in computer systems | |
US20130212594A1 (en) | Method of optimizing performance of hierarchical multi-core processor and multi-core processor system for performing the method | |
KR20150084098A (ko) | 스트림 데이터 분산 처리 시스템 및 그 방법 | |
CN105487919A (zh) | 多核心处理器系统及任务分配方法 | |
CN108519917A (zh) | 一种资源池分配方法和装置 | |
CN110300959B (zh) | 用于动态运行时任务管理的方法、系统、设备、装置和介质 | |
CN112181613B (zh) | 异构资源分布式计算平台批量任务调度方法及存储介质 | |
WO2016202154A1 (zh) | 一种gpu资源的分配方法及系统 | |
WO2016202153A1 (zh) | 一种gpu资源的分配方法及系统 | |
CN107678853B (zh) | 图形处理任务的调度方法以及装置 | |
US20170286168A1 (en) | Balancing thread groups | |
US11521042B2 (en) | System and method to dynamically and automatically sharing resources of coprocessor AI accelerators | |
CN109788325B (zh) | 视频任务分配方法及服务器 | |
KR20130059300A (ko) | 멀티코어 시스템에서 실시간 및 서비스 품질 지원을 위한 스케줄링 | |
KR102452205B1 (ko) | 멀티 코어 제어 시스템 | |
US9152549B1 (en) | Dynamically allocating memory for processes | |
CN111913816A (zh) | Gpgpu中簇的实现方法、装置、终端及介质 | |
US9760969B2 (en) | Graphic processing system and method thereof | |
CN115658311A (zh) | 一种资源的调度方法、装置、设备和介质 | |
GB2504737A (en) | Load balancing in SAP (RTM) system | |
US9052840B2 (en) | Accessing additional memory space with multiple processors | |
CN112130977A (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 |