CN104239181A - 累计用于电子***的硬件计数的方法和电子*** - Google Patents
累计用于电子***的硬件计数的方法和电子*** Download PDFInfo
- Publication number
- CN104239181A CN104239181A CN201410274055.1A CN201410274055A CN104239181A CN 104239181 A CN104239181 A CN 104239181A CN 201410274055 A CN201410274055 A CN 201410274055A CN 104239181 A CN104239181 A CN 104239181A
- Authority
- CN
- China
- Prior art keywords
- count value
- hardware
- memory controller
- memory device
- current count
- 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
Classifications
-
- 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/1689—Synchronisation and timing concerns
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/3004—Arrangements for executing specific machine instructions to perform operations on memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Computer Hardware Design (AREA)
- Debugging And Monitoring (AREA)
Abstract
提供一种累计用于电子***的硬件计数的方法和电子***。通过从全速硬件计数器单元向存储器控制器连续发送计数值来执行计算机***中的硬件计数的存储器内累计。发送单元定期地采样来自硬件计数器单元的性能数据,并且向用于与存储器控制器通信的互连总线的总线接口传输计数值。存储器控制器使用当前计数值来响应地更新在***存储器中存储的累计计数值,例如递增累计计数值。可以与指向存储器位置的指针和关于将如何更新位置的指令一起发送计数值。指令可以是原子性读取-修改-写入操作,并且存储器控制器可以包括用于执行该操作的专用算术逻辑单元。数据收获器然后可以用来通过从***存储器中的表读取累计计数值来收获累计计数值。
Description
技术领域
本发明主要地涉及监视计算机***,并且更具体地涉及一种累计来自计算机***或者设备中的硬件计数器的性能数据的方法。
背景技术
随着电子***变得更复杂,更加需要监视***的性能以保证最优操作并且标识任何缺陷或者设计问题。这一考虑对于集成电路、比如在计算机***中使用的处理器和其他现有技术设备特别重要。典型处理器包括都由集成电路装置形成的各种执行单元、寄存器、缓冲器、存储器和其他功能单元。硬件计数器可以被嵌入于这一电路装置内以跟踪各种事件。如今的处理器通常提供对在第一事件与第二事件之间的时间、周期或者其他事件类型进行计数的性能监视计数器。例如,如果将要测量延时,则计数的事件通常是周期,并且典型的开始和停止事件可以是指令取读和指令完成、加载取读和加载完成或者高速缓存未命中和高速缓存重载。备选地,如果考察对于大量高速缓存重载延时的原因,则典型的开始和停止事件可以是高速缓存加载和高速缓存重载,并且计数的事件可以是在互连结构中的加载重试或者为了重载高速缓存而执行的某个动作。除了对在开始与停止事件之间的事件进行计数,经常希望查看计数的事件数目是否超过给定的门限,或者测量计数的事件数目多么频繁地超过门限。为了提供这一附加功能,硬件可以支持包含如下值的门限寄存器,计数的事件总数将与该值做比较。在硬件计数器寄存器中的值可以与先前存储的值交换以作为使处理器的状态改变的上下文切换的一部分。
由于如今的处理器的复杂性,所以存在可以计数的大量不同事件类型以及需要指定的大量不同可能的开始事件和停止事件。用于复杂计算机***的在开始事件与停止事件之间的计数的事件总数可以在大范围内变化。例如一些开始事件和停止事件对可以被仅少数计数的事件分离,而其他开始事件和停止事件对可以被百万或者更多计数的事件分离。
发明内容
本发明主要地涉及一种用于累计硬件计数的方法和***,包括在硬件计数器单元中维持用于电子***的硬件部件的计数的事件的当前计数值,以及向存储器控制器发送当前计数值,该存储器控制器控制对电子***的***存储器设备的访问。存储器控制器使用当前计数值来响应性地更新在电子***的***存储器设备中存储的累计计数值。例如存储器控制器可以包括根据当前计数值来递增累计计数值。在示例应用中,电子***是计算机***,并且硬件部件是计算机***的处理器核,处理器核处理在***存储器设备中驻留的程序指令。该***可以包括发送单元,发送单元定期地采样来自硬件计数器单元的包括当前计数值的性能数据,并且向用于与存储器控制器通信的互连总线的总线接口传输当前计数值。可以与指向***存储器设备中的位置的存储器指针和关于将如何更新该位置的指令一起发送当前计数值。在所示实现方式中,指令用于原子性读取-修改-写入操作。存储器控制器可以包括用于执行原子性读取-修改-写入操作的专用算术逻辑单元。数据收获器应用可以用来通过从***存储器设备中的表读取累计计数值来收获累计计数值。
本发明的以上以及附加目的、特征和优点将在以下具体书面描述中变得清楚。
附图说明
可以通过参照附图更好地理本发明解并且使它的许多目的、特征和优点为本领域技术人员所清楚。
图1是根据本发明的一个实施例构造的计算机***的框图,该计算机***具有性能数据在***的主存储器内被累计的硬件计数器;
图2是图示根据本发明的一个实现方式的硬件计数器性能数据的存储器内累计操作的高级示意图;
图3是根据本发明的一个实施例的用于来自硬件计数器单元的性能数据的在存储器中的组条目的示例;
图4是图示根据本发明的一个实现方式的存储器内累计(IMA)表的构造的图表,该IMA表具有被组织成不同分节的记录集合;以及
图5是描绘根据本发明的一个实现方式的用于监视IMA性能数据的收获器状态机的逻辑流程的图表。
在不同附图中使用相同标号指示相似或者相同项目。
具体实施方式
每代计算机硬件比先前更复杂。随着设计复杂性增加,性能差异也增加。对现场极为广泛的客户工作量范围的评估和响应变得更重要。必须设计硬件性能测量设备以满足这些增加的需求,但是用于全部***的连续性能监视的传统方式已经为许多限制所阻碍,这些限制使现场部署在初始设计投资上或者在连续运营成本上昂贵得无人问津。在这些限制之中有如下限制。
在计数器溢出之前可能存在相对短的间隔。这一步调需要中断溢出维修或者频繁轮询以避免丢失数据。这两种维修方法消耗硬件和软件执行资源。
在现有技术***中,通常有少量全速计数器,因为用于构造计数器以及关联事件、控制和数据路径布线的芯片面积非常昂贵。这一压力经常迫使密集使用事件复用,这在历史上需要主机处理器干预(工作量中断)以读取、存储和配置性能计数器。
如果设计焦点是在虚拟设备监视上,则测量范围可能限于在其中使用它们的操作***映像(逻辑分区)。如果这是仅有的可用数据,则变得几乎不可能协调为了跨越所有物理设备构造整个***的性能快照而必需的同时虚拟机(同时分区)测量。相反,如果设计焦点是在物理设备监视上,则没有回到虚拟域(逻辑分区或者虚拟机)的对准的桥接。物理设备计数器也可能缺乏通向下层软件代码状态的桥接。
在具有用于连接事件源与集中式硬件计数器的长数据路径的实现方式中,硬件性能计数器经常不能恰好位于它们将监视的逻辑附近。性能监视器在芯片设计的一些最复杂化的区域中尤其必要。长的直接事件数据路径在面积、功率消耗和测试方面很昂贵。
对于上下文切换,存在必须在物理到虚拟映射的改变(分区交换)时保存和恢复的额外状态开销(额外计数器寄存器)。这一开销消耗了可以更好地花费在执行对服务提供者和终端使用客户有价值的工作量上的***资源。
常规监视***使用广泛不同的收集和数据访问接口。位于物理设备内的与程序和操作性能监视器的接口通常不同于在虚拟设备内的接口。在相同***内(或者从一代到下一代***硬件)的不同接口增添了开发成本并且增加部署错误的机会。
现有技术***另外对于在许多监视应用之间的直接共享并不友好。本地硬件性能计数器是稀缺和极有价值的资源。当前用于共享这些计数器的方法增加测量间隔要求并且增加为每个应用在操作***内保存和恢复状态的开销。
因此将希望设计一种可以克服前述限制的改进的性能数据监视方法。如果该方法可以适合用于在所有操作环境中、在实验室中和在现场客户地点中的***范围硬件性能监视则将进一步有利。本发明使用新颖的存储器内累计(IMA)机制来实现这些目标。第一,IMA连续更新存储器中的广泛表,向它们填充硬件性能事件计数(每芯片数以千计的硬件性能事件计数易于维持)。第二,该机制用最少硬件和软件资源消耗执行它的数据收集和累计,并且作为结果,它的操作将接近不可察觉。第三,以可以从物理设备、虚拟机和代码状态的角度准确和同时表征***操作这样的方式在存储器中累计数据。第四,IMA提供可以由在***中的所有层级的性能监视工具使用的统一接口。第五,IMA部件设计起来简单并且实施起来不昂贵。
现在参照各图并且具体参照图1,其描绘根据本发明构造的计算机***的一个实施例10。计算机***10是具有连接到***总线14的多个处理器12a、12b的对称多处理器(SMP)***。***总线14还被连接到提供与***存储器18的接口的组合式存储器控制器/主机桥接(MC/HB)16并且与该MC/HB通信。***存储器18可以是本地存储器设备或者备选地可以包括多个分布式存储器设备、优选为动态随机存取存储器(DRAM)。在存储器分级中可以存在未描绘的附加结构、比如板上(L1)和第二级(L2)或者第三级(L3)高速缓存。
MC/HB16也具有与***部件互连(PCI)快速链路20a、20b、20c的接口。每个PCI快速(PCIe)链路20a、20b被连接到相应PCIe适配器22a、22b,并且每个PCIe适配器22a、22b被连接到相应输入/输出(I/O)设备24a、24b。MC/HB16还可以具有与I/O总线26的接口,该I/O总线被连接到交换机(I/O结构)28。交换机28向多个PCI链路20d、20e、20f提供用于I/O总线的扇出。这些PCI链路被连接到更多PCIe适配器22c、22d、22e,这些PCIe适配器又支持更多I/O设备24c、24d、24e。I/O设备可以包括而不限于键盘、图形指示设备(鼠标)、麦克风、显示设备、扬声器、持久存储设备(硬盘驱动)或者这样的存储设备、光盘驱动和网卡的阵列。每个PCIe适配器提供在PCI链路与相应I/O设备之间的接口。MC/HB16提供低延时路径,处理器12a、12b可以通过该低延时路径访问在总线存储器或者I/O地址空间内任意处映射的PCI设备。MC/HB16还提供用于允许PCI设备访问存储器18的高带宽路径。交换机28可以提供在不同端点之间的对等通信,并且如果此数据流量未涉及高速缓存相干存储器传送则无需被转发到MC/HB16。示出交换机28为分离逻辑部件,但是它可以被集成到MC/HB16中。
在这一实施例中,PCI链路20c将MC/HB16连接到服务处理器接口30以允许在I/O设备24a与服务处理器32之间的通信。服务处理器32经由JTAG接口34被连接到处理器12a、12b,并且使用使处理器12a、12b的操作中断的衰减线36。服务处理器32可以具有其自己的本地存储器38并且被连接到存储用于***启动的各种程序指令的只读存储器(ROM)40。服务处理器32也可以具有对硬件操作面板42的访问以提供***状态和诊断信息。
在备选实施例中,计算机***10可以包括这些硬件部件或者它们的互连的修改或者附加部件,因此不应将描述的示例解释为暗示关于本发明的任何架构限制。可以在等效云计算环境中实施本发明。
在计算机***10被初始地上电时,服务处理器32使用JTAG接口34以询问***(主机)处理器12a、12b和MC/HB16。在完成询问之后,服务处理器32获取用于计算机***10的库存清单和拓扑。服务处理器32然后对计算机***10的部件执行各种测试、比如内置自测试(BIST)、基本保证测试(BAT)和存储器测试。服务处理器32向操作面板42报告用于在测试期间检测到的故障的任何错误信息。如果***资源的有效配置在取出在测试期间发现有故障的任何部件之后仍然是可能的,则允许计算机***10继续。向存储器18中加载可执行代码,并且服务处理器32释放主机处理器12a、12b以供执行程序代码、例如操作***(OS),该程序代码用来启动应用并且具体为辅助本发明的性能监视应用(收获器)44,可以在***的硬盘驱动(I/O设备24)中存储这些应用的结果。在主机处理器12a、12b执行程序代码之时,服务处理器32可以进入如下模式,即监视和报告任何操作参数或者错误、比如冷却风扇速度和操作、热传感器、功率供应调节器以及处理器12a、12b、存储器18和MC/HB16中的任一项报告的可恢复和不可恢复错误。服务处理器32可以基于错误类型或者定义的门限采取进一步动作。
如所属技术领域的技术人员知道,可以与本发明结合使用的数据收获器应用可以实现为***、方法或计算机程序产品。因此,该应用可以采取以下形式,即:完全硬件实施例、完全软件实施例(包括固件、驻留软件、微代码等),或者硬件和软件方面结合的实施例,所有这些本文一般称为“电路”、“模块”或“***”。此外,本发明还可以采取在表达的任何有形介质中实现的计算机程序产品的形式,该有形介质具有实现在该介质中的计算机可读的程序代码。
可以采用一个或多个计算机可用的或者计算机可读的介质的任意组合。计算机可用或者计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体***、装置或器件,或者传播介质。计算机可读存储介质的更具体的例子(非穷举的列表)可以包括以下:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、诸如那些支持互联网或内联网的传输介质、或者磁存储器件。计算机可用或计算机可读介质甚至可以是程序可以打印于其上的纸或其他合适的介质,因为程序可以经由例如对纸或其他介质进行光学扫描、然后汇编、解译或若需要的话通过合适的方式以其他方式处理并继而存储在计算机存储器中而被电子式捕获。在本发明的上下文中,计算机可用或计算机可读介质可以是任何介质,其可以包含、存储、传送、传播或传输程序以供指令执行***、装置或者器件使用或者与其结合使用。计算机可用介质可以包括具有利用其具体化的计算机可用程序代码的传播的数据信号,在基带中或者作为载波的一部分。计算机可用程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++等,还包括常规的过程式程序设计语言,针对各种平台(诸如AIX环境)或者操作***(诸如Windows7或Linux)来编写。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
下面将参照本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述本发明。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置的处理器执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instruction means)的制造品(manufacture)。这种计算机可读存储介质不包括诸如传播信号的瞬态介质。
也可以把计算机程序指令加载到计算机或其他可编程数据处理装置上,使得在计算机或其他可编程数据处理装置上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
附图中的流程图和框图显示了根据本发明的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续示出的方框实际上可以基本并行地执行,或者它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
计算机***10具有在***的不同部件中嵌入的多个硬件计数器单元(HCU)50。在描绘的实施例中,在主机处理器12a、12b中的每个主机处理器中以及在互连结构28中提供HCU。HCU对在源部件本地的性能事件进行计数而无丢失。来自HCU的数据由发送单元定期地采样。发送单元的功能是将寻址和数据组合成记录集合、然后发起向***存储器18中的大存储器表发布那些记录集合。可以通过多个基地址寄存器(BAR)高效地管理多个发布。发布可以在时间上移位以支持历史收集。在格式化记录集合之后,发送单元然后向总线接口传递那些集合。附加地址构造可以在总线接口中出现。总线接口可以向存储器控制器16写入记录集合中的每个记录。存储器控制器16解释每个数据记录和命令并且如果被指示则可以用对存储器位置的算术操作来做出响应。在整个记录集合已经被交付以向存储器发布时,在HCU中设立下一收集间隔。大和宽泛的硬件性能数据表现在变成可用于性能监视应用。
在图2中示意地图示来自HCU50的性能数据的存储器内累计的一个示例。HCU50被配置为在它们的逻辑域内对性能事件以全速进行计数(而无丢失)。可以有多个监视域;在示例实现方式中有三个:线程级域、核级域(在物理与虚拟之间的桥接)和芯片级域(存储器控制器、总线、i/o、互连链路等)。也可以收集对测量间隔的准确指派。如果性能监视要求允许在总体数据收获时的附加延迟,则可以复用用于计数器的事件源以扩展硬件计数器单元的事件类型覆盖。HCU例如可以根据提交于2011年12月6日的美国专利申请第13/312,715号中的描述来适配。在该HCU中,通过如下来对电子设备中的特定事件的出现进行计数:每当可变数目的特定事件已经出现时递增事件计数器,并且每当计数尾数溢出时按几何级数地自动增加该可变数目。
来自HCU50的数据由发送单元定期地采样。可以并入暂停进一步累计或者缓冲以跨越HCU50中的多个计数器而维持对准。发送单元52基于时间、监视的事件数据和源域的函数来形成地址偏移。每个更新集合可以包括多个记录。更新集合中的所有记录将被一起发送到存储器中的持久位置,或者它们都不被发布到存储器。在所示实施例中,发送单元52的职责是格式化地址基础和关联性能数据以用于简化其他逻辑单元的解码。为了跨越多个域维持HCU数据对准,发送单元52可以简单地发布相同记录集合不止一次,从而更新多个表(每个域一个表)。例如,可以通过简单地向两个表发布相同记录集合来收集并行虚拟化数据:一个针对当前虚拟处理器核,另一个针对物理核(虚拟处理器核所映射到的物理核)。累计表(或者表的部分)的位置可以被置于操作***的控制之下。BAR数目确定硬件支持的并行性能分析视图的数目、例如物理核、虚拟核、物理线程、虚拟线程等。访问权限可以由涉及的特定域来管理,例如管理程序(用于逻辑分区)、操作***或者用户应用。表或者条目偏移可以在发布时推进或者按照时间间隔推进,从而创建所监视的性能计数器数据的时序记录。一系列较短测量间隔将比长累计平均值更准确地揭示峰值事件频率。
在格式化之后,发送单元52向总线接口54传递所有更新记录集合。总线接口54组合来自发送单元52的地址偏移与***范围管理实体(管理程序)设置的基地址以形成用于正在更新的记录集合的存储器中绝对地址。总线接口54然后逐个处理更新集合中的每个记录。更新集合中的一些记录将被无更改地写入到存储器、比如时间戳或者标识标签。一些记录预计被解释为读取-修改-写入操作(例如存储器内递增)。总线接口54保证用于处理数据净荷中的每个记录的命令类型对于其关联存储器控制器操作是适合的。总线接口54也处理用于正在向存储器控制器发送的记录的存储器相干性协议以保证数据一致性。
来自总线接口54的命令被发出到公共(***)总线14,在该总线上它们被存储器控制器16拾取。存储器控制器16处理每个命令和通过总线接口54发送的关联数据净荷。例如存储器控制器16可以通过以与性能数据中的计数值相等的数量来递增累计计数值从而更新累计计数值。存储器控制器16包括专用于存储器控制器操作的共同定位的本地算术逻辑单元(ALU)56。在原子性ALU操作由适当存储器控制器接收时,读取在指定的存储器位置处的数据,执行操作(例如加法操作),并且在适当位置处存储回新结果。可以在高速缓存或者缓冲器中执行存储器控制器中的读取-修改-写入操作,只要遵守***存储器相干性规则。操作被视为原子的,因为完成整个读取-修改-写入过程如同它是单个操作、即过程的任何中断将造成重试整个过程。对于作为ALU操作的目标的存储器位置的操作数大小可以不同于数据净荷的源。例如,作为对发送单元的输入的8位递增可以在持久存储器位置中构建64位累计。一旦整个记录集合被交付以向存储器发布,可以在HCU中设立下一收集间隔。
不是一定需要经由总线接口发送更新命令。可以经由允许与存储器控制器通信的任何电路发送更新命令。也可以如例如涉及在I/O结构26内的HCU50的图1中所见直接发送更新命令。
在存储器中维持大和宽泛的硬件性能事件计数器表完成了存储器内累计过程的、由硬件连续和实际自治执行的部分。累计在其被经常和规律地重复的意义上是连续的。表使收获应用的访问和解释相对简单。在示例实现方式中,收获应用44从IMA表读取ENTRANCE值、等待某个预定时间段、然后从表读取EXIT值。对于性能计数和流逝的测量时间计算差分。在收获器应用44执行的性能分析中使用那些差分(重建的递增)。对累计表的访问可以是直接的或者通过某个管理实体(比如操作***或者管理程序)。设计表条目使得多记录更新可以被收获器44检测到。时间戳可以用于在***上下文中对测量精确地定位并且用作简单“前哨”,该前哨指示数据记录在它正在被更新之时被读取。
如这里教导的存储器内累计完全利用处理速率要求的呈指数减少,因为硬件性能数据穿过三级:收集、累计和分析。在与性能事件的逻辑源最接近的监视域中,IMA执行向本地硬件计数器的无损全速累计。也收集测量时间。向存储器中的累计位置定期地发布来自本地计数器的递增。发布速率可以是执行无损本地累计的速率的千分之一。性能监视应用然后以可以在跨越数百毫秒到周的范围中测量的速率来从存储器读取计数器累计表。IMA与本地计数器逻辑相比还利用存储器的相对无穷大小(宽度和深度)。
存储器内累计较传统硬件性能计数器收集方法而言具有许多优点。通过从存储器中的累计去耦合本地(无损)事件计数累计,可以使本地计数器变窄,因为可以使存储器中的计数器宽到足以去除对于溢出校验的要求。例如64位存储器累计位置可能需要一百年来溢出以按如今的处理器设计中的处理器时钟速率计数。可以向该64位累计器馈送可以更小、例如16位的递增。由于不存在用于累计(原子性相加)的存储器位置的独特之处,所以IMA计数器填充仅受为这一目的而分配的存储器所限制。在如今的服务器中,芯片后面的存储器的仅0.001%可以保持多于两百万个64位IMA计数器。整个收集、发布和累计过程由(适度数量的)硬件逻辑来执行。一旦确定存储器分配并且设置基地址寄存器,IMA关于用于将数据收集到大存储器表的处理器资源方面几乎无消耗。IMA连续操作并且无需跨分区(无需跨虚拟机)协调以执行***范围监视。存储器内累计延伸包括本地硬件性能计数器、公共处理器总线和存储器控制器的现有(非外来)硬件逻辑部件和数据路径。这一方式有利于减少设计和测试成本。
多个发布可以用来累计向不同域对准的数据。例如,如果用于IMA的本地硬件性能计数器被置于处理器核中,则可以使用对准的跨域数据(物理核、虚拟核和代码状态)来分析以下域。多个发布所消耗的附加总线和存储器资源被能够组装从这些不同域收集的精确对准的表的能力所弥补。由于可以在存在分区(虚拟机)改变时执行向存储器的清空(close-out)发布,所以无需保存寄存器状态。在更简单的IMA配置中,需要为传入分区写入一个指向它在存储器中的持久表的新基地址。管理程序可以继续与IMA逻辑清空发布并行的分区交换操作。
IMA表也提供统一接口并且可以如向基地址添加的索引一样简单。通过抽象化性能事件,可以跨越在相同***上的域以及潜在地从一代硬件到下一代硬件维持合理地可移植接口。虽然IMA表优选地仅有一个写入器,但是时间戳和记录更新指示符的使用产生对于大量并行读取器(即收获器)的支持。以如下速率执行向存储器控制器的递增发布,这些速率是低于本地事件计数的量值。这一方式使总线和存储器访问带宽的使用变得经济。
进一步参照图3,在一个实施示例中,发送单元位于处理器核中,并且它的HCU包括四个计数器的简单混合:具有固定事件源的两个计数器(即相同的两个事件由不同HCU的集合来记录)和具有可编程事件源的两个计数器。存在可以被配置为用于两个可编程HCU计数器的输入的共计256个事件。流逝时间计数器也可以存在于HCU中,其精确地匹配HCU计数器正在监视时的时间段。硬件事件源的自动复用由计数器执行,该计数器由间隔定时器的到期所驱动,每个间隔定时器溢出有一个HCU组。为了有助于准确跨表条目分析,两个固定事件HCU计数器和流逝时间计数器可以用作桥接(归一化)值。对于这一示例,存储器中的HCU组条目60包含图3中所见的元素。HCU组条目60包含八个记录类型,这些记录类型包括时基、更新计数、时间段、四个计数值(两个固定、两个可编程)和状态指示符。每个记录类型具有关联数据源、存储器事务和发布-读取源操作。
对于IMA实现方式的总体设计考虑包括:IMA发送单元的位置(它可以在计算机***10的任何硬件单元中);本地(无损)HCU性能计数器数目;来自每个HCU的数据所驱动的不同IMA表(域)(设置BAR);配置IMA域表选择的方法;更新存储器中的IMA表的方法(例如人工、自动或者混合);用于自动IMA表条目更新的最小刷新速率;用于可编程HCU计数器(如果有)的事件源数目;用于HCU计数器的配置方法(例如人工、自动或者混合);跨越表条目的归一化支持;用于指示IMA表条目在被发送单元更新的过程中的方法;以及对存储器中的IMA表的访问控制。
在图4中示出用于实施IMA表构造的更具体示例。IMA表62被划分成四个分节64,每个分节64包含多个记录集合66。每个记录集合包含图3中所示每个记录类型的性能数据和关联信息。逐一改变HCU配置迫使对存储器表的更新。由于这一点,间隔定时器在效果上也可以设置最小更新速率。对于这一示例,间隔定时器具有八个设置(以毫秒为单位):0.5、1、4、16、64、256、1024和4096。HCU中的事件选择是人工和自动选择的混合。使用硬件来自动扫描所有256个基事件(128组),但是执行对指明的表分节的过滤。过滤器基于由操作***在硬件寄存器中维持的状态位。这一过滤帮助构建在下层软件与该软件在其上运行的物理和虚拟设备之间的链接。事件掩码寄存器保持代码状态过滤设置。对于所描绘的实施例,HCU事件组的四分之一(32)将无过滤,而其余(96)将被三个掩码设置之一过滤(每个掩码设置字段32个组)。三个掩码值集合将通过代码描绘、比如“内核”、“用户”和“管理程序”来间断(breakout)性能事件计数器累计。在备选实现方式中,计数器可以对一般由核执行的指令数目进行计数,而过滤器可以仅对于特定指令类型、例如浮点,产生计数。
为了高效地桥接从物理设备到虚拟设备的分析,两个硬件基地址寄存器(BAR)可以用来支持用于虚拟处理器核(VPCBAR)和物理处理器核(PPCBAR)的并行IMA表累计。在VPCBAR中的值指向从虚拟处理器核设备的立场累计的HCU条目的一个或者多个表;在PPCBAR中的值指向从物理处理器核设备的立场累计的一个或者多个表。除了由间隔定时器的到期所引起的表条目更新之外,向IMA表的发布也可以由向VPCBAR的写入(这指示虚拟到物理映射中的改变)来触发。在多数情况下,传入虚拟处理器核将具有与传出虚拟处理器核使用的用于累计的IMA表不同的用于累计的IMA表。流逝时间计数器补偿由在更新之间的未纠正的交互所引起的更新间隔可变性,这些更新包括由VPCBAR引起的更新和由间隔定时器的到期引起的更新。为了延伸虚拟化分析,附加VPCBAR表可以由管理程序支持。由于VPCBAR中的地址在分区(虚拟机)映射改变时在主机代码中由管理程序设置,所以任何数目的VPCBAR表间断是可能的。对于这一示例,可以实施四个表拆分以提供虚拟处理器核在它在不同亲合环境之下执行之时的更具体表征、比如‘家用’物理处理器核、“家用”物理芯片、“家用”节点和“远程”节点。地址偏移由在核中的发送单元形成。在示例实现方式中,通过级联在每个条目内的事件复用器索引和记录偏移来构造它们。如果执行时序收集,则选择滚动缓冲器条目的位可以被恰好置于复用器索引以上。
最后,必须从存储器读出并且向性能监视应用(数据收获器)中读入IMA表数据。在图5中图示用于收获器状态机70的一个实现方式。在过程开始时,收获器未在监视(72)。通过读取感兴趣的IMA记录集合的当前值来获得ENTRANCE计数(74)。数据收获器可以对在IMA记录集合中返回的状态代码进行解释和响应。在等待预定义的测量间隔之后,通过读取感兴趣的相同IMA记录集合的当前值来获得EXIT计数(76)。然后根据收获器的特定监视功能来处理累计(78)。例如收获器可以计算退出到进入计数增量(差值)并且报告或者分析所得计数增量。重复这些步骤直至终止监视活动。
收获器也可以被设计为支持异步采样。尽管个别“向存储器添加”和“向存储器存储”64位操作本身是原子性的,但是完整IMA记录集合的发布无需如此。使用标准同步机制(比如POWERPC指令LARX/STCX)将可能在存储器控制器中造成竞争并且也可能使硬件逻辑变复杂。一种用于大型IMA表的异步解决方案是在每个记录集合的前面和后面设立先前提到的“前哨”。在这一示例中,再次重复初始时基值的一部分以作为关闭标记符以指示完整记录集合已经被发布到存储器。
如这里教导的存储器内累计回应对于硬件部件的连续和渐进式***范围监视的需要。本发明因而对于诸如服务质量、服务水平协定、退费评估、客户工作量表征、负荷平衡和产能预测之类的领域具有广泛应用。有利地,对于性能计数器溢出无需检测或者处理,并且本发明可以支持大量计数器。累计可以完全由硬件执行。可以从“大盒子”计算机***(单个固件控制的核集合)的上电到掉电实现连续硬件性能计数器监视。本发明特别易于实施,因为它无需特殊***总线连接。不同于现有技术监视***,本发明在最小虚拟化开销的情况下允许虚拟化和代码状态间断,并且专属于分区的计数累计表在存储器中持续。本发明也在利用一个写入器、许多读取器和无需等待的情况下允许用于带内或者带外性能监视应用的简单和统一接口。本发明还使存储器带宽的使用变得经济。
虽然已经参照具体实施例描述本发明,但是不意在在限制意义上解释本描述。公开的实施例的各种修改以及本发明的备选实施例将在参照本发明的描述时变得为本领域技术人员所清楚。例如尽管已经在使用原子性读取/添加/写入指令来执行累计的存储器控制器的具体上下文中描述本发明,但是这里的发明概念更一般地适用于一般可以对性能数据执行操作的“智能”存储器控制器。因此设想可以进行这样的修改而未脱离如在所附权利要求中限定的本发明的精神实质或者范围。
Claims (20)
1.一种累计用于电子***的硬件计数的方法,包括:
在硬件计数器单元中维持用于所述电子***的硬件部件的至少一个计数的事件的至少一个当前计数值;
向存储器控制器发送所述当前计数值,所述存储器控制器控制对所述电子***的***存储器设备的访问;并且
所述存储器控制器使用所述当前计数值来响应性地更新在所述电子***的所述***存储器设备中存储的累计计数值。
2.根据权利要求1所述的方法,其中所述更新所述累计计数值包括根据所述当前计数值递增所述累计计数值。
3.根据权利要求1所述的方法,其中所述电子***是计算机***,并且所述硬件部件是所述计算机***的处理器核,所述处理器核处理在所述***存储器设备中驻留的程序指令。
4.根据权利要求1所述的方法,其中所述发送由发送单元执行,所述发送单元定期地采样来自所述硬件计数器单元的包括所述当前计数值的性能数据并且向用于与所述存储器控制器通信的互连总线的总线接口传输所述当前计数值。
5.根据权利要求1所述的方法,其中所述发送包括提供指向所述***存储器设备中的位置的存储器指针和关于将如何更新所述位置的指令。
6.根据权利要求5所述的方法,其中所述指令用于原子性读取-修改-写入操作。
7.根据权利要求6所述的方法,其中所述存储器控制器包括专用算术逻辑单元,并且使用所述专用算术逻辑单元来执行所述原子性读取-修改-写入操作。
8.根据权利要求1所述的方法,还包括通过从所述***存储器设备读取所述累计计数值并且将其提供给性能监视器来收获所述累计计数值。
9.一种电子***,包括:
多个硬件部件;
***存储器设备;
至少一个硬件计数器单元,所述至少一个硬件计数器单元维持用于所述硬件部件之一的至少一个当前计数的事件的至少一个当前计数值;以及
存储器控制器,所述存储器控制器控制对所述***存储器设备的访问并且接收所述当前计数值并且使用所述当前计数值来响应性地更新在所述***存储器设备中存储的累计计数值。
10.根据权利要求9所述的电子***,其中所述存储器控制器通过根据所述当前计数值递增所述累计计数值来更新所述累计计数值。
11.根据权利要求9所述的电子***,其是计算机***,并且其中所述硬件部件是处理在所述***存储器设备中驻留的程序指令的处理器核。
12.根据权利要求9所述的电子***,还包括:
与所述存储器控制器通信的互连总线;
用于所述互连总线的总线接口;以及
发送单元,所述发送单元定期地采样来自所述硬件计数器单元的包括所述当前计数值的性能数据并且向所述总线接口传输所述当前计数值。
13.根据权利要求9所述的电子***,其中所述存储器控制器连同所述当前计数值一起接收指向所述***存储器设备中的位置的存储器指针和关于将如何更新所述位置的指令。
14.根据权利要求13所述的电子***,其中所述指令用于原子性读取-修改-写入操作。
15.根据权利要求14所述的电子***,其中所述存储器控制器包括专用算术逻辑单元,并且所述原子性读取-修改-写入操作使用所述专用算术逻辑单元来执行。
16.根据权利要求9所述的电子***,还包括性能监视器,其通过从所述***存储器设备读取所述累计计数值来收获所述累计计数值。
17.一种计算机程序产品形式的用于电子设备的数据收获器应用,所述计算机程序产品包括:
计算机可读存储介质;以及
在所述存储介质中驻留的程序指令,所述程序指令用于从计算机***的***存储器设备中的表读取性能数据,其中所述性能数据包括用于所述计算机***的硬件部件的至少一个计数的事件的至少一个累计计数值。
18.根据权利要求17所述的数据收获器应用,其中所述程序指令适于从具有多个表分节的表读取所述性能数据,每个表分节具有涉及不同过滤的事件的多个记录集合,并且每个记录集合包含一个或者多个累计计数值。
19.根据权利要求17所述的数据收获器应用,其中所述程序指令还从所述表的记录集合获得进入计数,在获得所述进入计数之后的预定义的测量间隔从相同记录集合获得退出计数,以及计算退出到进入计数增量。
20.根据权利要求17所述的数据收获器应用,其中所述表包括多个记录集合,并且所述程序指令通过使用时间戳以指示给定的记录集合已经被完整地发布到存储器来支持异步读取所述性能数据。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/925,760 | 2013-06-24 | ||
US13/925,760 US9298651B2 (en) | 2013-06-24 | 2013-06-24 | Continuous in-memory accumulation of hardware performance counter data |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104239181A true CN104239181A (zh) | 2014-12-24 |
CN104239181B CN104239181B (zh) | 2017-11-21 |
Family
ID=52111925
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410274055.1A Active CN104239181B (zh) | 2013-06-24 | 2014-06-18 | 累计用于电子***的硬件计数的方法和电子*** |
Country Status (2)
Country | Link |
---|---|
US (1) | US9298651B2 (zh) |
CN (1) | CN104239181B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016131247A1 (zh) * | 2015-07-30 | 2016-08-25 | 中兴通讯股份有限公司 | 一种用于虚拟机的高性能定时器实现方法、虚拟机 |
CN109710177A (zh) * | 2017-10-26 | 2019-05-03 | 爱思开海力士有限公司 | 用于嵌入式***的事件管理 |
CN110419030A (zh) * | 2016-09-28 | 2019-11-05 | 英特尔公司 | 测量非均匀存储器访问(numa)***内按节点的带宽 |
CN111722671A (zh) * | 2020-05-13 | 2020-09-29 | 百富计算机技术(深圳)有限公司 | 一种计时方法、计时装置、终端设备及存储介质 |
CN111831405A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、逻辑芯片及其设备 |
CN114584514A (zh) * | 2020-11-30 | 2022-06-03 | 慧与发展有限责任合伙企业 | 用于促进活跃的交换机中的动态硬件资源分配的方法和*** |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9411735B2 (en) * | 2014-04-15 | 2016-08-09 | International Business Machines Corporation | Counter-based wide fetch management |
US10133602B2 (en) * | 2015-02-19 | 2018-11-20 | Oracle International Corporation | Adaptive contention-aware thread placement for parallel runtime systems |
US9904613B2 (en) | 2016-03-30 | 2018-02-27 | International Business Machines Corporation | Method for performance monitoring using a redundancy tracking register |
EA035760B1 (ru) * | 2016-10-31 | 2020-08-06 | ЛЕОНАРДО С.п.А. | Структура по сертифицируемой системы управления с постоянными параметрами для приложений жесткого реального времени, критических с точки зрения безопасности, в системах бортового радиоэлектронного оборудования с использованием многоядерных процессоров |
US10698873B2 (en) | 2017-03-30 | 2020-06-30 | Microsoft Technology Licensing, Llc | Performance data storage |
AU2018357856B2 (en) * | 2017-10-31 | 2021-03-18 | Ab Initio Technology Llc | Managing a computing cluster using time interval counters |
US11249724B1 (en) * | 2018-09-26 | 2022-02-15 | Habana Labs Ltd. | Processing-memory architectures performing atomic read-modify-write operations in deep learning systems |
FR3086780B1 (fr) * | 2018-09-27 | 2020-11-06 | Thales Sa | Systeme et procede d'acces a une ressource partagee |
US11105856B2 (en) | 2018-11-13 | 2021-08-31 | International Business Machines Corporation | Detection of performance degradation in integrated circuits |
US11036275B2 (en) * | 2019-03-29 | 2021-06-15 | Intel Corporation | Detection of known workload patterns |
CN112463213B (zh) * | 2019-09-06 | 2024-05-17 | 北京京东尚科信息技术有限公司 | 更新、读取统计值的方法和装置 |
CN111045734B (zh) * | 2019-11-19 | 2023-09-01 | 中国航空工业集团公司西安航空计算技术研究所 | 一种基于ima平台的软硬件程序一键固化***及方法 |
CN112437074B (zh) * | 2020-11-17 | 2022-11-22 | 北京金山云网络技术有限公司 | 计数处理方法、装置、电子设备及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193144A (zh) * | 1997-03-11 | 1998-09-16 | 国际商业机器公司 | 多线程处理器中性能监视的方法和*** |
US20030091002A1 (en) * | 2001-11-09 | 2003-05-15 | Adc Dsl Systems, Inc. | Hardware controller and monitor |
US20050154811A1 (en) * | 2004-01-14 | 2005-07-14 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
CN1685317A (zh) * | 2002-09-26 | 2005-10-19 | 飞思卡尔半导体公司 | 性能监控器及其方法 |
US20080040715A1 (en) * | 2006-08-08 | 2008-02-14 | Cota-Robles Erik C | Virtualizing performance counters |
US20090007134A1 (en) * | 2007-06-26 | 2009-01-01 | International Business Machines Corporation | Shared performance monitor in a multiprocessor system |
US20090119466A1 (en) * | 2006-08-01 | 2009-05-07 | International Business Machines Corporation | Systems for providing performance monitoring in a memory system |
CN102623050A (zh) * | 2011-01-28 | 2012-08-01 | 株式会社东芝 | 半导体集成电路及存储器*** |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2520830B2 (ja) | 1992-11-13 | 1996-07-31 | 勝行 中島 | 度数累算型メモリ半導体集積回路 |
US5727167A (en) | 1995-04-14 | 1998-03-10 | International Business Machines Corporation | Thresholding support in performance monitoring |
US6314530B1 (en) * | 1997-04-08 | 2001-11-06 | Advanced Micro Devices, Inc. | Processor having a trace access instruction to access on-chip trace memory |
EP0992907B1 (en) * | 1998-10-06 | 2005-09-28 | Texas Instruments Inc. | Trace fifo management |
US6360337B1 (en) | 1999-01-27 | 2002-03-19 | Sun Microsystems, Inc. | System and method to perform histogrammic counting for performance evaluation |
US6556952B1 (en) * | 2000-05-04 | 2003-04-29 | Advanced Micro Devices, Inc. | Performance monitoring and optimizing of controller parameters |
US7058839B2 (en) | 2002-04-11 | 2006-06-06 | International Business Machines Corporation | Cached-counter arrangement in which off-chip counters are updated from on-chip counters |
US7272754B2 (en) | 2003-09-27 | 2007-09-18 | International Business Machines Corporation | Implementation-efficient multiple-counter value hardware performance counter |
US6925424B2 (en) | 2003-10-16 | 2005-08-02 | International Business Machines Corporation | Method, apparatus and computer program product for efficient per thread performance information |
US7197586B2 (en) | 2004-01-14 | 2007-03-27 | International Business Machines Corporation | Method and system for recording events of an interrupt using pre-interrupt handler and post-interrupt handler |
US7461383B2 (en) * | 2006-08-21 | 2008-12-02 | International Business Machines Corporation | Method and apparatus for efficient performance monitoring of a large number of simultaneous events |
US8060482B2 (en) * | 2006-12-28 | 2011-11-15 | Intel Corporation | Efficient and consistent software transactional memory |
US7797503B2 (en) * | 2007-06-26 | 2010-09-14 | International Business Machines Corporation | Configurable memory system and method for providing atomic counting operations in a memory device |
US20100162247A1 (en) * | 2008-12-19 | 2010-06-24 | Adam Welc | Methods and systems for transactional nested parallelism |
US8275954B2 (en) | 2010-01-08 | 2012-09-25 | International Business Machines Corporation | Using DMA for copying performance counter data to memory |
US9111381B2 (en) | 2010-01-27 | 2015-08-18 | Koninklijke Philips N.V. | Shift-varying line projection using graphics hardware |
US8589922B2 (en) | 2010-10-08 | 2013-11-19 | International Business Machines Corporation | Performance monitor design for counting events generated by thread groups |
-
2013
- 2013-06-24 US US13/925,760 patent/US9298651B2/en active Active
-
2014
- 2014-06-18 CN CN201410274055.1A patent/CN104239181B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1193144A (zh) * | 1997-03-11 | 1998-09-16 | 国际商业机器公司 | 多线程处理器中性能监视的方法和*** |
US20030091002A1 (en) * | 2001-11-09 | 2003-05-15 | Adc Dsl Systems, Inc. | Hardware controller and monitor |
CN1685317A (zh) * | 2002-09-26 | 2005-10-19 | 飞思卡尔半导体公司 | 性能监控器及其方法 |
US20050154811A1 (en) * | 2004-01-14 | 2005-07-14 | International Business Machines Corporation | Method and apparatus for qualifying collection of performance monitoring events by types of interrupt when interrupt occurs |
US20090119466A1 (en) * | 2006-08-01 | 2009-05-07 | International Business Machines Corporation | Systems for providing performance monitoring in a memory system |
US20080040715A1 (en) * | 2006-08-08 | 2008-02-14 | Cota-Robles Erik C | Virtualizing performance counters |
US20090007134A1 (en) * | 2007-06-26 | 2009-01-01 | International Business Machines Corporation | Shared performance monitor in a multiprocessor system |
CN102623050A (zh) * | 2011-01-28 | 2012-08-01 | 株式会社东芝 | 半导体集成电路及存储器*** |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016131247A1 (zh) * | 2015-07-30 | 2016-08-25 | 中兴通讯股份有限公司 | 一种用于虚拟机的高性能定时器实现方法、虚拟机 |
CN110419030A (zh) * | 2016-09-28 | 2019-11-05 | 英特尔公司 | 测量非均匀存储器访问(numa)***内按节点的带宽 |
CN110419030B (zh) * | 2016-09-28 | 2024-04-19 | 英特尔公司 | 测量非均匀存储器访问(numa)***内按节点的带宽 |
CN109710177A (zh) * | 2017-10-26 | 2019-05-03 | 爱思开海力士有限公司 | 用于嵌入式***的事件管理 |
CN109710177B (zh) * | 2017-10-26 | 2022-02-11 | 爱思开海力士有限公司 | 用于嵌入式***的事件管理 |
CN111831405A (zh) * | 2019-04-18 | 2020-10-27 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、逻辑芯片及其设备 |
CN111831405B (zh) * | 2019-04-18 | 2024-05-14 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、逻辑芯片及其设备 |
CN111722671A (zh) * | 2020-05-13 | 2020-09-29 | 百富计算机技术(深圳)有限公司 | 一种计时方法、计时装置、终端设备及存储介质 |
CN114584514A (zh) * | 2020-11-30 | 2022-06-03 | 慧与发展有限责任合伙企业 | 用于促进活跃的交换机中的动态硬件资源分配的方法和*** |
Also Published As
Publication number | Publication date |
---|---|
US9298651B2 (en) | 2016-03-29 |
US20140379953A1 (en) | 2014-12-25 |
CN104239181B (zh) | 2017-11-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104239181A (zh) | 累计用于电子***的硬件计数的方法和电子*** | |
US9430335B2 (en) | Optimizing the number and type of database backups to achieve a given recovery time objective (RTO) | |
CN104113585B (zh) | 用于产生指示负载平衡状态的硬件级中断的方法和设备 | |
CN103154908B (zh) | 用于事务存储器的最后分支记录的装置、方法和*** | |
US7836435B2 (en) | Checking for memory access collisions in a multi-processor architecture | |
CN102959522A (zh) | 计算机***的管理方法和管理*** | |
CN110245023A (zh) | 分布式调度方法及装置、电子设备以及计算机存储介质 | |
CN104335180B (zh) | 虚拟化i/o处理延迟的实时测量 | |
JP5353227B2 (ja) | 性能測定プログラム及び性能測定方法並びに性能測定機能を有する情報処理装置。 | |
US9355003B2 (en) | Capturing trace information using annotated trace output | |
US9235478B2 (en) | Classifying and monitoring database operations based on a cost of recovery | |
CN110083494A (zh) | 在多核心环境中管理硬件错误的方法和装置 | |
CN112527599A (zh) | 智能监控方法、装置、电子设备及可读存储介质 | |
CN105122733B (zh) | 队列监控和可视化 | |
CN104937548A (zh) | 动态图的性能监视 | |
CN108255620A (zh) | 一种业务逻辑处理方法、装置、业务服务器及*** | |
CN107003894A (zh) | 用于硬件事务内存程序的剖析器的装置和方法 | |
KR102307900B1 (ko) | 클라우드 플랫폼 환경에서의 초-저지연 리소스 메트릭 수집 방법 및 시스템 | |
US20110258632A1 (en) | Dynamically Migrating Channels | |
US11165665B2 (en) | Apparatus and method to improve precision of identifying a range of effects of a failure in a system providing a multilayer structure of services | |
US8910125B2 (en) | Monitoring software performance | |
US9189302B2 (en) | Technique for monitoring activity within an integrated circuit | |
KR20170131007A (ko) | 데이터 분산 서비스 기반의 실시간 통신 감시 시스템 | |
CN116414645A (zh) | 一种日志可视的分布式任务监视方法、装置、介质及设备 | |
WO2016118162A1 (en) | Non-uniform memory access aware monitoring |
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 |