CN110262839B - 一种处理器的调度方法、装置及存储介质 - Google Patents
一种处理器的调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN110262839B CN110262839B CN201910521792.XA CN201910521792A CN110262839B CN 110262839 B CN110262839 B CN 110262839B CN 201910521792 A CN201910521792 A CN 201910521792A CN 110262839 B CN110262839 B CN 110262839B
- Authority
- CN
- China
- Prior art keywords
- processor
- bound
- core processor
- application process
- state
- 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/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
- G06F9/4418—Suspend and resume; Hibernate and awake
-
- 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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)
- Computer Security & Cryptography (AREA)
- Power Sources (AREA)
Abstract
本发明实施例公开了处理器的调度方法、装置及存储介质,应用于信息处理技术领域。处理器调度装置会在当第一应用进程和第一绑核处理器一一绑定后,可以通过简单调度器来调度第一绑核处理器,具体地,当第一应用进程需要从运行状态进入睡眠状态时,会调用简单调度器的睡眠接口,这样,简单调度器会调度第一绑核处理器,使得第一绑核处理器进入忙等状态或节能状态,不会运行任何应用进程。通过简单调度器只调度第一绑核处理器在忙等状态或节能状态,与运行状态之间进行切换,而减少了其它任何的调度时机,大大地减少了第一绑核处理器的调度开销,使得第一绑核处理器的性能得到提升。
Description
技术领域
本发明涉及信息处理技术领域,特别涉及一种处理器的调度方法及系统。
背景技术
一般在服务器中会包括多个中央处理器(Central Processing Unit/Processor,CPU),当服务器的操作系统上电启动后,各个中央处理器都是通过操作系统中预置的调度器进行调度,这样,中央处理器就会根据预置的调度器的调度信息运行。
现有技术中,预置的调度器会按照标准的调度算法进行中央处理器的调度,比如,先进先出(first in,first out,FIFO)实时调度算法或完全公平调度算法(completelyfair schedule,CFS)等,但是标准的调度算法对中央处理器的调度时机较多,使得这些调度算法的开销较大。
发明内容
本发明实施例提供一种处理器的调度方法、装置及存储介质,实现了通过简单调度器对绑核处理器进行调度。
本发明实施例第一方面提供一种处理器的调度方法,包括:
当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;
如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;
通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程。
本发明实施例第二方面提供一种处理器调度装置,包括:
确定单元,用于当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;
睡眠调用单元,用于如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;
调度单元,用于通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程。
本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的处理器的调度方法。
本发明实施例第二方面提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的处理器的调度方法。
可见,在本实施例的方法中,处理器调度装置会在当第一应用进程和第一绑核处理器一一绑定后,可以通过简单调度器来调度第一绑核处理器,具体地,当第一应用进程需要从运行状态进入睡眠状态时,会调用简单调度器的睡眠接口,这样,简单调度器会调度第一绑核处理器,使得第一绑核处理器进入忙等状态或节能状态,不会运行任何应用进程。通过简单调度器只调度第一绑核处理器在忙等状态或节能状态,与运行状态之间进行切换,而减少了其它任何的调度时机,大大地减少了第一绑核处理器的调度开销,使得第一绑核处理器的性能得到提升。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种处理器的调度方法的示意图;
图2是本发明实施例提供的一种处理器的调度方法的流程图;
图3是本发明实施例中处理器调度装置的示意图;
图4是本发明应用实施例中服务器包括的处理器的示意图;
图5是本发明应用实施例中处理器的调度方法的示意图;
图6a是本发明应用实施例中对绑核处理器的一种调度方法的示意图;
图6b是本发明应用实施例中对绑核处理器的另一种调度方法的示意图;
图6c是本发明应用实施例中对非绑核处理器的一种调度方法的示意图;
图7是本发明实施例提供的一种处理器调度装置的结构示意图;
图8是本发明实施例提供的一种服务器的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
本发明实施例提供一种处理器的调度方法,主要可以应用于包括多个处理器的装置中,以下称这种装置为处理器调度装置,比如一般服务器等,参考图1所示,本实施例的处理器调度可以按照如下步骤实现处理器的调度:
当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程。
这样,通过简单调度器只调度第一绑核处理器在忙等状态或节能状态,与运行状态之间进行切换,而减少了其它任何的调度时机,大大地减少了第一绑核处理器的调度开销,使得第一绑核处理器的性能得到提升。
本发明实施例提供一种处理器的调度方法,主要是由上述的处理器调度装置所执行的方法,流程图如图2所示,包括:
步骤101,当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定第一应用进程需要从运行状态进入睡眠状态。
一般情况下,如图3所示,处理器调度装置中会包括多个处理器、暂时性存储介质(比如内存)和永久性存储介质(比如硬盘等)等硬件。当处理器调度装置上电后,在处理器中会运行处理器调度装置的操作系统及各个应用进程,应用进程与处理器之间通过操作系统中的调度器(包括本实施例的简单调度器和传统调度器)连接;暂时性存储介质中会储存运行操作系统及各个应用程序的代码等必要信息。
在本实施例中,运行各个应用进程的处理器可以按照业务划分为多个区域(图中以两个区域为例说明),其中,某些区域(比如图中的区域1)中的n1个处理器为绑核处理器,这些绑核处理器一一绑定了唯一的应用进程,且该绑核处理器是由简单调度器按照本实施例的调度方法进行调度;另一些区域(比如区域2)中的n2个处理器为非绑核处理器,这些非绑核处理器未绑定某一应用进程,任一应用进程都可以运行在非绑核处理器中,且该非绑核处理器是由传统调度器按照传统的调度方法进行调度。
当运行在某一绑核处理器(比如第一绑核处理器)的某一应用进程(比如第一应用进程)在执行预置操作时,比如等待资源或等待另一应用进程的执行结果等操作时,确定该第一应用进程需要从运行状态进入睡眠状态。
步骤102,如果第一应用进程与第一绑核处理器进行了一一绑定,第一应用进程调用预置的简单调度器的睡眠接口。
具体地,由于该第一绑核处理器一一绑定了第一应用进程,这样第一绑核处理器中只能运行第一应用进程,当第一应用进程调用简单调度器的睡眠接口时,简单调度器并不需要像传统的调度器一样,需要切换到其它应用进程,而是将第一应用进程“暂停”运行,具体地,该简单调度器会执行如下步骤103,且将第一应用进程的状态设置为睡眠状态,将第一应用进程的上下文进行储存,一般储存到处理器的某个存储单元,即寄存器中。
步骤103,通过简单调度器调度第一绑核处理器,使得第一绑核处理器进入忙等状态或节能状态,其中,第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程,这样,第一应用进程就进行了睡眠状态。
具体地,简单调度器可以通过调度第一绑核处理器提供的硬件接口,使得第一绑核处理器进入睡眠状态或节能状态。其中:
(1)第一绑核处理器在进入节能状态时
由于进入/退出节能状态需要切换第一绑核处理器的状态,这个过程会导致一定的延迟,如果频繁进入/退出节能状态,则会对调度性能造成较大的影响,一种情况下,简单调度器会调度第一绑核处理器,使得第一绑核处理器“逐步”进入节能状态,而非直接进入。具体地:
简单调度器可以调用第一绑核处理器提供的某一硬件接口,使得第一绑核处理器先进入忙等(polling)状态;当超过该预置时间,第一绑核处理器还未被唤醒,则简单调度器可以调用第一绑核处理器提供的另一硬件接口,使得第一绑核处理器进入节能状态,在节能状态下,第一绑核处理器不会运行任一应用进程。在这个过程中,简单调度器可以设置第一绑核处理器的信息,具体地,设置第一绑核处理器的状态,比如当简单调度器设置第一绑核处理器的状态为忙等状态,则第一绑核处理器进入忙等状态,当简单调度器设置第一绑核处理器的状态为节能状态,第一绑核处理器进入节能状态。
(2)第一绑核处理器在进入忙等状态时
出于性能考虑,由于进入/退出第一绑核处理器的节能状态会有延时,导致性能损耗,在性能优先的场景中,简单调度器可以调用第一绑核处理器的忙等接口,比如释放(relax)接口或暂停(PAUSE)接口等,使得第一绑核处理器直接进入忙等状态,直到被唤醒。
可见,在本实施例的方法中,处理器调度装置会在当第一应用进程和第一绑核处理器一一绑定后,可以通过简单调度器来调度第一绑核处理器,具体地,当第一应用进程需要从运行状态进入睡眠状态时,会调用简单调度器的睡眠接口,这样,简单调度器会调度第一绑核处理器,使得第一绑核处理器进入忙等状态或节能状态,不会运行任何应用进程。通过简单调度器只调度第一绑核处理器在忙等状态或节能状态,与运行状态之间进行切换,而减少了其它任何的调度时机,大大地减少了第一绑核处理器的调度开销,使得第一绑核处理器的性能得到提升。
在一个具体的实施例中,当第一绑核处理器进入到忙等状态或节能状态后,当第一应用进程的资源准备好,或等待的另一应用进程(比如第一应用进程)的结果已经准备好,则确定第一应用进程需要从睡眠状态进入到运行状态。具体地:
当第二应用进程执行完成操作时,第二应用进程调用预置的简单调度器的唤醒接口;通过简单调度器调度第一绑核处理器,使得第一绑核处理器从上述的忙等状态或节能状态进行运行状态,第一绑核处理器在运行状态时,只运行第一应用进程。
具体地,简单调度器会向第一绑核处理器提供的硬件接口或内核接口发送核间中断(Inter-Processor Interrupts,IPI),该核间中断中携带唤醒标记,当第一绑核处理器接收到核间中断,在执行核间中断的过程中,根据核间中断的唤醒标记,进入运行状态;而简单调度器也会设置第一应用进程为运行状态,恢复相应的上下文,这样,第一应用进程会从之前暂停的位置恢复运行。
在另一个具体的实施例中,为了保证第一绑核处理器的较小的调度开销,处理器调度装置中的简单调度器还可以关闭针对第一绑核处理器的如下操作:
(1)关闭传统调度器对第一绑核处理器的不必要的调度时机,这些调度时机可以包括但不限于如下调度时机:中断返回时的调度时机,异常返回时的调度时机和操作系统调度返回的调度时机等,比如跳过schedule()相关的调度等。
(2)关闭第一绑核处理器的时钟中断;关闭本地操作系统对第一绑核处理器的时间更新,这样,第一绑核处理器通过获取其它处理器的时间来进行时间更新。
进一步需要说明的是,本发明实施例中,为了实现本发明实施例的方法,在处理器调度装置执行上述步骤之前,第一应用进程还需要将第一应用进程与第一绑核处理器进行一一绑定,且为第一绑核处理器指定上述简单调度器。具体地,可以建立第一应用进程的信息、第一绑核处理器的信息与简单调度的信息的对应关系,并储存到永久性存储介质中。
以下以一个具体的应用实例来说明本发明的处理器的调度方法,本实施例的方法可以应用于服务器,即上述的处理器调度装置中,该服务器中可以包括如图4所示的4个区域的处理器,具体包括:非高稳区、高稳虚拟机(virtual machine,VM)区、数据平面开发套件(Data Plane Development Kit,DPDK)区及储存性能开发套件(Storage PerformanceDevelopment Kit,SPDK)区,其中:高稳VM区、DPDK区和SPDK区中的处理器(比如CPU)都为绑核处理器,而非高稳区中的处理器(比如CPU)都为非绑核处理器。
(1)服务器对各个区域的处理器的信息设置
服务器在上电启动的过程中,将绑核处理器分别与相应的应用进程进行绑定,且为绑核处理器指定简单调度器,而未绑核处理器使用传统调度器进行调度。
且服务器还需要针对任一绑核处理器,关闭传统调度器对绑核处理器的如下调度时机:中断返回时的调度时机,异常返回时的调度时机和操作系统调度返回的调度时机。
进一步地,服务器还需要关闭绑核处理器的时钟中断及关闭本地操作系统对绑核处理器的时间更新。
(2)服务器可以按照如下步骤实现对服务器中处理器的调度,示意图如图5所示,包括:
步骤201,在服务器上电启动后,对于有些应用进程会运行在绑定的绑核处理器上,另一些应用进程可以运行在非高稳区中的任意非绑核处理器上。
步骤202,针对应用进程1,在应用进程1运行的过程中,如果需要等待资源或等待另一应用进程2的处理结果,且该应用进程1绑定了绑核处理器1,则确定该应用进程1需要从运行状态进入睡眠状态。
步骤203,应用进程1调用简单调度器的睡眠接口,这样,简单调度器会调用绑核处理器1的某个接口,使得绑核处理器1进入忙等状态或节能状态,绑核处理器1上不会运行任意的应用进程;且简单调度器会暂停应用进程1的运行,并将该应用进程1的上下文储存到寄存器中。
步骤204,当另一应用进程2运行时,得到上述应用进程1等待的处理结果,确定上述应用进程1需要从睡眠状态进入运行状态,则应用进程2可以直接调用简单调度器的唤醒接口,而简单调度器则会发送核间中断给该绑核处理器1提供的一个接口,该核间中断中携带唤醒标记。
步骤205,绑核处理器1在接口到核间中断后,在处理核间中断的过程中,根据唤醒标记进入运行状态,且简单调度器会设置应用进程1为运行状态,恢复相应的上下文,这样,应用进程1会从之前暂停的位置恢复运行,且运行在绑核处理器1上。
由此可见,在本实施例中,通过简单调度器对绑核处理器进行调度时,如果运行在某一绑核处理器上的应用进程1一直处于运行状态时,如图6a所示,简单调度器对该绑核处理器的调度只是在该应用进程1开始运行时进行。
如果运行在某一绑核处理器上的应用进程2在运行状态与睡眠状态之间切换时,如图6b所示,简单调度器对该绑核处理器的调度包括:在该应用进程2开始运行时,该应用进程2进入睡眠状态时,及该应用进程2进入运行状态时。
对于非绑核处理器,如图6c所示,传统调度器对该非绑核处理器的调度包括多个调度时机,比如任一运行在该非绑核处理器的应用进程(比如应用进程1到4)开始运行时的调度等。
可见,本发明实施例的简单调度器对绑核处理器的调度,与传统调度器对非绑核处理器的调度相比,调度开销明显的下降,进而可以提升绑核处理器的性能。
本发明实施例还提供一种处理器调度装置,该处理器调度装置中可以包括多个处理器(在图7中未示出),其结构示意图如图7所示,具体可以包括:
确定单元10,用于当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;
睡眠调用单元11,用于根据所述确定单元10确定的状态,如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;
调度单元12,用于通过睡眠调用单元11调用的所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程。
该调度单元12在通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入节能状态时,具体用于所述简单调度器调用所述第一绑核处理器的某一接口,使得所述第一绑核处理器进入忙等状态;当所述第一绑核处理器在超过预置时间,还未被唤醒,所述简单调度器调用所述第一绑核处理器的另一接口,使得所述第一绑核处理器进入节能状态。
进一步地,本实施例的处理器调度装置还包括:唤醒调度单元13、关闭调度单元14和绑定单元15,其中:
唤醒调度单元13,用于当第二应用进程执行完成操作时,所述第二应用进程调用预置的简单调度器的唤醒接口;通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器从所述忙等状态或节能状态进行运行状态,所述第一绑核处理器在运行状态时,运行所述第一应用进程。
该唤醒调度单元13,具体用于通过所述简单调度器向所述第一绑核处理器发送核间中断,所述核间中断中携带唤醒标记;所述第一绑核处理器根据所述核间中断的唤醒标记,进入运行状态。
关闭调度单元14,用于关闭传统调度器对所述第一绑核处理器的调度时机,所述调度时机包括:中断返回时的调度时机,异常返回时的调度时机和操作系统调度返回的调度时机。
该关闭调度单元14,还用于关闭所述第一绑核处理器的时钟中断及关闭本地操作系统对所述第一绑核处理器的时间更新。
绑定单元15,用于将所述第一应用进程与所述第一绑核处理器进行一一绑定;为所述第一绑核处理器指定所述简单调度器。这样,上述当确定单元10确定了第一应用进程需要从运行状态进入睡眠状态,且绑定单元15一一绑定了第一应用进程与第一绑核处理器,则睡眠调用单元11才会调用简单调度器的睡眠接口。
可见,在本实施例的处理器调度装置中会在当第一应用进程和第一绑核处理器一一绑定后,可以通过简单调度器来调度第一绑核处理器,具体地,当确定单元10确定第一应用进程需要从运行状态进入睡眠状态时,睡眠调用单元11会调用简单调度器的睡眠接口,这样,调度单元12通过简单调度器调度第一绑核处理器,使得第一绑核处理器进入忙等状态或节能状态,不会运行任何应用进程。通过简单调度器只调度第一绑核处理器在忙等状态或节能状态,与运行状态之间进行切换,而减少了其它任何的调度时机,大大地减少了第一绑核处理器的调度开销,使得第一绑核处理器的性能得到提升。
本发明实施例还提供一种服务器,其结构示意图如图8所示,该服务器可因配置或性能不同而产生比较大的差异,可以包括多个中央处理器(central processing units,CPU)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中的一系列指令操作。
具体地,在存储介质22中储存的应用程序221包括处理器调度的应用程序,且该程序可以包括上述处理器调度装置中的确定单元10,睡眠调用单元11,调度单元12,唤醒调度单元13,关闭调度单元14和绑定单元14,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在服务器上执行存储介质22中储存的处理器调度的应用程序对应的一系列操作。
服务器还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,和/或,一个或一个以上操作系统223,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述方法实施例中所述的由处理器调度装置所执行的步骤可以基于该图8所示的服务器的结构。
本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述处理器调度装置所执行的处理器的调度方法。
本发明实施例提供一种服务器,包括处理器和存储介质,所述处理器,用于实现各个指令;所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述处理器调度装置所执行的处理器的调度方法。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM)、随机存取存储器RAM)、磁盘或光盘等。
以上对本发明实施例所提供的处理器的调度方法、装置及存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (10)
1.一种处理器的调度方法,其特征在于,包括:
当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;所述预置操作包括等待资源或等待另一应用进程的执行结果的操作;
如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;
通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程;
当所述第一应用进程需要从睡眠状态进入到运行状态时,通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器从所述忙等状态或节能状态进入运行状态,所述第一绑核处理器在运行状态时,只运行所述第一应用进程。
2.如权利要求1所述的方法,其特征在于,通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入节能状态,具体包括:
所述简单调度器调用所述第一绑核处理器的某一接口,使得所述第一绑核处理器进入忙等状态;
当所述第一绑核处理器在超过预置时间,还未被唤醒,所述简单调度器调用所述第一绑核处理器的另一接口,使得所述第一绑核处理器进入节能状态。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:
当第二应用进程执行完成操作时,所述第二应用进程调用预置的简单调度器的唤醒接口;
通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器从所述忙等状态或节能状态进行运行状态,所述第一绑核处理器在运行状态时,运行所述第一应用进程。
4.如权利要求3所述的方法,其特征在于,所述通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器从所述忙等状态或节能状态进行运行状态,具体包括:
所述简单调度器向所述第一绑核处理器发送核间中断,所述核间中断中携带唤醒标记;
所述第一绑核处理器根据所述核间中断的唤醒标记,进入运行状态。
5.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
关闭传统调度器对所述第一绑核处理器的调度时机,所述调度时机包括:中断返回时的调度时机,异常返回时的调度时机和操作系统调度返回的调度时机。
6.如权利要求1至4任一项所述的方法,其特征在于,所述方法还包括:
关闭所述第一绑核处理器的时钟中断及关闭本地操作系统对所述第一绑核处理器的时间更新。
7.如权利要求1至4任一项所述的方法,其特征在于,所述第一应用进程在执行预置操作之前,所述方法还包括:
将所述第一应用进程与所述第一绑核处理器进行一一绑定;
为所述第一绑核处理器指定所述简单调度器。
8.一种处理器调度装置,其特征在于,包括:
确定单元,用于当运行在第一绑核处理器的第一应用进程在执行预置操作时,确定所述第一应用进程需要从运行状态进入睡眠状态;所述预置操作包括等待资源或等待另一应用进程的执行结果的操作;
睡眠调用单元,用于如果所述第一应用进程与第一绑核处理器进行了一一绑定,所述第一应用进程调用预置的简单调度器的睡眠接口;
调度单元,用于通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器进入忙等状态或节能状态,其中,所述第一绑核处理器在处于忙等状态或节能状态时,不会运行任一应用进程;
所述调度单元,还用于当所述第一应用进程需要从睡眠状态进入到运行状态时,通过所述简单调度器调度所述第一绑核处理器,使得所述第一绑核处理器从所述忙等状态或节能状态进入运行状态,所述第一绑核处理器在运行状态时,只运行所述第一应用进程。
9.一种存储介质,其特征在于,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如权利要求1至7任一项所述的处理器的调度方法。
10.一种服务器,其特征在于,包括处理器和存储介质,所述处理器,用于实现各个指令;
所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如权利要求1至7任一项所述的处理器的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910521792.XA CN110262839B (zh) | 2019-06-17 | 2019-06-17 | 一种处理器的调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910521792.XA CN110262839B (zh) | 2019-06-17 | 2019-06-17 | 一种处理器的调度方法、装置及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110262839A CN110262839A (zh) | 2019-09-20 |
CN110262839B true CN110262839B (zh) | 2021-08-31 |
Family
ID=67918671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910521792.XA Active CN110262839B (zh) | 2019-06-17 | 2019-06-17 | 一种处理器的调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110262839B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
CN101324851A (zh) * | 2007-06-12 | 2008-12-17 | 华为技术有限公司 | 线程调度方法及其装置 |
US8161476B2 (en) * | 2007-07-04 | 2012-04-17 | International Business Machines Corporation | Processor exclusivity in a partitioned system |
CN102915292A (zh) * | 2011-08-02 | 2013-02-06 | 北京大学 | 基于多核处理器的通信方法及其检测方法和控制方法 |
CN105487919A (zh) * | 2014-10-02 | 2016-04-13 | 联发科技股份有限公司 | 多核心处理器系统及任务分配方法 |
CN106033345A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Cpu使用率的控制方法和装置 |
-
2019
- 2019-06-17 CN CN201910521792.XA patent/CN110262839B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101013388A (zh) * | 2007-01-26 | 2007-08-08 | 浙江大学 | 面向异构多核体系的进程调度方法 |
CN101324851A (zh) * | 2007-06-12 | 2008-12-17 | 华为技术有限公司 | 线程调度方法及其装置 |
US8161476B2 (en) * | 2007-07-04 | 2012-04-17 | International Business Machines Corporation | Processor exclusivity in a partitioned system |
CN102915292A (zh) * | 2011-08-02 | 2013-02-06 | 北京大学 | 基于多核处理器的通信方法及其检测方法和控制方法 |
CN105487919A (zh) * | 2014-10-02 | 2016-04-13 | 联发科技股份有限公司 | 多核心处理器系统及任务分配方法 |
CN106033345A (zh) * | 2015-03-17 | 2016-10-19 | 阿里巴巴集团控股有限公司 | Cpu使用率的控制方法和装置 |
Non-Patent Citations (1)
Title |
---|
多处理器系统中的线程调度研究;范光雄;《中国优秀硕士学位论文全文数据库信息科技辑》;20110415;I137-12 全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN110262839A (zh) | 2019-09-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3435231B1 (en) | Dynamic virtual machine sizing | |
JP4148223B2 (ja) | プロセッサおよび情報処理方法 | |
CN101894047B (zh) | 一种基于内核虚拟机调度策略的实现方法 | |
CN107273141B (zh) | 嵌入式实时操作系统 | |
JP5244160B2 (ja) | 複数の命令シーケンサでのスレッド実行に基づく命令セットのためのメカニズム | |
JP2561801B2 (ja) | プロセス・スケジューリングの管理方法およびシステム | |
JP2013544006A (ja) | リソースセット移行をスケジュールすることによる、ポータブルコンピューティングデバイスにおけるプロセッサアプリケーション状態間のリソース待ち時間の最小化 | |
KR20140127341A (ko) | 휴대용 컴퓨팅 디바이스에서 요청들을 스케쥴링하기 위한 방법 및 시스템 | |
CN109918145B (zh) | 一种应用程序冷启动的加速方法、装置、电子设备 | |
CN111324432A (zh) | 处理器调度方法、装置、服务器及存储介质 | |
CN113010275A (zh) | 一种中断处理方法和装置 | |
JP2006243864A (ja) | プロセッサおよび情報処理方法 | |
CN110262839B (zh) | 一种处理器的调度方法、装置及存储介质 | |
CN110851239B (zh) | 一种type-i型硬实时高可靠性全虚拟化方法 | |
JPH07295694A (ja) | 演算処理装置の省電力方法 | |
US20080307419A1 (en) | Lazy kernel thread binding | |
JP3644042B2 (ja) | マルチタスク処理装置 | |
JP2643804B2 (ja) | デバッグ方式 | |
JP2010102567A (ja) | 周期駆動タスク実行装置、周期駆動タスク実行方法及びプログラム | |
WO2022024252A1 (ja) | タスク優先度制御システム、タスク優先度制御システムのデータ退避方法、およびプログラム | |
JPH09160790A (ja) | タスクスケジュール装置及びタスクスケジュール方法 | |
JP2005519393A (ja) | 仮想直接メモリ・アクセスのための方法及び装置 | |
JPH11184828A (ja) | マルチプロセッサシステムのテスト方式 | |
MARZ et al. | Reducing power consumption and latency in mobile devices by using a gui scheduler | |
JP2008225710A (ja) | コンピュータシステム及び該システムで用いられるプロセス切替え方法 |
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 | ||
TR01 | Transfer of patent right |
Effective date of registration: 20231010 Address after: 100086 Beijing Haidian District Zhichun Road 49 No. 3 West 309 Patentee after: TENCENT CLOUD COMPUTING (BEIJING) Co.,Ltd. Address before: 518057 Tencent Building, No. 1 High-tech Zone, Nanshan District, Shenzhen City, Guangdong Province, 35 floors Patentee before: TENCENT TECHNOLOGY (SHENZHEN) Co.,Ltd. |
|
TR01 | Transfer of patent right |