CN112965885B - 访存带宽的检测方法、装置、计算机设备及可读存储介质 - Google Patents
访存带宽的检测方法、装置、计算机设备及可读存储介质 Download PDFInfo
- Publication number
- CN112965885B CN112965885B CN201911273449.4A CN201911273449A CN112965885B CN 112965885 B CN112965885 B CN 112965885B CN 201911273449 A CN201911273449 A CN 201911273449A CN 112965885 B CN112965885 B CN 112965885B
- Authority
- CN
- China
- Prior art keywords
- application
- tested
- access bandwidth
- memory
- performance
- 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.)
- Active
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 133
- 238000000034 method Methods 0.000 claims abstract description 54
- 238000004590 computer program Methods 0.000 claims description 13
- 238000012360 testing method Methods 0.000 description 15
- 238000010586 diagram Methods 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 238000013135 deep learning Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 238000013473 artificial intelligence Methods 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000000593 degrading effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Classifications
-
- 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
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/16—Handling requests for interconnection or transfer for access to memory bus
- G06F13/1668—Details of memory controller
- G06F13/1678—Details of memory controller using bus width
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Debugging And Monitoring (AREA)
- For Increasing The Reliability Of Semiconductor Memories (AREA)
Abstract
本申请涉及一种访存带宽的检测方法、装置、计算机设备及可读存储介质。该方法包括:按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。采用本申请可以不依赖带宽检测硬件也能确定待测应用的访存带宽。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种访存带宽的检测方法、装置、计算机设备及可读存储介质。
背景技术
目前,技术人员在对多核处理器上运行的应用进行性能优化时,需要通过设置在多核处理器上的带宽检测硬件来测量该应用从多核处理器的内存中读写一定量的数据所需的时长来计算该应用的访存带宽。然后,技术人员可以基于该应用的访存带宽,评估该应用是否因为达到带宽瓶颈而导致该应用的性能下降。
然而,受限于硬件设计及成本问题,部分多核处理器无法自带带宽检测硬件,从而导致无法计算应用的访存带宽。因此,亟需一种不依赖带宽检测硬件也能获取应用的访存带宽的方案。
发明内容
基于此,有必要针对上述技术问题,提供一种访存带宽的检测方法、装置、计算机设备及可读存储介质。
第一方面,提供了一种访存带宽的检测方法,所述方法应用于处理器,所述处理器中运行有待测应用和检测应用,所述方法包括:
按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
作为一种可选的实施方式,所述方法还包括:
如果所述待测应用的当前性能高于或等于所述待测应用的初始性能,则按照所述预设的访存带宽递增策略,重新确定所述检测应用对应的目标访存带宽,并执行所述通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能的步骤。
作为一种可选的实施方式,所述按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽,包括:
将上一次确定出的所述检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为所述检测应用对应的目标访存带宽。
作为一种可选的实施方式,所述待测应用的初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第一时长,所述待测应用的当前性能为所述检测应用以所述目标访存带宽对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第二时长;
所述判断所述待测应用的当前性能是否低于所述待测应用的初始性能,包括:
如果所述第二时长大于所述第一时长,则确定所述待测应用的当前性能低于所述待测应用的初始性能;
如果所述第二时长等于所述第一时长,则确定所述待测应用的当前性能等于所述待测应用的初始性能;
如果所述第二时长小于所述第一时长,则确定所述待测应用的当前性能高于所述待测应用的初始性能。
作为一种可选的实施方式,所述方法还包括:
当通过所述检测应用以初始访存带宽对所述内存进行读写操作时,如果所述待测应用的当前性能低于所述待测应用的初始性能,则输出告警信息,其中,所述初始访存带宽为按照预设的访存带宽递增策略确定出的最小的目标访存带宽。
作为一种可选的实施方式,当所述处理器为多核处理器时,所述待测应用和所述检测应用运行在所述多核处理器包含的不同核中。
第二方面,提供了一种访存带宽的检测装置,所述装置应用于处理器,所述处理器中运行有待测应用和检测应用,所述装置包括:
第一确定模块,用于按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
获取模块,用于通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断模块,用于判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
第二确定模块,用于如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
第三方面,提供了一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现第一方面中任一项所述方法的步骤。
第四方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中任一项所述的方法的步骤。
第五方面,提供了一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第一方面任一项所述的方法。
本申请实施例提供了一种访存带宽的检测方法、装置、计算机设备及可读存储介质。处理器按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。然后,处理器通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能。之后,处理器判断待测应用的当前性能是否低于待测应用的初始性能。如果待测应用的当前性能低于待测应用的初始性能,则处理器将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽,从而不依赖带宽检测硬件也能确定待测应用的访存带宽。
附图说明
图1为本申请实施例提供的一种多核处理器的架构图;
图2为本申请实施例提供的一种访存带宽的检测方法的流程示意图;
图3为本申请实施例提供的一种访存带宽的检测方法的示例的流程示意图;
图4为本申请实施例提供的一种访存带宽的检测装置的结构示意图;
图5为本申请实施例提供的一种访存带宽的检测装置的结构示意图;
图6为本申请实施例提供的一种访存带宽的检测装置的结构示意图;
图7为本申请实施例提供的一种计算机设备的结构示意图。
具体实施方式
下面将结合本披露实施例中的附图,对本披露实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本披露一部分实施例,而不是全部的实施例。基于本披露中的实施例,本领域技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本披露保护的范围。
应当理解,本披露的权利要求、说明书及附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。本披露的说明书和权利要求书中使用的术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本披露说明书中所使用的术语仅仅是出于描述特定实施例的目的,而并不意在限定本披露。如在本披露说明书和权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。还应当进一步理解,在本披露说明书和权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
本申请实施例提供了一种访存带宽的检测方法,该方法可以应用于计算机设备。具体的,该方法可以应用于计算机设备中安装的处理器。该处理器可以多核处理器,也可以为其他类型的处理器,本申请实施例不作限定。其中,该多核处理器可以为多核深度学习处理器,也可以为多核深度学习协处理器,还可以为其他类型的多核处理器,本申请实施例不作限定。图1为本申请实施例提供的一种多核处理器的架构图。如图1所示,该多核处理器包含核1至核5、以及内存,核1至核5共同使用该内存的总访存带宽对该内存进行读写操作。其中,核1与核2上运行有待检测应用,核5上运行有检测应用。本申请实施例以处理器为多核处理器为例进行介绍,其他情况与之类似。
下面将结合具体的实施例对本申请提供的一种访存带宽的检测方法进行详细的说明。如图1所示,具体步骤如下:
步骤201,按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。
在实施中,由于待测应用和检测应用共同使用该内存的总访存带宽对该内存进行读写操作,当检测应用的访存带宽和待测应用的访存带宽的和值超过内存的总访存带宽时,会导致检测应用与待测应用之间的访存带宽相互冲突,进而导致待测应用的性能下降。基于上述原理,处理器可以不断调整检测应用对应的目标访存带宽来检测该待测应用的访存带宽。针对每次访存带宽的调整过程,处理器可以按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。
可选的,预设的访存带宽递增策略可以包括预设每次递增的访存带宽的调整值,处理器按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽的处理过程可以为:处理器将上一次确定出的检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为检测应用对应的目标访存带宽。
在实施中,处理器可以将上一次确定出的检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为检测应用对应的目标访存带宽。其中,该访存带宽调整值可以由技术人员根据实际需求进行设置。例如,上一次确定出的检测应用对应的历史目标访存带宽为0MB/s,访存带宽调整值为100MB/s,则检测应用对应的目标访存带宽为0MB/s+100MB/s=100MB/s。又如,上一次确定出的检测应用对应的历史目标访存带宽为8900MB/s,访存带宽调整值为100MB/s,则检测应用对应的目标访存带宽为8900MB/s+100MB/s=9000MB/s。
可选的,预设的访存带宽递增策略可以包括预设每次调整后的访存带宽的值,处理器按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽的处理过程也可以为:处理器根据上一次确定出的检测应用对应的历史目标访存带宽,确定检测应用调整后的对应的目标访存带宽。
步骤202,通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能。
在实施中,处理器确定出检测应用对应的目标访存带宽后,可以通过检测应用以目标访存带宽对内存进行读操作(即以目标访存带宽对应的读速率读取内存中存储的数据),也可以通过检测应用以目标访存带宽对内存进行写操作(即以目标访存带宽对应的写速率将检测应用中的数据写入至内存中),还可以通过检测应用以目标访存带宽对内存进行读写操作(即读速率与写速率之和等于目标访存带宽)。同时,处理器还可以获取待测应用的当前性能。其中,当前性能为检测应用以目标访存带宽对内存进行读写操作时待测应用的性能。具体的,处理器可以在通过检测应用以目标访存带宽对内存进行读写操作时,统计该待测应用执行单次应用任务所需的时长,作为该待测应用的当前性能。
步骤203,判断待测应用的当前性能是否低于待测应用的初始性能。
其中,初始性能为检测应用未对内存进行读写操作时待测应用的性能。
在实施中,当处理器未通过检测应用对内存进行读写操作(也即处理器中仅运行该待测应用)时,处理器可以获取该待测应用的性能,作为该待测应用的初始性能。这样,处理器获取到待测应用的当前性能后,可以判断该待测应用的当前性能是否低于该待测应用的初始性能。如果该待测应用的当前性能低于该待测应用的初始性能,则处理器可以执行步骤204。
可选的,该待测应用的初始性能可以为检测应用未对内存进行读写操作时待测应用执行单次应用任务所需的第一时长,待测应用的当前性能可以为检测应用以目标访存带宽对内存进行读写操作时待测应用执行该单次应用任务所需的第二时长。处理器判断待测应用的当前性能是否低于待测应用的初始性能的处理过程为:如果第二时长大于第一时长,则处理器确定待测应用的当前性能低于待测应用的初始性能;如果第二时长等于第一时长,则处理器确定待测应用的当前性能等于待测应用的初始性能;如果第二时长小于第一时长,则处理器确定待测应用的当前性能高于待测应用的初始性能。
在实施中,检测应用的性能可以通过待测应用执行单次应用任务所需的时长进行表示。相应的,该待测应用的初始性能可以为检测应用未对内存进行读写操作时,该待测应用执行单次应用任务所需的第一时长。同理,该待测应用的当前性能可以为检测应用以目标访存带宽对内存进行读写操作时,该待测应用执行单次应用任务所需的第二时长。其中,该应用任务可以为训练任务(比如神经网络的训练任务),也可以为运算任务,还可以为其他类型的应用任务,本申请实施例不作限定。这样,处理器判断待测应用的当前性能是否低于待测应用的初始性能的过程可以转换为处理器判断第二时长是否大于第一时长。这样,如果第二时长大于第一时长,则处理器可以确定该待测应用的当前性能低于待测应用的初始性能。如果第二时长等于第一时长,则处理器可以确定待测应用的当前性能等于待测应用的初始性能。如果第二时长小于第一时长,则处理器可以确定待测应用的当前性能高于待测应用的初始性能。
步骤204,如果待测应用的当前性能低于待测应用的初始性能,则将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽。
在实施中,如果待测应用的当前性能低于待测应用的初始性能,则说明此时检测应用的访存带宽和待测应用的访存带宽的和值超过内存的总访存带宽,检测应用与待测应用之间的访存带宽相互冲突,造成待测应用的性能下降,处理器可以将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽。例如,内存的总访存带宽为16000MB/s,当检测应用以目标访存带宽为9000MB/s对内存进行读写操作时,该待测应用的当前性能低于该待测应用的初始性能,则该待测应用的访存带宽为16000MB/s-9000MB/s=7000MB/s。
需要说明的是,为了进一步提高待测应用对应的访存带宽的检测精度,处理器可以预设不同的访存带宽递增策略。其中,不同的访存带宽递增策略中访存带宽调整值也不同。这样,处理器可以根据不同的访存带宽递增策略多次测量该待测应用对应的访存带宽。然后,处理器可以将多次测量出的该待测应用对应的访存带宽的平均值,作为该待测应用对应的访存带宽。
作为一种可选的实施方式,如果待测应用的当前性能高于或等于待测应用的初始性能,则按照预设的访存带宽递增策略,重新确定检测应用对应的目标访存带宽,并通过检测应用以目标访存带宽对内存进行读写操作,获取待测应用的当前性能。
在实施中,如果待测应用的当前性能高于或等于待测应用的初始性能,则说明此时检测应用的访存带宽和待测应用的访存带宽的和值未超过内存的总访存带宽,处理器可以按照预设的访存带宽递增策略,重新确定检测应用对应的目标访存带宽,并通过检测应用以目标访存带宽对内存进行读写操作,获取待测应用的当前性能。
作为一种可选的实施方式,当通过检测应用以初始访存带宽对内存进行读写操作时,如果待测应用的当前性能低于待测应用的初始性能,则输出告警信息,其中,初始访存带宽为按照预设的访存带宽递增策略确定出的最小的目标访存带宽。
在实施中,处理器首次按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽,该目标访存带宽为最小的目标访存带宽(也即初始访存带宽)。然后,处理器可以通过检测应用以初始访存带宽对内存进行读写操作,并获取该待测应用的当前性能。如果该待测应用的当前性能低于待测应用的初始性能,则说明该待测应用的访存带宽大于或等于该内存的总访存带宽,该待测应用的访存带宽出现带宽瓶颈。相应的,处理器可以输出告警信息,以提示技术人员对该待测应用进行性能优化。
作为一种可选的实施方式,当处理器为多核处理器时,待测应用和检测应用运行在多核处理器包含的不同核中。
在实施中,由于多核深度学习处理器是为了实现大规模数据计算而设计的,多核深度学习处理器的数据性能好,但不具备普通处理器(比如中央处理器(centralprocessing unit,CPU))的任务切换能力。因此,如果多核深度学习处理器的某一核被待测应用占用,则该核无法运行检测应用。基于此,待测应用和检测应用可以运行在多核处理器包含的不同核中。
本申请实施例提供了一种访存带宽的检测方法。处理器按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。然后,处理器通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能。之后,处理器判断待测应用的当前性能是否低于待测应用的初始性能。如果待测应用的当前性能低于待测应用的初始性能,则处理器将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽,从而不依赖带宽检测硬件也能确定待测应用的访存带宽。
图3为本申请实施例提供的一种访存带宽的检测方法的示例的流程示意图,如图3所示,具体处理过程如下:
步骤301,按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。
步骤302,通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能。
步骤303,判断待测应用的当前性能是否低于待测应用的初始性能。其中,初始性能为检测应用未对内存进行读写操作时待测应用的性能。
如果待测应用的当前性能低于待测应用的初始性能,则执行步骤304。如果待测应用的当前性能高于或等于待测应用的初始性能,则执行步骤301。
步骤304,将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽。
步骤301至步骤304的处理过程与步骤201至步骤204的处理过程类似,此处不再赘述。
本申请实施例还提供了一种访存带宽的检测装置,该装置应用于处理器,处理器中运行有待测应用和检测应用,如图4所示,该装置包括:
第一确定模块410,用于按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽;
获取模块420,用于通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能;
判断模块430,用于判断待测应用的当前性能是否低于待测应用的初始性能,其中,初始性能为检测应用未对内存进行读写操作时待测应用的性能;
第二确定模块440,用于如果待测应用的当前性能低于待测应用的初始性能,则将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽。
作为一种可选的实施方式,如图5所示,该装置还包括:
第三确定模块450,用于如果待测应用的当前性能高于或等于待测应用的初始性能,则按照预设的访存带宽递增策略,重新确定检测应用对应的目标访存带宽,并触发获取模块420执行通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能的步骤。
作为一种可选的实施方式,第一确定模块410,具体用于:
将上一次确定出的检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为检测应用对应的目标访存带宽。
作为一种可选的实施方式,待测应用的初始性能为检测应用未对内存进行读写操作时待测应用执行单次应用任务所需的第一时长,待测应用的当前性能为检测应用以目标访存带宽对内存进行读写操作时待测应用执行单次应用任务所需的第二时长;
判断模块430,具体用于:
如果第二时长大于第一时长,则确定待测应用的当前性能低于待测应用的初始性能;
如果第二时长等于第一时长,则确定待测应用的当前性能等于待测应用的初始性能;
如果第二时长小于第一时长,则确定待测应用的当前性能高于待测应用的初始性能。
作为一种可选的实施方式,如图6所示,该装置还包括:
输出模块460,用于当通过检测应用以初始访存带宽对内存进行读写操作时,如果待测应用的当前性能低于待测应用的初始性能,则输出告警信息,其中,初始访存带宽为按照预设的访存带宽递增策略确定出的最小的目标访存带宽。
作为一种可选的实施方式,当所述处理器为多核处理器时,待测应用和检测应用运行在多核处理器包含的不同核中。
本申请实施例提供了一种访存带宽的检测装置。处理器按照预设的访存带宽递增策略,确定检测应用对应的目标访存带宽。然后,处理器通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能。之后,处理器判断待测应用的当前性能是否低于待测应用的初始性能。如果待测应用的当前性能低于待测应用的初始性能,则处理器将内存的总访存带宽与目标访存带宽的差值,确定为待测应用对应的访存带宽,从而不依赖带宽检测硬件也能确定待测应用的访存带宽。
在一个实施例中,提供了一种计算机设备,如图7所示,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述访存带宽的检测方法步骤。
在一个实施例中,一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述访存带宽的检测方法的步骤。
在一个实施例中,一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现上述访存带宽的检测方法。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本披露并不受所描述的动作顺序的限制,因为依据本披露,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本披露所必须的。
进一步需要说明的是,虽然图1和图3的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1和图3中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
应该理解,上述的装置实施例仅是示意性的,本披露的装置还可通过其它的方式实现。例如,上述实施例中所述单元/模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如,多个单元、模块或组件可以结合,或者可以集成到另一个系统,或一些特征可以忽略或不执行。
另外,若无特别说明,在本披露各个实施例中的各功能单元/模块可以集成在一个单元/模块中,也可以是各个单元/模块单独物理存在,也可以两个或两个以上单元/模块集成在一起。上述集成的单元/模块既可以采用硬件的形式实现,也可以采用软件程序模块的形式实现。
所述集成的单元/模块如果以硬件的形式实现时,该硬件可以是数字电路,模拟电路等等。硬件结构的物理实现包括但不局限于晶体管,忆阻器等等。若无特别说明,所述人工智能处理器可以是任何适当的硬件处理器,比如CPU、GPU、FPGA、DSP和ASIC等等。若无特别说明,所述存储单元可以是任何适当的磁存储介质或者磁光存储介质,比如,阻变式存储器RRAM(Resistive Random Access Memory)、动态随机存取存储器DRAM(Dynamic RandomAccess Memory)、静态随机存取存储器SRAM(Static Random-Access Memory)、增强动态随机存取存储器EDRAM(Enhanced Dynamic Random Access Memory)、高带宽内存HBM(High-Bandwidth Memory)、混合存储立方HMC(Hybrid Memory Cube)等等。
所述集成的单元/模块如果以软件程序模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储器中。基于这样的理解,本披露的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储器中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本披露各个实施例所述方法的全部或部分步骤。而前述的存储器包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。上述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
依据以下条款可更好地理解前述内容:
例如,条款A1、一种访存带宽的检测方法,所述方法应用于处理器,所述处理器中运行有待测应用和检测应用,所述方法包括:
按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
条款A2、根据条款A1所述的方法,所述方法还包括:
如果所述待测应用的当前性能高于或等于所述待测应用的初始性能,则按照所述预设的访存带宽递增策略,重新确定所述检测应用对应的目标访存带宽,并执行所述通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能的步骤。
条款A3、根据条款A1所述的方法,所述按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽,包括:
将上一次确定出的所述检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为所述检测应用对应的目标访存带宽。
条款A4、根据条款A1所述的方法,所述待测应用的初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第一时长,所述待测应用的当前性能为所述检测应用以所述目标访存带宽对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第二时长;
所述判断所述待测应用的当前性能是否低于所述待测应用的初始性能,包括:
如果所述第二时长大于所述第一时长,则确定所述待测应用的当前性能低于所述待测应用的初始性能;
如果所述第二时长等于所述第一时长,则确定所述待测应用的当前性能等于所述待测应用的初始性能;
如果所述第二时长小于所述第一时长,则确定所述待测应用的当前性能高于所述待测应用的初始性能。
条款A5、根据条款A1所述的方法,所述方法还包括:
当通过所述检测应用以初始访存带宽对所述内存进行读写操作时,如果所述待测应用的当前性能低于所述待测应用的初始性能,则输出告警信息,其中,所述初始访存带宽为按照预设的访存带宽递增策略确定出的最小的目标访存带宽。
条款A6、根据条款A1所述的方法,当所述处理器为多核处理器时,所述待测应用和所述检测应用运行在所述多核处理器包含的不同核中。
条款A7、一种访存带宽的检测装置,所述装置应用于处理器,所述处理器中运行有待测应用和检测应用,所述装置包括:
第一确定模块,用于按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
获取模块,用于通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断模块,用于判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
第二确定模块,用于如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
条款A8、一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现条款A1至条款A6中任一项所述方法的步骤。
条款A9、一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现条款A1至条款A6中任一项所述的方法的步骤。
条款A10、一种芯片系统,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现条款A1至条款A6任一项所述的方法。
以上对本披露实施例进行了详细介绍,本文中应用了具体个例对本披露的原理及实施方式进行了阐述,以上实施例的说明仅用于帮助理解本披露的方法及其核心思想。同时,本领域技术人员依据本披露的思想,基于本披露的具体实施方式及应用范围上做出的改变或变形之处,都属于本披露保护的范围。综上所述,本说明书内容不应理解为对本披露的限制。
Claims (10)
1.一种访存带宽的检测方法,其特征在于,所述方法应用于处理器,所述处理器中运行有待测应用和检测应用,当所述处理器为多核处理器时,所述待测应用和所述检测应用运行在所述多核处理器包含的不同核中,所述方法包括:
根据历史目标访存带宽、预设的访存带宽调整值,按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
如果所述待测应用的当前性能高于或等于所述待测应用的初始性能,则按照所述预设的访存带宽递增策略,重新确定所述检测应用对应的目标访存带宽,并执行所述通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能的步骤。
3.根据权利要求1所述的方法,其特征在于,所述根据历史目标访存带宽、预设的访存带宽调整值,按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽,包括:
将上一次确定出的所述检测应用对应的历史目标访存带宽与预设的访存带宽调整值的和值,作为所述检测应用对应的目标访存带宽。
4.根据权利要求1所述的方法,其特征在于,所述待测应用的初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第一时长,所述待测应用的当前性能为所述检测应用以所述目标访存带宽对所述内存进行读写操作时所述待测应用执行单次应用任务所需的第二时长;
所述判断所述待测应用的当前性能是否低于所述待测应用的初始性能,包括:
如果所述第二时长大于所述第一时长,则确定所述待测应用的当前性能低于所述待测应用的初始性能;
如果所述第二时长等于所述第一时长,则确定所述待测应用的当前性能等于所述待测应用的初始性能;
如果所述第二时长小于所述第一时长,则确定所述待测应用的当前性能高于所述待测应用的初始性能。
5.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当通过所述检测应用以初始访存带宽对所述内存进行读写操作时,如果所述待测应用的当前性能低于所述待测应用的初始性能,则输出告警信息,其中,所述初始访存带宽为按照预设的访存带宽递增策略确定出的最小的目标访存带宽。
6.一种访存带宽的检测装置,其特征在于,所述装置应用于处理器,所述处理器中运行有待测应用和检测应用,当所述处理器为多核处理器时,所述待测应用和所述检测应用运行在所述多核处理器包含的不同核中,所述装置包括:
第一确定模块,用于根据历史目标访存带宽、预设的访存带宽调整值,按照预设的访存带宽递增策略,确定所述检测应用对应的目标访存带宽;
获取模块,用于通过所述检测应用以所述目标访存带宽对内存进行读写操作,并获取所述待测应用的当前性能;
判断模块,用于判断所述待测应用的当前性能是否低于所述待测应用的初始性能,其中,所述初始性能为所述检测应用未对所述内存进行读写操作时所述待测应用的性能;
第二确定模块,用于如果所述待测应用的当前性能低于所述待测应用的初始性能,则将所述内存的总访存带宽与所述目标访存带宽的差值,确定为所述待测应用对应的访存带宽。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
第三确定模块,用于如果待测应用的当前性能高于或等于待测应用的初始性能,则按照预设的访存带宽递增策略,重新确定检测应用对应的目标访存带宽,并触发获取模块执行通过检测应用以目标访存带宽对内存进行读写操作,并获取待测应用的当前性能的步骤。
8.一种计算机设备,包括存储器及处理器,所述存储器上存储有可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至5中任一项所述方法的步骤。
9.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至5中任一项所述的方法的步骤。
10.一种芯片系统,其特征在于,包括处理器,所述处理器和存储器耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现权利要求1至5任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273449.4A CN112965885B (zh) | 2019-12-12 | 2019-12-12 | 访存带宽的检测方法、装置、计算机设备及可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911273449.4A CN112965885B (zh) | 2019-12-12 | 2019-12-12 | 访存带宽的检测方法、装置、计算机设备及可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112965885A CN112965885A (zh) | 2021-06-15 |
CN112965885B true CN112965885B (zh) | 2024-03-01 |
Family
ID=76270945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911273449.4A Active CN112965885B (zh) | 2019-12-12 | 2019-12-12 | 访存带宽的检测方法、装置、计算机设备及可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112965885B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115904689A (zh) * | 2021-09-30 | 2023-04-04 | 华为技术有限公司 | 控制内存带宽的方法、装置、处理器及计算设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906696A (zh) * | 2010-03-26 | 2013-01-30 | 维尔图尔梅特里克斯公司 | 计算机系统的细粒性能资源管理 |
CN104657198A (zh) * | 2015-01-24 | 2015-05-27 | 深圳职业技术学院 | Numa架构系统在虚拟机环境中的访存优化方法及系统 |
CN104679593A (zh) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | 一种基于smp系统的任务调度优化方法 |
CN105095146A (zh) * | 2014-05-09 | 2015-11-25 | 华为技术有限公司 | 基于内存控制器的带宽分配方法及装置 |
CN109032879A (zh) * | 2017-06-09 | 2018-12-18 | 展讯通信(上海)有限公司 | 多核处理器访存数据检测验证系统及方法 |
CN110287014A (zh) * | 2019-06-27 | 2019-09-27 | 北京大学深圳研究生院 | 一种计算机系统内存带宽调度方法、系统及存储介质 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9582284B2 (en) * | 2011-12-01 | 2017-02-28 | International Business Machines Corporation | Performance of processors is improved by limiting number of branch prediction levels |
US10169240B2 (en) * | 2016-04-08 | 2019-01-01 | Qualcomm Incorporated | Reducing memory access bandwidth based on prediction of memory request size |
US10853219B2 (en) * | 2019-04-30 | 2020-12-01 | Intel Corporation | Real-time input/output bandwidth estimation |
-
2019
- 2019-12-12 CN CN201911273449.4A patent/CN112965885B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102906696A (zh) * | 2010-03-26 | 2013-01-30 | 维尔图尔梅特里克斯公司 | 计算机系统的细粒性能资源管理 |
CN105095146A (zh) * | 2014-05-09 | 2015-11-25 | 华为技术有限公司 | 基于内存控制器的带宽分配方法及装置 |
CN104657198A (zh) * | 2015-01-24 | 2015-05-27 | 深圳职业技术学院 | Numa架构系统在虚拟机环境中的访存优化方法及系统 |
CN104679593A (zh) * | 2015-03-13 | 2015-06-03 | 浪潮集团有限公司 | 一种基于smp系统的任务调度优化方法 |
CN109032879A (zh) * | 2017-06-09 | 2018-12-18 | 展讯通信(上海)有限公司 | 多核处理器访存数据检测验证系统及方法 |
CN110287014A (zh) * | 2019-06-27 | 2019-09-27 | 北京大学深圳研究生院 | 一种计算机系统内存带宽调度方法、系统及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112965885A (zh) | 2021-06-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220129288A1 (en) | Method and apparatus for determining the capacity of an application cluster | |
US8185348B2 (en) | Techniques for monitoring a data stream | |
CN105095747B (zh) | 一种Java应用健康度评估方法及系统 | |
US11861280B2 (en) | Device for generating verification vector for circuit design verification, circuit design system, and reinforcement learning method of the device and the circuit design system | |
US10890507B2 (en) | State monitoring method and state monitoring apparatus | |
US9098919B2 (en) | Detecting motion in a high resolution video | |
CN112965885B (zh) | 访存带宽的检测方法、装置、计算机设备及可读存储介质 | |
US20090282230A1 (en) | Generating a load profile for a computer system | |
US20200265307A1 (en) | Apparatus and method with multi-task neural network | |
US20100169726A1 (en) | Information processing system | |
CN116204783A (zh) | 模型训练方法、装置、电子设备及计算机可读存储介质 | |
US20180225563A1 (en) | Artificial neural network device and operation method thereof | |
Meng et al. | A self-test framework for detecting fault-induced accuracy drop in neural network accelerators | |
CN113240102A (zh) | 神经元的膜电位更新方法、类脑神经元器件、处理核 | |
RU2364926C2 (ru) | Способ контроля состояния многопараметрического объекта | |
Mukuta | Probabilistic partial canonical correlation analysis | |
Woodard et al. | Persistent dynamic correlations in self-organized critical systems away from their critical point | |
CN113625957B (zh) | 一种硬盘故障的检测方法、装置及设备 | |
CN115905823A (zh) | 一种时序数据异常检测的去噪方法及系统 | |
EP4024287A1 (en) | Method and apparatus for processing data, and related product | |
JP6365146B2 (ja) | 時系列データの解析方法及び時系列データの異常監視装置 | |
CN112904387A (zh) | 多级完好性监测结果的使用方法和系统 | |
CN107346256B (zh) | 一种固件刷新对io影响时间的检测方法和装置 | |
CN107665258A (zh) | 文件系统可用性确定方法及装置 | |
JP6365145B2 (ja) | 時系列データの解析方法及び時系列データの異常監視装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |