CN117215801B - 一种适用于多核处理器的片上负载性能优化装置 - Google Patents
一种适用于多核处理器的片上负载性能优化装置 Download PDFInfo
- Publication number
- CN117215801B CN117215801B CN202311469538.2A CN202311469538A CN117215801B CN 117215801 B CN117215801 B CN 117215801B CN 202311469538 A CN202311469538 A CN 202311469538A CN 117215801 B CN117215801 B CN 117215801B
- Authority
- CN
- China
- Prior art keywords
- module
- processor
- core
- bus
- chip
- 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
- 238000012544 monitoring process Methods 0.000 claims abstract description 44
- 238000004364 calculation method Methods 0.000 claims abstract description 15
- 238000000034 method Methods 0.000 claims description 33
- 238000005457 optimization Methods 0.000 claims description 24
- 230000008569 process Effects 0.000 claims description 22
- 238000010586 diagram Methods 0.000 claims description 16
- 230000005540 biological transmission Effects 0.000 claims description 9
- 238000004519 manufacturing process Methods 0.000 claims description 6
- 238000013459 approach Methods 0.000 claims description 3
- 230000008859 change Effects 0.000 claims description 3
- 230000005059 dormancy Effects 0.000 claims description 3
- 230000036961 partial effect Effects 0.000 claims description 3
- 230000007547 defect Effects 0.000 description 5
- 230000032683 aging Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000004445 quantitative analysis Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 238000012216 screening Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000007958 sleep Effects 0.000 description 1
Classifications
-
- 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
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种适用于多核处理器的片上负载性能优化装置,包括片上系统的硬件监控模块、性能优化模块和软件配置接口,所述片上系统的硬件监控模块包括处理器核状态监控模块和总线状态监控模块,分别用于芯片的利用率监控和总线的利用率监控,结合软件配置接口提供的调度算法的计算,通过性能优化模块,实现调度域的生成和更新。本发明针对片上的实时状态,提供当前可用的多核的优先级表以及总线路由重构表,通过硬件的重构方式或者提供当前核芯优先级表以及总线路由重构表,给固件或者软件调度做参考的负载均衡方案,有效提升多核处理器的性能效率。
Description
技术领域
本发明涉及一种多核处理器的任务调度装置,尤其是涉及一种适用于多核处理器的片上负载性能优化装置。
背景技术
在通用处理器设计中,无论是对称多处理器结构SMP(Symmetrical Multi-processing)和异构多处理器结构(Heterogenous Multi-Processing),现有技术都是通过软件Software或者固件Firmware的负载调度算法来完成负载均衡,提高性能。但无论是单队列多处理器调度SQMS(Single-queue Multiprocessor schedular)原理或多队列多处理机调度MQMS(Multi-queueMultiprocessor schedular),还是Linux的完全公平调度CFS(Completely Fair Schedular),都是基于预先不清楚任务的特性和固定时间片来进行调度的。其中,固件是预先编写的控制硬件的代码,因为无法提前预知任务特性和合理的时间片,所以负载均衡很难准确。硬件调度,因为可以实时监控负载的情况来判断负载的特性,可以随时采用更好的调度算法,比软件和固件都更快。
如图1所示,是单队列多处理器调度SQMS示意图,可以快速继承单核的调度策略,优点简单直接,但缺点也很明显,可扩展性差,需要加锁来保证功能正确,因此性能损失大。同时亲和性支持性差,容易出现如图2所示的一个任务在不同的CPU核上交替运行的情况。虽然可以通过任务迁移或工作窃取(work stealing)的方法部分得到解决,但是带来的高开销不可接受,且会带来更严重的复杂不均的情况。
图3是多队列多处理器调度MQMS示意图,不同队列采用不同的调度方案,可扩展性较SQMS要好,但是会出现负载不均的问题,如图4,CPU0只运行任务A,而CPU运行任务B和D,导致任务A执行总是快于任务B和任务D。甚至可能出现图5的极端情况,即CPU0的任务A全部执行完毕,而CPU1还在运行任务B和D。
图6和图7是Linux系统常用的完全公平调度CFS示意图,通过维护任务的虚拟运行时间(Vruntime)计数的调度方案,公平地均分CPU给每个任务。但应对唤醒抢占的时候,不能区分交互式进程(I/O)和主动休眠的进程,调度的优先也会带来不公平,有损整体性能。且记录时间无法正确区分CPU的处理时间和中断处理,任务切换的时间,不够精准。
现有技术的缺点一:
现有技术方案都是基于软件的调度方法,且基于预先不清楚任务的特性和固定时间片(不知道CPU运行的准确物理时间)的调度算法。各种调度算法的参数设定困难,如时间片的长度,优先级提升(Priority Boost)的间隔,优先级队列的数量和调整方式等都因为不同的工作负载和不同片上多核系统而不同,没有完美的算法或静态的算法,需要动态的调整。
现有技术的缺点二:
对于多核处理器的不同核的性能差异没有明确的定量分析,包括架构带来的访存和I/O性能差异,以及SMP或同一非均匀存储器(NUMA:Non Uniform Memory)节点下的性能差异,或异构多核、异构计算的性能差异等。
对于片上总线不同路径的差异没有明确的定量分析,包括片式总线拓扑结构带来的带宽/延迟差异,跨芯粒(Cross-Die)/跨芯片(Cross-Socket)的带宽/延迟差异等。
现有技术的缺点三:
现有技术对均匀存储器(UMA)或同一NUMA下的不同核,或异构多核里的同类型核(计算单元)、相同的硬件加速器,不加以区分。事实上,他们的性能是有差异的,一是因为芯片架构的不同、先进工艺良率(Yield)问题,速度等级(Speed-binning)筛选等静态原因;二是老化、工作稳定变化不均匀等动态原因。对于某些应用来说,性能差别还比较大。
发明内容
本发明提供了一种适用于多核处理器的片上负载性能优化装置,解决了在通用处理器芯片设计中,以硬件资源实现的多核结构的负载均衡或性能优化的问题,其技术方案如下所述:
一种适用于多核处理器的片上负载性能优化装置,包括片上系统的硬件监控模块、性能优化模块和软件配置接口,所述片上系统的硬件监控模块包括分布式的处理器核状态监控模块和分布式的总线状态监控模块,分别用于芯片的利用率监控和总线的利用率监控,结合软件配置接口提供的调度算法的计算,通过性能优化模块,实现调度域的生成和更新。
所述分布式的处理器核状态监控模块,用于监控片上每个核的状态,内容包括程序运行时间、任务/线程的运行时间和休眠时间;所述分布式的总线状态监控模块,用于监控总线的状态,内容包括总线的带宽利用率、数据传输的延迟和总线网络各通路的拥塞信息。
所述软件配置接口包括输入条目模块,所述输入条目模块包括NUMA亲和性设置模块和和任务/进程特征设置模块,通过软件或固件根据任务需求设定NUMA亲和性设置,以及任务/进程特征设置。
所述NUMA亲和性设置模块具有两种模式:(1)Memory NUMA模式:不同CPU访问不同的内存模块的延迟和性能不同;(2)Device NUMA模式:不同的CPU访问不同的接口模块I/O的延迟和性能不同。
所述性能优化模块包括配置状态寄存器模块、任务优先级/权重表模块、内在核心优先级表模块和算法控制模块;所述配置状态寄存器模块用于记录处理器性能的差异信息、缺省的处理器选择限制信息和缺省的任务进程优先级/权重信息;所述任务优先级/权重表模块用于确定任务优先级表格;所述算法控制模块根据另外三个模块生成输出条目模块,生成输出条目模块,包括当前可用处理器核表和总线路由重构表。
所述软件配置接口包括输出条目模块,所述输出条目模块包括当前可用处理器核表和总线路由重构表;当前可用处理器核表是用于表示不同类别的当前核心有不同的优先级,同类别的当前核心也有不同的优先级;总线路由重构表是基于已有的数据传输情况下的总线拥塞情况,提供部分或者全部的路由重配置。
应用适用于多核处理器的片上负载性能优化装置的优化方法, 包括以下步骤:
S1:片上硬件监控的效率计算:
公式(1)
公式(2)
公式(1)用于计算处理器核的利用率Ucore,公式(2)用于计算总线的效率;其中:Ucore是处理器核的利用率,Cycle(Use)为处理器运行时间,Cycle(Idle)为线程间处理器空闲时间,Wcore为处理器固有权重,表示因制造原因导致的性能差异,Cbus为总线拥堵程度,RealCycle(Tenure)为数据传输的实际时间,PathCycle(Suppose)为架构确定的固有时间,Wpath为总线路径的权重,指路由path的固有优先级;
S2:调度算法的计算:根据软件或者固件的NUMA亲和性和任务/线程的优先级,以及步骤S1的片上硬件监控的效率计算,确定算法的权重加成;
S3:调度域优先级表的生成与更新:根据多核处理器的性能差异,和步骤S2的调度算法的权重加成,生成能够调度的处理器核域组合,以及不同域里的处理器核的权重表,以及总线的路由重构权重表。
多核处理器的复杂性能优化,包括两种方式:(1)硬件方式,通过硬件性能优化模块直接控制处理器核重配置寄存器模块,禁用某处理器核;控制总线路由配置寄存器模块,改变总线路由方式或路径图;(2)软件方式,OS操作系统和固件基于当前可用处理器表和总线路由重构表,实时调整负载均衡调度的算法及其参数、NUMA亲和性设置、时间片的动态调整。
根据实时监控的数据,由硬件自动变更调度方法和固定时间片的大小,或者通过更新的可用处理器表和总线路由重构表,由软件/固件来实时调整。
所述适用于多核处理器的片上负载性能优化装置,是能应用在多核处理器的片上负载性能优化方案,针对片上的实时状态,提供当前可用的多核的优先级表以及总线路由重构表,通过硬件的重构方式或者提供当前核芯优先级表以及总线路由重构表,给固件或者软件调度做参考的负载均衡方案,有效提升多核处理器的性能效率。
附图说明
图1是所述单队列多处理器调度SQMS的调度原理示意图;
图2是所述单队列多处理器调度SQMS的调度缺陷示意图;
图3是所述多队列多处理器调度MQMS的调度原理示意图;
图4是所述多队列多处理器调度MQMS的负载不均的示意图;
图5是所述多队列多处理器调度MQMS的负载不均严重的示意图;
图6是所述Linux系统常用的完全公平调度CFS示意图;
图7是所述Linux系统常用的完全公平调度CFS调度图;
图8是所述适用于多核处理器的片上负载性能优化装置的结构示意图;
图9是所述适用于多核处理器的片上负载性能优化方法的流程示意图;
图10是实施例一的结构示意图;
图11是实施例二的结构示意图。
具体实施方式
本发明在通用处理器芯片设计中,以硬件资源实现的多核结构的负载均衡或性能优化的方案,通过对核心的性能状态以及片上总线的性能状态,配合软件和固件的NUMA(Non Uniform Memory Architecture :中文为非统一内存访问架构) Affinity(亲和性)非统一内存访问架构亲和性设置,或任务线程特性设置,确定核心性能优先级并提供当前可用核心Core表和片上总线NoC路由方案,提升和优化多核处理器的负载均衡和性能。
如图8所示,所述适用于多核处理器的片上负载性能优化装置(HPO:HardwarePerformance Optimizer),包括片上系统的硬件监控模块、性能优化模块和软件配置接口,所述片上系统的硬件监控模块包括处理器核状态监控模块和总线状态监控模块,分别用于芯片的利用率监控和总线的利用率监控,结合软件配置接口提供的调度算法的计算,通过性能优化模块,实现调度域的生成和更新。
下面是各个模块的描述:
1、片上系统的硬件监控模块(HMU:Hardware Monitor Unit),由处理器核状态监控模块(CoreStatus Monitor)和总线状态监控(Bus Status Monitor)模块组成,每个模块都是分布式的。
1.1分布式的处理器核状态监控模块(Core Status Monitor),用于监控片上每个核的状态,所述状态内容包括:
1)程序运行时间,包括读写指令、计算指令、特殊指令(原子操作/休眠指令)等;
2)通过设定指令来记录任务/线程的运行时间和休眠时间等信息;
3)利用系统计时器或专用计时器。
1.2 分布式的总线状态监控模块(Bus Status Monitor),监控总线的状态,所述状态内容包括:
1)总线的带宽利用率;
2)数据传输的延迟等信息;
3)总线网络各通路的拥塞(Congestion)信息。
2、软件配置接口(SCI:Software Configure Interface)模块,包括输入条目模块(IEU:Input Entry Unit)和输出条目模块(OEU:Output Entry Unit)。
输入条目模块IEU,包括NUMA亲和性设置模块(NUMA/Affinity Setting)和任务/进程特征设置模块(Task/Thread Feature Setting),通过软件或固件根据任务需求设定NUMA Affinity亲和性设置,以及任务/进程特征设置。
输出条目模块OEU,包括当前可用处理器核表和总线路由重构表两部分组成,具体见3.4部分描述。
2.1亲和模式和NUMA(非一致性内存访问:Non Uniform Memory Access)架构直接相关,包括如下模式:
1)Memory NUMA模式:不同CPU访问不同的内存模块的延迟和性能是不同的。
2)Device NUMA模式:不同的CPU访问不同的接口模块I/O的延迟和性能是不同的。
2.2任务/进程特征设置:
1)计算密集型进程:进程大部分时间用来执行代码上,除非被抢占。
2)I/O密集型进程:进程大部分时间用来提交I/O请求和等待I/O请求,CPU运行时间较短。
3)混合型进程:进程既有I/O需求也有CPU计算需求,比例有所不同。
3、性能优化模块(POU:Performance Optimizar Unit)由配置状态寄存器模块(Configure andStatus Register)、任务优先级/权重表模块(task Priority/Weighttable)、内在核心优先级表(Essential Core Priority table)和算法控制模块(Algorithem/Control Unit)四部分构成。
3.1配置状态寄存器模块(Configure and Status Register):
1)记录芯片制造的良率导致的缺陷、speed binning运行速度筛选和老化问题带来的处理器性能的差异信息,例如缺陷的核心限制使用,运行速度快的核心优先使用,老化的核心优先级降低等。
2)缺省的处理器选择限制信息,例如限制使用某几个核或者某个NUMA节点的核心。
3)缺省的任务进程优先级/权重信息等。
3.2 任务优先级/权重表模块(task Priority/Weight table):
1)由算法控制模块根据缺省的任务进程优先级/权重信息和IOU的任务/进程特征设置,确定任务优先级表格。
2)权重可以设置。
3.3 内在核心优先级表(Essential Core Priority table):
1)不同类别的核心有不同的优先级表,例如Core,DSP,硬件加速器模块等。
2)同类别的核心也有不同的优先级表,例如因为架构的物理位置、老化、故障、温度升高/降低导致的性能变化。
3.4 算法控制模块(Algorithem/Control Unit),根据POU其他三个模块的信息,以及尽量减少进程迁移(上下文切换)的原则,生成输出条目模块OEU,包括当前可用处理器核表和总线路由重构表两部分,并通过硬件控制模块控制OEU模块里的当前可用处理器核表和总线路由重构表。
1)当前可用处理器核表(Core table):不同类别的当前核心有不同的优先级,同类别的当前核心也有不同的优先级。
2)总线路由重构表(Bus rounte table of reconfiguration):基于已有的数据传输情况下的总线拥塞情况,提供部分或者全部的路由重配置。
如图9所示,所述适用于多核处理器的片上负载性能优化装置的运行,包括以下步骤:
S1:片上硬件监控的效率计算:
片上处理器资源利用率监控,根据公式(1)计算处理器核的利用率Ucore和公式(2)计算总线的效率。公式(1)中Ucore是处理器核的利用率,Cycle(Use)为处理器运行时间,Cycle(Idle)为线程间处理器空闲时间,Wcore为处理器固有权重,表示因制造原因导致的性能差异。公式(2)中的Cbus为总线拥堵程度,RealCycle(Tenure)为数据传输的实际时间,PathCycle(Suppose)为架构确定的固有时间,Wpath为总线路径的权重,一般指路由path的固有优先级。
公式(1)
公式(2)
S2:调度算法的计算:
根据软件或者固件的NUMA亲和性和任务/线程的优先级,以及步骤S1的片上硬件监控的效率计算,确定算法的权重加成。如下面实施例中的x10,x100这样的权重系数,这样可以区分不同处理器核,以及不同路由的倾向性,增加控制灵活度。
S3:调度域优先级表的生成与更新:
根据多核处理器的性能差异,和步骤S2的调度算法的权重加成,生成可以调度的处理器核域组合,以及不同域里的处理器核的权重表,以及总线的路由重构权重表。
本发明根据上述的调度算法的计算和调度域的生成和更新,对多核处理器的复杂性能进行优化,从而提高系统效率,有两种方式:
一、硬件方式,硬件性能优化模块直接控制图8的最右侧的第一个虚线框的处理器重构逻辑模块,通过处理器核的使能控制信号,禁用某处理器核;控制图8的最右侧的第一个虚线框的总线路由重构逻辑模块,通过总线路由算法的配置寄存器,(在合适的时间)改变总线路由方式或路径图。
二、软件方式,OS操作系统和固件可以基于上述的当前可用处理器表和总线路由重构表,实时调整负载均衡调度的算法及其参数、NUMA Affinity亲和性设置、时间片的动态调整等设置,提高性能效率。背景技术中提到的软件预先不知道,是指软件只能根据预估或者经验来设置调度方法,只能在运行一段时间或者运行完后,重启或者运行下一个任务的时候调整,无法实时调整。本发明因为可以实时监控处理器核和总线的状态,硬件能够实时选择调度方案和时间片设定。比如一个任务时间太长,挡住了其他任务,那么时间片就可以调小。
进一步的,本发明的另一个优点是,可以根据实时监控的数据,由硬件自动变更调度方法和固定时间片的大小,也可以通过更新的可用处理器表和总线路由重构表,由软件/固件来实时调整。比之前方案更加灵活,实时性高。
下面介绍几个本发明的实例:
实例一如图10所示,从架构可知,可以分为2个NUMA节点(Node),上面的NUMA 节点1和下面的NUMA 节点2。如果是访存密集型的任务/线程,优先分配到节点1的高性能 CPU0和CPU1上性能比较高;如果是I/O密集型的任务/线程,优先分配到节点(Node)2的高性能(big)CPU2/3,性能比较高。但软件/固件通常不会区分NUMA节点内的相同处理器核。本发明通过HPO模块生成类似下面的当前可用处理器表和总线路由表。
实例二如图11所示,可以看出可以分为四个NUMA 节点,每个节点都有内存控制器和I/O高速接口模块。其中,Bus Switch是总线路由器或总线路由器开关。在NUMA节点3的4个SMP处理器核中,当前可用处理器表里的优先级排序为:对于访存密集型的任务/线程,C34和内存控制器物理距离更近;C34的优先级应该最高,C32和C33优先级其次;C31的优先级最低。在NUMA节点3的Mesh总线中,总线的路由路径选择为:C33的路径优先为X方向优先于Y方向;C31的路径优先X后Y再X方向。(避免所有数据传输都走最外围路径,也就是红色路径)。
本发明具有以下特点:
1)该方案适用包括但不局限于片上多核系统,如对称多处理器SMP结构、异构多处理器结构(big.LITTLE)、异构计算结构(如CPU+FPGA或CPU + Accelerator等)、NUMA结构、多芯粒chiplet结构和多socket机构等。
2)该方案与目前主流的OS或者Firmware负载均衡方案可以兼容,使得软件(部分)摆脱对于通用处理器芯片设计架构的依赖,适用包括但不局限于处理器NUMA(Sub-NUMA)结构的亲和性依赖和片上网络NoC的路由优化依赖。对于异构多核和异构计算、以及多Die,多Socket结构也有很好的效果。
3)该方案适用包括但不局限于先进制造工艺造成的核心Core或者路由造成的缺陷,以及因为老化原因造成的核心Core的性能损失,以及因为工作稳定升高或者降低造成的核心Core的性能影响。
4)片上的硬件监控模块中的处理器Core状态监控单元,包括且不局限于片式同构/异构处理器核,片上DMA,片上硬件加速模块,DSP模块,加解密模块,以及跨芯粒(Cross-Die)/跨芯片(Cross-Socket)的异构计算单元等。
5)片上的硬件监控模块中的总线NoC状态监控单元,包括且不局限于片上Cross-bar, 2D-Ring/Mesh, 3D-Torus等拓扑结构,D2D接口,CXL/PCIe接口等,且因为不通的拓扑结构是分布式的总线NoC监控器。
6)片上SCI模块的NUMA亲和性设置,包括且不限于Memory NUMA亲和性、DeviceNUMA亲和性、DMA亲和性、中断或控制模块亲和性。
7)任务的优先级/权重表,包括且不局限于单一优先级/权重表,任务类型分类的多优先级/权重表。如计算密集型任务、访问密集型任务、I/O密集型任务及混合型任务。
8)性能优化模块,包括硬件算法,也可以片上MCU控制。其中算法包括且不限于轮询调度(Round Robin),带权重的轮询算法等。
9)输出条目模块的表中数字代表优先级,相同数字的优先级相同,包含且不局限于随机选择或者采用轮询调度等方式。
本发明具有以下有益效果:
1)以硬件资源实现性能调度方案,兼容软件的原有调度方案,对多核处理器的负载性能提供优化,比通常的软件负载均衡方法,可以显著提升多核处理器的性能效率。
2)可扩展性好,适用于多种多核处理器的结构,包括SMP,异构多核,异构计算,跨Die和跨Socket多种架构;兼容性好,也兼容软件负载均衡的方案。
3)考虑到了SMP或NUMA节点中相同处理器核的性能差异,之前的负载调度和性能优化都没有考虑到这个问题。
Claims (6)
1.一种适用于多核处理器的片上负载性能优化装置,其特征在于:包括片上系统的硬件监控模块、性能优化模块和软件配置接口,所述片上系统的硬件监控模块包括分布式的处理器核状态监控模块和分布式的总线状态监控模块,分别用于芯片的利用率监控和总线的利用率监控,结合软件配置接口提供的调度算法的计算,通过性能优化模块,实现调度域的生成和更新;
所述软件配置接口包括输入条目模块,所述输入条目模块包括NUMA亲和性设置模块和和任务/进程特征设置模块,通过软件或固件根据任务需求设定NUMA亲和性设置,以及任务/进程特征设置;
所述性能优化模块包括配置状态寄存器模块、任务优先级/权重表模块、内在核心优先级表模块和算法控制模块;所述配置状态寄存器模块用于记录处理器性能的差异信息、缺省的处理器选择限制信息和缺省的任务进程优先级/权重信息;所述任务优先级/权重表模块用于确定任务优先级表格;所述算法控制模块根据另外三个模块生成输出条目模块,生成输出条目模块,包括当前可用处理器核表和总线路由重构表;
应用适用于多核处理器的片上负载性能优化装置的优化方法, 包括以下步骤:
S1:片上硬件监控的效率计算:
公式(1)
公式(2)
公式(1)用于计算处理器核的利用率Ucore,公式(2)用于计算总线的效率;其中:Ucore是处理器核的利用率,Cycle(Use)为处理器运行时间,Cycle(Idle)为线程间处理器空闲时间,Wcore为处理器固有权重,表示因制造原因导致的性能差异,Cbus为总线拥堵程度,RealCycle(Tenure)为数据传输的实际时间,PathCycle(Suppose)为架构确定的固有时间,Wpath为总线路径的权重,指路由path的固有优先级;
S2:调度算法的计算:根据软件或者固件的NUMA亲和性和任务/线程的优先级,以及步骤S1的片上硬件监控的效率计算,确定算法的权重加成;
S3:调度域优先级表的生成与更新:根据多核处理器的性能差异,和步骤S2的调度算法的权重加成,生成能够调度的处理器核域组合,以及不同域里的处理器核的权重表,以及总线的路由重构权重表。
2.根据权利要求1所述的适用于多核处理器的片上负载性能优化装置,其特征在于:所述分布式的处理器核状态监控模块,用于监控片上每个核的状态,内容包括程序运行时间、任务/线程的运行时间和休眠时间;所述分布式的总线状态监控模块,用于监控总线的状态,内容包括总线的带宽利用率、数据传输的延迟和总线网络各通路的拥塞信息。
3.根据权利要求1所述的适用于多核处理器的片上负载性能优化装置,其特征在于:所述NUMA亲和性设置模块具有两种模式:(1)Memory NUMA模式:不同CPU访问不同的内存模块的延迟和性能不同;(2)Device NUMA模式:不同的CPU访问不同的接口模块I/O的延迟和性能不同。
4.根据权利要求1或3任一所述的适用于多核处理器的片上负载性能优化装置,其特征在于:所述软件配置接口包括输出条目模块,所述输出条目模块包括当前可用处理器核表和总线路由重构表;当前可用处理器核表是用于表示不同类别的当前核心有不同的优先级,同类别的当前核心也有不同的优先级;总线路由重构表是基于已有的数据传输情况下的总线拥塞情况,提供部分或者全部的路由重配置。
5.根据权利要求3所述的适用于多核处理器的片上负载性能优化装置,其特征在于:多核处理器的复杂性能优化,包括两种方式:(1)硬件方式,通过硬件性能优化模块直接控制处理器核重配置寄存器模块,禁用某处理器核;控制总线路由配置寄存器模块,改变总线路由方式或路径图;(2)软件方式,OS操作系统和固件基于当前可用处理器表和总线路由重构表,实时调整负载均衡调度的算法及其参数、NUMA亲和性设置、时间片的动态调整。
6.根据权利要求5所述的适用于多核处理器的片上负载性能优化装置,其特征在于:根据实时监控的数据,由硬件自动变更调度方法和固定时间片的大小,或者通过更新的可用处理器表和总线路由重构表,由软件/固件来实时调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469538.2A CN117215801B (zh) | 2023-11-07 | 2023-11-07 | 一种适用于多核处理器的片上负载性能优化装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311469538.2A CN117215801B (zh) | 2023-11-07 | 2023-11-07 | 一种适用于多核处理器的片上负载性能优化装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215801A CN117215801A (zh) | 2023-12-12 |
CN117215801B true CN117215801B (zh) | 2024-01-23 |
Family
ID=89049614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311469538.2A Active CN117215801B (zh) | 2023-11-07 | 2023-11-07 | 一种适用于多核处理器的片上负载性能优化装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215801B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117692535B (zh) * | 2024-02-04 | 2024-04-23 | 北京数渡信息科技有限公司 | 一种PCIe协议报文保序装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008148625A1 (en) * | 2007-06-05 | 2008-12-11 | Siemens Aktiengesellschaft | Method and device for scheduling a predictable operation of an algorithm on a multi-core processor |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104679593A (zh) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | 一种基于smp系统的任务调度优化方法 |
CN115576664A (zh) * | 2022-09-05 | 2023-01-06 | 山东大学 | 一种基于性能监测机制的多核处理器任务迁移和功耗调整方法及架构 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR102641520B1 (ko) * | 2018-11-09 | 2024-02-28 | 삼성전자주식회사 | 멀티-코어 프로세서를 포함하는 시스템 온 칩 및 그것의 태스크 스케줄링 방법 |
-
2023
- 2023-11-07 CN CN202311469538.2A patent/CN117215801B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008148625A1 (en) * | 2007-06-05 | 2008-12-11 | Siemens Aktiengesellschaft | Method and device for scheduling a predictable operation of an algorithm on a multi-core processor |
CN104021042A (zh) * | 2014-06-18 | 2014-09-03 | 哈尔滨工业大学 | 基于arm、dsp及fpga的异构多核处理器及任务调度方法 |
CN104679593A (zh) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | 一种基于smp系统的任务调度优化方法 |
CN115576664A (zh) * | 2022-09-05 | 2023-01-06 | 山东大学 | 一种基于性能监测机制的多核处理器任务迁移和功耗调整方法及架构 |
Non-Patent Citations (1)
Title |
---|
性能非对称多核处理器下异构感知调度技术;赵姗;杨秋松;李明树;;软件学报(04);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117215801A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11042382B2 (en) | Apparatus, systems, and methods for providing computational imaging pipeline | |
CN117215801B (zh) | 一种适用于多核处理器的片上负载性能优化装置 | |
US5745778A (en) | Apparatus and method for improved CPU affinity in a multiprocessor system | |
US7769936B2 (en) | Data processing apparatus and method for arbitrating between messages routed over a communication channel | |
EP2430541B1 (en) | Power management in a multi-processor computer system | |
WO2022028061A1 (zh) | 一种基于侦测调节模块的gpu管理装置、方法及gpu服务器 | |
US20150205642A1 (en) | Method and Apparatus for Determining To-Be-Migrated Task Based on Cache Awareness | |
JPH09269903A (ja) | プロセス管理方式 | |
EP1715405A1 (en) | Processing method, system and computer program product for dynamic allocation of processing tasks in a multiprocessor cluster platforms with power adjustment | |
JPH0640324B2 (ja) | マルチプロセッサ・システムおよびそのプロセス同期方法 | |
JP4457047B2 (ja) | マルチプロセッサシステム | |
US8892819B2 (en) | Multi-core system and external input/output bus control method | |
CN111190735B (zh) | 一种基于Linux的片上CPU/GPU流水化计算方法及计算机系统 | |
JP6955163B2 (ja) | 情報処理装置、情報処理方法及びプログラム | |
Wulf | Performance monitors for multi-programming systems | |
US11954518B2 (en) | User-defined metered priority queues | |
US11526767B2 (en) | Processor system and method for increasing data-transfer bandwidth during execution of a scheduled parallel process | |
Bitalebi et al. | Criticality-aware priority to accelerate GPU memory access | |
JPH10240698A (ja) | 高負荷ジョブ負荷分散方式 | |
WO2019153684A1 (zh) | 一种低延迟指令调度器的自动管理方法 | |
JPH07141302A (ja) | 並列計算機における負荷分散方法 | |
Fang et al. | Scheduling resources to multiple pipelines of one query in a main memory database cluster | |
Singla et al. | Task Scheduling Algorithms for Grid Computing with Static Jobs: A Review | |
TWI821038B (zh) | 運算工作分派方法及應用其之終端電子裝置與運算系統 | |
Gémieux et al. | A cache-coherent heterogeneous architecture for low latency real time applications |
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 |