CN1985242A - 确定同时多线程(smt)处理器中每线程处理器资源利用的核算方法和逻辑 - Google Patents
确定同时多线程(smt)处理器中每线程处理器资源利用的核算方法和逻辑 Download PDFInfo
- Publication number
- CN1985242A CN1985242A CNA2004800016428A CN200480001642A CN1985242A CN 1985242 A CN1985242 A CN 1985242A CN A2004800016428 A CNA2004800016428 A CN A2004800016428A CN 200480001642 A CN200480001642 A CN 200480001642A CN 1985242 A CN1985242 A CN 1985242A
- Authority
- CN
- China
- Prior art keywords
- processor
- thread
- threads
- resource
- specific period
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 25
- 230000000737 periodic effect Effects 0.000 claims description 12
- 230000004044 response Effects 0.000 claims description 8
- 230000007246 mechanism Effects 0.000 abstract description 3
- 238000007792 addition Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000013461 design Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 244000287680 Garcinia dulcis Species 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000005070 sampling Methods 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000012827 research and development Methods 0.000 description 1
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/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline, look ahead
- G06F9/3836—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution
- G06F9/3851—Instruction issuing, e.g. dynamic instruction scheduling or out of order instruction execution from multiple instruction streams, e.g. multistreaming
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
- G06F11/3419—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment by assessing time
-
- 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]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3466—Performance evaluation by tracing or monitoring
- G06F11/348—Circuit details, i.e. tracer hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/88—Monitoring involving counting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/885—Monitoring specific for caches
Abstract
用于确定同时多线程(SMT)处理器中的每线程处理器资源利用的核算方法和逻辑提供了用于核算程序和程序内的线程的处理器资源利用的机制。通过检测针对处理器内活跃的多个线程的指令分派来确定相对资源利用,所述多个线程可能包含仍然占用处理器资源的空闲线程。如果针对所有线程分派指令或没有对线程分派指令,则同样地对所有线程核算处理器周期。可选地,如果没有线程处于分派状态,则可以使用先前状态或根据线程的优先级的比值来进行核算。如果只有一个线程正进行分派,则对该线程核算上整个处理器周期。如果多个线程正进行分派,但并不是所有线程正进行分派(在支持2个以上线程的处理器中),则将处理器周期平均记帐到进行分派的线程上。可以针对线程检测多个分派,并且可以根据其分数利用更新针对每个线程确定的分数资源利用和计数器。
Description
技术领域
本发明涉及处理器和计算机系统,尤其涉及同时多线程(SMT)处理器。本发明也涉及处理器利用核算系统。
背景技术
今天的高速处理器包含同时执行指令,推测执行和加载指令,以及同时操作处理器内的各种资源的能力。具体地,已经发现最好是管理处理器内一或多个线程的执行,使得不止一个执行线程可以利用处理器,并且与通常由单线程利用资源的情况相比,更加有效地利用资源。
现有的处理器设计解决了通过从一个线程的执行到另一个线程的执行的硬件状态切换来管理多个线程的问题。这种处理器被称作硬件多线程(HMT)处理器,并且其能够提供一个或其它线程的执行之间的硬件切换。HMT处理器通过允许硬件切换执行到另一个线程克服了等待停止线程的限制。通过在每个线程遇到例如高速缓存命中失误的停止条件时为另一个线程分配执行时间片,能够非同时地进行两个线程的执行。
由于多个线程可以同时利用处理器资源,同时多线程(SMT)处理器提供了对处理器资源的更加高效的利用。在SMT处理器中并行执行多个线程,使得多个处理器执行单元,例如浮点单元,定点指令单元,加载/存储单元和其它单元能够同时执行多个线程中的一个(或更多,取决于执行单元的能力)的任务。也可以逐个线程地分配存储器和寄存器资源,使得避免HMT的完全内部状态切换。
当例如某些处理器运行被用于研究和开发活动并且这些活动允许以不同方式为税务目的而不是其它用途将硬件转化为资本时,对处理器时间利用的核算对于计算机服务销售的管理以及内部成本核算管理是需要的。服务器和处理器时间可以″按需″或按使用分别划分和告知给多个用户。另外,处理器时间可以被硬件所有者或出租人使用,以及转包给为服务付费的实体。因此,处理器执行时间的精确核算在计算机体系结构和软件模型中是必要的。并且,处理器时间利用,尤其是逐个线程的处理器时间利用被用于形成程序分布以进行优化。
在单线程处理系统中,核算通常是直接的。可以为完整任务运行提供处理器周期利用的计数,或甚至简单的″挂钟″时间测量,因为即使执行多个程序内的多个线程,然而它们不被同时执行,而是顺序执行。维护周期时间的记录,直到任务完成,并且为核算目的提供合计。测量的时间直接与处理器资源利用相关。
在HMT机器中,任务的类似之处在于,在处理器硬件内,每次只执行一个线程,并且多个计数器被用来跟踪每个线程的处理器时间利用,同时,只运行其相关线程为活跃的计数器。然而在SMT处理器中,两个或更多线程可能同时在单处理器内核内执行,并且通过简单的执行计数或时间测量不能容易地确定每个线程对资源的利用。
因此期望提供一种能够核算SMT处理器中的处理器时间利用的方法和设备。还期望提供一种核算这种处理器内执行的线程中的SMT处理器利用内的资源利用的方法。
发明内容
通过具有处理器利用计数器的处理器和用于核算处理器时间利用的方法来实现核算同时多线程(SMT)处理器内的处理器时间利用的目的。
处理器引入多个处理器利用周期计数器,处理器内执行的每个线程都有一个处理器利用周期计数器与之相关,以提供对应于每个线程的处理器资源利用的计数。相对资源利用是逐个线程的检测,并且被用来更新周期计数器。通过检测指示线程的活跃指令处理的特定周期状态的存在,可以进行资源利用检测。通过可以在每个时钟周期进行的周期性采样来检测周期状态,并且根据检测的周期状态递增(或可选地,递减)计数器。检测的状态被选择为指示每个线程的相对处理器资源利用。
检测的周期状态可以是针对线程的指令分派。没有线程处于特定周期状态的周期可以由每个线程平均负担,或者可以根据所有线程的最近分派状态来负担该周期。可选地,可以根据提供相对线程资源利用的指示的排序线程优先级来负担非指示周期。其中一个线程处于特定周期状态并且另一个线程不处于特定周期状态的周期可以完全由处于特定周期状态的线程负担,从而规定活跃线程优先于空闲线程负担费用。并且,可以根据指示每个线程在指定周期中的使用的资源数量的分数值来负担周期。
处理器可以能够处于SMT和单线程(ST)操作模式,并且核算可以有选择地响应选定模式,从而由执行于ST模式的单线程负担所有周期。
通过以下如附图所示的更加具体的关于本发明优选实施例的说明,可以理解本发明的上述和其它目的,特征和优点。
附图说明
在所附权利要求书中提出了被认为是本发明的特征的新颖特性。然而参照下列结合附图对图解实施例进行的详细描述可以更好地理解本发明自身,最优使用模式,其它目的和优点,其中类似附图标记指示类似的部分,并且:
图1是根据本发明的一个实施例的系统的模块图。
图2是根据本发明的一个实施例的处理器内核的模块图。
图3是图2的处理器内核10内的功能单元的细节的模块图。
图4是描述根据本发明实施例的方法的流程图。
具体实施方式
参照附图并且具体参照图1,其中描述了一个基于本发明最优实施例的系统的模块图。系统包含处理器组5,处理器组5可以通过桥接器37连接到其它处理器组以形成超标量处理器。处理器组5连接到L3高速缓存单元36,系统局部存储器38和各种外设34,以及2个服务处理器34A和34B。服务处理器提供故障监视,启动支持和测试能力给处理器组5,并且可以具有其自身的到其它处理器组以及连接所有处理器30A-D的互连路径。
处理器组5内是多个处理器30A-D,其通常制造在单个单元中,并且包含连接到L2高速缓存32和存储器控制器4的多个处理器内核10A和10B。内核10A和10B为通用处理功能提供指令执行和数据值的操作。桥接器37以及系统内的其它桥接器提供宽总线上与其它处理器组的通信,并且总线35提供处理器30A-D,桥接器37,外设34,L3高速缓存36和系统局部存储器38的连接。其它全局系统存储器可以外部连接到桥接器37以便由所有处理器组对称访问。
处理器内核10A和10B是能够并行执行多个线程的同时多线程(SMT)处理器。处理器内核10A和10B还支持单线程操作模式,以便在程序执行条件规定单线程操作时,例如当必须在已知时间前完成高优先级程序执行时,或当多线程处理器中的一个线程已知为空闲时,高效地执行单线程。与单线程的全时执行相比,多线程引入某些低效率因素,而是总体上存在系统效率优势,因为线程经常因等待其它任务完成而空闲。因此,单线程和多线程模式之间的转变提供了适应一或多个上述条件方面的优势,并且本发明的实施例以和提供响应这种转变的处理器时间核算的处理器相符合的方式提供处理器时间核算。
现在参照图2,描述具有与处理器内核10A和10B相同的特征的处理器内核10的细节。总线接口单元23将处理器内核10连接到其它SMT处理器和外设,并且连接用于存储数据值的L1 Dcache 22,用于存储程序指令的L1 Icache 20,和高速缓存接口单元21到外部存储器,处理器和其它设备。L1 Icache 20结合指令获取单元IFU 16提供指令流的加载,指令获取单元IFU 16预取指令,并且可以包含推测加载和分支预测能力。指令定序器单元(ISU)12控制提交到例如执行通用操作的定点单元(FXU)14和执行浮点操作的浮点单元(FPU)15的各种内部单元的指令的顺序。全局完成表(GCT)13通过标签跟踪ISU 12提交的指令,直到该指令寻的的具体执行单元指示指令已经完成执行。
定点单元14和浮点单元15被连接到各种资源,例如通用寄存器(GPR)18A,浮点寄存器(FPR)18B,条件寄存器(CR)18C,重命名缓冲区18D,计数寄存器/链接寄存器(CTR/LR)18E和异常寄存器(XER)18F。GPR 18A和FPR 18B对加载存储单元(LSU)19从L1Dcache 22加载和存储的数据值提供数据值存储。CR 18C存储条件分支信息,重命名缓冲区18D(可以包括与各个内部执行单元相关的若干重命名单元)为执行单元提供操作数和结果存储。XER 18F存储分支和定点异常信息,CTR/LR 18E存储程序分支执行的分支链接信息和计数信息。GPR 18A,FPR 18B,CR 18C,重命名缓冲区18D,CTR/LR18E和XER 18F是包含某些固定(经结构设计)的寄存器的资源,这些寄存器存储程序执行期间的信息,并且必须被提供为针对每个执行线程的固定设置,上述资源内的其它非结构设计寄存器是空闲的,以用于重命名用途。控制逻辑11被连接到处理器内核10内的各个执行单元和资源,并且被用来提供对执行单元和资源的全面控制。SCOM/XSCOM接口单元25提供到外部服务处理器34A-B的连接。
现在参照图3描述处理器内核10内的功能模块的细节。ISU 12指示控制逻辑11何时针对用处理器内核10执行的具体线程分派指令。控制逻辑11根据ISU 12在分派检测电路44所检测的指定周期内是否为与指定计数器相关的线程(针对半周期计数器42A的线程0和针对半周期计数器42B的线程1)分派了指令,有选择地更新半周期计数器42A和42B。半周期计数器42A和42B的输出被连接到时基周期计数器47的锁存器43A和43B锁存。在时基周期计数器47的每个第8处理器周期上,提供锁存器43A和43B的输出以递增线程利用计数器41A和/或41B,从而每8个处理器周期(时基周期计数器47活跃)提供线程利用计数器41A和/或41B的更新(将排除其中时基不活跃的特殊操作由活跃线程来负担的情况)。在递增之后,时基周期计数器47复位锁存器43A和43B。上述动作在线程利用计数器41A和/或41B的输出处提供作为处理器的时基计数器的分数的计数,并且能够被直接用于按照″利用时间″值计算机相对线程资源利用。
根据本发明的可选实施例,控制逻辑11和ISU 12(或处理器内核10内的其它执行单元)能够利用其它具体周期状态在每个周期中触发半周期计数器42A和/或42B的更新,而是在本发明的示例性说明中,选择指令分派,因为指令分派提供测量使用处理器内核10的每个处理活动的开始,而不是这种活动的进度或完成(取决于代码效率)的机制。例如,低效编码的程序可能产生许多不正确的分支预测和相应的预取和刷新,从而用掉关键处理器资源并且产生较少的完成。因此,利用指令完成而不是指令分派会产生对执行低效代码的线程的较低处理器时间利用测量。因此,将指令分派用作更新半周期计数器41A和41B的特定触发器事件提供了没有″报答″低效代码的处理器资源利用估计。
虽然现有核算模型已经能够基本上为特定线程分配所有处理器内核10时间,然而由于在指定处理器中缺乏线程的同时执行,在SMT处理器中,逐个线程的处理器时间利用的″记帐″必须被分布在可以同时执行于处理器内核10内的两个或更多线程上。当ISU 12不针对使用处理器内核10的任何线程分派指令时,仍然有必要核算所有线程对处理器内核10的利用。线程可能没有开始分派指令的形式的新工作,但是仍然″占用″处理器内核10,或可能在不同于指令分派的执行阶段活跃。例如,一个线程可能正导致长的预取序列,而另一个线程可能正执行冗长的浮点操作。根据上述例子,处理器资源和执行单元正被两个线程主动利用,同时只有少量指令完成会与处理区间相关。对完成是优选的另一个特定指令状态是指令获取,它会提供类似于指令分派的指示,但是提供更加偏向IFU 16和L1 Icache 20利用的利用计数,而不是包含FXU 14,FPU 15及其相关资源的执行单元利用。
因此,这里描述的示例性实施例提供了即使在指定周期没有出现分派(或在可选实施例中,由控制逻辑11检测的其它特定周期状态或资源利用)时,仍然能够根据执行单元和资源利用估计核算所有处理器内核10周期的机制。在没有出现针对任何线程的指令分派的周期中,以针对处理器内核10内执行的每个线程(包含尚未从处理器内核10中卸载并且仍然占用处理器资源的空闲线程)均分周期值的方式核算周期。但是,在控制逻辑11的可选实施例或可选行为中,控制逻辑11可以记忆最近分派状态,并且可以用此更新半周期计数器42A和/或42B。另一个可选方式是控制逻辑11利用处理器内核10中设置的相对线程优先级分数分割用来更新半周期计数器42A和/或42B的时钟周期值,以便适当分配其中没有出现针对任何线程的分派的周期。
类似地,当在指定周期针对不止一个线程分派指令时,以针对被分派指令的每个线程均分周期值的方式核算周期。或者再次地,控制逻辑11可以利用处理器内核10中设置的相对线程优先级分数分割用来更新半周期计数器42A和/或42B的时钟周期值,可以便适当分配其中没有出现针对任何线程的分派的周期。
因此,在均分方法(不是前面作为可选方式列出的优先级或先前周期模式)中,在支持一个或2个线程的执行的处理器内核中,对于其中没有出现分派的周期,或其中出现针对每个线程的指令分派的周期,对每个线程核算1/2值。在只出现针对一个线程的指令分派的周期中,将整个周期记帐到出现针对其的指令分派的线程上。控制逻辑11检测以下4个潜在状态之一:没有线程分派,线程0分派,线程1分派,或两个线程均分派,并且根据上述周期记帐分布更新线程0半周期计数器42A和线程0半周期计数器42B。
由于上述最低分布值被用于1/2周期增量的分配,因此对于半周期用增量(或减量)1,或对于完全周期分配用增量(或减量)2更新半周期计数器42A和42B。实际上,用基于芯片面积,功率和定时原因的可能指令分派率的1/8(或由于因相同原因被选择为处理器周期时间的1/8的时基周期计数器47的速率)更新每个线程利用计数器41A和41B,所以不形成″经结构设计″的线程利用计数器的部分的4位半周期计数器42A和42B提供每次溢出的有效8周期利用计数(由于值2会被分配给半周期计数器42A和42B的总增量)。半周期计数器42A和42B溢出到当核算例程(程序)检索处理器周期时间利用信息时则定点单元14读取的线程利用计数器41A和41B的部分。半周期计数器42A和42B被实现为将完全周期分配的两个子计数(Sub-count)相加或将半周期分配的一个子计数相加的加法器。
在本发明的可选实施例中,处理器周期时间利用单元40使用加法递增(或使用减法递减)线程利用计数器41A和41B。由检测正对指定线程进行多个分派的分派检测电路44来确定相加的值,并且用一个值(已经相加其上)递增相关的子计数器,该值与周期针对该线程分派的指令的数量与针对所有线程分派的指令的总数的比值成比例。例如,当处理器内核10正执行2个线程并且在指定周期中针对第一线程分派3个指令并且针对第二线程分派一个指令时,值3/4被分配给第一线程的线程利用计数器,并且1/4被分配给第二线程的线程利用计数器。如果在指定周期没有进行分派,则仍然在线程之间平均分配该周期。
现在参照图4,在流程图中描述了根据本发明实施例的方法。所描述的方法用于具有SMT和ST模式、并且能够在SMT模式中同时执行多个线程的SMT处理器内的核算。如果处理器处于ST模式(判决50),则每个周期用1周期值更新针对执行线程的线程周期计数器(步骤51)。如果处理器处于SMT模式(判决50),并且如果只有一个线程正进行分派(判决52),则用1周期值更新相关线程周期计数器(步骤53)。如果所有线程正进行分派(判决54),则根据由线程数量确定的周期分数,或根据针对每个线程提交的分派的数量(或使用的资源),同等更新所有线程的线程周期计数器(步骤55)。如果没有线程进行分派,则能够同等地,或与最后分派采样成比例的,或与其优先级成比例地更新线程周期计数器(步骤57)。最终,如果没有线程进行分派,则能够同样地同等地,或与最后分派采样成比例的,或与其优先级成比例地更新线程周期计数器(步骤58)。
虽然前面已经具体参照本发明的优选实施例示出和描述了本发明,然而本领域的技术人员会理解,在不偏离本发明的实质和范围的前提下,可以在形式和细节方面进行上述和其它变化。
Claims (22)
1.一种核算处理器中的处理器时间利用的方法,包括:
以周期性间隔确定所述处理器内所有执行线程的相对资源利用;和
响应所述确定,根据所述相对资源利用更新多个处理器资源利用计数,其中每个所述计数均与多个线程中的特定一个相关。
2.如权利要求1所述的方法,其中所述周期性间隔是每个处理器时钟周期,并且所述确定确定每个线程是否处于特定周期状态。
3.如权利要求2所述的方法,其中所述确定还确定资源的数量,其中针对该资源的每个线程处于特定周期状态。
4.如权利要求3所述的方法,其中所述更新根据所述确定的由所述相关线程使用的资源的数量,分数更新所述多个所述处理器资源利用计数的每一个。
5.如权利要求2或3所述的方法,其中所述特定周期状态是指示针对线程的指令分派的状态。
6.如权利要求2到5中任何一个所述的方法,其中响应所述确定确定所述多个线程的一或多个处于所述特定周期状态,所述更新同等更新与所述一或多个线程相关的所述多个所述处理器资源利用计数中的每一个。
7.如权利要求2到6中任何一个所述的方法,其中响应所述确定确定所述多个线程中没有线程处于所述特定周期状态,所述更新同等更新所述多个所述处理器资源利用计数中的每一个。
8.如权利要求2到7中任何一个所述的方法,其中响应所述确定进一步确定所述多个线程中没有线程处于所述特定周期状态,所述更新根据由所述周期性间隔的先前一个间隔确定的所述相关线程使用的资源的数量,分数更新所述多个所述处理器资源利用计数中的每一个。
9.如权利要求2到8中任何一个所述的方法,其中响应所述确定确定所述多个线程中没有线程处于所述特定周期状态,所述更新根据所述相关线程的优先级分数更新所述处理器资源利用计数中的每一个。
10.如权利要求3到9中任何一个所述的方法,其中所述处理器具有单线程操作模式和多线程操作模式,并且该方法还包括:
确定所述处理器是否处于所述单线程模式;和
响应确定所述处理器处于所述单线程模式,执行所述更新,使得每个处理器周期归于所述处理器内执行的单线程。
11.一种支持多个线程的并行执行的处理器,所述处理器包括:
由所述多个线程使用的多个资源;
连接到所述多个资源的指令控制单元,其中所述指令控制单元以周期性间隔控制所述处理器使用的资源的数量;
多个处理器资源利用周期计数器,每个周期计数器均与所述多个线程中的特定一个相关;和
连接到所述指令控制单元和所述处理器资源利用周期计数器的逻辑电路,其中所述逻辑电路根据所述相关线程的相对资源利用的确定,更新所述处理器资源利用周期计数器中的每一个。
12.如权利要求11所述的处理器,其中所述周期性间隔是每个处理器时钟周期,并且所述逻辑电路确定每个线程是否处于特定周期状态。
13.如权利要求12所述的处理器,其中所述控制逻辑还确定资源的数量,其中针对该资源的每个线程处于特定周期状态。
14.如权利要求13所述的处理器,其中所述控制逻辑根据所述确定的所述相关线程使用的资源的数量,分数更新所述多个所述处理器资源利用计数中的每一个。
15.如权利要求12、13或14所述的处理器,其中所述特定周期状态是指示针对线程的指令分派的状态。
16.如权利要求12到15中任何一个所述的处理器,其中所述控制逻辑响应确定所述多个线程的一或多个处于所述特定周期状态,同等更新与所述一或多个线程相关的所述多个所述处理器资源利用计数中的每一个。
17.如权利要求12到16中任何一个所述的处理器,其中所述控制逻辑响应确定所述多个线程中没有线程处于所述特定周期状态,同等更新所述多个所述处理器资源利用计数中的每一个。
18.如权利要求12到17中任何一个所述的处理器,其中所述控制逻辑响应确定所述多个线程中没有线程处于所述特定周期状态,根据确定的在所述周期性间隔的先前一个间隔中所述相关线程使用的资源的数量,分数更新所述多个所述处理器资源利用计数中的每一个。
19.如权利要求12到18中任何一个所述的处理器,其中所述控制逻辑响应确定所述多个线程中没有线程处于所述特定周期状态,根据所述相关线程的优先级,分数更新所述多个所述处理器资源利用计数中的每一个。
20.如权利要求12到19中任何一个所述的处理器,其中所述处理器具有单线程操作模式和多线程操作模式,所述控制逻辑确定所述处理器是否处于所述单线程模式,并且响应确定所述处理器处于所述单线程模式,在每个周期更新与所述处理器内执行的单线程相关的所述处理器资源利用周期计数器。
21.一种支持多个线程的并行执行的处理器,所述处理器包括:
由所述多个线程使用的多个资源;
连接到所述多个资源的指令控制单元,其中所述指令控制单元在每个时钟周期控制处理器内指令的分派;
多个处理器资源利用周期计数器,每个周期计数器均与所述多个线程中的特定一个相关;和
连接到所述指令控制单元和所述处理器资源利用周期计数器的逻辑电路,其中所述逻辑电路在所述指令控制单元没有正针对所述线程分派指令或正针对所有所述线程分派指令的情况下,同等更新所述处理器资源利用周期计数器中的每一个,并且在所述指令控制单元正只针对第一线程分派指令的情况下,更新与所述第一线程相关的所述处理器资源利用周期计数器。
22.如权利要求21所述的处理器,其中所述处理器具有单线程操作模式和多线程操作模式,所述控制逻辑确定所述处理器是否处于所述单线程模式,并且响应确定所述处理器处于所述单线程模式,在每个周期更新与所述处理器内执行的单线程相关的所述处理器资源利用周期计数器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/422,025 | 2003-04-23 | ||
US10/422,025 US7657893B2 (en) | 2003-04-23 | 2003-04-23 | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1985242A true CN1985242A (zh) | 2007-06-20 |
CN100458727C CN100458727C (zh) | 2009-02-04 |
Family
ID=33298778
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2004800016428A Active CN100458727C (zh) | 2003-04-23 | 2004-04-14 | 同时多线程处理器内核及其核算处理器时间利用的方法 |
Country Status (14)
Country | Link |
---|---|
US (3) | US7657893B2 (zh) |
EP (1) | EP1616259B1 (zh) |
JP (1) | JP4536717B2 (zh) |
KR (1) | KR100754153B1 (zh) |
CN (1) | CN100458727C (zh) |
AT (1) | ATE364204T1 (zh) |
BR (1) | BRPI0409710B1 (zh) |
CA (1) | CA2518468C (zh) |
DE (1) | DE602004006858T2 (zh) |
ES (1) | ES2286630T3 (zh) |
IL (1) | IL171706A (zh) |
MX (1) | MXPA05011307A (zh) |
TW (1) | TWI291131B (zh) |
WO (1) | WO2004095282A1 (zh) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334094A (zh) * | 2009-05-28 | 2012-01-25 | 松下电器产业株式会社 | 多线程处理器、编译器装置及操作系统装置 |
CN102955716A (zh) * | 2011-08-19 | 2013-03-06 | 苏州简约纳电子有限公司 | 一种多线程处理器和处理方法 |
CN103677999A (zh) * | 2012-09-14 | 2014-03-26 | 国际商业机器公司 | 计算环境内的资源的管理 |
CN106133690A (zh) * | 2014-03-27 | 2016-11-16 | 国际商业机器公司 | 多线程计算机系统中的线程上下文保留 |
CN106250237A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 电子芯片中的功率分配方法及系统 |
CN106250238A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 负载均衡在多核芯片中的应用方法及系统 |
CN108196882A (zh) * | 2017-12-29 | 2018-06-22 | 普强信息技术(北京)有限公司 | 一种针对神经网络计算的加速方法及装置 |
WO2018171319A1 (zh) * | 2017-03-21 | 2018-09-27 | 华为技术有限公司 | 处理器和指令调度方法 |
CN108986253A (zh) * | 2018-06-29 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 用于存储数据的方法、装置、设备和计算机可读存储介质 |
CN109308220A (zh) * | 2017-07-26 | 2019-02-05 | 华为技术有限公司 | 共享资源分配方法及装置 |
CN112579299A (zh) * | 2020-12-28 | 2021-03-30 | 北京紫光展锐通信技术有限公司 | 资源调度方法、电子设备及存储介质 |
Families Citing this family (63)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AP1224A (en) | 1998-03-19 | 2003-11-14 | Bristol Myers Squibb Co | Biphasic controlled release delivery system for high solubility pharmaceuticals and method. |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
US7197652B2 (en) * | 2003-12-22 | 2007-03-27 | International Business Machines Corporation | Method and system for energy management in a simultaneous multi-threaded (SMT) processing system including per-thread device usage monitoring |
US9323571B2 (en) * | 2004-02-06 | 2016-04-26 | Intel Corporation | Methods for reducing energy consumption of buffered applications using simultaneous multi-threading processor |
US7555753B2 (en) * | 2004-02-26 | 2009-06-30 | International Business Machines Corporation | Measuring processor use in a hardware multithreading processor environment |
US7890735B2 (en) * | 2004-08-30 | 2011-02-15 | Texas Instruments Incorporated | Multi-threading processors, integrated circuit devices, systems, and processes of operation and manufacture |
US7603673B2 (en) * | 2004-10-28 | 2009-10-13 | Intel Corporation | Method and system for reducing context switch times |
CA2538503C (en) * | 2005-03-14 | 2014-05-13 | Attilla Danko | Process scheduler employing adaptive partitioning of process threads |
US8387052B2 (en) * | 2005-03-14 | 2013-02-26 | Qnx Software Systems Limited | Adaptive partitioning for operating system |
US9361156B2 (en) | 2005-03-14 | 2016-06-07 | 2236008 Ontario Inc. | Adaptive partitioning for operating system |
US8245230B2 (en) * | 2005-03-14 | 2012-08-14 | Qnx Software Systems Limited | Adaptive partitioning scheduler for multiprocessing system |
US8195922B2 (en) | 2005-03-18 | 2012-06-05 | Marvell World Trade, Ltd. | System for dynamically allocating processing time to multiple threads |
US20060212853A1 (en) * | 2005-03-18 | 2006-09-21 | Marvell World Trade Ltd. | Real-time control apparatus having a multi-thread processor |
JP4276201B2 (ja) * | 2005-03-31 | 2009-06-10 | 富士通株式会社 | Smtプロセッサ用課金処理装置,課金処理方法,および課金処理プログラム |
US8713286B2 (en) | 2005-04-26 | 2014-04-29 | Qualcomm Incorporated | Register files for a digital signal processor operating in an interleaved multi-threaded environment |
US7313673B2 (en) * | 2005-06-16 | 2007-12-25 | International Business Machines Corporation | Fine grained multi-thread dispatch block mechanism |
US7945625B2 (en) * | 2005-07-12 | 2011-05-17 | Microsoft Corporation | Automated moderation of discussion lists |
US7937706B2 (en) * | 2005-08-22 | 2011-05-03 | Runtime Design Automation, Inc. | Method and system for performing fair-share preemption |
DE102005054848A1 (de) * | 2005-11-15 | 2007-05-24 | Alexander Mekyska | Verfahren zur Verrechnung von Systemkosten |
US7610293B2 (en) * | 2006-10-11 | 2009-10-27 | Oracle International Corporation | Correlation of resource usage in a database tier to software instructions executing in other tiers of a multi tier application |
US7634561B2 (en) * | 2006-10-26 | 2009-12-15 | International Business Machines Corporation | Application usage metering management system |
US7340378B1 (en) | 2006-11-30 | 2008-03-04 | International Business Machines Corporation | Weighted event counting system and method for processor performance measurements |
US8140885B2 (en) * | 2007-02-14 | 2012-03-20 | International Business Machines Corporation | Accounting for microprocessor resource consumption |
US8621468B2 (en) * | 2007-04-26 | 2013-12-31 | Microsoft Corporation | Multi core optimizations on a binary using static and run time analysis |
US7908493B2 (en) * | 2007-06-06 | 2011-03-15 | International Business Machines Corporation | Unified management of power, performance, and thermals in computer systems |
WO2008155822A1 (ja) * | 2007-06-19 | 2008-12-24 | Fujitsu Limited | キャッシュ制御装置及び制御方法 |
EP2159685B1 (en) * | 2007-06-20 | 2013-08-21 | Fujitsu Limited | Processor |
CN101681260B (zh) | 2007-06-20 | 2013-04-17 | 富士通株式会社 | 运算装置 |
JP5043560B2 (ja) * | 2007-08-24 | 2012-10-10 | パナソニック株式会社 | プログラム実行制御装置 |
US8122449B2 (en) * | 2007-09-07 | 2012-02-21 | International Business Machines Corporation | Determining whether to retain or terminate a thread based on a minimum number of threads in a thread pool and a maximum number of threads allowed waiting on the channel |
US7559061B1 (en) * | 2008-03-16 | 2009-07-07 | International Business Machines Corporation | Simultaneous multi-threading control monitor |
US9106592B1 (en) * | 2008-05-18 | 2015-08-11 | Western Digital Technologies, Inc. | Controller and method for controlling a buffered data transfer device |
JP5326374B2 (ja) * | 2008-06-19 | 2013-10-30 | 富士通セミコンダクター株式会社 | プロセッサ、性能プロファイリング装置、性能プロファイリングプログラムおよび性能プロファイリング方法 |
US8161493B2 (en) | 2008-07-15 | 2012-04-17 | International Business Machines Corporation | Weighted-region cycle accounting for multi-threaded processor cores |
US8285973B2 (en) | 2008-08-04 | 2012-10-09 | International Business Machines Corporation | Thread completion rate controlled scheduling |
US8055477B2 (en) * | 2008-11-20 | 2011-11-08 | International Business Machines Corporation | Identifying deterministic performance boost capability of a computer system |
KR101543326B1 (ko) * | 2009-01-05 | 2015-08-10 | 삼성전자주식회사 | 시스템 온 칩 및 그 구동 방법 |
US8230440B2 (en) * | 2009-03-06 | 2012-07-24 | International Business Machines Corporation | System and method to distribute accumulated processor utilization charges among multiple threads |
US8527796B2 (en) | 2009-08-24 | 2013-09-03 | Intel Corporation | Providing adaptive frequency control for a processor using utilization information |
US9672132B2 (en) | 2009-11-19 | 2017-06-06 | Qualcomm Incorporated | Methods and apparatus for measuring performance of a multi-thread processor |
US8453146B2 (en) * | 2009-12-23 | 2013-05-28 | Intel Corporation | Apportioning a counted value to a task executed on a multi-core processor |
FR2957433B1 (fr) * | 2010-03-11 | 2016-01-15 | Bull Sas | Procede de configuration d'un systeme informatique, programme d'ordinateur et systeme informatique correspondants |
US10169187B2 (en) | 2010-08-18 | 2019-01-01 | International Business Machines Corporation | Processor core having a saturating event counter for making performance measurements |
US20120079500A1 (en) * | 2010-09-29 | 2012-03-29 | International Business Machines Corporation | Processor usage accounting using work-rate measurements |
US8719561B2 (en) | 2010-11-29 | 2014-05-06 | International Business Machines Corporation | Automatic configuration sampling for managing configuration parameters of a computer system |
JP5542700B2 (ja) | 2011-01-05 | 2014-07-09 | 株式会社日立製作所 | Smtプロセッサにおけるプロセッサ使用率の算出方法 |
US9342432B2 (en) | 2011-04-04 | 2016-05-17 | International Business Machines Corporation | Hardware performance-monitoring facility usage after context swaps |
US8868886B2 (en) | 2011-04-04 | 2014-10-21 | International Business Machines Corporation | Task switch immunized performance monitoring |
GB2489708B (en) * | 2011-04-05 | 2020-04-15 | Advanced Risc Mach Ltd | Thread selection for multithreaded processing |
US20130055033A1 (en) | 2011-08-22 | 2013-02-28 | International Business Machines Corporation | Hardware-assisted program trace collection with selectable call-signature capture |
US9027141B2 (en) * | 2012-04-12 | 2015-05-05 | Netflix, Inc. | Method and system for improving security and reliability in a networked application environment |
US9207944B1 (en) | 2013-03-15 | 2015-12-08 | Google Inc. | Doubling thread resources in a processor |
JP6142709B2 (ja) * | 2013-07-23 | 2017-06-07 | 富士通株式会社 | 計測方法、計測プログラム、携帯情報端末、及びその制御方法 |
US9535746B2 (en) | 2013-12-19 | 2017-01-03 | International Business Machines Corporation | Honoring hardware entitlement of a hardware thread |
US9760465B2 (en) | 2014-01-02 | 2017-09-12 | International Business Machines Corporation | Assessment of processor performance metrics by monitoring probes constructed using instruction sequences |
US9594660B2 (en) * | 2014-03-27 | 2017-03-14 | International Business Machines Corporation | Multithreading computer system and program product for executing a query instruction for idle time accumulation among cores |
US10102004B2 (en) * | 2014-03-27 | 2018-10-16 | International Business Machines Corporation | Hardware counters to track utilization in a multithreading computer system |
US10558497B2 (en) | 2017-08-28 | 2020-02-11 | International Business Machines Corporation | Prevention and resolution of a critical shortage of a shared resource in a multi-image operating system environment |
US10558499B2 (en) * | 2017-10-26 | 2020-02-11 | Advanced Micro Devices, Inc. | Wave creation control with dynamic resource allocation |
US10977075B2 (en) * | 2019-04-10 | 2021-04-13 | Mentor Graphics Corporation | Performance profiling for a multithreaded processor |
US11436043B2 (en) | 2019-11-13 | 2022-09-06 | International Business Machines Corporation | Operating system code patching during live migration |
CN112316419B (zh) * | 2020-11-03 | 2022-06-28 | 腾讯科技(深圳)有限公司 | 应用程序的运行方法、装置、设备及可读存储介质 |
FR3131644A1 (fr) * | 2021-12-30 | 2023-07-07 | Thales | Système et procédé de surveillance du fonctionnement d'un calculateur |
Family Cites Families (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS56153457A (en) * | 1980-04-28 | 1981-11-27 | Mitsubishi Electric Corp | Measuring device for computer load |
JP3169597B2 (ja) * | 1990-05-16 | 2001-05-28 | エヌイーシーソフト株式会社 | マルチタスク実行時間アカウント方法とその機構 |
US5210872A (en) * | 1991-06-28 | 1993-05-11 | Texas Instruments Inc. | Critical task scheduling for real-time systems |
US5247675A (en) * | 1991-08-09 | 1993-09-21 | International Business Machines Corporation | Preemptive and non-preemptive scheduling and execution of program threads in a multitasking operating system |
JP2682770B2 (ja) * | 1992-05-15 | 1997-11-26 | 富士通株式会社 | 仮想計算機システムのcpu制御方式 |
US5809268A (en) * | 1995-06-29 | 1998-09-15 | International Business Machines Corporation | Method and system for tracking resource allocation within a processor |
US5838976A (en) | 1995-11-28 | 1998-11-17 | Hewlett-Packard Co. | System and method for profiling code on symmetric multiprocessor architectures |
US5812844A (en) * | 1995-12-07 | 1998-09-22 | Microsoft Corporation | Method and system for scheduling the execution of threads using optional time-specific scheduling constraints |
US5822602A (en) * | 1996-07-23 | 1998-10-13 | S3 Incorporated | Pipelined processor for executing repeated string instructions by halting dispatch after comparision to pipeline capacity |
US5761091A (en) * | 1996-12-10 | 1998-06-02 | Bgs Systems, Inc. | Method and system for reducing the errors in the measurements of resource usage in computer system processes and analyzing process data with subsystem data |
US5835705A (en) * | 1997-03-11 | 1998-11-10 | International Business Machines Corporation | Method and system for performance per-thread monitoring in a multithreaded processor |
US5784616A (en) * | 1997-05-02 | 1998-07-21 | Microsoft Corporation | Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation |
US6658447B2 (en) * | 1997-07-08 | 2003-12-02 | Intel Corporation | Priority based simultaneous multi-threading |
US6487578B2 (en) * | 1997-09-29 | 2002-11-26 | Intel Corporation | Dynamic feedback costing to enable adaptive control of resource utilization |
US6175814B1 (en) * | 1997-11-26 | 2001-01-16 | Compaq Computer Corporation | Apparatus for determining the instantaneous average number of instructions processed |
US6549930B1 (en) * | 1997-11-26 | 2003-04-15 | Compaq Computer Corporation | Method for scheduling threads in a multithreaded processor |
US6092175A (en) * | 1998-04-02 | 2000-07-18 | University Of Washington | Shared register storage mechanisms for multithreaded computer systems with out-of-order execution |
US6205519B1 (en) * | 1998-05-27 | 2001-03-20 | Hewlett Packard Company | Cache management for a multi-threaded processor |
US7216348B1 (en) * | 1999-01-05 | 2007-05-08 | Net2Phone, Inc. | Method and apparatus for dynamically balancing call flow workloads in a telecommunications system |
WO2000044364A2 (en) * | 1999-01-29 | 2000-08-03 | The Board Of Trustees Of The University Of Illinois | P53 inhibitors and their use for the treatment of cancer, hyperthermia, hypoxia, a burn, trauma to the central nervous system, a seizure, acute inflammation, tissue ageing, preservation of organs for transplant and preparation of a host for bone marrow transplant |
US6535905B1 (en) * | 1999-04-29 | 2003-03-18 | Intel Corporation | Method and apparatus for thread switching within a multithreaded processor |
US7028298B1 (en) * | 1999-09-10 | 2006-04-11 | Sun Microsystems, Inc. | Apparatus and methods for managing resource usage |
US7051329B1 (en) * | 1999-12-28 | 2006-05-23 | Intel Corporation | Method and apparatus for managing resources in a multithreaded processor |
KR100784412B1 (ko) * | 2000-01-27 | 2007-12-11 | 엠 디솔루션 코포레이션 | 개선된 멀티-스레드 신호처리 방법 및 장치 |
US20020194251A1 (en) * | 2000-03-03 | 2002-12-19 | Richter Roger K. | Systems and methods for resource usage accounting in information management environments |
US6957432B2 (en) * | 2000-03-21 | 2005-10-18 | Microsoft Corporation | Real-time scheduler |
US7086053B2 (en) * | 2000-06-12 | 2006-08-01 | Sun Microsystems, Inc. | Method and apparatus for enabling threads to reach a consistent state without explicit thread suspension |
JP3884237B2 (ja) * | 2001-02-16 | 2007-02-21 | 株式会社リコー | マルチスレッドのプロファイル方法、プロファイル装置及びコンピュータ・プログラム |
US7114163B2 (en) * | 2001-03-07 | 2006-09-26 | Hardin David S | Software component model for time sensitive embedded applications |
US7036123B2 (en) * | 2001-04-25 | 2006-04-25 | Sun Microsystems, Inc. | System using fair-share scheduling technique to schedule processes within each processor set based on the number of shares assigned to each process group |
US7454600B2 (en) * | 2001-06-22 | 2008-11-18 | Intel Corporation | Method and apparatus for assigning thread priority in a processor or the like |
US6965982B2 (en) * | 2001-06-29 | 2005-11-15 | International Business Machines Corporation | Multithreaded processor efficiency by pre-fetching instructions for a scheduled thread |
US6954846B2 (en) * | 2001-08-07 | 2005-10-11 | Sun Microsystems, Inc. | Microprocessor and method for giving each thread exclusive access to one register file in a multi-threading mode and for giving an active thread access to multiple register files in a single thread mode |
JP2005516303A (ja) * | 2002-01-30 | 2005-06-02 | リアル・エンタープライズ・ソリューションズ・ディヴェロップメント・ビー・ヴィー | 優先スケジューリングを備えたマルチプログラミングコンピュータシステムにおける優先レベルを設定する方法、マルチプログラミングコンピュータシステムおよびそれらのプログラム |
US7024543B2 (en) * | 2002-09-13 | 2006-04-04 | Arm Limited | Synchronising pipelines in a data processing apparatus |
US7657893B2 (en) * | 2003-04-23 | 2010-02-02 | International Business Machines Corporation | Accounting method and logic for determining per-thread processor resource utilization in a simultaneous multi-threaded (SMT) processor |
-
2003
- 2003-04-23 US US10/422,025 patent/US7657893B2/en not_active Expired - Fee Related
-
2004
- 2004-04-01 TW TW093109113A patent/TWI291131B/zh not_active IP Right Cessation
- 2004-04-14 CA CA002518468A patent/CA2518468C/en not_active Expired - Fee Related
- 2004-04-14 JP JP2006506116A patent/JP4536717B2/ja not_active Expired - Fee Related
- 2004-04-14 EP EP04727310A patent/EP1616259B1/en active Active
- 2004-04-14 ES ES04727310T patent/ES2286630T3/es active Active
- 2004-04-14 KR KR1020057017727A patent/KR100754153B1/ko not_active IP Right Cessation
- 2004-04-14 BR BRPI0409710A patent/BRPI0409710B1/pt active IP Right Grant
- 2004-04-14 DE DE602004006858T patent/DE602004006858T2/de active Active
- 2004-04-14 AT AT04727310T patent/ATE364204T1/de not_active IP Right Cessation
- 2004-04-14 MX MXPA05011307A patent/MXPA05011307A/es active IP Right Grant
- 2004-04-14 WO PCT/GB2004/001586 patent/WO2004095282A1/en active IP Right Grant
- 2004-04-14 CN CNB2004800016428A patent/CN100458727C/zh active Active
-
2005
- 2005-11-01 IL IL171706A patent/IL171706A/en not_active IP Right Cessation
-
2009
- 2009-10-15 US US12/579,540 patent/US8209698B2/en not_active Expired - Fee Related
-
2012
- 2012-04-30 US US13/459,398 patent/US9003417B2/en not_active Expired - Fee Related
Cited By (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102334094B (zh) * | 2009-05-28 | 2014-03-05 | 松下电器产业株式会社 | 多线程处理器、编译器装置及操作系统装置 |
CN102334094A (zh) * | 2009-05-28 | 2012-01-25 | 松下电器产业株式会社 | 多线程处理器、编译器装置及操作系统装置 |
CN102955716A (zh) * | 2011-08-19 | 2013-03-06 | 苏州简约纳电子有限公司 | 一种多线程处理器和处理方法 |
US9864639B2 (en) | 2012-09-14 | 2018-01-09 | International Business Machines Corporation | Management of resources within a computing environment |
CN103677999A (zh) * | 2012-09-14 | 2014-03-26 | 国际商业机器公司 | 计算环境内的资源的管理 |
US9501323B2 (en) | 2012-09-14 | 2016-11-22 | International Business Machines Corporation | Management of resources within a computing environment |
US10489209B2 (en) | 2012-09-14 | 2019-11-26 | International Business Machines Corporation | Management of resources within a computing environment |
CN106133690A (zh) * | 2014-03-27 | 2016-11-16 | 国际商业机器公司 | 多线程计算机系统中的线程上下文保留 |
CN106250238A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 负载均衡在多核芯片中的应用方法及系统 |
CN106250237A (zh) * | 2016-07-27 | 2016-12-21 | 李媛媛 | 电子芯片中的功率分配方法及系统 |
WO2018171319A1 (zh) * | 2017-03-21 | 2018-09-27 | 华为技术有限公司 | 处理器和指令调度方法 |
US11256543B2 (en) | 2017-03-21 | 2022-02-22 | Huawei Technologies Co., Ltd. | Processor and instruction scheduling method |
CN109308220A (zh) * | 2017-07-26 | 2019-02-05 | 华为技术有限公司 | 共享资源分配方法及装置 |
CN108196882A (zh) * | 2017-12-29 | 2018-06-22 | 普强信息技术(北京)有限公司 | 一种针对神经网络计算的加速方法及装置 |
CN108986253A (zh) * | 2018-06-29 | 2018-12-11 | 百度在线网络技术(北京)有限公司 | 用于存储数据的方法、装置、设备和计算机可读存储介质 |
CN112579299A (zh) * | 2020-12-28 | 2021-03-30 | 北京紫光展锐通信技术有限公司 | 资源调度方法、电子设备及存储介质 |
CN112579299B (zh) * | 2020-12-28 | 2022-11-18 | 北京紫光展锐通信技术有限公司 | 资源调度方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US20100037233A1 (en) | 2010-02-11 |
CA2518468C (en) | 2008-09-30 |
TW200504596A (en) | 2005-02-01 |
TWI291131B (en) | 2007-12-11 |
CN100458727C (zh) | 2009-02-04 |
KR100754153B1 (ko) | 2007-09-03 |
ES2286630T3 (es) | 2007-12-01 |
KR20060002842A (ko) | 2006-01-09 |
BRPI0409710A (pt) | 2006-05-02 |
EP1616259A1 (en) | 2006-01-18 |
DE602004006858D1 (de) | 2007-07-19 |
US8209698B2 (en) | 2012-06-26 |
WO2004095282A1 (en) | 2004-11-04 |
JP2006524380A (ja) | 2006-10-26 |
DE602004006858T2 (de) | 2008-02-14 |
US20040216113A1 (en) | 2004-10-28 |
US20120216210A1 (en) | 2012-08-23 |
BRPI0409710B1 (pt) | 2020-01-14 |
EP1616259B1 (en) | 2007-06-06 |
CA2518468A1 (en) | 2004-11-04 |
IL171706A (en) | 2011-03-31 |
ATE364204T1 (de) | 2007-06-15 |
US7657893B2 (en) | 2010-02-02 |
US9003417B2 (en) | 2015-04-07 |
MXPA05011307A (es) | 2006-01-30 |
JP4536717B2 (ja) | 2010-09-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100458727C (zh) | 同时多线程处理器内核及其核算处理器时间利用的方法 | |
US7475399B2 (en) | Method and data processing system optimizing performance through reporting of thread-level hardware resource utilization | |
US6708296B1 (en) | Method and system for selecting and distinguishing an event sequence using an effective address in a processing system | |
US7448037B2 (en) | Method and data processing system having dynamic profile-directed feedback at runtime | |
US5691920A (en) | Method and system for performance monitoring of dispatch unit efficiency in a processing system | |
US5797019A (en) | Method and system for performance monitoring time lengths of disabled interrupts in a processing system | |
US5751945A (en) | Method and system for performance monitoring stalls to identify pipeline bottlenecks and stalls in a processing system | |
US5752062A (en) | Method and system for performance monitoring through monitoring an order of processor events during execution in a processing system | |
CN101238425B (zh) | 使用低功率虚拟线程的软件指定的电源性能管理装置和方法 | |
US8886918B2 (en) | Dynamic instruction execution based on transaction priority tagging | |
Eyerman et al. | Per-thread cycle accounting in SMT processors | |
US8161493B2 (en) | Weighted-region cycle accounting for multi-threaded processor cores | |
US5949971A (en) | Method and system for performance monitoring through identification of frequency and length of time of execution of serialization instructions in a processing system | |
US6530042B1 (en) | Method and apparatus for monitoring the performance of internal queues in a microprocessor | |
JP2000347863A (ja) | 投機的プロセッサ内で非投機的イベントをカウントするための方法およびシステム | |
US8285973B2 (en) | Thread completion rate controlled scheduling | |
US6338133B1 (en) | Measured, allocation of speculative branch instructions to processor execution units | |
US8898390B2 (en) | Scheduling workloads based on cache asymmetry | |
CN101443738A (zh) | 提取cpu时间工具 | |
US5748855A (en) | Method and system for performance monitoring of misaligned memory accesses in a processing system | |
Zhang et al. | A cool scheduler for multi-core systems exploiting program phases | |
US5729726A (en) | Method and system for performance monitoring efficiency of branch unit operation in a processing system | |
US6550002B1 (en) | Method and system for detecting a flush of an instruction without a flush indicator | |
Mericas | Performance monitoring on the POWER5 microprocessor | |
Markovic | Hardware thread scheduling algorithms for single-ISA asymmetric CMPs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |