CN119862006B - 一种实现核组预判调频的异构众核芯片任务调度方法 - Google Patents
一种实现核组预判调频的异构众核芯片任务调度方法Info
- Publication number
- CN119862006B CN119862006B CN202411825698.0A CN202411825698A CN119862006B CN 119862006 B CN119862006 B CN 119862006B CN 202411825698 A CN202411825698 A CN 202411825698A CN 119862006 B CN119862006 B CN 119862006B
- Authority
- CN
- China
- Prior art keywords
- task
- frequency
- target
- executed
- clock
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- 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)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Power Sources (AREA)
Abstract
本申请公开了一种实现核组预判调频的异构众核芯片任务调度方法,涉及异构众核芯片领域,该异构众核芯片任务调度方法中主核在下发待执行任务至任务储存空间时,还给每项待执行任务添加任务描述信息,使得任务调度器在调度分配任意一项目标待执行任务时,可以根据目标待执行任务的任务描述信息预先确定任务频率以及是否包含预定指令,并在预判目标从核组对目标待执行任务的执行性能不理想的情况下发起调频请求中断以触发调频管理模块调节目标从核组的工作时钟,使得目标从核组能够按照与目标待执行任务的任务频率匹配的工作频率来执行目标待执行任务,从而优化对目标待执行任务的执行性能,也避免在任务执行期间产生瞬间大电流等风险。
Description
技术领域
本申请涉及异构众核芯片领域,尤其是一种实现核组预判调频的异构众核芯片任务调度方法。
背景技术
异构众核芯片采用主核与从核结合的方式来处理各项计算任务,通常由主核来发布任务,由从核来执行任务,主核与从核的配合使用可以提供更高的计算能力、计算密度和性能功耗比,因此被广泛应用在各种高性能计算系统中。
随着芯片的工作频率和集成度的不断提高,芯片功耗逐步增大,因此各项调频调温技术被应用于芯片上,通过调节芯片的工作频率可以有效降低芯片功耗,从而满足低功耗要求。现有的异构众核芯片中同样引入了调频调温技术,异构众核芯片中使用调度子系统来负责任务调度,从而将主核发布的任务分配给合适的从核执行,除此之外,调度子系统还会采用动态调频调压(Dynamic voltage and frequency scaling,DVFS)技术根据从核的任务负载调节从核的工作频率,也即调度子系统实时监控从核上的任务负载,当从核上的任务负载较低时就调低从核的工作频率,当从核上运行的任务负载较高时就调高从核的工作频率,从而使得从核根据实际任务负载需求工作在不同的频率上。但是由于从核执行的任务复杂多样,从核的工作频率会影响其执行不同任务时的性能,因此仅根据从核上运行的任务负载高低来调节器工作频率会影响从核对任务的执行性能,甚至会导致从核在执行任务时产生瞬时大电流过冲引起电压瞬间下降从而导致掉电掉卡,此时需要重启,影响芯片及整个系统的正常运行。
发明内容
本申请针对上述问题及技术需求,提出了一种实现核组预判调频的异构众核芯片任务调度方法,本申请的技术方案如下:
一种实现核组预判调频的异构众核芯片任务调度方法,异构众核芯片包括主核和多个从核,每个从核组包括构成阵列的多个从核,该异构众核芯片还包括任务调度器、调频管理模块和任务储存空间,该异构众核芯片任务调度方法包括:
主核为每一项待执行任务添加对应的任务描述信息后,将待执行任务下发至任务储存空间;每项待执行任务对应的任务描述信息携带待执行任务的任务频率以及中断有效标识符,主核在检测到待执行任务中包含预定指令时将中断有效标识符置为有效值;其中,预定指令是存在瞬时电流过冲风险的指令;
任务调度器从任务储存空间中读取目标待执行任务并解析对应的任务描述信息确定目标待执行任务的任务频率和中断有效标识符;任务调度器在确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配且确定目标待执行任务的中断有效标识符为有效值时,向调频管理模块发起调频中断请求;目标从核组是用于执行目标待执行任务的从核组;
调频管理模块响应于接收到的调频中断请求从任务调度器读取目标待执行任务的任务频率,并控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与任务频率匹配;
目标从核组按照时钟模块提供的工作时钟执行任务调度器分配的目标待执行任务。
其进一步的技术方案为,每项待执行任务对应的任务描述信息还携带同步标识符,主核根据待执行任务中的预定指令所处的指令执行顺序配置同步标识符;任务调度器解析目标待执行任务对应的任务描述信息得到同步标识符,并根据同步标识符匹配的工作模式向目标从核组分配目标待执行任务。
其进一步的技术方案为,主核根据待执行任务中的预定指令所处的指令执行顺序配置同步标识符包括:
预估从核完成程序初始化并按照待执行任务的指令执行顺序执行至预定指令的预估执行耗时,以及预估调频管理模块控制时钟模块调节提供给从核的工作时钟的时钟频率至与任务频率匹配的预估调频耗时;
在预估执行耗时大于预估调频耗的情况下,将同步标识符置为有效值,否则将同步标识符置为无效值。
其进一步的技术方案为,任务调度器根据同步标识符匹配的工作模式向目标从核组分配目标待执行任务包括:
当任务调度器解析得到的同步标识符为有效值时,任务调度器在向调频管理模块发起调频中断请求时,同步将目标待执行任务分配给目标从核组;
在调频管理模块控制时钟模块调节提供给目标从核组的工作时钟的时钟频率的过程中,目标从核组进行程序初始化并在完成程序初始化后按照目标待执行任务的指令执行顺序依次执行目标待执行任务中的各条指令;且在目标从核组执行目标待执行任务中的预定指令之前,调频管理模块对目标从核组的工作时钟的时钟频率调节完成。
其进一步的技术方案为,任务调度器根据同步标识符匹配的工作模式向目标从核组分配目标待执行任务包括:
当任务调度器解析得到的同步标识符为无效值时,任务调度器向调频管理模块发起调频中断请求,并等待直至确定调频管理模块对目标从核组的工作时钟的时钟频率调节完成后,再将目标待执行任务分配目标从核组。
其进一步的技术方案为,该异构众核芯片任务调度方法还包括:
调频管理模块在控制时钟模块将提供给目标从核组的工作时钟的时钟频率调节至与任务频率匹配后,清除任务调度器发起的调频中断请求;
任务调度器在检测到调频中断请求被清除后,确定调频管理模块对目标从核组的工作时钟的时钟频率调节完成。
其进一步的技术方案为,主核为每一项待执行任务添加中断有效标识符还包括:
主核在检测到待执行任务中不包含预定指令且调频管理模块处于正常调频状态时将中断有效标识符置为有效值;
主核在检测到待执行任务中不包含预定指令且调频管理模块处于屏蔽调频状态时将中断有效标识符置为无效值。
其进一步的技术方案为,每个从核组连接时钟模块中的多个时钟源,调频管理模块控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与任务频率匹配包括:
调频管理模块检测目标从核组当前连接的时钟源给目标从核组提供的实时工作时钟的时钟频率;
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率匹配时,调频管理模块保持目标从核组的实时工作时钟不变并确定对目标从核组的工作时钟的时钟频率调节完成;
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率不匹配,但目标从核组连接的时钟源中存在其他时钟源提供的工作时钟的时钟频率与目标待执行任务的任务频率匹配时,调频管理模块控制切换至由其他时钟源给目标从核组提供与目标待执行任务的任务频率匹配的工作时钟,并确定对目标从核组的工作时钟的时钟频率调节完成;
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率不匹配,且目标从核组连接的所有时钟源提供的工作时钟的时钟频率都与目标待执行任务的任务频率不匹配时,调频管理模块控制目标从核组当前连接的时钟源调节给目标从核组的工作时钟的时钟频率至与任务频率匹配。
其进一步的技术方案为,任务调度器检测目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率是否匹配包括:
任务调度器在检测到目标待执行任务的任务频率与分配给目标从核组的上一个待执行任务的任务频率匹配时,确定任务调度器检测目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,否则确定任务调度器检测目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配。
其进一步的技术方案为,该异构众核芯片任务调度方法还包括:
任务调度器在确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,或者检测到目标待执行任务的中断有效标识符为无效值时,直接将目标待执行任务分配给对应的目标从核组。
本申请的有益技术效果是:
本申请公开了一种实现核组预判调频的异构众核芯片任务调度方法,该异构众核芯片任务调度方法中主核在下发待执行任务至任务储存空间时,还给每项待执行任务添加任务描述信息以携带任务频率以及指示是否包含预定指令的中断有效标识符,使得任务调度器在调度分配任意一项目标待执行任务时,可以根据目标待执行任务的任务描述信息预先确定任务频率以及是否包含预定指令的任务情况,并在预判目标从核组对目标待执行任务的执行性能不理想的情况下发起调频请求中断以触发调频管理模块调节目标从核组的工作时钟,使得目标从核组能够按照与目标待执行任务的任务频率匹配的工作频率来执行目标待执行任务,从而优化对目标待执行任务的执行性能,也避免在任务执行期间产生瞬间大电流等风险。
主核给每项待执行任务添加的任务描述信息还包括与其中预定指令所处的指令执行顺序相关的同步标识符,任务调度器根据同步标识符的取值不同,可以在发起调频请求中断的同步下发目标待执行任务,或者先发起调频请求中断直至等待确定调频完成后再下发目标待执行任务,从而根据目标待执行任务包含的预定指令的情况不同采用不同的工作模式,可以在避免任务执行期间产生瞬间大电流等风险的前提下,提高任务执行效率,减少因调频产生的等待耗时。
该方法由任务调度器解析任务描述信息并实现调度,由调频管理模块执行调频操作,调频管理模块在任务调度器的中断触发下进行调频,无需实时监测从核的运行情况,减少了对调频管理模块的占用。且从核的调频操作由调频管理模块完成,从核本身不参与调频,因此在调频过程中从核不会被打扰,可以正常执行程序,减少了调频过程对从核任务执行过程的影响。
附图说明
图1是本申请一个实施例中的系统架构框图。
图2是本申请一个实施例中任务调度器的执行方法流程图。
图3是本申请一个实施例中的异构众核芯片任务调度方法流程图。
图4是本申请另一个实施例中任务调度器的执行方法流程图。
图5是本申请另一个实施例中异构众核芯片任务调度方法流程图。
具体实施方式
下面结合附图对本申请的具体实施方式做进一步说明。
本申请公开了一种实现核组预判调频的异构众核芯片任务调度方法,异构众核芯片包括主核和多个从核组,每个从核组包括构成阵列的多个从核。同一个从核组中的所有从核使用相同的工作时钟,并用于共同完成一项任务。
本申请的异构众核芯片还包括任务调度器、调频管理模块和任务储存空间,请参考图1所示的系统结构图,主核可以读写任务储存空间,任务调度器可以读写任务储存空间。任务调度器与调频管理模块实现通信,任务调度器还与从核实现通信,调频管理模块连接并控制异构众核芯片中用于给从核提供工作时钟的时钟模块。
基于图1所示的系统结构图,该异构众核芯片任务调度方法包括如下过程:
1、主核为每一项待执行任务添加对应的任务描述信息后,再将携带任务描述信息的待执行任务下发至任务储存空间。
每项待执行任务对应的任务描述信息携带待执行任务的任务频率以及中断有效标识符,主核在检测到待执行任务中包含预定指令时将中断有效标识符置为有效值。
主核在生成每项待执行任务时是可以直接确定其任务频率的,而在实际实现时,每项待执行任务的任务频率通常是一个频率区间,因此一个实施例的做法是利用频率档位值来表示待执行任务的任务频率,不同频率档位值表示不同频率区间,频率档位值可以自定义划分。则每项待执行任务对应的任务描述信息中包括其任务频率所处的频率档位值。
另外主核还会分析待执行任务中的指令来为其添加中断有效标识符,当检测到待执行任务中包含预定指令时就将其中断有效标识符置为有效值。预定指令是存在瞬时电流过冲风险的指令,也即是容易产生较大的瞬时电流的指令,同一个从核组中的多个从核都执行预定指令,很容易导致电压跌落出现瞬时大电流风险,因此当待执行任务中包含预定指令时,表示从核组在执行该待执行任务时更容易产生瞬时电流过冲风险,具体哪些指令属于预定指令是预先配置好的。
而当检测到待执行任务中不包含预定指令时,表示从核组在执行该待执行任务时产生瞬时电流过冲的风险较低,一种做法是可以直接将中断有效标识符置为无效值。而在另一个实施例中,考虑到当从核组的工作频率与该待执行任务的任务频率不匹配时,即便从核组在执行该待执行任务时产生瞬时电流过冲的风险较低,但是由于频率不匹配的问题,从核组在执行该项待执行任务时的性能也会不太理想,因此也可以将中断有效标识符置为有效值。
或者在另一个实施例中,由于本申请需要使用调频管理模块来控制调节从核组的工作频率,因此主核会检测调频管理模块的工作状态并根据调频管理模块的工作状态来确定将中断有效标识符置为有效值还是无效值,包括:
主核在检测到待执行任务中不包含预定指令且调频管理模块处于正常调频状态时将中断有效标识符置为有效值,调频管理模块的正常调频状态是能够正常调节从核组的工作频率的状态,这时候虽然从核组执行该待执行任务时产生瞬时电流过冲风险较小,但也尽量优先保证从核组在执行该项待执行任务时的性能从而将有效标识符置为有效值。
主核在检测到待执行任务中不包含预定指令且调频管理模块处于屏蔽调频状态时将中断有效标识符置为无效值,调频管理模块的屏蔽调频状态是调频管理模块在忙碌或者执行其他事务时的状态。此时由于从核组执行该待执行任务时产生瞬时电流过冲风险较小,在满足安全性的条件下,允许暂时降低该项待执行任务时的执行性能,因此将有效标识符置为无效值。
2、主核下发到任务储存空间中的各项待执行任务由任务调度器进行读取并调度下发。为了方便描述,定义任务调度器当前读取的待执行任务为目标待执行任务,任务调度器会首先确定目标从核组,目标从核组是用于执行目标待执行任务的其中一个从核组,这部分与现有做法类似,可以根据各个从核组的任务负载来确定将哪个从核组作为目标从核组,本申请对此不做赘述。实际运行时,任务调度器会管理调度多个从核组,不同的目标待执行任务可能会分配给不同的目标从核组,但任务调度过程都是相同的。
由于本申请中主核下发到任务调度器中的待执行任务都携带有任务描述信息,因此任务调度器从任务储存空间中读取的目标待执行任务也携带任务描述信息的,任务调度器并不直接将目标待执行任务下发给目标从核组,而是首先解析目标待执行任务的任务描述信息确定目标待执行任务的任务频率和中断有效标识符。
3、任务调度器在确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配且确定目标待执行任务的中断有效标识符为有效值时,任务调度器可以预判目标从核组按照当前的工作时钟执行目标待执行任务时的执行性能不理想,从而向调频管理模块发起调频中断请求,请结合图2所示的任务调度器的执行流程示意图和图3所示的在这种情况下的任务调度流程示意图。
在该步骤中,当目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率之间的差异达到频率差异阈值时,确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配,否则确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配。
当目标待执行任务的中断有效标识符为有效值时,表示目标待执行任务中包含存在瞬时电流过冲风险的预定指令,此时如果目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率还不匹配,则目标从核组在执行目标待执行任务的时出现瞬时电流过冲等异常情况的风险非常大,必须调整目标从核组的工作时钟的时钟频率,确保目标待执行任务在执行区间处于自己所需的任务频率内,从而避免出现瞬时电流过冲等异常情况,也能使得目标从核组对目标待执行任务的执行性能更优。
由于任务调度器并不能直接检测感知目标从核组实际的工作时钟的时钟频率,因此任务调度器通过已经分配给目标从核组的各项任务的任务频率来推测目标从核组当前的工作时钟的时钟频率,在一个实施例中:任务调度器在将分配给每个从核组的最近一项任务的任务频率进行寄存,则任务调度器读取寄存的分配给目标从核组的上一个待执行任务的任务频率,当检测到目标待执行任务的任务频率与分配给目标从核组的上一项待执行任务的任务频率匹配时,确定任务调度器检测目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,否则确定任务调度器检测目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配。如上所述,每一项待执行任务的任务频率通常采用对应的频率档位值来表示,则当目标待执行任务的频率档位值与分配给目标从核组的上一个待执行任务的频率档位值一致时,表示两个时钟频率匹配。
任务调度器在确定目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,或者检测到目标待执行任务的中断有效标识符为无效值时,任务调度器可以预判目标从核组按照当前的工作时钟直接执行目标待执行任务时的执行性能较优,则直接将目标待执行任务分配给对应的目标从核组。
4、调频管理模块响应于接收到的调频中断请求从任务调度器读取目标待执行任务的任务频率,并控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与任务频率匹配。
本申请由任务调度器主动上报调频中断请求触发调频管理模块的调频操作,调频管理模块无需实时监控任务调度过程,从而可以减少对调频管理模块的占用时间。
调频管理模块在控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与任务频率匹配时,首先检测目标从核组当前连接的时钟源给目标从核组提供的实时工作时钟的时钟频率。如上,任务调度器在将目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率进行比较时,是将分配给目标从核组的上一项任务的任务频率作为目标从核组当前的工作时钟的时钟频率,但是这样确定得到的目标从核组的时钟频率只是一个理论值,目标从核组实际采用的实时工作时钟的时钟频率可能并不与该理论值相等,比如目标从核组可能在执行上一项任务的过程中由于芯片过热而自动降低了时钟频率,会导致目标从核组实时工作时钟低于任务调度器确定的理论上的时钟频率。
因此在调频管理模块在接收到调频中断请求后,并不直接执行调频操作,而是进一步检测目标从核组的实时工作时钟的时钟频率,并判断实时工作时钟的时钟频率与目标待执行任务的任务频率是否匹配。
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率恰好匹配时,调频管理模块直接保持目标从核组的实时工作时钟不变并确定对目标从核组的工作时钟的时钟频率调节完成。
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率不匹配,调频管理模块首先检测目标从核组连接的时钟源中是否存在其他时钟源提供的工作时钟的时钟频率与目标待执行任务的任务频率匹配,这是因为在异构众核芯片中,时钟模块一般利用多个时钟源给同一个从核组提供,所以每个从核组会连接时钟模块中的多个时钟源,不同时钟源输出不同的工作时钟。当目标从核组连接的时钟源中存在其他时钟源提供的工作时钟的时钟频率与目标待执行任务的任务频率匹配时,这时候并不需要去调节时钟源输出的工作时钟,调频管理模块只需控制切换至由其他时钟源给目标从核组提供与目标待执行任务的任务频率匹配的工作时钟即可,并不需要真正调节时钟源,调节后可以确定对目标从核组的工作时钟的时钟频率调节完成。
当目标从核组的实时工作时钟的时钟频率与目标待执行任务的任务频率不匹配,且调频管理模块检测到目标从核组连接的所有时钟源提供的工作时钟的时钟频率都与目标待执行任务的任务频率不匹配时,通过切换时钟源的做法就不可行了,这时候调频管理模块控制目标从核组当前连接的时钟源调节给目标从核组的工作时钟的时钟频率至与任务频率匹配。
调频管理模块在控制时钟模块将提供给目标从核组的工作时钟的时钟频率调节至与任务频率匹配后,就会清除任务调度器发起的调频中断请求。
5、目标从核组按照时钟模块提供的工作时钟执行任务调度器分配的目标待执行任务。当目标从核组执行完目标待执行任务后,任务调度器还会将目标待执行任务的任务执行结果写入任务储存空间,并收到任务储存空间返回的写反馈。
在一个实施例中,任务调度器在向调频管理模块发起调频中断请求后,等待直至确定调频管理模块对目标从核组的工作时钟的时钟频率调节完成时,再将目标待执行任务分配给目标从核组,从而保证目标从核组可以按照调整后的时钟频率来执行目标待执行任务,避免出现瞬时电流过冲也提高任务执行性。其中,当任务调度器检测到调频中断请求被清除后,确定调频管理模块对目标从核组的工作时钟的时钟频率调节完成,图2和图3的流程图以此为例。
但是为了提高任务执行效率,考虑到瞬时大电流风险往往是目标从核组按照不匹配的工作频率执行预定指令导致的,因此只要保证目标从核组能够按照与任务频率匹配的工作频率来执行预定指令就能避免瞬时大电流风险,因此在另一个实施例中,主核为每一项待执行任务添加的任务描述信息中还携带同步标识符,主核根据待执行任务中的预定指令所处的指令执行顺序来配置同步标识符。从而使得任务调度器解析目标待执行任务对应的任务描述信息时还能得到同步标识符,并根据同步标识符匹配的工作模式向目标从核组分配目标待执行任务,在该实施例中,任务调度器根据同步标识符的不同取值可以采用两种不同的工作模式:与调频中断请求同步下发目标待执行任务,或者,等待调频管理模块对目标从核组的工作时钟的时钟频率调节完成后再下发目标待执行任务。
从核组在执行一项任务时,会首先进行程序初始化,完成程序初始化后,再依次执行任务中的各条指令。则在一个实施例中,主核预估从核组完成程序初始化并按照待执行任务的指令执行顺序执行至预定指令的预估执行耗时,以及预估调频管理模块控制时钟模块调节提供给从核组的工作时钟的时钟频率至与任务频率匹配的预估调频耗时。在预估执行耗时大于预估调频耗时的情况下,将同步标识符置为有效值,否则将同步标识符置为无效值。
则在该实施例中,当任务调度器解析得到的同步标识符为有效值时,表示目标从核组执行该目标待执行任务的预估执行耗时大于预估调频耗时,此时即便目标从核组和调频管理模块同步开始工作,当目标从核组完成程序初始化并执行到该目标待执行任务的预定指令时,调频管理模块也已经完成调频动作,从而能够保证目标从核组在执行到预定指令时已经采用的是与目标待执行任务的任务频率匹配的工作时钟。则任务调度器在向调频管理模块发起调频中断请求时,同步将目标待执行任务分配给目标从核组。由于目标从核组是被动调节工作时钟的,并不参与调频过程,因此目标从核组可以在调频管理模块调频过程中正常执行程序。则在调频管理模块控制时钟模块调节提供给目标从核组的工作时钟的时钟频率的过程中,目标从核组进行程序初始化并在完成程序初始化后按照目标待执行任务的指令执行顺序依次执行目标待执行任务中的各条指令,且在目标从核组执行目标待执行任务中的预定指令之前,调频管理模块已经对目标从核组的工作时钟的时钟频率调节完成。这种做法可以在保证任务执行性能的基础上,也提高任务执行效率,避免过多的等待耗时。如图4所示的任务调度器的执行流程图和图5所示的任务调度流程图以这种情况为例。
而当任务调度器解析得到的同步标识符为无效值时,表示目标从核组执行该目标待执行任务的预估执行耗时不大于预估调频耗时,此时如果目标从核组和调频管理模块同步开始工作,当目标从核组完成程序初始化并执行到该目标待执行任务的预定指令时,调频管理模块还没有对目标从核组的工作时钟的时钟频率调节完成,目标从核组按照不匹配的工作时钟执行预定指令会产生瞬时大电流风险,因此任务调度器向调频管理模块发起调频中断请求后,等待直至确定调频管理模块对目标从核组的工作时钟的时钟频率调节完成后,再将目标待执行任务分配目标从核组,确保安全性和任务执行性能。
以上的仅是本申请的优选实施方式,本申请不限于以上实施例。可以理解,本领域技术人员在不脱离本申请的精神和构思的前提下直接导出或联想到的其他改进和变化,均应认为包含在本申请的保护范围之内。
Claims (10)
1.一种实现核组预判调频的异构众核芯片任务调度方法,所述异构众核芯片包括主核和多个从核组,每个从核组包括构成阵列的多个从核,其特征在于,所述异构众核芯片还包括任务调度器、调频管理模块和任务储存空间,所述异构众核芯片任务调度方法包括:
所述主核为每一项待执行任务添加对应的任务描述信息后,将所述待执行任务下发至任务储存空间;每项待执行任务对应的任务描述信息携带所述待执行任务的任务频率以及中断有效标识符,所述主核在检测到所述待执行任务中包含预定指令时将所述中断有效标识符置为有效值;其中,预定指令是存在瞬时电流过冲风险的指令;
所述任务调度器从所述任务储存空间中读取目标待执行任务并解析对应的任务描述信息确定所述目标待执行任务的任务频率和中断有效标识符;所述任务调度器在确定所述目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配且确定所述目标待执行任务的中断有效标识符为有效值时,向所述调频管理模块发起调频中断请求;目标从核组是用于执行所述目标待执行任务的从核组;
所述调频管理模块响应于接收到的调频中断请求从所述任务调度器读取所述目标待执行任务的任务频率,并控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与所述任务频率匹配;
所述目标从核组按照时钟模块提供的工作时钟执行所述任务调度器分配的所述目标待执行任务。
2.根据权利要求1所述的异构众核芯片任务调度方法,其特征在于,每项待执行任务对应的任务描述信息还携带同步标识符,所述主核根据所述待执行任务中的预定指令所处的指令执行顺序配置所述同步标识符;所述任务调度器解析所述目标待执行任务对应的任务描述信息得到同步标识符,并根据同步标识符匹配的工作模式向所述目标从核组分配所述目标待执行任务。
3.根据权利要求2所述的异构众核芯片任务调度方法,其特征在于,所述主核根据所述待执行任务中的预定指令所处的指令执行顺序配置所述同步标识符包括:
预估从核组完成程序初始化并按照所述待执行任务的指令执行顺序执行至预定指令的预估执行耗时,以及预估所述调频管理模块控制时钟模块调节提供给从核组的工作时钟的时钟频率至与所述任务频率匹配的预估调频耗时;
在所述预估执行耗时大于所述预估调频耗的情况下,将所述同步标识符置为有效值,否则将所述同步标识符置为无效值。
4.根据权利要求3所述的异构众核芯片任务调度方法,其特征在于,所述任务调度器根据同步标识符匹配的工作模式向所述目标从核组分配所述目标待执行任务包括:
当所述任务调度器解析得到的同步标识符为有效值时,所述任务调度器在向所述调频管理模块发起调频中断请求时,同步将所述目标待执行任务分配给所述目标从核组;
在所述调频管理模块控制时钟模块调节提供给所述目标从核组的工作时钟的时钟频率的过程中,所述目标从核组进行程序初始化并在完成程序初始化后按照所述目标待执行任务的指令执行顺序依次执行所述目标待执行任务中的各条指令;且在所述目标从核组执行所述目标待执行任务中的预定指令之前,所述调频管理模块对所述目标从核组的工作时钟的时钟频率调节完成。
5.根据权利要求3所述的异构众核芯片任务调度方法,其特征在于,所述任务调度器根据同步标识符匹配的工作模式向所述目标从核组分配所述目标待执行任务包括:
当所述任务调度器解析得到的同步标识符为无效值时,所述任务调度器向所述调频管理模块发起调频中断请求,并等待直至确定所述调频管理模块对所述目标从核组的工作时钟的时钟频率调节完成后,再将所述目标待执行任务分配所述目标从核组。
6.根据权利要求5所述的异构众核芯片任务调度方法,其特征在于,所述异构众核芯片任务调度方法还包括:
所述调频管理模块在控制时钟模块将提供给目标从核组的工作时钟的时钟频率调节至与所述任务频率匹配后,清除所述任务调度器发起的调频中断请求;
所述任务调度器在检测到调频中断请求被清除后,确定所述调频管理模块对所述目标从核组的工作时钟的时钟频率调节完成。
7.根据权利要求1所述的异构众核芯片任务调度方法,其特征在于,所述主核为每一项待执行任务添加中断有效标识符还包括:
所述主核在检测到所述待执行任务中不包含预定指令且所述调频管理模块处于正常调频状态时将所述中断有效标识符置为有效值;
所述主核在检测到所述待执行任务中不包含预定指令且所述调频管理模块处于屏蔽调频状态时将所述中断有效标识符置为无效值。
8.根据权利要求1所述的异构众核芯片任务调度方法,其特征在于,每个从核组连接时钟模块中的多个时钟源,所述调频管理模块控制时钟模块调节提供给目标从核组的工作时钟的时钟频率至与所述任务频率匹配包括:
所述调频管理模块检测所述目标从核组当前连接的时钟源给所述目标从核组提供的实时工作时钟的时钟频率;
当所述目标从核组的实时工作时钟的时钟频率与所述目标待执行任务的任务频率匹配时,所述调频管理模块保持所述目标从核组的实时工作时钟不变并确定对所述目标从核组的工作时钟的时钟频率调节完成;
当所述目标从核组的实时工作时钟的时钟频率与所述目标待执行任务的任务频率不匹配,但所述目标从核组连接的时钟源中存在其他时钟源提供的工作时钟的时钟频率与所述目标待执行任务的任务频率匹配时,所述调频管理模块控制切换至由其他时钟源给所述目标从核组提供与所述目标待执行任务的任务频率匹配的工作时钟,并确定对所述目标从核组的工作时钟的时钟频率调节完成;
当所述目标从核组的实时工作时钟的时钟频率与所述目标待执行任务的任务频率不匹配,且所述目标从核组连接的所有时钟源提供的工作时钟的时钟频率都与所述目标待执行任务的任务频率不匹配时,所述调频管理模块控制所述目标从核组当前连接的时钟源调节给所述目标从核组的工作时钟的时钟频率至与所述任务频率匹配。
9.根据权利要求1所述的异构众核芯片任务调度方法,其特征在于,所述任务调度器检测所述目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率是否匹配包括:
所述任务调度器在检测到所述目标待执行任务的任务频率与分配给所述目标从核组的上一个待执行任务的任务频率匹配时,确定所述任务调度器检测所述目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,否则确定所述任务调度器检测所述目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率不匹配。
10.根据权利要求7所述的异构众核芯片任务调度方法,其特征在于,所述异构众核芯片任务调度方法还包括:
所述任务调度器在确定所述目标待执行任务的任务频率与目标从核组当前的工作时钟的时钟频率匹配,或者检测到所述目标待执行任务的中断有效标识符为无效值时,直接将所述目标待执行任务分配给对应的目标从核组。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411825698.0A CN119862006B (zh) | 2024-12-12 | 2024-12-12 | 一种实现核组预判调频的异构众核芯片任务调度方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202411825698.0A CN119862006B (zh) | 2024-12-12 | 2024-12-12 | 一种实现核组预判调频的异构众核芯片任务调度方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN119862006A CN119862006A (zh) | 2025-04-22 |
| CN119862006B true CN119862006B (zh) | 2025-12-09 |
Family
ID=95390376
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202411825698.0A Active CN119862006B (zh) | 2024-12-12 | 2024-12-12 | 一种实现核组预判调频的异构众核芯片任务调度方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN119862006B (zh) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110703898A (zh) * | 2019-09-06 | 2020-01-17 | 无锡江南计算技术研究所 | 基于周期性查询和中断的处理器功耗动态管理系统及方法 |
| CN114968600A (zh) * | 2022-07-19 | 2022-08-30 | 山东省计算中心(国家超级计算济南中心) | 一种基于新一代申威众核处理器的从核阵列任务分配实现负载均衡的方法 |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| AU2003255918A1 (en) * | 2002-10-18 | 2004-05-04 | Koninklijke Philips Electronics N.V. | Data processing apparatus that identifies a communication clock frequency |
| KR102002899B1 (ko) * | 2012-12-18 | 2019-07-23 | 삼성전자 주식회사 | 시스템-온 칩, 이의 동작 방법, 및 이를 포함하는 장치 |
| CN116679820B (zh) * | 2022-09-05 | 2024-04-16 | 荣耀终端有限公司 | 处理器主频的调整方法、装置及终端设备 |
-
2024
- 2024-12-12 CN CN202411825698.0A patent/CN119862006B/zh active Active
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110703898A (zh) * | 2019-09-06 | 2020-01-17 | 无锡江南计算技术研究所 | 基于周期性查询和中断的处理器功耗动态管理系统及方法 |
| CN114968600A (zh) * | 2022-07-19 | 2022-08-30 | 山东省计算中心(国家超级计算济南中心) | 一种基于新一代申威众核处理器的从核阵列任务分配实现负载均衡的方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN119862006A (zh) | 2025-04-22 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| Chen et al. | Dynamic server power capping for enabling data center participation in power markets | |
| JPH09185589A (ja) | 情報処理システムと情報処理システムの省電力方法 | |
| JP2008165798A (ja) | データ処理装置におけるプロセッサの性能管理 | |
| KR100661851B1 (ko) | 플랫폼의 소비 전력 관리 방법 및 그 플랫폼 | |
| JPWO2005106623A1 (ja) | Cpuクロック制御装置、cpuクロック制御方法、cpuクロック制御プログラム、記録媒体、及び伝送媒体 | |
| CN110795238B (zh) | 负载计算方法、装置、存储介质及电子设备 | |
| US9141165B2 (en) | Method and system for controlling clock frequency for active power management | |
| CN114710563A (zh) | 一种集群节能方法及装置 | |
| US20250238071A1 (en) | Power management in deterministic tensor streaming processors | |
| JP2005285093A (ja) | プロセッサ電力制御装置及びプロセッサ電力制御方法 | |
| US9213381B2 (en) | Voltage regulator dynamically determining whether requested power transition can be supported | |
| CN116627237B (zh) | 一种基于芯粒Chiplet的电源管理芯片架构系统 | |
| CN119862006B (zh) | 一种实现核组预判调频的异构众核芯片任务调度方法 | |
| CN118244876A (zh) | 处理器功耗控制方法、处理器及电子设备 | |
| WO2012001776A1 (ja) | マルチコアシステム、スケジューリング方法およびスケジューリングプログラム | |
| KR102333391B1 (ko) | 전자 장치 및 이의 전력 제어 방법 | |
| CN116501486A (zh) | 一种集群资源调度方法、系统、终端及存储介质 | |
| CN120276879A (zh) | 实时控制多核高效同步方法 | |
| CN114546096A (zh) | 基带芯片、任务调度方法及终端设备 | |
| JP5345902B2 (ja) | データ送信装置、データ送信方法、及びデータ送信プログラム | |
| CN120065802A (zh) | 配电网监测控制芯片的功耗控制方法、装置及存储介质 | |
| US20240361940A1 (en) | Storage system and storage system control method | |
| US20190391846A1 (en) | Semiconductor integrated circuit, cpu allocation method, and program | |
| CN105706022A (zh) | 一种预测处理器利用率的方法、处理装置和终端设备 | |
| Prasasta et al. | Co-Design of a Power State-Aware Scheduler and an Intelligent Power Manager for Energy-Efficient HPC Systems |
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 |