CN103902443A - 一种程序运行性能分析方法及装置 - Google Patents

一种程序运行性能分析方法及装置 Download PDF

Info

Publication number
CN103902443A
CN103902443A CN201210576264.2A CN201210576264A CN103902443A CN 103902443 A CN103902443 A CN 103902443A CN 201210576264 A CN201210576264 A CN 201210576264A CN 103902443 A CN103902443 A CN 103902443A
Authority
CN
China
Prior art keywords
program
proper vector
performance
programs
parameter
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
Application number
CN201210576264.2A
Other languages
English (en)
Other versions
CN103902443B (zh
Inventor
赵家程
崔慧敏
冯晓兵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Original Assignee
Huawei Technologies Co Ltd
Institute of Computing Technology of CAS
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd, Institute of Computing Technology of CAS filed Critical Huawei Technologies Co Ltd
Priority to CN201210576264.2A priority Critical patent/CN103902443B/zh
Priority to PCT/CN2013/085302 priority patent/WO2014101532A1/zh
Publication of CN103902443A publication Critical patent/CN103902443A/zh
Application granted granted Critical
Publication of CN103902443B publication Critical patent/CN103902443B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3409Recording 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3447Performance evaluation by modeling

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明提供一种程序运行性能分析方法及装置,涉及网络技术领域,能够对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率,该方法包括:在预设的程序集中获取每个程序在运行状态下的特征向量;获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,该性能干扰参数为预设的程序集中至少两个共同运行的程序的特征向量相互作用时至少两个共同运行的程序各自性能的下降率;对至少两个共同运行的程序的特征向量与至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。本发明应用在程序性能干扰分析中。

Description

一种程序运行性能分析方法及装置
技术领域
本发明涉及网络技术领域,尤其涉及一种程序运行性能分析方法及装置。
背景技术
云计算是一种基于互联网的计算方式,通过这种方式共享互联网提供的软硬件资源和信息,并按需提供给计算机和其他设备。这就要求云计算服务的提供商的服务器要有强大的计算能力,而这种强大的计算能力是由数量众多的片上多核处理器组成的。但是由于片上多核系统会共享各种不同资源,因此,为了保证高服务质量(Quality ofService,简称QoS)优先级程序的性能,通常会禁止高QoS优先级程序同其他程序的共同运行,使得在云计算环境下的硬件资源的利用率非常低。为了解决这一问题,现有技术一般采用将共同运行的两个程序的各自的压力得分和性能对压力的敏感性曲线相结合的方式来进行性能干扰情况的分析,这样系统就可以利用性能干扰情况为调度程序提供决策依据,使得性能干扰率低的程序可以与高优先级的程序同时运行,即性能干扰率低的程序与高优先级的程序同时存在于一个数据中心中,从而提高硬件资源的利用率。
在实现上述的程序性能干扰分析过程中,发明人发现现有技术中至少存在如下问题:现有技术只能对两个共同运行的程序进行性能干扰情况的分析,而无法对大于两个的共同运行的程序进行性能干扰情况的分析,但现今运行在同一个片上多核处理器的程序越来越多,无法对大于两个的共同运行的程序的性能干扰情况做出有效分析,将会影响硬件资源的利用率。
发明内容
本发明的实施例提供一种程序运行性能分析方法及装置,能够对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,提供一种程序运行性能分析方法,包括:
在预设的程序集中获取每个程序在运行状态下的特征向量;
获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,所述性能干扰参数为所述预设的程序集中至少两个共同运行的程序的特征向量相互作用时所述至少两个共同运行的程序各自性能的下降率;
对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
在第一种可能的实现方式中,根据第一方面,所述生成性能干扰函数模型后,还包括:
获取至少两个程序在运行状态下的特征向量;
根据所述至少两个程序在运行状态下的特征向量及所述性能干扰函数模型计算所述至少两个程序在运行状态下各自的性能干扰参数。
在第二种可能的实现方式中,结合第一方面或第一种可能的实现方式,所述对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型,包括:
将获取到的所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入所述空间坐标系;
根据加入到所述空间坐标系中的所有性能干扰参数的数据量和所述预设的程序集中的程序的特征向量设定函数形式;
在所述空间坐标系中根据设定的所述函数形式对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
在第三种可能的实现方式中,根据第二种可能的实现方式,所述根据加入到所述空间坐标系中的所有性能干扰参数的数据量和所述预设的程序集中的程序的特征向量设定函数形式之前,还包括:
重复获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并将重新获取的所述性能干扰参数加入所述空间坐标系,直到所述空间坐标系中所述性能干扰参数的个数达到预定的阈值。
在第四种可能的实现方式中,结合第一方面或第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,所述特征向量为程序在运行状态下对共享资源的竞争特征,所述共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
第二方面,提供一种程序运行性能分析装置,包括:
特征向量获取单元,用于在预设的程序集中获取每个程序在运行状态下的特征向量;
参数获取单元,用于获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,所述性能干扰参数为所述特征向量获取单元获取到的所述预设的程序集中至少两个共同运行的程序的特征向量相互作用时所述至少两个共同运行的程序各自性能的下降率;
曲线拟合单元,用于对所述特征向量获取单元获取到的所述至少两个共同运行的程序的特征向量与所述参数获取单元获取到的所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
在第一种可能的实现方式中,根据第二方面,所述装置还包括:
所述特征向量获取单元,还用于获取至少两个程序在运行状态下的特征向量;
参数计算单元,用于根据所述特征向量获取单元获取到的所述至少两个程序在运行状态下的特征向量及所述曲线拟合单元拟合出的所述性能干扰函数模型计算所述至少两个程序在运行状态下各自的性能干扰参数。
在第二种可能的实现方式中,结合第二方面或第一种可能的实现方式,所述曲线拟合单元包括:
参数存储子单元,用于将所述参数获取单元获取到的所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入所述空间坐标系;
函数设定子单元,用于根据所述参数存储子单元加入到所述空间坐标系中的所有性能干扰参数的数据量和所述特征向量获取单元获取到的所述预设的程序集中的程序的特征向量设定函数形式;
曲线拟合子单元,用于在所述空间坐标系中根据所述函数设定子单元设定的所述函数形式对所述特征向量获取单元获取到的所述至少两个共同运行的程序的特征向量与所述参数获取单元获取到的所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
在第三种可能的实现方式中,根据第二种可能的实现方式,所述装置还包括:
所述参数获取单元,还用于重复获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并通过所述参数存储子单元将重新获取的所述性能干扰参数加入所述空间坐标系,直到所述空间坐标系中所述性能干扰参数的个数达到预定的阈值。
第四种可能的实现方式中,结合第一方面或第一种可能的实现方式或第二种可能的实现方式或第三种可能的实现方式,所述特征向量为程序在运行状态下对共享资源的竞争特征,所述共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
本发明的实施例提供的程序运行性能分析方法及装置,通过对至少两个共同运行的程序的特征向量及性能干扰参数进行曲线拟合,生成性能干扰函数模型,再通过该性能干扰函数模型对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率。
附图说明
图1为本发明实施例提供的一种程序运行性能分析方法的流程图。
图2为本发明实施例提供的另一种程序运行性能分析方法的流程图;
图3为本发明实施例提供的一种程序运行性能分析装置的结构流程图;
图4为本发明实施例提供的另一种程序运行性能分析装置的结构流程图;
图5为本发明又一实施例提供的一种程序运行性能分析装置的结构流程图。
具体实施方式
下面结合附图对本发明实施例提供的一种程序运行性能分析方法及装置进行详细描述。
现今随着运行在同一个片上多核处理器的程序越来越多,因此,为了保证高优先级程序的性能,通常会简单的禁止高优先级程序同其他程序的共同运行,导致了很低的资源利用率。因此,为了解决资源利用率低的问题,就需要一个可以对共同运行的多道程序的性能干扰进行预测的方法,从而对程序进行任务调度,使得高优先级的程序可以与性能干扰率低的程序共同运行,从而提高硬件资源利用率。而本发明的实施例便提供了一种程序运行性能分析方法。
参照图1所示,在执行本发明的实施例提供的方法之前,首先要确定一个合适的程序集,而合适的程序集需要对整体的输入程序有很强的代表性,所以在选取的时候需要遵循一定的原则。首先,程序集要有广泛性,即程序集中程序的行为特征所覆盖的范围要广泛,需要覆盖到程序特征向量的所有方面,具体来说,就是指程序集中的程序应当涵盖计算密集型、访存密集型等不同的类型。其次,程序集要有针对性,即指程序集中的程序要根据输入程序的行为特征不同而做出相应的调整,如,若输入的应用程序是以在线服务的程序居多,那么程序集中的程序也要以在线服务的程序为主。
具体的,程序运行性能分析方法具体的步骤如下:
101、程序运行性能分析装置在预设的程序集中获取每个程序在运行状态下的特征向量。
可选的,本实施例中所描述的特征向量为程序在运行状态下对共享资源的竞争特征,该共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
具体的,步骤101主要是为了量化输入程序的行为特征,该输入程序的行为特征在这里以特征向量来表示。而程序的特征向量是指程序在运行时对共享资源的需求特征,该共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽宽带和共享的输入输出设备等。具体的以程序在运行时对共享资源的竞争特征来讲,程序对共享缓存的竞争特征可以用程序缓存命中率、单位时间内的缓存缺失次数或每百万条指令内的缓存缺失次数来刻画;对共享预取器的竞争特征可以用单位时间内的预取次数或每百万条指令内的预取次数来刻画;对共享带宽的竞争特征使用带宽流量来刻画;对共享内存的竞争特征使用所消耗的内存量来刻画;对共享输入输出设备的竞争特征使用其输入输出读写请求的次数、每次读写请求的字节数来刻画。在对每项共享资源的需求特征进行量化后,将这些量化后的值共同构成程序的特征向量。其中,预设的程序集中的每个程序在共享资源上的竞争特征(即特征向量)是通过合适的程序剖析的手段来获取的,且可以描述为Ci(ci1,ci2,...,cif)(i=1,...,k)。
其中,由于本发明的精确性和实验数据的规模相关,因此程序集的规模直接影响最终得出的性能干扰函数模型的准确度,则程序集规模越大,性能干扰函数模型的准确度就越高,但是同时需要进行程序剖析的时间也越长,因此,可以根据通过调整程序集的规模,从而调整性能干扰函数模型的准确度和剖析时间之间的平衡。
102、程序运行性能分析装置获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,该性能干扰参数为预设的程序集中至少两个共同运行的程序的特征向量相互作用时至少两个共同运行的程序各自性能的下降率。
具体的,若从程序集中随机选取m个程序(已选取出的程序可以重复选取)作为一个工作负载,检测出这m个程序共同运行时每个程序的性能下降比例,将得到的m组数据加入空间坐标系中。其中,程序的性能干扰参数可以表示为函数Pif(ti|tj1,tj2,...,tjm-1)=F(Ci,Cj1,...,Cjm-1),该函数公式的含义表示的是至少两个共同运行的程序的性能干扰为程序自身的特征向量和共同运行的其他程序的特征向量相互作用的函数。其中,Pif(ti|tj1,tj2,...,tjm-1)表示ti在和程序tj1,tj2,...,tjm-1共同运行时的性能变化情况,且tj1,tj2,...,tjm-1的顺序不影响性能干扰参数的值(即任意改变除Ci以外的特征向量的循序不会影响Ci的性能变化)。
103、程序运行性能分析装置对至少两个共同运行的程序的特征向量与至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
进一步可选的,参照图2所示,步骤103具体的还包括:
103a、程序运行性能分析装置将获取到的预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入空间坐标系。
可选的,在步骤103b之前,还包括:程序运行性能分析装置重复获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并将重新获取的性能干扰参数加入空间坐标系,直到该空间坐标系中性能干扰参数的个数达到预定的阈值。
具体的,重复获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,每运行一次所得到的至少两个共同运行的程序各自的性能干扰参数,就将所得到的性能干扰参数加入到空间坐标系中,直到该空间坐标系中的性能干扰参数的数据量达到提前设定的某个阈值,只有空间坐标系中的性能干扰参数的密度达到某个设定的阈值,才能使的拟合出的拟合曲线的精确度高,当然,空间坐标系中的性能干扰参数的密度越高,所拟合出的拟合曲线的精确度越高。
103b、程序运行性能分析装置根据加入到空间坐标系中的所有性能干扰参数的数据量和预设的程序集中的程序的特征向量设定函数形式。
具体的,在进行曲线拟合之前首先要确定所要拟合的函数的函数形式,且该函数形式首先要满足性能干扰参数函数的函数特征,然后根据在空间坐标系上加入的性能干扰参数的数据量和程序的特征向量来进行灵活选取,且该函数形式可以采用多项式函数或指数函数等,当然也可以为两种函数相结合的函数形式。
103c、程序运行性能分析装置在空间坐标系中根据设定的函数形式对至少两个共同运行的程序的特征向量与至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
其中,上述的性能干扰函数模型的自变量为至少两个共同运行的程序的特征向量的值,函数值为至少两个共同运行的程序中所关注的程序的性能下降率Pif(ti|tj1,tj2,...,tjm-1),并且在进行曲线拟合时可以选用不同的拟合工具,如Matlab(矩阵实验室),0rigin(科学绘图、数据分析软件)等图形数据分析工具软件。
可选的,该方法还包括:
在得到性能干扰函数模型之后,便可以根据该性能干扰函数模型对任意至少两个共同运行的程序进行性能干扰分析。
104、程序运行性能分析装置获取至少两个程序在运行状态下的特征向量。
对步骤104中所提到的所有程序进行程序剖析,收集所有经过程序剖析得到的程序的特征向量。
105、程序运行性能分析装置根据至少两个程序在运行状态下的特征向量及性能干扰函数模型计算至少两个程序在运行状态下各自的性能干扰参数。
本发明的实施例提供的程序运行性能分析方法,通过对至少两个共同运行的程序的特征向量及性能干扰参数进行曲线拟合,生成性能干扰函数模型,再通过该性能干扰函数模型对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率。
本发明的实施例提供一种程序运行性能分析装置,参照图3所示,该程序运行性能分析装置3,包括:特征向量获取单元31、参数获取单元32和曲线拟合单元33,其中:
特征向量获取单元31,用于在预设的程序集中获取每个程序在运行状态下的特征向量。
参数获取单元32,用于获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,该性能干扰参数为特征向量获取单元32获取到的预设的程序集中至少两个共同运行的程序的特征向量相互作用时至少两个共同运行的程序各自性能的下降率。
曲线拟合单元33,用于对特征向量获取单元31获取到的至少两个共同运行的程序的特征向量与参数获取单元32获取到的至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
可选的,该装置还包括:参数计算单元34,其中:
特征向量获取单元31,还用于获取至少两个程序在运行状态下的特征向量。
参数计算单元34,用于根据特征向量获取单元31获取到的至少两个程序在运行状态下的特征向量及曲线拟合单元33拟合出的性能干扰函数模型计算至少两个程序在运行状态下各自的性能干扰参数。
可选的,本发明实施例提到的特征向量为程序在运行状态下对共享资源的竞争特征,该共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
进一步可选的,参照图4所示,上述的曲线拟合单元33还包括:参数存储子单元331、函数设定子单元332和曲线拟合子单元333,其中:
参数存储子单元331,用于将参数获取单元32获取到的预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入空间坐标系。
函数设定子单元332,用于根据参数存储子单元331加入到空间坐标系中的所有性能干扰参数的数据量和特征向量获取单元31获取到的预设的程序集中的程序的特征向量设定函数形式。
曲线拟合子单元333,用于在空间坐标系中根据函数设定子单元332设定的函数形式对特征向量获取单元31获取到的至少两个共同运行的程序的特征向量与参数获取单元32获取到的至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
进一步可选的,参数获取单元32,还用于重复获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并通过参数存储子单元331将重新获取的性能干扰参数加入空间坐标系,直到空间坐标系中性能干扰参数的个数达到预定的阈值。
本发明的实施例提供的程序运行性能分析装置,通过对至少两个共同运行的程序的特征向量及性能干扰参数进行曲线拟合,生成性能干扰函数模型,再通过该性能干扰函数模型对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率。
图5为本发明的又一实施例提供的程序运行性能分析装置的结构示意图,该程序运行性能分析装置5包括至少一个处理器51,存储器52,通信总线53以及至少一个通信接口54。其中,通信总线53用于实现上述组件之间的连接并通信,该通信接口54用于与外部设备连接并通信。该通信总线53可以是工业标准体系结构(Industry StandardArchitecture,简称ISA)总线、外部设备互连(Peripheral Component,简称PCI)总线或扩展工业标准体系结构(Extended Industry StandardArchitecture,简称EISA)总线等。该通信总线53可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
处理器51可以是:通用中央处理器(central procession unit,简称CPU)、专用集成电路(application specific integrated circuit,简称ASIC)、数字信号处理器(DSP)、现成可编程门阵列(FPGA)或其他可编程逻辑器件。而通信接口54用于连接程序运行性能分析装置和通信网络,该通信网络包括:以太网、无线接入网(radio accessnetwork,RAN)、无线局域网(wireless local area network,WLAN)或其他类似网络。存储器52可以是计算机能够存取的任何可用介质,包括但不限于:只读存储器(read only memory,简称ROM)、随机存储器(random access memory,简称RAM)、或磁盘存储(disk storage)、闪存、可编程只读存储器或电可擦写可编程存储器、寄存器等本领域熟悉的存储介质。
存储器52中存储需要执行的程序代码,这些程序代码具体可以包括:特征向量获取单元521、参数获取单元522和曲线拟合单元523。
处理器51用于执行所述存储器52中存储的单元,当上述单元被所述处理器51执行时,实现如下功能:
特征向量获取单元521,用于在预设的程序集中获取每个程序在运行状态下的特征向量。
参数获取单元522,用于获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,该性能干扰参数为特征向量获取单元521获取到的预设的程序集中至少两个共同运行的程序的特征向量相互作用时至少两个共同运行的程序各自性能的下降率。
曲线拟合单元523,用于对特征向量获取单元521获取到的至少两个共同运行的程序的特征向量与参数获取单元522获取到的至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
可选的,该存储器52还包括:参数计算单元524,其中:
特征向量获取单元521,还用于获取至少两个程序在运行状态下的特征向量。
参数计算单元524,用于根据特征向量获取单元521获取到的至少两个程序在运行状态下的特征向量及曲线拟合单元523拟合出的性能干扰函数模型计算至少两个程序在运行状态下各自的性能干扰参数。
可选的,本发明实施例提到的特征向量为程序在运行状态下对共享资源的竞争特征,该共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
进一步可选的,上述的曲线拟合单元523还包括:参数存储子单元、函数设定子单元和曲线拟合子单元,其中:
参数存储子单元,用于将参数获取单元522获取到的预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入空间坐标系。
函数设定子单元,用于根据参数存储子单元加入到空间坐标系中的所有性能干扰参数的数据量和特征向量获取单元521获取到的预设的程序集中的程序的特征向量设定函数形式。
曲线拟合子单元,用于在空间坐标系中根据函数设定子单元设定的函数形式对特征向量获取单元521获取到的至少两个共同运行的程序的特征向量与参数获取单元522获取到的至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
进一步可选的,参数获取单元522,还用于重复获取预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并通过参数存储子单元将重新获取的性能干扰参数加入空间坐标系,直到空间坐标系中性能干扰参数的个数达到预定的阈值。
本发明的实施例提供的程序运行性能分析装置,通过对至少两个共同运行的程序的特征向量及性能干扰参数进行曲线拟合,生成性能干扰函数模型,再通过该性能干扰函数模型对多道同时运行的程序各自的性能干扰进行分析,从而提高程序运行过程当中资源调度的效率和硬件资源的利用率。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种程序运行性能分析方法,其特征在于,包括:
在预设的程序集中获取每个程序在运行状态下的特征向量;
获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,所述性能干扰参数为所述预设的程序集中至少两个共同运行的程序的特征向量相互作用时所述至少两个共同运行的程序各自性能的下降率;
对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
2.根据权利要求1所述的方法,其特征在于,所述生成性能干扰函数模型后,还包括:
获取至少两个程序在运行状态下的特征向量;
根据所述至少两个程序在运行状态下的特征向量及所述性能干扰函数模型计算所述至少两个程序在运行状态下各自的性能干扰参数。
3.根据权利要求1或2所述的方法,其特征在于,所述对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型,包括:
将获取到的所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入所述空间坐标系;
根据加入到所述空间坐标系中的所有性能干扰参数的数据量和所述预设的程序集中的程序的特征向量设定函数形式;
在所述空间坐标系中根据设定的所述函数形式对所述至少两个共同运行的程序的特征向量与所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
4.根据权利要求3所述的方法,其特征在于,所述根据加入到所述空间坐标系中的所有性能干扰参数的数据量和所述预设的程序集中的程序的特征向量设定函数形式之前,还包括:
重复获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并将重新获取的所述性能干扰参数加入所述空间坐标系,直到所述空间坐标系中所述性能干扰参数的个数达到预定的阈值。
5.根据权利要求1~4任一项所述的方法,其特征在于,所述特征向量为程序在运行状态下对共享资源的竞争特征,所述共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
6.一种程序运行性能分析装置,其特征在于,包括:
特征向量获取单元,用于在预设的程序集中获取每个程序在运行状态下的特征向量;
参数获取单元,用于获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,所述性能干扰参数为所述特征向量获取单元获取到的所述预设的程序集中至少两个共同运行的程序的特征向量相互作用时所述至少两个共同运行的程序各自性能的下降率;
曲线拟合单元,用于对所述特征向量获取单元获取到的所述至少两个共同运行的程序的特征向量与所述参数获取单元获取到的所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,生成性能干扰函数模型。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
所述特征向量获取单元,还用于获取至少两个程序在运行状态下的特征向量;
参数计算单元,用于根据所述特征向量获取单元获取到的所述至少两个程序在运行状态下的特征向量及所述曲线拟合单元拟合出的所述性能干扰函数模型计算所述至少两个程序在运行状态下各自的性能干扰参数。
8.根据权利要求6或7所述的装置,其特征在于,所述曲线拟合单元包括:
参数存储子单元,用于将所述参数获取单元获取到的所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数加入所述空间坐标系;
函数设定子单元,用于根据所述参数存储子单元加入到所述空间坐标系中的所有性能干扰参数的数据量和所述特征向量获取单元获取到的所述预设的程序集中的程序的特征向量设定函数形式;
曲线拟合子单元,用于在所述空间坐标系中根据所述函数设定子单元设定的所述函数形式对所述特征向量获取单元获取到的所述至少两个共同运行的程序的特征向量与所述参数获取单元获取到的所述至少两个共同运行的程序的性能干扰参数进行曲线拟合,得到拟合曲线,生成性能干扰函数模型。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
所述参数获取单元,还用于重复获取所述预设的程序集中至少两个共同运行的程序各自的性能干扰参数,并通过所述参数存储子单元将重新获取的所述性能干扰参数加入所述空间坐标系,直到所述空间坐标系中所述性能干扰参数的个数达到预定的阈值。
10.根据权利要求6~9任一项所述的装置,其特征在于,所述特征向量为程序在运行状态下对共享资源的竞争特征,所述共享资源包括:共享的缓存、共享的预取器、共享的内存、共享的带宽和共享的输入输出设备。
CN201210576264.2A 2012-12-26 2012-12-26 一种程序运行性能分析方法及装置 Expired - Fee Related CN103902443B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201210576264.2A CN103902443B (zh) 2012-12-26 2012-12-26 一种程序运行性能分析方法及装置
PCT/CN2013/085302 WO2014101532A1 (zh) 2012-12-26 2013-10-16 一种程序运行性能分析方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210576264.2A CN103902443B (zh) 2012-12-26 2012-12-26 一种程序运行性能分析方法及装置

Publications (2)

Publication Number Publication Date
CN103902443A true CN103902443A (zh) 2014-07-02
CN103902443B CN103902443B (zh) 2017-04-26

Family

ID=50993778

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210576264.2A Expired - Fee Related CN103902443B (zh) 2012-12-26 2012-12-26 一种程序运行性能分析方法及装置

Country Status (2)

Country Link
CN (1) CN103902443B (zh)
WO (1) WO2014101532A1 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015035901A1 (zh) * 2013-09-10 2015-03-19 华为技术有限公司 程序性能干扰模型的确定方法及设备
CN106997367A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
WO2019010656A1 (zh) * 2017-07-12 2019-01-17 华为技术有限公司 性能指标评估方法及装置
CN113672489A (zh) * 2021-10-25 2021-11-19 国家超级计算天津中心 超级计算机的资源性能等级确定方法及设备

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110647437B (zh) * 2019-07-25 2022-08-05 平安科技(深圳)有限公司 基于pid控制器调整cpu使用率的方法、装置、终端及介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1506827A (zh) * 2002-12-06 2004-06-23 松下电器产业株式会社 软件处理方法以及软件处理系统
US20090225712A1 (en) * 2008-03-05 2009-09-10 Qualcomm Incorporated Traffic scheduling based on resource contention
CN101945353A (zh) * 2009-07-07 2011-01-12 中国移动通信集团山东有限公司 一种系统资源远程调整的方法与系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1506827A (zh) * 2002-12-06 2004-06-23 松下电器产业株式会社 软件处理方法以及软件处理系统
US20090225712A1 (en) * 2008-03-05 2009-09-10 Qualcomm Incorporated Traffic scheduling based on resource contention
CN101945353A (zh) * 2009-07-07 2011-01-12 中国移动通信集团山东有限公司 一种系统资源远程调整的方法与系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
CHANDRA: "Predicting Inter-Thread Cache Contention on a Chip Multi-Processor Architecture", 《PROCEEDINGS OF THE 11TH INT, 1 SYMPOSIUM ON HIGH-PERFORMANCE COMPUTER ARCHITURE》 *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015035901A1 (zh) * 2013-09-10 2015-03-19 华为技术有限公司 程序性能干扰模型的确定方法及设备
US10430312B2 (en) 2013-09-10 2019-10-01 Huawei Technologies Co., Ltd. Method and device for determining program performance interference model
CN106997367A (zh) * 2016-01-26 2017-08-01 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
CN106997367B (zh) * 2016-01-26 2020-05-08 华为技术有限公司 程序文件的分类方法、分类装置和分类系统
US10762194B2 (en) 2016-01-26 2020-09-01 Huawei Technologies Co., Ltd. Program file classification method, program file classification apparatus, and program file classification system
WO2019010656A1 (zh) * 2017-07-12 2019-01-17 华为技术有限公司 性能指标评估方法及装置
CN113672489A (zh) * 2021-10-25 2021-11-19 国家超级计算天津中心 超级计算机的资源性能等级确定方法及设备

Also Published As

Publication number Publication date
WO2014101532A1 (zh) 2014-07-03
CN103902443B (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
CN103902443A (zh) 一种程序运行性能分析方法及装置
US8276135B2 (en) Profiling of software and circuit designs utilizing data operation analyses
US10534984B1 (en) Adjusting training set combination based on classification accuracy
US9772881B2 (en) Hardware resource allocation for applications
CN110941424A (zh) 编译参数优化方法、装置及电子设备
Khan et al. FPGA-assisted real-time RF wireless data analytics system: Design, implementation, and statistical analyses
CN105493024B (zh) 一种数据阈值预测方法与相关装置
CN115098412A (zh) 外设访问控制器、数据访问装置及对应方法、介质和芯片
CN111625367A (zh) 一种动态调整文件系统读写资源的方法
CN105183701A (zh) 1536点fft处理方式及相关设备
CN109389215B (zh) 一种深度学习网络的网络结构确定方法及装置
CN109165729A (zh) 神经网络的调度方法及系统
US10102135B2 (en) Dynamically-adjusted host memory buffer
US10430312B2 (en) Method and device for determining program performance interference model
CN114253458A (zh) 内存缺页异常的处理方法、装置、设备及存储介质
CN108021393B (zh) 一种计算方法及相关产品
CN111356151A (zh) 一种数据处理方法及装置、计算机可读存储介质
CN112035056A (zh) 一种基于多计算单元的并行ram访问架构及访问方法
CN114020459B (zh) 基于发包速率的fpga资源平衡方法、装置、fpga设备及介质
CN115967459B (zh) 相位随机序列的处理方法、装置、设备、介质及程序产品
CN117349037B (zh) 在离线应用干扰消除方法、装置、计算机设备及存储介质
Briggs et al. Modeling and simulation of 5g-based edge networks for lightweight machine learning applications
CN112114874B (zh) 数据处理方法、装置、电子设备和存储介质
KR20240057316A (ko) 공장 에너지 관리 시스템 네트워크 구성 적합성 판별 방법 및 장치
CN118057792A (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
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20170426

Termination date: 20201226

CF01 Termination of patent right due to non-payment of annual fee