CN102110024A - 将计数值分配给在多核处理器上执行的任务 - Google Patents
将计数值分配给在多核处理器上执行的任务 Download PDFInfo
- Publication number
- CN102110024A CN102110024A CN2010106195679A CN201010619567A CN102110024A CN 102110024 A CN102110024 A CN 102110024A CN 2010106195679 A CN2010106195679 A CN 2010106195679A CN 201010619567 A CN201010619567 A CN 201010619567A CN 102110024 A CN102110024 A CN 102110024A
- Authority
- CN
- China
- Prior art keywords
- timeslice
- task
- counter
- count value
- given task
- 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 claims abstract description 58
- 230000008569 process Effects 0.000 claims description 44
- 238000005070 sampling Methods 0.000 claims description 18
- 230000000694 effects Effects 0.000 claims description 7
- 238000012545 processing Methods 0.000 abstract description 2
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 244000287680 Garcinia dulcis Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3604—Software analysis for verifying properties of 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
-
- 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
-
- 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
- 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/3442—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 planning or managing the needed capacity
-
- 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/865—Monitoring of software
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Debugging And Monitoring (AREA)
Abstract
一种技术包括:在基于处理器的机器中,提供表示由处理核的硬件计数器在多个任务在该核上活动的时间段期间所获取的计数值的数据;确定在该时间段期间计数值可归因于任务中的给定任务的可能性,并至少部分地基于所确定的可能性将计数值的一部分归因于给定任务。
Description
背景技术
典型的现代计算机系统可包括多核处理器,多核处理器包括执行多个线程的一个或多个处理核。相对复杂的软件堆栈可在多核处理器上运行,且因此,诸如绘图调用的给定软件功能可不在处理核集合上串行地执行,而是替代地,该功能通常被分成多个任务,这多个任务在处理核上的多个线程上执行。此外,特定任务何时执行通常本质上不是确定的,因为任何单任务理论上可以被调度程序预清空、从执行中流去除、并稍后重新调度到另一线程和/或核上。
在存在这些复杂性的情况下,分析程序确定诸如高速缓存未命中、执行失速等等的哪些监测性能度量可归因于特定任务、任务组或软件函数是困难的。
附图说明
图1示出根据本发明的实施例的计算机系统的示意图。
图2是描述根据本发明的实施例将计数值分配给在多核处理器上执行的任务的技术的流程图。
图3是根据本发明的实施例在多核处理器上执行的时间交迭任务的图示。
图4是描述根据本发明的实施例根据执行任务的处理核对所选任务进行分类的技术的流程图。
图5A和5B是描述根据本发明的实施例将计数值分配给在处理核上执行的所选任务的技术的流程图。
具体实施方式
参照图1,根据本发明的实施例,多核机器或系统10具有多核图形处理器30,该多核图形处理器30具有多个处理核34。对于此示例,每个处理核34具有用于测量特定性能度量的硬件计数器36(每个核34一个计数器36,如图1所描绘)。例如,给定处理核34可包括用于对高速缓存未命中计数的硬件计数器36、用于对执行失速次数计数的计数器36、用于保持表明执行利用率的计数的计数器36等。应注意,多核图形处理器30仅仅是多核处理器的示例,因为本文所描述的多核处理器可以是除图形处理器之外的多核处理器,诸如作为非限制性示例的单指令多数据(SIMD)多核处理器或系统10的主系统处理器14。
在本文中假定处理核34执行任务,其中任务是用于调度和执行的任何常见工作单元。一般而言,任务可以是代码的的具有开头和结束的任何一部分,且任务的持续时间可被定义为用于执行该任务的多个处理器周期。给定的较高级软件函数(例如图形处理情况下的绘图调用)可调用跨多个处理核34上的许多线程执行的若干任务。
硬件计数器36是核专属的,因此处理核34不具有每线程硬件计数器。替代地,硬件计数器36由在处理核34上运行的各个任务无区分地取样。硬件计数器36与任务之间对应性的缺少可能在确定计数值的哪些部分归因于给定任务时引入问题。例如,特定硬件计数器36可对整个处理核34的高速缓存未命中计数。虽然在处理核34上执行的给定任务可在任务开始和结束时对硬件计数器36取样,但从这些样本中得出的计数值(即计数变化量)不一定表明可归因于该给定任务的高速缓存未命中,因为许多其他交迭的任务在给定任务活动的时间区间期间也会引起高速缓存未命中。
根据本文中所描述的本发明的实施例,系统10执行用于在给定时间周期期间执行的任务之间分配计数值的技术。为简化以下讨论,假定硬件计数器36是高速缓存未命中计数器,其在每次特定高速缓存未命中在核34中发生时由处理核34加1。根据本发明的其他实施例,本文所描述的技术可适用于分配与除高速缓存未命中之外的其他度量相关联的计数值。
参照图2并结合图1,根据本发明的一些实施例,系统10执行技术100,以将计数值的一部分归因于在处理核34上执行的给定任务。该技术100包括在其中多个任务在处理核34上活动的时间段期间提供表示计数值的计数器数据(框104)。该技术100包括确定该计数值可归因于该时间段期间的任务中的给定任务的可能性(框108),并按照框112至少部分地基于所确定的可能性将计数值的一部分归因于给定任务。
参照图1,根据本发明的一些实施例,一般而言,图形处理器30执行用于在显示器40上生成图像的任务,诸如图1所描述的示例性描绘的图形用户界面(GUI)44。GUI 44显示在图形处理器30上执行的任务,并允许用户选择一个或多个任务以进行分析。作为更具体的示例,根据本发明的一些实施例,GUI 44可允许用户使特定的软件函数(绘图调用,作为非限制性示例)突出显示,以选择该函数来进行与该调用相关联的性能度量的分析。所选函数可涉及在图形处理器30上执行的多个任务、可涉及在不同线程上执行的多个任务、且可涉及在不同处理核34上执行的任务。
通过突出显示并选择给定软件函数,用户可从由系统10提供的分析中获益,且该分析可用于评估对程序代码的改变是否改变了某些性能度量的这些目的。例如,性能分析可揭示对程序的改变增加或减少了高速缓存未命中次数。可构想该分析的其他和/或不同用途,且也在所附权利要求的范围内。
根据本发明的一些实施例,GUI 44可通过在一个或多个处理核34上执行的分析程序的执行来驱动。在本发明的其他实施例中,分析程序可以是在系统10的主系统处理器14上执行的软件的结果。主处理器14可包括执行诸如分析程序的应用程序的一个或多个微处理器和/或微处理器核。根据本发明的一些实施例,相应的程序代码可被存储在系统存储器18中。以此方式,系统存储器18可存储表示由处理器14执行的一个或多个应用程序20的数据。应用程序20中的一个可以是例如分析程序,该分析程序在由处理器14执行时使处理器14执行图2的技术100的一个或多个部分。在该分析中,存储器18可存储一个或多个初始、中间或最终数据集22,例如,这些数据集可表示软件函数或用户的任务选择、由在图形处理器30上执行的任务所取样的取样计数器值、可归因于特定任务的计数值、与对这些任务确定的计数值相关联的错误等。
系统10可包括用于从诸如鼠标或键盘的输入设备接收可用于选择待分析任务的I/O数据的输入/输出(I/O)接口50,以及其他部件。系统10可包括用于与网络通信的网络接口卡(NIC)。
注意,在图1中描述的体系结构仅仅是可用于实现本文中所公开的计数值分配技术的多核系统的示例。例如,在本发明的其他实施例中,经由主处理器14上的处理得到的计数值可被分配给在处理器14上活动的任务。此外,根据本发明的其他实施例,系统10可具有未在图1中描绘的多个其他部件,诸如附加的图形处理器、桥、外围设备和其他部件。
根据本发明的一些实施例,图3描绘示出系统10(图1)如何将计数值分配给特定任务的示例。参照图3并结合图1,对于本示例,假定多个任务(具体是任务1201、1202、1203以及1204,作为示例)在交迭的时间区间中活动。本示例的目标是确定可归因于任务1204的执行的计数器变化值。如根据图3可见,任务1201、1202以及1203分别在线程T0、T1以及T2上执行,并与在线程T4上执行的任务1204至少部分地交迭。本示例特别感兴趣的时间是任务1204活动期间的从时刻t2到时刻t5的时间。虽然任务1204在时刻t2和t5分别取样开始和结束计数器值以得到计数值,但该计数值并不直接表明仅可归因于任务1204的计数值。
为了将计数值的变化归因于任务1204,系统10将从时刻t2到时刻t5的时间区间分成“时间片(time slice)”。在该背景下,“时间片”是活动任务120的数量不变的时间单元。利用该准则,图3中所描述的示例因此描述了用于将计数值分配给任务1204的三个相关时间片:从时刻t2到时刻t3的第一时间片,其中所有四个任务1201、1202、1203以及1204活动;从时刻t3到时刻t4的第二时间片,其中任务1202、1203以及1204活动;以及从时刻t4到时刻t5的第三时间片,其中任务1203和1204活动。
根据本发明的一些实施例,在理想情况下,每个任务120在任务120的开始和结束时对硬件计数器34取样。因此,对于图3中描述的四个任务1201、1202、1203和1204,,硬件计数器34相应地被取样八次。例如,根据本发明的一些实施例,作为非限制性示例,可将表示取样计数器值的数据存储在图形处理器30上,和/或传递至存储器18,其中所存储的值被存储为数据集22。
每个时间片与特定计数值相关联。例如,从时刻t2到时刻t3的时间片与根据在时刻t3所取样的计数器值减去在时刻t2指示的取样计数器值得到的计数值相关联。对于每个时间片,系统10根据所确定的任务1204在该时间片期间改变计数值的可能性将相关联的计数值分配给任务1204。因此,对于从时刻t0到时刻t1的时间片,归因于任务1204的计数值部分为0;类似地,对于从时刻t1到时刻t2的时间片,归因于任务1204的计数值部分为零,因为任务1204在这些时间片期间不活动。然而,对于图3中所描述的剩余时间片,任务1204是活动的,因此系统10将计数值的一部分归因于任务1204。
在系统10为任务1204的每个时间片确定分配计数值之后,系统10对分配计数值进行求和,以推导出从时刻t2的任务开始到时刻t5的任务结束的任务1204的分配计数值。
作为更具体的示例,对于从时刻t2到时刻t3的时间片,任务1204与任务1201、1202以及1203并发地活动。作为非限制性示例,系统10将此时间片期间的任务1204的可能性评估为计数值的四分之一,因为四个任务都是活动的。因此,例如,如果计数器在时刻t2到时刻t3的时间片期间变化100次,则对于该时间片而言,四分之一即25次的计数器变化归因于任务1204。在从时刻t3到时刻t4的时间片期间,任务1204与另两个任务1202和1203一起活动;且因此,在此时间片期间,关联计数值的三分之一归因于任务1204。类似地,在从时刻t4到时刻t5的时间片期间,任务1204与任务1203一起活动;且因此在该时间片期间,系统10将计数值的一半归因于任务1204。
上述的基于活动的任务数量对计数值进行按比例分配是用于分配计数值的许多不同的可能方法的一个示例。例如,根据本发明的其他实施例,计数值分配可基于加权方案。例如,计算更密集的任务120可分配到更大权重,且因此相比于计算较不密集的任务,任务120可分配到不成比例的更大计数值。因此,可构想许多变型,且这些变型在所附权利要求的范围内。
参照图4并结合图1,根据本发明的一些实施例,系统10执行用于标识要在特定处理核34上进行分析的任务的技术150。按照该技术150,系统10接收指示所选任务的用户输入(框154)。因此,作为示例,用户可使用例如鼠标经由GUI 44突出显示并选择特定调用(绘图调用,作为非限制性示例)。响应于所选任务,按照框158,系统10确定与所选任务在时间上交迭的所有任务(框158)。在该确定之后,按照框162,系统10根据处理器核34对经分析任务分类(框162)。
参照图5A和5B并结合图1,在系统10确定要在每个处理核34上分析的任务之后,根据本发明的一些实施例,系统10对每个处理核34执行技术200。
按照技术200,系统10在每个处理核34上如下地处理每个所选任务。首先,系统10标识下一可用任务的时间片(框204),并取回每个任务的开始和结束时间的取样计数值(框208)。如果样本不可用,则系统10可内插开始和/或结束时间。以此方式,系统10确定是否需要内插样本(菱形212),且如果需要则按照框214执行内插。
根据本发明的一些实施例,系统10如下地执行取样内插。系统10找出在要内插样本的时刻的任一侧的最接近的取样计数器值。基于样本可用的两个时刻之间的该时刻的位置,系统10调整取样值之差以得出该内插值。根据本发明的一些实施例,这可以是线性内插。作为非限制性示例,样本值对于处理器周期计数100和200可用,且这些值可分别具有300和360的值。该样本将被内插的时刻可以是处理器周期计数120。因此,对于该情形,内插样本可以是312。
仍参照图1、5A和5B,在可能的一个或多个样本值内插之后,控制继续至菱形218,其中系统10确定特定任务是否未命中开始或结束时间戳。如果是这样,则按照框222,系统10通过找出另一任务的最接近的开始或结束时间来创建相应的时间戳。
在如上所述地预处理数据之后,系统10按照技术200继续根据任务的时间片为所分析任务的每个时间片分配计数值。以此方式,按照框226,系统10确定每个时间片的计数值,并针对每个时间片确定计数值由该任务引起的可能性(框230)。接着,系统10基于所确定的可能性分配每个时间片的计数值(框234),然后按照框238将所分析任务的所有时间片的分配计数值加到一起,以得到整个任务的分配计数值。
最后,系统10按照技术200输出该任务的分配计数值以及指示所确定的计数值中的错误的值(框242)。作为非限制性示例,该错误可利用每个时间片以及分配值来进行计算。例如,如果对于特定时间片,由于在该时间片中存在并发活动的其他两个任务,所分配的计数值是该时间片的总时间变化的33%,因此所报告的错误将会是余下分配计数值的百分比,或67%。注意,错误随着并发活动任务数量的增加而减少。因此,对于相当大数量的活动任务,诸如数千个任务,错误相对较小。
最后,按照技术200,按照菱形246,系统10确定是否要分析该处理核的另一任务。如果是这样,则控制返回到框154(图5A)。
虽然已经关于有限个实施例描述了本发明,但受益于本公开内容的本领域技术人员将会理解从中得出的多种修改和变型。所附权利要求旨在覆盖落入本发明的真实精神和范围中的所有这些修改和变型。
Claims (20)
1.一种方法,包括:
提供表示由处理核的硬件计数器在多个任务在所述核上活动的时间段期间获取的计数值的数据;以及
在基于处理器的机器中,确定所述计数值在所述时间段期间归因于所述任务中的给定任务的可能性,并至少部分地基于所确定的可能性将所述计数值的一部分归因于所述给定任务。
2.如权利要求1所述的方法,其特征在于,确定所述可能性的动作包括:
将所述时间段分成时间片,以使在每个时间片开始时活动的所有任务至少活动到所述时间片结束;以及
对于每个时间片,确定在所述时间片期间所述计数值归因于所述给定任务的可能性。
3.如权利要求2所述的方法,其特征在于,确定在所述时间片期间所述计数值归因于所述给定任务的可能性的动作包括:提供表示在所述时间片开始时所述计数器的样本的第一数据,并提供表示在所述时间片结束时所述计数器的样本的第二数据。
4.如权利要求3所述的方法,其特征在于,提供所述第一数据的动作包括至少部分地基于表示另一时刻的计数器样本的数据在所述时间片开始时内插所述计数器的样本。
5.如权利要求3所述的方法,其特征在于,提供所述第二数据的动作包括至少部分地基于表示另一时刻的计数器样本的数据在所述时间片结束时内插所述计数器的样本。
6.如权利要求1所述的方法,其特征在于,还包括:
在所述机器上提供用户界面以选择所述给定任务;以及
在所述用户界面上显示所归因的变化部分。
7.如权利要求6所述的方法,其特征在于,提供所述用户界面的动作包括提供所述用户界面以选择包括所述给定任务的任务组,所述方法进一步包括:
标识所述给定任务在所述处理核上活动。
8.一种系统,包括:
处理核的硬件计数器,所述计数器用于指示在多个任务在所述核上活动的时间段期间的计数值;以及
处理器,用于确定所述计数值在所述时间段期间归因于所述任务中的给定任务的可能性,并至少部分地基于所确定的可能性将所述计数值的一部分归因于所述给定任务。
9.如权利要求8所述的系统,其特征在于,所述处理器:
将所述时间段分成时间片,以使在每个时间片开始时活动的所有任务至少活动到所述时间片结束;
对于每个时间片,确定在所述时间片期间所述计数值可归因于所述给定任务的可能性;以及
将每个时间片的可能性确定结果组合。
10.如权利要求9所述的系统,其特征在于,所述处理器:
提供表示在所述时间片开始时所述计数器所指示的取样值的第一数据,并提供表示在所述时间片结束时所述计数器所指示的取样值的第二数据。
11.如权利要求10所述的系统,其特征在于,所述处理器至少部分地基于表示另一时刻时的取样计数器值的数据在所述时间片开始时内插由所述计数器指示的取样值。
12.如权利要求10所述的系统,其特征在于,所述处理器至少部分地基于表示另一时刻时的取样计数器值的数据在所述时间片结束时内插由所述计数器指示的取样值。
13.如权利要求8所述的系统,其特征在于,所述处理器在所述机器上提供用户界面,以选择所述给定任务并在所述用户界面上显示所归因的变化部分。
14.如权利要求8所述的系统,其特征在于,所述处理器提供所述用户界面以选择包括所述给定任务的任务组,并标识所述给定任务在所述处理核上活动。
15.一种物品,包括用于存储指令的机器可读存储介质,所述指令在执行时使计算机:
提供表示由处理核的硬件计数器在任务在所述核上活动的时间段期间指示的计数值的数据;以及
确定所述计数值在所述时间段期间归因于所述任务中的给定任务的可能性,并至少部分地基于所确定的可能性将所述计数值的一部分归因于所述给定任务。
16.如权利要求15所述的物品,其特征在于,所述存储介质存储指令,所述指令在由所述计算机执行时使所述计算机:
将所述时间段分成时间片,以使在每个时间片开始时活动的所有任务至少活动到所述时间片结束;
对于每个时间片,确定在所述时间片期间所述变化归因于所述给定任务的可能性;以及
将每个时间片的可能性确定结果组合。
17.如权利要求16所述的物品,其特征在于,所述存储介质存储指令,所述指令在由所述计算机执行时使所述计算机提供表示在所述时间片开始时由所述计数器指示的取样值的第一数据,并提供表示在所述时间片结束时由所述计数器指示的取样值的第二数据。
18.如权利要求15所述的物品,其特征在于,所述存储介质存储指令,所述指令在由所述计算机执行时使所述计算机在所述机器上提供用户界面,以选择所述给定任务并在所述用户界面上显示所述计数值的归因部分。
19.如权利要求15所述的物品,其特征在于,所述计算机包括用于执行所述指令的图形处理器。
20.如权利要求15所述的物品,其特征在于,所述计算机包括用于执行指令的主处理器和包括所述处理核的图形处理器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/645,609 | 2009-12-23 | ||
US12/645,609 US8453146B2 (en) | 2009-12-23 | 2009-12-23 | Apportioning a counted value to a task executed on a multi-core processor |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110024A true CN102110024A (zh) | 2011-06-29 |
CN102110024B CN102110024B (zh) | 2013-06-19 |
Family
ID=43531603
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010106195679A Expired - Fee Related CN102110024B (zh) | 2009-12-23 | 2010-12-22 | 将计数值分配给在多核处理器上执行的任务 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8453146B2 (zh) |
CN (1) | CN102110024B (zh) |
DE (1) | DE102010053971A1 (zh) |
GB (1) | GB2476547B (zh) |
TW (1) | TWI434215B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050215A (zh) * | 2013-03-14 | 2014-09-17 | 三星电子株式会社 | 清除和重建相关性的系统和方法 |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2555586B (en) * | 2016-10-31 | 2019-01-02 | Imagination Tech Ltd | Performance profiling in a graphics unit |
CN112052081B (zh) * | 2020-08-13 | 2022-06-03 | 烽火通信科技股份有限公司 | 一种任务调度方法、装置及电子设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101238442A (zh) * | 2005-08-09 | 2008-08-06 | 富士通株式会社 | 进程控制程序以及进程控制方法 |
US20080282251A1 (en) * | 2007-05-10 | 2008-11-13 | Freescale Semiconductor, Inc. | Thread de-emphasis instruction for multithreaded processor |
US20080301474A1 (en) * | 2005-12-23 | 2008-12-04 | Nxp B.V. | Performance Analysis Based System Level Power Management |
US20090217277A1 (en) * | 2008-02-27 | 2009-08-27 | Sun Microsystems, Inc. | Use of cpi power management in computer systems |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2003288237A (ja) * | 2002-03-27 | 2003-10-10 | Hitachi Ltd | 制御装置における実行時間測定装置及び実行時間測定方法 |
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 |
US6925424B2 (en) * | 2003-10-16 | 2005-08-02 | International Business Machines Corporation | Method, apparatus and computer program product for efficient per thread performance information |
US20060230409A1 (en) * | 2005-04-07 | 2006-10-12 | Matteo Frigo | Multithreaded processor architecture with implicit granularity adaptation |
US8402463B2 (en) * | 2006-10-30 | 2013-03-19 | Hewlett-Packard Development Company, L.P. | Hardware threads processor core utilization |
US8028286B2 (en) * | 2006-11-30 | 2011-09-27 | Oracle America, Inc. | Methods and apparatus for scheduling threads on multicore processors under fair distribution of cache and other shared resources of the processors |
US7725518B1 (en) * | 2007-08-08 | 2010-05-25 | Nvidia Corporation | Work-efficient parallel prefix sum algorithm for graphics processing units |
US8117618B2 (en) * | 2007-10-12 | 2012-02-14 | Freescale Semiconductor, Inc. | Forward progress mechanism for a multithreaded processor |
CN102057356A (zh) * | 2008-06-11 | 2011-05-11 | 高通股份有限公司 | 用于测量任务负载的方法和系统 |
US8601444B2 (en) * | 2009-10-27 | 2013-12-03 | Microsoft Corporation | Analysis and timeline visualization of thread activity |
-
2009
- 2009-12-23 US US12/645,609 patent/US8453146B2/en not_active Expired - Fee Related
-
2010
- 2010-12-01 TW TW099141733A patent/TWI434215B/zh not_active IP Right Cessation
- 2010-12-07 GB GB1020732.2A patent/GB2476547B/en not_active Expired - Fee Related
- 2010-12-09 DE DE102010053971A patent/DE102010053971A1/de not_active Ceased
- 2010-12-22 CN CN2010106195679A patent/CN102110024B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101238442A (zh) * | 2005-08-09 | 2008-08-06 | 富士通株式会社 | 进程控制程序以及进程控制方法 |
US20080301474A1 (en) * | 2005-12-23 | 2008-12-04 | Nxp B.V. | Performance Analysis Based System Level Power Management |
US20080282251A1 (en) * | 2007-05-10 | 2008-11-13 | Freescale Semiconductor, Inc. | Thread de-emphasis instruction for multithreaded processor |
US20090217277A1 (en) * | 2008-02-27 | 2009-08-27 | Sun Microsystems, Inc. | Use of cpi power management in computer systems |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104050215A (zh) * | 2013-03-14 | 2014-09-17 | 三星电子株式会社 | 清除和重建相关性的系统和方法 |
CN104050215B (zh) * | 2013-03-14 | 2019-04-09 | 三星电子株式会社 | 清除和重建相关性的系统和方法 |
US10552157B2 (en) | 2013-03-14 | 2020-02-04 | Samsung Electronics Co., Ltd. | System and method to clear and rebuild dependencies |
Also Published As
Publication number | Publication date |
---|---|
GB2476547B (en) | 2013-05-22 |
TWI434215B (zh) | 2014-04-11 |
CN102110024B (zh) | 2013-06-19 |
DE102010053971A1 (de) | 2011-08-18 |
US20110154238A1 (en) | 2011-06-23 |
TW201140449A (en) | 2011-11-16 |
GB201020732D0 (en) | 2011-01-19 |
US8453146B2 (en) | 2013-05-28 |
GB2476547A (en) | 2011-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Azimi et al. | Online performance analysis by statistical sampling of microprocessor performance counters | |
Castro et al. | A machine learning-based approach for thread mapping on transactional memory applications | |
US7587437B2 (en) | Parallel efficiency calculation method and apparatus | |
Sironi et al. | Metronome: operating system level performance management via self-adaptive computing | |
Ahn et al. | Scalable analysis techniques for microprocessor performance counter metrics | |
US8161493B2 (en) | Weighted-region cycle accounting for multi-threaded processor cores | |
US20060179136A1 (en) | Accuracy of the estimation of computer resource usage | |
Sembrant et al. | Phase guided profiling for fast cache modeling | |
Willnecker et al. | Comparing the accuracy of resource demand measurement and estimation techniques | |
Lorenzo et al. | 3DyRM: a dynamic roofline model including memory latency information | |
CN102110024B (zh) | 将计数值分配给在多核处理器上执行的任务 | |
Wagner et al. | A structured approach to performance analysis | |
Rohr et al. | Workload-intensity-sensitive timing behavior analysis for distributed multi-user software systems | |
Rosales et al. | Fjprof: Profiling fork/join applications on the java virtual machine | |
Neill et al. | Fuse: Accurate multiplexing of hardware performance counters across executions | |
Cox et al. | Commercializing profile-driven optimization | |
Lu et al. | A trace-based statistical worst-case execution time analysis of component-based real-time embedded systems | |
Rosales et al. | tgp: A task-granularity profiler for the java virtual machine | |
JP3821834B2 (ja) | 並列効率計算方法 | |
Schmitt et al. | Scalable critical path analysis for hybrid MPI-CUDA applications | |
Steigner et al. | Performance tuning of distributed applications with CoSMoS | |
Dimpsey et al. | Performance prediction and tuning on a multiprocessor | |
JP2005339437A (ja) | 性能ボトルネック解析システム及び性能ボトルネック解析方法 | |
CN112540900B (zh) | 大规模并行程序用实时监测与分析方法 | |
Gao et al. | Workload characterization using the CRAY hardware performance monitor |
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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130619 Termination date: 20161222 |