CN102110013A - 用于有效生成处理器体系结构模型的方法和设备 - Google Patents
用于有效生成处理器体系结构模型的方法和设备 Download PDFInfo
- Publication number
- CN102110013A CN102110013A CN2010106195664A CN201010619566A CN102110013A CN 102110013 A CN102110013 A CN 102110013A CN 2010106195664 A CN2010106195664 A CN 2010106195664A CN 201010619566 A CN201010619566 A CN 201010619566A CN 102110013 A CN102110013 A CN 102110013A
- Authority
- CN
- China
- Prior art keywords
- performance
- processor
- design space
- training data
- model
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
Abstract
描述了一种用于有效生成处理器体系结构模型的方法和设备,该处理器体系结构模型可以更精确的预测处理器的性能以最小化仿真时间。在一个实施例中,一种方法包括:标识处理器的性能基准测试程序;为所标识的性能基准测试程序采样设计空间的一部分;仿真所采样的设计空间的那部分,以生成训练数据;通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间;以及通过执行所述处理器性能模型,为整个设计空间预测处理器的性能。
Description
技术领域
本发明的各实施例一般涉及处理器领域,并且更具体地涉及用于有效生成处理器体系结构模型的方法和设备,该处理器体系结构模型可精确地预测处理器的性能以最小化仿真时间。
背景技术
随着处理器体系结构相比于前一代处理器体系结构而言变得更加复杂并且具有更多的晶体管数目,仿真这样的处理器以确定它们在各种情况下的性能就变得耗时并且需要密集的处理器时钟周期。这种密集耗时的计算产生了阻碍,耗尽了对新的和现有的处理器体系结构特性的设计空间拓展。在没有充分的设计空间拓展的情况下,无法为目标工作负载环境选择最佳的可能处理器设计或配置。
举例来说,为在10个不同的处理器仿真器参数(诸如,指令窗口(instruction window,IW)大小、数据高速缓存单元(data cache unit,DCU)大小,等等)上待拓展的一组目标基准测试程序(benchmark)(诸如,微软Microsoft WordTM 2007,微软Microsoft ExcelTM 2007,微软Microsoft Internet ExplorerTM,等等)或基准测试程序的一部分(诸如,微软Microsoft WordTM2007的特性子集,等等)而拓展处理器性能将需要大约100亿次仿真运行,其中每个参数具有5个可能值(诸如,指令窗口(也被称为重新排序缓冲器)具有48、64、80、96或112个条目,或者,数据高速缓存大小为2、4、8、16或32KB)。术语“追踪”(trace)一般定义为将要在处理器上执行的工作负载(可和术语“基准测试程序”互换使用)子集。
假设每个追踪耗时三小时在一个处理器上进行仿真,并且有5000个处理器专用于仿真1000个追踪,那么这5000个专用处理器将耗时超过700年的处理器仿真时间来确定针对这1000个追踪的处理器体系结构的性能。具有这样的处理器仿真时间的设计空间拓展是不可行的。
虽然仿真可以被处理器性能预测模型来替代,但是这种模型在它们的创建、精确性和速度方面专用的基准测试程序。使用新基准测试程序来拓展处理器设计空间需要研发新的性能预测模型并且随后使用该模型在该基准测试程序的不同配置下为该基准测试程序预测处理器性能(衡量为每周期执行的指令数目(IPC)和/或以瓦(Watt)为单位的功率消耗数)。当确定处理器体系结构性能和功率消耗涵盖大范围的基准测试程序(诸如,超过1000个基准测试程序)时,一种利用自定义模型的方法无法在速度和精确性两方面有所提升。
附图简述
可以参考下文的详细说明以及本发明的各实施例的附图来充分理解本发明的各实施例,但是,这些描述和附图并非旨在将本发明限定为这些特定的实施例,而仅仅是作为解释和说明之用。
图1A是根据本发明的一个实施例,用于有效生成一用于预测处理器性能的处理器性能模型的上位流程图;
图1B是根据本发明的一个实施例,示出仿真器参数和它们各自的数值的图表;
图2是根据本发明的一个实施例,示出性能预测误差灵敏度与训练数据数目之比的曲线图;
图3是根据本发明的一个实施例,用于生成用于多个基准测试程序的处理器性能模型的详细流程图;
图4A是根据本发明的一个实施例,用于生成处理器性能模型的非二进制特性标记矩阵;
图4B是根据本发明的一个实施例,用于生成处理器性能模型的二进制特性标记矩阵;
图5是根据本发明的一个实施例,示出与有效生成该处理器体系结构模型有关的硬件的系统。
详细描述
本发明的各实施例涉及用于有效生成单个处理器体系结构模型的方法和设备,该单个处理器体系结构模型能通过对大规模数量级(诸如,超过1000个)的处理器基准测试程序的仿真时间进行最小化,从而精确地预测该处理器的性能。
在一个实施例中,处理器基准测试程序被包含在特性-标记配对(feature-label pair)中(将在下面进行说明),从而允许处理器性能预测模型为大范围的基准测试程序来预测功率消耗和处理器性能。以下描述的实施例将可替换地使用术语“性能”和“功率”,这是因为处理器性能模型可以预测与IPC有关的处理器性能和与以瓦(Watt)为单位的处理器功率消耗有关的处理器性能中的任何一个或全部两者。
在一个实施例中,大范围基准测试程序的区间为从无限数目的基准测试程序到少量的基准测试程序采样(包括单个基准测试程序)。进一步的,用于有效生成单个处理器体系结构性能预测模型的方法和设备提供了低误差率(诸如,相对于真实基准测试程序仿真来说小于3%的误差)以及高预测速度(诸如,几分钟,而不是几年)。
附图1是根据本发明的一个实施例,用于有效生成处理器体系结构模型的流程图100。在块101中,标识处理器的性能基准测试程序。在一个实施例中,标识一个或多个处理器基准测试程序,用于生成性能预测模型。在一个实施例中,基准测试程序包括以下范围:诸如多媒体应用程序、办公应用程序、游戏应用程序和服务器应用程序。在一个实施例中,处理器是单核处理器。在其他的实施例中,处理器是多核处理器。本发明的多个实施例不限于任何特定类型的处理器体系结构。
在块102中,采样用于所标识的性能基准测试程序的设计空间的一部分。在一个实施例中,对该设计空间的该部分的采样需要生成对该给定处理器的大量随机配置。在一个实施例中对于每个配置都随机选择每个仿真器参数的值。处理器的配置的含义是用于该处理器的体系结构设置。
例如,处理器的一个配置可具有与第二级(Level-Two)高速缓冲存储器一样大小的第一级(Level-One)高速缓冲存储器。在另一个配置中,第一级高速缓存的大小比第二级高速缓存要小。类似地,一个配置可以具有单个处理器核,而其他配置可以具有超过一个处理器核,即,多核处理器。上述的各个配置仅仅是示例性的,且并不意味着将处理器配置限制为上述示例所描述的那样。
在一个实施例中,仿真器参数确定处理器体系结构设计空间的大小。在一个实施例中,设计空间越小,用于该处理器的性能预测模型就越精确。
在一个实施例中,仿真器参数的一个示例是处理器中高速缓冲存储器的大小。通常,第一级高速缓存的大小比第二级高速缓存要小。这意味着用于第一级高速缓存的仿真器参数值应该被设置为小于用于第二级高速缓存的仿真器参数值,用于来生成精确的性能预测模型。反之,则性能预测模型将不那么精确,因为它的训练数据中包括了第一级高速缓存大于第二级高速缓存的处理器配置,这将无法反映真实世界的处理器中的高速缓冲存储器的配置方式。在这样一个实施例中,生成性能预测模型的一部分训练数据对于构成该性能预测模型来说是被浪费的训练数据。一个原因是:这些训练数据被认为是被浪费的训练数据是因为在真实世界中高速缓冲存储器不会被配置为使第一级高速缓存的大小大于第二级高速缓存的大小,因为这样的配置不会导致更高的处理器性能。
在一个实施例中,每个仿真参数均被赋予来自预定数值范围中的一个值。附图1B示出了根据本发明的一个实施例的图表120,其中具有多个仿真器参数以及它们各自的值。例如,在一个实施例中,行121列出了仿真器参数,行122列出了与这些仿真器参数相关的度量,诸如,参数的个数,参数的大小,参数的状态,行123包括这些仿真器参数的值的预定范围。在一个实施例中,每个仿真参数都被随机地赋予一个值,该值是选自一可能值的范围中均匀间隔的一组未排序的可能值。在一个实施例中,该范围是这些可能值的预定范围。
为了使以下的实施例更清楚起见,使用指令窗口(IW)的大小和数据高速缓存单元(DCU)的大小来解释用于有效生成处理器体系结构性能预测模型的方法,其中指令窗口也被称为重新排序缓冲器并且被表述为多个条目,数据高速缓存单元被表示为以KB为单位。其他仿真器参数,诸如处理器保留站、负载缓冲器、存储缓冲器、中级高速缓存、指令高速缓存、回退宽度(retire width),等等,具有它们各自可能值的预定范围,也可被用于生成处理器体系结构性能预测模型。
在一个实施例中,如果处理器的IW中的可能值的预定范围是48到112(如行123所示),并且增加值是16,那么参数值的未排序集合将会是{48,64,80,96,112}。在另一个实施例中,从可能值范围上以二的次方增大的一组可能值的未排序集合对仿真参数进行赋值。例如,如果处理器的DCU大小的预定范围是2KB到32KB,则参数值的未排序集合将会是{2,4,8,16,或32KB}。
回到附图1A,在块103中,通过对采样的设计空间进行仿真来生成用于处理器性能模型的训练数据。在一个实施例中,并非产生多个处理器模型且每个均对应于一个基准测试程序,而是产生用于该多个基准测试程序的单个处理器模型。单个处理器模型实现了对大量基准测试程序(诸如,超过1000个基准测试程序)的有效预测,而不需要为每个基准测试程序生成个性化的预测模型。
在一个实施例中,训练数据包括基准测试程序数目(诸如,100,表示第100个基准测试程序),被仿真的基准测试程序的类型(诸如,微软Microsoft WordTM 2007),仿真参数值(诸如,第一级高速缓冲存储器和第二级高速缓冲存储器的大小),以及IPC(诸如,为被仿真的特定类型的基准测试程序所执行的指令数目)。这样的实施例允许训练单个处理器模型,其包括了关于多个基准测试程序的信息。
在块104中,根据来自块103的训练数据生成单个处理器性能模型。在一个实施例中,通过执行统计方法来生成该性能模型。在一个实施例中,该处理器性能模型是单处理器性能模型。在一个实施例中,统计方法是Vowpal Wabbit(VW)统计方法,用于执行来自块103的训练数据以生成处理器性能预测模型。在其它实施例中,可以使用其他统计方法以根据来自块103的训练数据来生成性能预测模型,而不改变本实施例的原理。将在下文中参考附图3、4A和4B详细描述生成性能预测模型的细节。
回到附图1A,在块105中,通过执行单处理器性能预测模型,预测处理器在整个设计空间的性能。处理器性能预测模型允许预测未见过的(unseen)处理器配置的性能和功率。在一个实施例中,通过标识每个处理器配置的所有排列,来生成所有处理器配置的完整列表。在一个实施例中,通过调节仿真器参数的突出点(knob)来标识这些排列。在一个实施例中,所有处理器配置的完整列表被输入处理器性能模型。产生的预测是处理器的穷举的设计空间。
在一个实施例中,同样调节突出点来减少预测与真实仿真数据相比下的误差。在这样一个实施例中,性能预测模型被重新训练,并生成更新的更精确的处理器性能预测模型。在一个实施例中,通过从训练数据中移除不相关的参数即重新调整之前的训练数据来重新训练性能预测模型。将在下文中讨论相关和不相关的训练数据。在一个实施例中,如果误差过高(诸如,大于10%),则搜集更多的训练数据而不是重新训练已有的数据,以生成更新的更精确的处理器预测模型。
在块106中,选择一个处理器预测性能结果的采样。在一个实施例中,该采样表示在块101中所标识的性能基准测试程序的激励。在一个实施例中,执行该选择过程以在特定性能结果上以及在与该性能结果有关的突出点、参数和基准测试程序上进行删减。在一个实施例中,选择是基于成本度量和收益度量。如果仅仅提供一个度量,则限制了对有利配置进行选择的能力。
例如,在一个实施例中,可以从消耗大约80%的处理器原始功率的初始处理器设计点中标识出数千个(甚至数万个)减衰(decremented)后的处理器配置。处理器的原始功率表示当处理器不减衰时处理器的功率消耗。而减衰后的处理器相比于原始处理器得到的20%的功率节约就是收益度量。成本度量是与减衰后的处理器设计有关的相比于原始处理器设计的性能衰减。在一个实施例中,当综合收益和成本度量时,可以获得具有期望的功率节约的最佳性能的处理器配置。
在块107中,所选的采样被仿真以更好地理解该性能基准测试程序的特定采样。在一个实施例中,从仿真器中生成真实性能数据。
在块108中,通过仿真所选的采样而生成的性能数据被与用于该采样的预测性能相比较。在一个实施例中,该比较允许对处理器性能模型进行调整。在一个实施例中,比较生成误差。在一个实施例中,该误差被定义为对于给定采样的处理器预测性能和真实仿真性能之间的差别。在其他实施例中,可以使用其他误差的表示方式而不背离实施例的原理。
在块109中,对从比较生成的误差是否大于预定阈值作出判定。在一个实施例中,预定阈值为4%。在其他实施例中,更低或更高的阈值可以被用于在性能预测模型的精确性和对处理器性能的预测速度之间进行折衷。
在一个实施例中,如果误差超过预定阈值,则(通过参考块105而讨论的突出点)来调整性能预测模型使其接近于仿真结果。在一个实施例中,通过移除与处理器性能无关的用于特定参数的训练数据,来进行对性能预测模型的调整。
例如,在一个实施例中,如果处理器性能被发现为对IW的大小不敏感,即,IW的大小与处理器的性能无关,则该IW的大小不被用作为创建/生成处理器性能预测模型的训练参数。在这样一个实施例中,移除该IW的大小参数会减少性能预测模型的误差,因为该性能预测模型不再要求其学习训练数据中的模式,其中针对该训练数据无法学习到可靠的模式。在一个实施例中,如果误差小于预定阈值则在块110中完全对处理器性能的预测。
附图2是示出根据本发明的一个实施例的性能预测误差灵敏度相比于训练数据的曲线图200。x轴是被用于生成性能预测模型的训练数据数目。y轴是以百分比表示的误差率。该曲线图示出预测处理器性能中的误差随着训练数据数目的增加而减少。在该示例中,从大约11K的用于预测处理器性能的训练数据中获得的误差率为4%。
附图3是根据本发明的一个实施例,用于生成用于多个基准测试程序的处理器性能预测模型的详细流程图300。在一个实施例中,在块301中,标识出追踪(trace)。在块302中,为仿真参数调节突出点。在块303中,仿真器接收所标识的追踪以及仿真器参数。仿真器使用仿真器参数对所标识的追踪进行仿真,以针对每个追踪和参数生成训练数据。以下将结合附图1详细讨论块301-303。
回到附图3,在块304中,通过将训练数据转换为单个矩阵而将由多个文件(诸如,数千个文件)组成的训练数据重新组织为单个矩阵,该单个矩阵具有特性-标记配对。在一个实施例中,特性-标记配对与所识别的性能基准测试程序相关联。
该矩阵的一个示例被示出在由附图4A和4B所图示的实施例中。附图4A是根据本发明的一个实施例,具有特性401和标记402的非二进制单个矩阵400。为了清楚起见,IW和DCU的仿真器参数被用于解释该单个矩阵。在一个实施例中,所有的特性和标记都被组织为单个矩阵400的401和402中的行和列。在一个实施例中,IW和DCU的特性分别在附图4A的401和附图4B的411中被配对。这些特性包括来自预定数值集合(参见附图1B的123)的各种随机配置(诸如,IW取48和96,DCU取16和4)。
在附图4A的实施例中,考虑三个追踪,这会产生六个随机配置,每个追踪二个配置。在一个实施例中,标记402被赋予特性401的每一行。在附图4A和4B的实施例中,相对IPC是被赋予特性401和411的行的、402和412中的标记。相对IPC表示当与执行追踪且IPC为1.00的原始处理器相比较时,执行相同追踪的处理器配置的IPC。
附图4B是根据本发明的一个实施例,具有特性411和标记412的二进制单个矩阵410。在一个实施例中,附图4B中的特性411包括二进制格式的追踪IW和DCU。在一个实施例中,特性配对回避了对仿真器参数之间关系(诸如,仿真器参数之间的相关度)的明显揭示的需求,由此提供了不需要了解哪些处理器参数对处理器的性能而言最不重要或最重要的训练数据。
在一个实施例中,单个矩阵410是附图4A中的非二进制单个矩阵400的二进制形式。在一个实施例中,二进制单个矩阵410与非二进制单个矩阵400相比,提供了使用VW统计方法的更加精确的性能预测模型生成。使用二进制单个矩阵410的更加精确的预测建模的一个原因是单个矩阵的二进制化使得特性411在处理器性能上的非线性行为可通过另外的线性VW统计方法来捕捉。
例如,在一个实施例中,不使用用于具有多个可能值(诸如,2、4、8、16、32KB)的DCU大小的单个特性,而使用用于每个可能设置(DCU_2、DCU_4、DCU_8、DCU_16、DCU_32)的单个特性。在这样一个实施例中,用于每个可能参数值的单个特性实现了在相同处理器参数的不同值和处理器性能之间的非线性关系。在一个实施例中,以原始的非二进制格式(诸如,附图4A),VW统计方法必须学习例如DCU大小和处理器性能之间的单个线性函数。但是,在一个实施例中,DCU和处理器性能之间的关系不一定是线性的,可能当DCU大小从8KB增加到16KB大小时性能增强,但在从16KB增大到32KB的DCU大小时性能维持恒定。在这样一个实施例中,不存在线性函数可以在所有的三个DCU大小上表征DCU大小和处理器性能之间的关系。然而,如果特性是在具有二进制特性的单个矩阵内被二进制化,VW统计方法会对每个DCU大小而学习一线性函数。因此,在一个实施例中,这些三个DCU大小和处理器性能之间的关系可以被三个线性函数来表征,这使得模型更为精确。
回到附图3,在块304中生成的单个矩阵(附图4A中的400或附图4B中的410)随后在块305中在统计应用程序上被执行。在一个实施例中,统计应用程序执行VW统计方法来生成性能预测模型。在一个实施例中,统计方法对在块304中生成的矩阵中的每一个特性(附图4A中的401,附图4B中的411)赋予权重。在一个实施例中,对每一行输入数据的每个特性所赋予的权重的总和是对应于该行的标记(附图4A中的401,附图4B中的412)。在一个实施例中,统计方法对特性赋予权重以最小化标记的平方误差。在一个实施例中,如果仿真器参数在所有的基准测试程序上都与处理器性能高度相关,则对该特性赋予大的权重(诸如,1.0)。在一个实施例中,如果参数与处理器性能无关,则对该特性赋予小的权重(可能是0)。
在一个实施例中,统计方法包括二次特性配对。在这样一个实施例中,不仅仅对单个特性赋予权重,而是对两个特性的组合赋予权重。例如,对DCU大小赋予权重、对指令高速缓存大小(参见附图1B)赋予权重,以及对DCU和指令高速缓存的组合赋予权重。在这样一个实施例中,对两个参数的组合赋予的权重捕捉了二阶效果,诸如任何两个特定配置(诸如,指令高速缓存大小和DCU大小)的相互影响。在一个实施例中,二阶效果使得性能预测模型更为精确,导致更小的误差。
二次特性配对在预测处理器性能方面具有多个优点。以下将描述两个示例性的优点,仅作为具体作用。
第一个是,在一个实施例中,当被配对的特性是追踪和参数对时,特性配对通过基于参数的影响将合适的权重赋予参数,从而在学习追踪模型中帮助学习追踪专用的模式(trace-specific patterns)。
例如,在一个实施例中,一矩阵包括三个追踪X,Y,Z。在一个实施例中,追踪X示出了仅仅源自大的DCU大小(诸如,32KB)的更好的处理器性能,即,追踪X示出了性能对IW大小的不敏感性。对追踪X的IW就将不赋予权重。在上述示例中,根据一个实施例,假设对DCU大小和IW大小均赋予相同的权重因为这些参数均影响性能,那么追踪Y将提供更好的处理器性能。类似的,根据一个实施例,追踪Z示出了根据DCU大小或IW大小均没有额外的处理器性能优势,因此对追踪Z的任何一个参数均不赋予权重。
第二,在一个实施例中,当被配对的特性均是参数(不同于上述的追踪和参数对),则模型将学习这些处理器参数如何互相影响。
例如,在一个实施例中,被配对的特性是第一级高速缓存和第二级高速缓存。通常,大于第一级高速缓存的第二级高速缓存会产生更高的处理器性能,导致相比于第二级高速缓存,对第一级高速缓存分配更多的权重。但是,在第一级高速缓存已经较大的实施例中,即便是更大的第二级高速缓存,其增加的优势也将小于初始时第一级较小的情况。通过将上述两个高速缓存特性进行配对,可以确定参数互相之间的影响,以对上述用于模型生成的参数进行更为精确的权重赋值。
在一个实施例中,性能预测模型不仅仅对特定特性(诸如,DCU大小)进行赋值,也对该特征以及每个数据行的基准测试程序的配对(诸如,(DCU大小,追踪1)、(DCU大小,追踪2))进行赋值,以确定一参数一般是类似地还是唯一地影响所有的基准测试程序。在这样一个实施例中,模型使用上述确定来更好地猜测之前未见过的处理器-基准测试程序特性标记配对的性能。
例如,在一个实施例中,当对于某些基准测试程序,仿真器参数与处理器性能是高度相关的,则对这些参数-追踪特性配对赋予权重。在这样一个实施例中,在之前未见过的处理器体系结构上为已知的基准测试程序预测处理器性能时,性能预测模型了解对于每个仿真器参数,该参数一般是类似地影响所有的基准测试程序(即,恰好在该特性上有大的权重),还是唯一地取决于该基准测试程序(即,仅仅在与所影响的基准测试程序有关的特性-追踪对上有大的权重)。这样的知识增强了对未见过的处理器的性能预测。
在一个实施例中,统计方法使用三次样条函数(cubic splines)对特性和标记(参见附图4)之间的关系进行建模。三次样条函数是适合训练数据的非线性曲线。在这样一个实施例中,指定多个突出点(或除法器),用于为每个特性适配一样条。在一个实施例中,样条被特定数量的突出点分开,并且学习每个突出点之间的非线性曲线。例如,如果一样条包括2个突出点,则在整个样条之上就有三个分别学习得到的曲线。在一个实施例中,更多的突出点可以在特性和标记之间创建更有力的函数,但使用过多的突出点会存在将统计性能预测模型与训练数据过度适配的风险。
例如,在一个实施例中,如果对特定的参数存在5个可能值,并且样条不被任何突出点所分隔,那么参数与特性的非线性关系将很难把所有的数据点适配在单条线段上。术语“很难”(hard)表示数据点与样条的接近度。在一个实施例中,样条被分隔为5个突出点,以将每个数据点适配到其自有的线段上。在该情况中,对于训练数据来说适配过程是过度灵敏的,以致于无法提供对未见过的数据点的精确估计。
回到附图3,在块306,测试来自初始随机采样的被用于创建处理器统计模型的训练数据。在一个实施例中,执行N重交叉验证(N-fold cross-validation)以检测该模型的精确性。在一个实施例中,N为5。在其他实施例中,可以执行更少次或更多次的交叉验证来测试该模型的精确性。交叉验证的次数越多,模型精确性的置信度越高。
例如,对于N=5的实施例,采样的数据被划分为5个等分部分。在一个实施例中,采样的数据的四个部分被用于训练性能预测模型,且第五部分被用作测试数据以测试模型预测的误差。在一个实施例中,上述方法被执行5次——每次使用采样的数据的一个不同部分来测试。随后计算每次交叉验证的误差。在一个实施例中,生成平均误差以反映当性能预测模型被用于预测未见过的配置时可能出现的误差百分比。
在块307中,对模型的精确性进行判定。在一个实施例中,如果平均误差高于预定阈值(诸如,4%),则通过执行与块301-302相关的方法进行数据的重新训练。
在一个实施例中,在重新采样阶段(块301-302),回顾一些仿真器参数以基于它们与处理器性能的相关度与其他仿真器参数的比较来提高精确性。在一个实施例中,高度相关(不论是正相关还是负相关)的参数提高通过该统计方法所生成的模型的精确性。
高度相关的参数是直接影响处理器性能的参数。无关的参数是不影响处理器性能的参数。
在一个实施例中,抛弃与处理器性能无关的仿真器参数,因为这些无关的参数在性能预测模型中引入了噪声并由此减低了精确性。在一个实施例中,上述讨论的重新训练过程被重复多次以获得期望的百分比误差。
在块307,如果平均误差被判定为小于预定阈值,则在块308中生成所有处理器配置的排列(同样参见附图1块105)。在块309,执行性能预测模型以预测处理器性能。
附图5是根据本发明的一个实施例的系统500,示出了与有效生成处理器体系结构预测模型相关的硬件。在一个实施例中,系统500包括处理器501、芯片组502、其上存储有指令505以执行上述方法的存储器504。在一个实施例中,系统的上述组件通过网络总线503而互相之间耦合。在一个实施例中,处理器501包括逻辑单元和具有指令以执行上述方法的存储器。
各实施例的元件也可以作为机器可读介质(也被称为计算机可读介质)来提供,机器可读介质上存储有计算机可执行的指令(诸如,附图5的505),在执行时使得计算机或机器执行一方法(诸如,附图1和附图3的方法)。机器可读介质可包括,但不限于,存储器(诸如,附图5的504)、闪存、光盘、CD-ROM、DVD-ROM、RAM、EPROM、EEPROM、磁卡或光卡、或适于存储电子或计算机可执行指令的其它类型的机器可读介质。例如,本发明的实施例可作为计算机程序(诸如,BIOS)来下载,其中该程序可以通过通信链路(诸如,调制解调器或网络链接)以数据信号的方式从远程计算机(诸如服务器)传送到作出请求的计算机(诸如,客户机)。
在本说明书中对“实施例”、“一个实施例”、“一些实施例”或“其他实施例”的引用意味着结合这些实施例所描述的特定特征、结构或特性被包括在至少某些实施例中,但不一定被包括在所有实施例中。“实施例”、“一个实施例”、或“一些实施例”的多次出现不一定都指代相同的实施例。如果本说明书描述了一组件、特征、结构或特性是“可以”、“可能”、“能”被包括的,那么这些特定组件、特征、结构或特性不是必须被包括在内的。如果本说明书或权利要求书涉及“一”个组件,则不表示仅仅只存在一个该组件。如果本说明书或权利要求书涉及“一个额外”的组件,则不排除具有超过一个上述额外的组件。
虽然本发明参考特定实施例进行了描述,但参考以上的描述,本领域技术人员可以显而易见地认识到多种改动、修改和变形。
例如,被用于生成性能预测模型的统计方法VW可以被其他统计方法来代替,其他统计方法可包括:分段多项式回归方法(piecewise polynomial regression method)、神经网络(neural network)、或一些支持向量机的变形。本发明的多个实施例旨在包括以上这些改动、修改和变形,并属于所附上的权利要求书的范围内。
Claims (30)
1.一种方法,包括:
标识处理器的性能基准测试程序;
为所标识的性能基准测试程序采样设计空间的一部分;
仿真所采样的设计空间的那部分,以生成训练数据;
通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间;以及
通过执行所述处理器性能模型,为整个设计空间预测处理器的性能。
2.如权利要求1所述的方法,其特征在于,所述处理器性能模型是表示多个性能基准测试程序的单个性能预测模型。
3.如权利要求1所述的方法,其特征在于,还包括:
选择所预测的性能的一个采样,所述采样表示所标识的性能基准测试程序的激励;
仿真所预测的性能的所述采样,以生成性能数据;以及
将所述性能数据与所选择的所预测的性能的所述采样相比较。
4.如权利要求3所述的方法,其特征在于,所述选择是基于成本度量和收益度量的。
5.如权利要求3所述的方法,其特征在于,还包括:
通过所述比较来计算预测误差;以及
通过对设计空间的一部分进行重新采样来修改所述训练数据,以减少所计算的预测误差。
6.如权利要求1所述的方法,其特征在于,所述预测性能包括以下至少一个:
预测处理器的功率消耗;以及
预测处理器的每秒指令数。
7.如权利要求1所述的方法,其特征在于,为所标识的性能基准测试程序采样设计空间的一部分包括:
生成处理器的随机配置,每个配置具有参数-数值配对;以及
对所述参数-数值配对中的每个参数随机赋值,其中所述值确定设计空间的大小。
8.如权利要求7所述的方法,其特征在于,随机赋值包括:
标识所述值的预定范围;以及
随机从所述预定范围内赋值。
9.如权利要求1所述的方法,其特征在于,为整个设计空间预测处理器的性能包括:
生成处理器的所有配置的排列;
将所述排列提供给所述处理器性能模型;以及
使用所提供的排列来执行所述处理器性能模型。
10.如权利要求1所述的方法,其特征在于,通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间包括:
将所述训练数据转换为单个矩阵,所述单个矩阵具有与所标识的性能基准测试程序相关的特性和标记;
将所述单个矩阵提供给统计应用程序;以及
执行所述统计应用程序。
11.如权利要求10所述的方法,其特征在于,所述统计应用程序是Vowpal Wabbit方法。
12.如权利要求10所述的方法,其特征在于,所述特性是二进制格式的。
13.一种计算机可读介质,其中包括计算机可读指令,当所述计算机可读指令在计算机上执行时,使该计算机执行一种方法,所述方法包括:
标识处理器的性能基准测试程序;
为所标识的性能基准测试程序采样设计空间的一部分;
仿真所采样的设计空间的那部分,以生成训练数据;
通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间;以及
通过执行所述处理器性能模型,为整个设计空间预测处理器的性能。
14.如权利要求13所述的计算机可读介质,其特征在于,所述处理器性能模型是表示多个性能基准测试程序的单个性能预测模型。
15.如权利要求13所述的计算机可读介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上执行时,使该计算机进一步执行一种方法,所述方法包括:
选择所预测的性能的一个采样,所述采样表示所标识的性能基准测试程序的激励;
仿真所预测的性能的所述采样,以生成性能数据;以及
将所述性能数据与所选择的所预测的性能的所述采样相比较。
16.如权利要求15所述的计算机可读介质,其特征在于,所述选择是基于成本度量和收益度量的。
17.如权利要求15所述的计算机可读介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算机上执行时,使该计算机进一步执行一种方法,所述方法包括:
通过所述比较来计算预测误差;以及
通过对设计空间的一部分进行重新采样来修改所述训练数据,以减少所计算的预测误差。
18.如权利要求13所述的计算机可读介质,其特征在于,所述预测性能包括以下至少一个:
预测处理器的功率消耗;以及
预测处理器的每秒指令数。
19.如权利要求13所述的计算机可读介质,其特征在于,为所标识的性能基准测试程序采样设计空间的一部分包括:
生成处理器的随机配置,每个配置具有参数-数值配对;以及
对所述参数-数值配对中的每个参数随机赋值,其中所述值确定设计空间的大小。
20.如权利要求19所述的计算机可读介质,其特征在于,随机赋值包括:
标识所述值的预定范围;以及
随机从所述预定范围内赋值。
21.如权利要求13所述的计算机可读介质,其特征在于,为整个设计空间预测处理器的性能包括:
生成处理器的所有配置的排列;
将所述排列提供给所述处理器性能模型;以及
使用所提供的排列来执行所述处理器性能模型。
22.如权利要求13所述的计算机可读介质,其特征在于,通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间包括:
将所述训练数据转换为单个矩阵,所述单个矩阵具有与所标识的性能基准测试程序相关的二进制格式的特性和标记;
将所述单个矩阵提供给统计应用程序;以及
执行所述统计应用程序。
23.一种系统,包括:
网络总线;以及
存储器,与处理器相耦合,具有指令以执行预测目标处理器性能的方法;以及
处理器,通过所述网络总线与所述存储器相耦合,所述处理器具有逻辑单元以执行所述指令以执行一方法,所述方法包括:
标识目标处理器的性能基准测试程序;
为所标识的性能基准测试程序采样设计空间的一部分;
仿真所采样的设计空间的那部分,以生成训练数据;
通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间;以及
通过执行所述处理器性能模型,为整个设计空间预测目标处理器的性能。
24.如权利要求23所述的系统,其特征在于,所述处理器性能模型是表示多个性能基准测试程序的单个性能预测模型。
25.如权利要求23所述的系统,其特征在于,所述处理器的逻辑单元用于进一步执行一方法,所述方法包括:
选择所预测的性能的一个采样,所述采样表示所标识的性能基准测试程序的激励;
仿真所预测的性能的所述采样,以生成性能数据;以及
将所述性能数据与所选择的所预测的性能的所述采样相比较,其中所述选择是基于成本度量和收益度量的。
26.如权利要求25所述的系统,其特征在于,所述处理器的逻辑单元用于进一步执行一方法,所述方法包括:
通过所述比较来计算预测误差;以及
通过对设计空间的一部分进行重新采样来修改所述训练数据,以减少所计算的预测误差。
27.如权利要求23所述的系统,其特征在于,所述预测性能包括以下至少一个:
预测处理器的功率消耗;以及
预测处理器的每秒指令数。
28.如权利要求23所述的系统,其特征在于,为所标识的性能基准测试程序采样设计空间的一部分包括:
生成处理器的随机配置,每个配置具有参数-数值配对;以及
对所述参数-数值配对中的每个参数随机赋值,其中所述值确定设计空间的大小,其中随机赋值包括:
标识所述值的预定范围;以及
随机从所述预定范围内赋值。
29.如权利要求23所述的系统,其特征在于,为整个设计空间预测处理器的性能包括:
生成处理器的所有配置的排列;
将所述排列提供给所述处理器性能模型;以及
使用所提供的排列来执行所述处理器性能模型。
30.如权利要求23所述的系统,其特征在于,通过修改所述训练数据,根据所述训练数据生成处理器性能模型,以预测整个设计空间包括:
将所述训练数据转换为单个矩阵,所述单个矩阵具有与所标识的性能基准测试程序相关的二进制格式的特性和标记;
将所述单个矩阵提供给统计应用程序;以及
执行所述统计应用程序。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/646,541 | 2009-12-23 | ||
US12/646,541 US20110153529A1 (en) | 2009-12-23 | 2009-12-23 | Method and apparatus to efficiently generate a processor architecture model |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102110013A true CN102110013A (zh) | 2011-06-29 |
CN102110013B CN102110013B (zh) | 2015-08-19 |
Family
ID=43779967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010619566.4A Expired - Fee Related CN102110013B (zh) | 2009-12-23 | 2010-12-22 | 用于有效生成处理器体系结构模型的方法和设备 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20110153529A1 (zh) |
EP (1) | EP2348431A1 (zh) |
JP (1) | JP5512503B2 (zh) |
CN (1) | CN102110013B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104115093A (zh) * | 2011-12-15 | 2014-10-22 | 英特尔公司 | 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统 |
CN108509324A (zh) * | 2017-02-28 | 2018-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN110178123A (zh) * | 2017-07-12 | 2019-08-27 | 华为技术有限公司 | 性能指标评估方法及装置 |
CN110750856A (zh) * | 2019-09-06 | 2020-02-04 | 东南大学 | 一种基于机器学习的有效指令窗口大小评估方法 |
Families Citing this family (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8972961B2 (en) * | 2010-05-19 | 2015-03-03 | International Business Machines Corporation | Instruction scheduling approach to improve processor performance |
US20120185820A1 (en) * | 2011-01-19 | 2012-07-19 | Suresh Kadiyala | Tool generator |
JP5888047B2 (ja) * | 2012-03-27 | 2016-03-16 | 富士通株式会社 | プロセッサ設計支援方法、プログラムおよび装置 |
JP6394341B2 (ja) * | 2014-07-23 | 2018-09-26 | 富士通株式会社 | 計算装置、計算方法、および計算プログラム |
CN106570563A (zh) * | 2015-10-13 | 2017-04-19 | 中国石油天然气股份有限公司 | 基于卡尔曼滤波和bp神经网络的变形预测方法和装置 |
US11010505B2 (en) | 2015-12-01 | 2021-05-18 | International Business Machines Corporation | Simulation of virtual processors |
JP6647992B2 (ja) * | 2016-09-12 | 2020-02-14 | 株式会社日立製作所 | 設計支援装置 |
US20190004920A1 (en) * | 2017-06-30 | 2019-01-03 | Intel Corporation | Technologies for processor simulation modeling with machine learning |
CN112015603A (zh) * | 2019-05-30 | 2020-12-01 | 鸿富锦精密电子(郑州)有限公司 | 用户终端硬件检测方法、装置、计算机装置及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1382280A (zh) * | 1999-02-05 | 2002-11-27 | 坦斯利卡公司 | 用于设计可配置的处理器的自动处理器产生系统及其方法 |
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
CN101427223A (zh) * | 2005-06-01 | 2009-05-06 | 英特尔公司 | 用于基于关键路径的分析的性能监视体系结构的增强 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06348683A (ja) * | 1993-04-16 | 1994-12-22 | Sony Corp | 集積回路のシミュレーション方法 |
JP3433025B2 (ja) * | 1996-10-08 | 2003-08-04 | 株式会社東芝 | モジュール配置方法 |
US7007270B2 (en) * | 2001-03-05 | 2006-02-28 | Cadence Design Systems, Inc. | Statistically based estimate of embedded software execution time |
US6513145B1 (en) * | 2001-07-31 | 2003-01-28 | Hewlett-Packard Company | Method for estimating the power consumed in a microprocessor |
US7003441B2 (en) * | 2001-07-31 | 2006-02-21 | Hewlett-Packard Development Company, L.P. | Method for deriving the benchmark program for estimating the maximum power consumed in a microprocessor |
-
2009
- 2009-12-23 US US12/646,541 patent/US20110153529A1/en not_active Abandoned
-
2010
- 2010-12-10 EP EP10252095A patent/EP2348431A1/en not_active Ceased
- 2010-12-20 JP JP2010282622A patent/JP5512503B2/ja not_active Expired - Fee Related
- 2010-12-22 CN CN201010619566.4A patent/CN102110013B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1382280A (zh) * | 1999-02-05 | 2002-11-27 | 坦斯利卡公司 | 用于设计可配置的处理器的自动处理器产生系统及其方法 |
CN101427223A (zh) * | 2005-06-01 | 2009-05-06 | 英特尔公司 | 用于基于关键路径的分析的性能监视体系结构的增强 |
CN101183406A (zh) * | 2007-12-25 | 2008-05-21 | 盛科网络(苏州)有限公司 | 网络芯片模块级功能验证测试平台的建立方法 |
Non-Patent Citations (2)
Title |
---|
G. PALERMO,ET AL。: "A System-Level Methodology for Fast Multi-Objective Design Space Exploration", 《PROCEEDINGS OF THE 13TH ACM GREAT LAKES SYMPOSIUM ON VLSI,GLSVLSI’03》, 29 April 2003 (2003-04-29), pages 94 * |
RAMADASS NAGARAJAN ,ET AL。: "A Design Space Evaluation of Grid Processor Architectures", 《PROCEEDINGS OF THE 34TH ANNUAL INTERNATIONAL SYMPOSIUM ON MICROARCHITECTURE》, 5 December 2001 (2001-12-05) * |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104115093A (zh) * | 2011-12-15 | 2014-10-22 | 英特尔公司 | 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统 |
CN104115093B (zh) * | 2011-12-15 | 2017-03-29 | 英特尔公司 | 包括多个处理元件之间的功率和性能平衡的用于能效和节能的方法、装置和系统 |
US9703352B2 (en) | 2011-12-15 | 2017-07-11 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance balancing between multiple processing elements and/or a communication bus |
US10317976B2 (en) | 2011-12-15 | 2019-06-11 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance balancing between multiple processing elements and/or a communication bus |
US11106262B2 (en) | 2011-12-15 | 2021-08-31 | Intel Corporation | Method, apparatus, and system for energy efficiency and energy conservation including power and performance balancing between multiple processing elements and/or a communication bus |
CN108509324A (zh) * | 2017-02-28 | 2018-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN108509324B (zh) * | 2017-02-28 | 2021-09-07 | 通用汽车环球科技运作有限责任公司 | 选择计算平台的系统和方法 |
CN110178123A (zh) * | 2017-07-12 | 2019-08-27 | 华为技术有限公司 | 性能指标评估方法及装置 |
CN110178123B (zh) * | 2017-07-12 | 2020-12-01 | 华为技术有限公司 | 性能指标评估方法及装置 |
CN110750856A (zh) * | 2019-09-06 | 2020-02-04 | 东南大学 | 一种基于机器学习的有效指令窗口大小评估方法 |
CN110750856B (zh) * | 2019-09-06 | 2023-06-06 | 东南大学 | 一种基于机器学习的有效指令窗口大小评估方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2011134329A (ja) | 2011-07-07 |
JP5512503B2 (ja) | 2014-06-04 |
CN102110013B (zh) | 2015-08-19 |
EP2348431A1 (en) | 2011-07-27 |
US20110153529A1 (en) | 2011-06-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102110013B (zh) | 用于有效生成处理器体系结构模型的方法和设备 | |
CN102436494B (zh) | 基于实践检验的执行计划优化的装置及方法 | |
CN112733997B (zh) | 基于woa-lstm-mc的水文时间序列预测优化方法 | |
CN111427750A (zh) | 一种计算机平台的gpu功耗估计方法、系统及介质 | |
CN117236278B (zh) | 一种基于数字孪生技术的芯片生产仿真方法及系统 | |
CN114706762A (zh) | 一种基于强化学习的Simulink软件测试方法 | |
KR20220117123A (ko) | Ai트윈 기반 경제 선순환 시뮬레이션 시스템 및 방법 | |
Meyer | Convergence control in ACO | |
MX2011001796A (es) | Ejecucion de procesador simulado utilizando supeditar ramificacion. | |
Saluja et al. | Optimized approach for antipattern detection in service computing architecture | |
CN110659199A (zh) | 一种基于传递依赖的类集成测试序列生成方法 | |
US20230004870A1 (en) | Machine learning model determination system and machine learning model determination method | |
KR20200125029A (ko) | 회귀 분석 방법 및 장치 | |
CN112463378B (zh) | 一种服务器资产扫描方法、系统、电子设备及存储介质 | |
Yang et al. | Probabilistic modeling and uncertainty estimation of urban water consumption under an incompletely informational circumstance | |
CN115185805B (zh) | 一种存储系统的性能预测方法、系统、设备及存储介质 | |
Daub | Multi-Output GP Emulator Documentation | |
US11354475B2 (en) | Systems and methods for accurate voltage impact on integrated timing simulation | |
CN117273115B (zh) | 一种反向计算图的静态生成方法、装置、设备及介质 | |
CN116451905A (zh) | 一种基于贝叶斯支持向量机和两步析因分析的需水量预测方法 | |
US20230237225A1 (en) | Machine learning based reservoir modeling | |
CN116225963A (zh) | 一种基于强化学习的Web应用测试用例自动生成方法及系统 | |
CN117197476A (zh) | 一种用于智慧城市的污水智能识别方法及系统 | |
Abdullah et al. | Early Stopping of Non-productive Performance Testing Experiments Using Measurement Mutations | |
CN117744466A (zh) | 适用于洪水多要素预报的自适应代理模型同步构建方法 |
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 |
Granted publication date: 20150819 Termination date: 20211222 |
|
CF01 | Termination of patent right due to non-payment of annual fee |