实时软件和硬件的性能基准测试制造技术

技术编号:31308145 阅读:22 留言:0更新日期:2021-12-12 21:31
一种系统和方法确定特定微处理器的特定计算机对象代码的唯一性能基准。通过为多个不同处理器上的单个相同代码模块生成多个唯一基准,该方法确定哪个处理器对于该代码模块是最佳的。通过为单个指定处理器生成多个模块中的每个代码模块的性能基准,其中多个模块具有相同/相似的功能,但是详细代码或算法有所不同,该系统和方法识别对于单个指定处理器是最佳的代码变化。该系统和方法可能需要首先将对象代码(如实际执行的)的选定特征提取到代码配置文件中,然后基于代码配置文件且在选定的微处理器的机器级定时数据中生成性能基准。这样,通过从该方法的第二阶段对对象代码进行防火墙保护,可以实现代码安全性。可以实现代码安全性。可以实现代码安全性。

【技术实现步骤摘要】
实时软件和硬件的性能基准测试


[0001]本专利技术涉及计算系统的设计阶段优化。更具体地,本系统和方法涉及为在特定硬件系统上运行的定制计算机软件生成性能基准。本系统和方法还涉及生成与实时,时间关键型计算系统性能有关的一个或多个性能基准。

技术介绍

[0002]实时或任务关键型编程
[0003]实时计算(RTC)(有时也称为“确定性计算”)领域涉及受一个或多个“实时约束”(例如,从事件到系统响应)的硬件和软件系统。实时硬件和软件程序通常必须保证在指定的时间约束内对系统事件做出响应,指定的时间约束可以称为“最后期限”。
[0004]用于许多任务关键型应用的系统必须是实时的,例如用于控制电传飞行器或防抱死制动器,这两者都需要立即且准确的机械和电响应。更一般地,在航空系统或其他类型的运输系统中,可能需要发动机和控制系统在指定时间内响应关键的环境事件,以维持飞机或其他运载器的安全操作。其他不需要机械部件的系统也可能是任务关键型。例如,为了维持任务关键型数据的不间断和/或高质量通信,通信系统可能需要任务关键型分组路由,交换,数据压缩/解压缩,数据加密/解密等。
[0005]在典型的系统中,时间关键型响应反映了自动化操作(即,没有人工操作者的实时干预),并且系统对事件的响应的最后期限可以在毫秒或微秒的数量级上。尽管可以给出典型或预期的响应时间,但未指定为实时操作的系统通常无法保证在任何时间框架内的响应。如果未在相对于事件的指定最后期限内完成实时处理,则该实时处理将失败;无论系统负载如何,都必须始终满足最后期限,以实现最佳甚至安全的系统性能。
[0006]实时系统还可以表征为接收环境或系统数据(通常来自系统或环境传感器),处理感测到的数据,并在接收数据的基本上相同时间(即没有明显的延迟)返回具有足够响应的结果,以影响系统操作和/或环境。
[0007]用于实时应用的软件通常需要被仔细地编码和微调,以在特定的,指定的硬件微处理器上获得最佳性能。实时软件应用可以包括特定于应用的软件和实时操作系统中的一个或两个。
[0008]软件基准
[0009]软件基准是通过测试软件(开发中的代码或商业发布软件)确定的指示软件的性能速度的数值。当特定程序或软件模块的数字得分高于其他功能相似的软件模块时,高数字等级通常指示更快的性能速度。在替代方案中,也可以配置基准,以便较低的数字指示减少了任务的执行时间,因此指示更好的性能。
[0010]目前存在测量硬件而不是软件的性能的许多基准,通常测量硬件微处理器的性能。一些著名的基准包括Dhrystone,whetstone和嵌入式微处理器基准联盟开发的一些基准。然而,通常,这些都是广义的基准,主要设计用于确定诸如微处理器的底层硬件(可能连同相关的硬件,例如数据总线)的性能。它们的主要目的是表征不同微处理器的相对一般性
能,而与在给定微处理器上运行的特定应用软件无关。
[0011]现有的广义基准遭受类似的缺陷,这既可能与实时编程有关,也可能与不太任务关键型的应用(例如通用商业软件)的编程有关。现有基准测量它们被设计用于在选定的硬件处理器上进行测量的内容(例如,整数性能或浮点性能,或两者的某种组合)。对于在特殊环境中运行的特定软件应用,尤其是对于实时系统,很难经由这些广义基准来估计或比较特定系统和应用的处理性能。这是因为特定实时环境和实时软件应用对整数命令,浮点命令和其他低级存储器命令具有特别且独特的要求。
[0012]然后,当应用在代表性硬件环境中运行时,需要剖析(profile)现有应用(通常是实时系统的开发中的alpha或beta应用)的系统和方法。还需要定制基准,该定制基准将更好地估计特定目标硬件系统的特定开发中的软件的实时性能。

技术实现思路

[0013]在至少一个方面,当特定计算机对象(object)代码实际上在特定的指定硬件微处理器上运行时,本系统和方法的实施例确定该代码的唯一(unique)性能基准。
[0014]在多个处理器上进行基准测试的单个代码模块:在实施例中,该系统和方法可以为多个处理器中的每个处理器的单个相同对象代码模块生成多个唯一基准,从而该系统和方法可以确定哪个硬件处理器(在多个潜在处理器或“目标平台”中)对于代码模块是最佳的。
[0015]功能上相似的软件模块:在另一个实施例中,该系统和方法可以为单个指定的处理器生成多个性能基准,多个目标软件模块中的每个代码模块具有唯一基准,目标是仅选择一个目标软件模块用于实际使用和部署。多个软件模块中的每一个可以具有相同或相似的功能,但是在详细的代码或算法上有所不同。以这种方式,该系统和方法可以识别对于特定的指定目标平台(例如,特定的指定硬件处理器)是最佳的那些代码变化。
[0016]功能上不同的软件模块:在本系统和方法的另一个实施例中,多个不同的目标软件模块具有不同的功能,并且多个模块旨在组合(即,集成)性能,可能并行或顺序操作,或两者兼而有之。然后每个目标模块可具有非常不同的代码集。本系统和方法可以当在第一处理器或第一目标硬件平台上运行时为每个目标模块生成第一组性能基准,然后当在第二(不同)目标处理器或不同的目标硬件平台上运行时为每个目标模块生成第二组基准等。这样,在通过多个不同合作目标模块的性能基准结果的引导下,设计工程师可以选择目标硬件处理器,该目标硬件处理器为大部分或所有目标软件模块提供足够执行时间的所需平衡(从而为所有目标模块的集成软件系统提供最佳性能)。
[0017]方法:在一些实施例中,该系统和方法可能需要第一阶段和第二阶段,第一阶段用于将对象代码的选定特征提取到代码配置文件中,第二阶段基于代码配置文件以及基于特定的指定测试硬件处理器的选择来生成性能基准。这样,通过从该方法的第二阶段对对象代码进行防火墙保护,可以实现代码安全性。在实施例中,代码配置文件反映了微代码命令的分布,这些微代码命令在特定条件下在选定的目标处理器上运行时由对象代码执行。
[0018]在实施例中,该系统和方法还可能需要为特定处理器生成处理器配置文件的第二阶段,以及联合分析代码配置文件和处理器配置文件以生成性能基准的第二阶段。在这样的实施例中,可以生成特定对象模块的特定于处理器的性能基准而(i)不需要在特定处理
器上实际运行对象代码(替代地在不同处理器上运行代码),或在一些实施例中,(ii)不需要在任何处理器上运行对象代码。
[0019]在一些实施例中,该系统和方法不仅涉及对对象代码进行剖析,而且进一步涉及主要识别和隔离对象代码在目标软件模块实际上正在处理器上实时运行时最典型地或最频繁地被调用的那些部分,以用于分析。
[0020]在实施例中,当代码模块在特定的虚拟处理器上或通过解释器(例如,Java)运行时,该系统和方法还可以用于为指定的计算机程序或代码模块生成性能基准。
[0021]本系统和方法的实施例可以特别地适用于基准测试对象代码,该对象代码被指定用于实时的性能关键的应用。然而,本系统和方法还可以为非任务关键型系统的软件性本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种存储指令的计算机可读非暂时性存储介质,其特征在于,当所述指令由基准测试计算机系统的一个或多个计算机执行时,使所述一个或多个计算机执行用于基准测试的方法,所述方法包括:接收第一对象代码模块的多个机器语言指令的第一指令混合分解(IMB),所述第一IMB指示所述多个机器语言指令中的每个机器语言指令的执行数;接收第一目标硬件平台的第一平台定时数据(PTD),所述第一PTD包括所述第一目标硬件平台的多个机器语言指令中的每个指令的单个指令执行定时数据;以及基于所述第一IMB和所述第一PTD,计算指示所述第一对象代码模块在所述第一目标硬件平台上执行时的预期性能速度的第一性能基准(PB)。2.根据权利要求1所述的计算机可读非暂时性存储介质,其特征在于,其中,接收所述第一IMB的步骤包括:接收第一IMB,对于所述第一IMB,从物理或模拟的第一目标硬件平台上的所述第一对象代码模块的实际执行确定每个机器语言指令的所述执行数。3.根据权利要求1所述的计算机可读非暂时性存储介质,其特征在于,进一步包括生成所述第一IMB,所述生成包括:加载所述第一对象代码模块以在物理或模拟的第一目标硬件平台上执行;将代表模拟操作环境的输入测试向量作为输入提供到所述物理或模拟的第一目标硬件平台;在所述物理或模拟的第一目标硬件系统上执行所述第一对象代码模块;以及基于利用所述输入测试向量的所述第一对象代码模块的所述执行来生成所述第一IMB,其中:当在指定的物理或模拟环境中在所述第一目标平台上执行所述第一对象代码模块时,所述第一IMB基本上反映了所述多个机器语言指令中的每个机器语言指令的执行数。4.根据权利要求1所述的计算机可读非暂时性存储介质,其特征在于,进一步包括生成所述目标硬件平台的所述第一平台定时数据。5.根据权利要求4所述的计算机可读非暂时性存储介质,其特征在于,其中,生成所述目标硬件平台的所述第一平台定时数据包括:连续执行N次所述目标硬件平台的选定的微代码命令;连续识别N次执行所述目标硬件平台的所述选定的微代码命令所需的微代码执行时间MET;以及用MET除以N来确定所述选定的微代码命令的单遍执行时间。6.根据权利要求1所述的计算机可读非暂时性存储介质,其特征在于,其中,生成所...

【专利技术属性】
技术研发人员:安德里亚
申请(专利权)人:通用电气公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1