WO2023279815A1 - Performance monitoring system and related method - Google Patents

Performance monitoring system and related method Download PDF

Info

Publication number
WO2023279815A1
WO2023279815A1 PCT/CN2022/089717 CN2022089717W WO2023279815A1 WO 2023279815 A1 WO2023279815 A1 WO 2023279815A1 CN 2022089717 W CN2022089717 W CN 2022089717W WO 2023279815 A1 WO2023279815 A1 WO 2023279815A1
Authority
WO
WIPO (PCT)
Prior art keywords
node
collection
collected
analysis
nodes
Prior art date
Application number
PCT/CN2022/089717
Other languages
French (fr)
Chinese (zh)
Inventor
彭大成
鲁强
Original Assignee
华为技术有限公司
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
Priority claimed from CN202111043661.9A external-priority patent/CN115599641A/en
Application filed by 华为技术有限公司 filed Critical 华为技术有限公司
Publication of WO2023279815A1 publication Critical patent/WO2023279815A1/en

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

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)

Abstract

A performance monitoring system, which is used for monitoring the performance of an application on a collected node. The system comprises a collection node (100) and an analysis node (200), wherein the collection node (100) is connected to a collected node by means of a hardware debugging interface of the collected node, and the collection node (100) is used for reading performance information by means of the hardware debugging interface of the collected node; and the analysis node (200) is used for receiving the performance information sent by the collection node, and analyzing the performance information to obtain an analysis result. The collection node (100) collects performance information by means of the hardware debugging interface, and no collection software needs to be installed, such that software compatibility limitations are surmounted; and the method is applicable to performance monitoring of various types of collected nodes, which have hardware debugging interfaces, and has a higher availability.

Description

性能监控系统及相关方法Performance monitoring system and related method
[根据细则26改正28.04.2022] 
本申请要求于2021年07月08日提交中国国家知识产权局、申请号为202110770996.4、发明名称为“信息采集的方法和系统”,以及2021年9月7日提交中国国家知识产权局、申请号为202111043661.9、发明名称为“性能监控系统及相关方法”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。
[Corrected 28.04.2022 under Rule 26]
This application is required to be submitted to the State Intellectual Property Office of China on July 8, 2021, the application number is 202110770996.4, and the title of the invention is "method and system for information collection", and it is submitted to the State Intellectual Property Office of China on September 7, 2021, with the application number The priority of the Chinese patent application 202111043661.9, titled "Performance Monitoring System and Related Methods", the entire contents of which are incorporated in this application by reference.
技术领域technical field
本申请涉及计算机技术领域,尤其涉及一种性能监控系统、性能监控方法以及采集节点、计算机可读存储介质、计算机程序产品。The present application relates to the field of computer technology, and in particular to a performance monitoring system, a performance monitoring method, a collection node, a computer-readable storage medium, and a computer program product.
背景技术Background technique
随着计算机技术的不断发展,产生了大量的、用于实现不同功能的计算机应用(也可以简称为应用)。随着用户对应用的性能的要求的提高,如何提升应用的性能逐渐成为业界重点关注的问题。提升应用的性能的必要步骤是对性能进行监控。With the continuous development of computer technology, a large number of computer applications (also referred to as applications for short) for realizing different functions have been produced. As users have higher requirements on application performance, how to improve application performance has gradually become a major concern of the industry. An essential step in improving application performance is performance monitoring.
目前,业界提供了一些基于软件的性能监控方案。这些性能监控方案要求在被采集节点和分析节点上安装相应的软件。当用户有性能监控的需求时,采集软件可以根据用户的要求对硬件事件(如指定指令被调用、缓存未命中等事件)发生的次数、某硬件事件发生时的函数调用栈等性能信息进行采集,然后分析节点通过分析软件对上述性能信息进行分析,并通过图表等形式将分析结果呈现给用户。Currently, the industry provides some software-based performance monitoring solutions. These performance monitoring solutions require the installation of corresponding software on the collected nodes and analysis nodes. When the user has performance monitoring requirements, the collection software can collect performance information such as the number of occurrences of hardware events (such as specified instructions being called, cache misses, etc.), the function call stack when a certain hardware event occurs, etc. , and then the analysis node analyzes the above performance information through the analysis software, and presents the analysis results to the user through charts and other forms.
然而,软件通常存在兼容性限制,例如被采集节点使用特定的操作系统时,采集软件可能无法正常使用。基于此,业界亟需提供一种具有高可用性的性能监控方案。However, software usually has compatibility limitations. For example, when the collected node uses a specific operating system, the collection software may not work normally. Based on this, the industry urgently needs to provide a performance monitoring solution with high availability.
发明内容Contents of the invention
本申请提供了一种性能监控系统,该性能监控系统中的采集节点通过被采集节点的硬件调试接口采集性能信息,无需安装采集软件,突破了软件兼容性的限制,适用于对各种具备硬件调试接口的被采集节点进行性能监控,具有较高可用性。本申请还提供了相应的性能监控方法、采集节点、计算机可读存储介质以及计算机程序产品。This application provides a performance monitoring system. The collection nodes in the performance monitoring system collect performance information through the hardware debugging interface of the collected node, without installing collection software, which breaks through the limitation of software compatibility, and is suitable for all kinds of hardware The collected nodes of the debug interface perform performance monitoring and have high availability. The present application also provides a corresponding performance monitoring method, a collection node, a computer-readable storage medium, and a computer program product.
第一方面,本申请提供了一种性能监控系统。该性能监控系统可以是具有性能监控功能的硬件系统。该系统用于对被采集节点上应用的性能进行监控。其中,被采集节点可以是运行应用的设备,例如是服务器,或者是台式机、笔记本电脑、智能手机等个人计算机。In a first aspect, the present application provides a performance monitoring system. The performance monitoring system may be a hardware system with a performance monitoring function. The system is used to monitor the performance of the application on the collected nodes. Wherein, the collected node may be a device running an application, such as a server, or a personal computer such as a desktop computer, a notebook computer, or a smart phone.
性能监控系统包括采集节点和分析节点。采集节点通过被采集节点的硬件调试接口与被采集节点连接。采集节点用于通过被采集节点的硬件调试接口读取性能信息,分析节点用于接收所述采集节点发送的所述性能信息,对所述性能信息进行分析,获得分析结果。The performance monitoring system includes collection nodes and analysis nodes. The collection node is connected with the collected node through the hardware debugging interface of the collected node. The collection node is used to read performance information through the hardware debugging interface of the collected node, and the analysis node is used to receive the performance information sent by the collection node, analyze the performance information, and obtain an analysis result.
该系统中,采集节点通过硬件调试接口采集性能信息,无需安装采集软件,突破了软件兼容性的限制,适用于对各种具备硬件调试接口的被采集节点进行性能监控,具有较高可用性。而且,采集节点从硬件调试接口通过只读方式读取性能信息,不会使用被采集节点的资源,不会对被采集节点上应用的运行产生影响,一方面保障了采集的性能信息更准确,提升 了性能监控效果,另一方面,完全隔离了性能监控系统对被采集节点环境的影响。In this system, the collection nodes collect performance information through the hardware debugging interface, without the need to install collection software, which breaks through the limitation of software compatibility, and is suitable for performance monitoring of various collected nodes with hardware debugging interfaces, with high availability. Moreover, the collection node reads the performance information from the hardware debugging interface in a read-only manner, which will not use the resources of the collected node and will not affect the operation of the application on the collected node. On the one hand, it ensures that the collected performance information is more accurate. The effect of performance monitoring is improved. On the other hand, the impact of the performance monitoring system on the environment of the collected nodes is completely isolated.
在一些可能的实现方式中,被采集节点中包括寄存器,例如是与性能或应用的运行状态相关的寄存器,采集节点可以通过所述被采集节点的硬件调试接口读取被采集节点的寄存器中的数据,从而获得性能信息。In some possible implementations, the collected node includes registers, such as registers related to performance or application running status, and the collection node can read the registers in the collected node through the hardware debugging interface of the collected node. data to obtain performance information.
其中,采集节点通过被采集节点的硬件调试接口读取相关寄存器中的数据,进行性能信息的采集,一方面突破了软件兼容性的限制,另一方面通过硬件调试接口直接读取,而不是采集软件读取,可以实现高速导出数据,提高采集效率。Among them, the collection node reads the data in the relevant registers through the hardware debugging interface of the collected node to collect performance information. On the one hand, it breaks through the limitation of software compatibility, and on the other hand, it directly reads through the hardware debugging interface instead of collecting Software reading can realize high-speed data export and improve collection efficiency.
在一些可能的实现方式中,被采集节点中性能信息的数据量比较庞大,被采集节点可以设置独立存储部件,以用于缓冲该性能信息。其中,独立存储部件是指被采集节点中独立于中央处理器主体部分的存储部件,该独立存储部件例如可以是缓存或缓冲区等存储部件。采集节点可以通过被采集节点的硬件调试接口读取该被采集节点的寄存器传输至被采集节点的独立存储部件的数据,获得性能信息。In some possible implementation manners, the data volume of the performance information in the collected node is relatively large, and the collected node may set an independent storage component for buffering the performance information. Wherein, the independent storage unit refers to a storage unit in the collected node that is independent from the main part of the central processing unit, and the independent storage unit may be, for example, a storage unit such as a cache or a buffer. The collection node can read the data transmitted from the register of the collected node to the independent storage unit of the collected node through the hardware debugging interface of the collected node to obtain performance information.
其中,独立存储部件可以弥补高速设备和低速设备的鸿沟,降低低速设备的限制,提升性能信息的采集速度,从而提升性能监控的效率。Among them, independent storage components can bridge the gap between high-speed devices and low-speed devices, reduce the limitations of low-speed devices, and increase the collection speed of performance information, thereby improving the efficiency of performance monitoring.
在一些可能的实现方式中,分析节点还用于接收用户输入的采集提示信息,采集节点具体用于按照该采集提示信息,通过被采集节点的硬件调试接口读取性能信息。如此,可以实现根据用户的需求,按需采集性能信息,实现个性化的性能监控。In some possible implementation manners, the analysis node is further configured to receive the collection prompt information input by the user, and the collection node is specifically configured to read the performance information through the hardware debugging interface of the collected node according to the collection prompt information. In this way, performance information can be collected on demand according to user requirements, and personalized performance monitoring can be realized.
在一些可能的实现方式中,采集提示信息包括应用的代码采集范围和至少一个采集项目,每个采集项目对应一种硬件事件。代码采集范围用于指示需要采集性能信息,进而进行性能监控的代码片段。需要说明的是,该代码片段可以是源代码片段经过编译后的代码片段。采集项目用于指示对上述代码片段进行性能监控的指标,该指标可以通过与性能相关的硬件事件表征。该硬件事件例如可以包括缓存未命中事件、分支预测错误事件。In some possible implementation manners, the collection prompt information includes an application code collection scope and at least one collection item, and each collection item corresponds to a hardware event. The code collection range is used to indicate the code fragments that need to collect performance information for performance monitoring. It should be noted that the code fragment may be a compiled code fragment of the source code fragment. The collection item is used to indicate an indicator for performance monitoring of the above code fragment, and the indicator may be represented by a performance-related hardware event. The hardware events may include, for example, cache miss events and branch misprediction events.
具体地,用户可以先从需要监控性能的应用中确定需要追踪的源代码片段,然后查看被编译后的代码,获得上述源代码段被编译后的代码片段的地址,以便于采集节点可以根据该地址确定需要采集性能信息的代码片段。此外,用户可以通过分析节点提供的配置界面配置寄存器地址,以便于分析节点将寄存器地址下发至采集节点后,采集节点可以根据该寄存器地址,采集该寄存器地址对应的寄存器中的数据,从而获得性能信息。Specifically, the user can first determine the source code segment that needs to be tracked from the application that needs to monitor the performance, and then view the compiled code to obtain the address of the compiled code segment of the above source code segment, so that the collection node can be based on the The address identifies the code fragment that needs to collect performance information. In addition, the user can configure the register address through the configuration interface provided by the analysis node, so that after the analysis node sends the register address to the collection node, the collection node can collect the data in the register corresponding to the register address according to the register address, so as to obtain performance information.
在一些可能的实现方式中,被采集节点中设置有用于性能监控的寄存器,如性能监控单元中的一组寄存器,或者是性能调优所采用的用于获得硬件快照的另一组寄存器等,采集节点具体用于按照所述采集提示信息,配置所述被采集节点中的配置寄存器,以选通所述被采集节点中的目标寄存器和所述被采集节点的独立存储部件的线路。其中,目标寄存器包括与所述采集提示信息匹配的寄存器,该目标寄存器可以是上述用于性能监控的寄存器中的至少一个寄存器。当所述应用运行时,采集节点可以通过所述被采集节点的硬件调试接口读取所述目标寄存器传输至所述独立存储部件的数据,获得性能信息。In some possible implementations, the collected nodes are provided with registers for performance monitoring, such as a set of registers in the performance monitoring unit, or another set of registers used for performance tuning to obtain hardware snapshots, etc. The collection node is specifically configured to configure the configuration register in the collected node according to the collection prompt information, so as to select the target register in the collected node and the line of the independent storage component of the collected node. Wherein, the target register includes a register matching the collection prompt information, and the target register may be at least one register among the above-mentioned registers for performance monitoring. When the application is running, the collection node can read the data transmitted from the target register to the independent storage unit through the hardware debugging interface of the collected node to obtain performance information.
由于性能监控系统的采集节点可以根据采集提示信息,配置被采集节点中配置寄存器,以选通被采集节点中的目标寄存器与独立存储部件的线路,因此,可以实现从被采集节点的硬件调试接口按需读取性能信息。Because the collection node of the performance monitoring system can configure the configuration register in the collected node according to the collection prompt information, so as to gate the target register in the collected node and the line of the independent storage component, therefore, the hardware debugging interface from the collected node can be realized Read performance information on demand.
在一些可能的实现方式中,所述系统包括多个分析节点,所述采集节点还用于接收用户配置的分析节点地址列表,根据所述分析节点地址列表,向所述多个分析节点发送加入请求。相应地,所述多个分析节点中的至少一个分析节点用于向所述采集节点发送加入成功通知。如此,可以实现灵活组网。而且,采集节点和分析节点单独配置网络,可以实现在输性能信 息不会对当前网络产生负载,降低了当前网络的压力,能够传输更多、更详细的性能信息。In some possible implementations, the system includes a plurality of analysis nodes, and the collection node is further configured to receive an analysis node address list configured by a user, and send a join to the plurality of analysis nodes according to the analysis node address list. ask. Correspondingly, at least one analysis node among the plurality of analysis nodes is configured to send a join success notification to the acquisition node. In this way, flexible networking can be realized. Moreover, the collection node and the analysis node configure the network separately, so that the performance information being transmitted will not load the current network, reduce the pressure on the current network, and be able to transmit more and more detailed performance information.
在一些可能的实现方式中,在向所述多个分析节点发送加入请求之前,采集节点还用于根据所述分析节点地址列表,添加所述多个分析节点,以使所述采集节点采集的所述性能信息被所述多个分析节点共享。In some possible implementation manners, before sending the joining request to the multiple analysis nodes, the collection node is further configured to add the multiple analysis nodes according to the analysis node address list, so that the collection nodes collect The performance information is shared by the plurality of analysis nodes.
即使有个别分析节点故障,也能够由其他分析节点基于该采集节点采集的性能信息进行分析,实现性能监控,提高了性能监控系统的健壮性和可靠性。并且,只要在一个采集节点添加了远程的分析节点,分析节点就可以接入此采集节点。对于被采集节点而言,不需要因为有新的分析节点而更换采集节点。如此可以减少节点的移动,提升组网灵活性。Even if an individual analysis node fails, other analysis nodes can perform analysis based on the performance information collected by the collection node, thereby realizing performance monitoring and improving the robustness and reliability of the performance monitoring system. Moreover, as long as a remote analysis node is added to a collection node, the analysis node can access the collection node. For the collected nodes, there is no need to replace the collection nodes because there are new analysis nodes. In this way, the movement of nodes can be reduced and the flexibility of networking can be improved.
在一些可能的实现方式中,所述采集节点具有硬件调试接口,所述采集节点的硬件调试接口与所述被采集节点的硬件调试接口通过排线连接。因此,采集节点和被采集节点可以通过被采集节点的硬件调试接口、排线、采集节点的硬件调试接口的线路传输性能信息,由此实现通过硬件方式采集性能信息,突破了软件兼容性的限制,并且提高了采集效率。In some possible implementation manners, the collection node has a hardware debugging interface, and the hardware debugging interface of the collection node is connected to the hardware debugging interface of the collected node through a cable. Therefore, the collection node and the collected node can transmit performance information through the hardware debugging interface of the collected node, the cable, and the line of the hardware debugging interface of the collection node, thereby realizing the collection of performance information through hardware, breaking through the limitation of software compatibility , and improve the collection efficiency.
在一些可能的实现方式中,所述被采集节点包括多个,所述采集节点以及所述采集节点连接的所述多个被采集节点的网络拓扑为菊花链拓扑。通过菊花链拓扑,可以实现一个采集节点对多个被采集节点进行性能采集。具体地,采集节点可以连接到多个被采集节点,无需插拔,在触发采集性能信息的流程后,采集节点可以分时读取多个被采集节点的性能信息。In some possible implementation manners, the collected nodes include multiple nodes, and a network topology of the collection node and the multiple collected nodes connected to the collection node is a daisy chain topology. Through the daisy chain topology, one collection node can collect the performance of multiple collected nodes. Specifically, the collection node can be connected to multiple collected nodes without plugging and unplugging. After the process of collecting performance information is triggered, the collection node can read the performance information of multiple collected nodes in time-sharing.
如此可以大幅度减少需要配置的采集节点的数量,简化了采集节点安装和调试的工作量。In this way, the number of collection nodes that need to be configured can be greatly reduced, and the workload of installation and debugging of collection nodes is simplified.
在一些可能的实现方式中,所述采集节点通过交流电或电池供电,通过所述交流电供电的所述采集节点用于采集固定的被采集节点中应用的性能信息,通过所述电池供电的所述采集节点用于采集移动的被采集节点中应用的性能信息。其中,固定的被采集节点可以是大型数据中心的计算设备如服务器等,移动的采集节点可以是机器人、电动车、无人机、虚拟现实可穿戴设备等。In some possible implementation manners, the collection node is powered by an alternating current or a battery, and the collection node powered by the alternating current is used to collect performance information applied in a fixed node to be collected, and the collection node powered by the battery The collection node is used to collect the performance information of the application in the mobile collected node. Among them, the fixed collected nodes can be computing devices such as servers in large data centers, and the mobile collected nodes can be robots, electric vehicles, drones, virtual reality wearable devices, etc.
也即,本申请的性能监控系统可以根据进行性能调优的环境不同,适用于不同的性能调优场景,具有较高可用性。That is to say, the performance monitoring system of the present application can be applied to different performance tuning scenarios according to different performance tuning environments, and has high usability.
进一步地,一些被采集节点可能对重量或电能比较敏感,因此,采集节点还可以配备重量较小的电池,并采用节能的通信模组如紫蜂通信模组,以实现通过较小的能耗完成性能信息的传输。Furthermore, some nodes to be collected may be sensitive to weight or electric energy. Therefore, the collection nodes can also be equipped with batteries with a smaller weight, and use energy-saving communication modules such as Zigbee communication modules to achieve low energy consumption. Complete the transmission of performance information.
第二方面,本申请提供了一种性能监控方法。该方法应用于性能监控系统,所述系统用于对被采集节点上应用的性能进行监控,所述系统包括采集节点和分析节点,所述采集节点通过所述被采集节点的硬件调试接口与所述被采集节点连接,所述方法包括:In a second aspect, the present application provides a performance monitoring method. The method is applied to a performance monitoring system, the system is used to monitor the performance of the application on the collected node, the system includes a collection node and an analysis node, and the collection node communicates with the collected node through the hardware debugging interface of the collected node The collected nodes are connected, the method includes:
所述采集节点通过所述被采集节点的硬件调试接口读取性能信息;The collection node reads the performance information through the hardware debugging interface of the collected node;
所述分析节点接收所述采集节点发送的所述性能信息,对所述性能信息进行分析,获得分析结果。The analysis node receives the performance information sent by the collection node, analyzes the performance information, and obtains an analysis result.
在一些可能的实现方式中,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:In some possible implementation manners, the collection node reads the performance information through the hardware debugging interface of the collected node, including:
所述采集节点通过所述被采集节点的硬件调试接口读取被采集节点的寄存器中的数据,获得性能信息。The collection node reads the data in the register of the collected node through the hardware debugging interface of the collected node to obtain performance information.
在一些可能的实现方式中,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:In some possible implementation manners, the collection node reads the performance information through the hardware debugging interface of the collected node, including:
所述采集节点通过所述被采集节点的硬件调试接口读取所述被采集节点的寄存器传输至所述被采集节点的独立存储部件的数据,获得性能信息。The collection node reads the data transmitted from the register of the collected node to the independent storage component of the collected node through the hardware debugging interface of the collected node, and obtains performance information.
在一些可能的实现方式中,所述方法还包括:In some possible implementations, the method also includes:
所述分析节点接收用户输入的采集提示信息;The analysis node receives the collection prompt information input by the user;
所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The collection node reads the performance information through the hardware debugging interface of the collected node, including:
按照所述采集提示信息,通过所述被采集节点的硬件调试接口读取性能信息。According to the collection prompt information, the performance information is read through the hardware debugging interface of the collected node.
在一些可能的实现方式中,所述采集提示信息包括所述应用的代码采集范围和至少一个采集项目,每个采集项目对应一种硬件事件。In some possible implementation manners, the collection prompt information includes a code collection scope of the application and at least one collection item, and each collection item corresponds to a hardware event.
在一些可能的实现方式中,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:In some possible implementation manners, the collection node reads the performance information through the hardware debugging interface of the collected node, including:
所述采集节点按照所述采集提示信息,配置所述被采集节点中的配置寄存器,以选通所述被采集节点中的目标寄存器和所述被采集节点中的独立存储部件的线路;The collection node configures the configuration register in the collected node according to the collection prompt information, so as to select the target register in the collected node and the line of the independent storage component in the collected node;
当所述应用运行时,所述采集节点通过所述被采集节点的硬件调试接口读取所述目标寄存器传输至所述独立存储部件的数据,获得性能信息。When the application is running, the collection node reads the data transmitted from the target register to the independent storage unit through the hardware debugging interface of the collected node to obtain performance information.
在一些可能的实现方式中,所述系统包括多个分析节点,所述方法还包括:In some possible implementations, the system includes multiple analysis nodes, and the method further includes:
所述采集节点接收用户配置的分析节点地址列表;The collection node receives a user-configured analysis node address list;
所述采集节点根据所述分析节点地址列表,向所述多个分析节点发送加入请求;The collection node sends a join request to the plurality of analysis nodes according to the analysis node address list;
所述多个分析节点中的至少一个分析节点向所述采集节点发送加入成功通知。At least one analysis node among the plurality of analysis nodes sends a joining success notification to the collection node.
在一些可能的实现方式中,在所述采集节点向所述多个分析节点发送加入请求之前,所述方法还包括:In some possible implementation manners, before the collection node sends joining requests to the multiple analysis nodes, the method further includes:
根据所述分析节点地址列表,添加所述多个分析节点,以使所述采集节点采集的所述性能信息被所述多个分析节点共享。Adding the multiple analysis nodes according to the analysis node address list, so that the performance information collected by the collection node is shared by the multiple analysis nodes.
在一些可能的实现方式中,所述采集节点具有硬件调试接口,所述采集节点的硬件调试接口与所述被采集节点的硬件调试接口通过排线连接。In some possible implementation manners, the collection node has a hardware debugging interface, and the hardware debugging interface of the collection node is connected to the hardware debugging interface of the collected node through a cable.
在一些可能的实现方式中,所述被采集节点包括多个,所述采集节点以及所述采集节点连接的所述多个被采集节点的网络拓扑为菊花链拓扑。In some possible implementation manners, the collected nodes include multiple nodes, and a network topology of the collection node and the multiple collected nodes connected to the collection node is a daisy chain topology.
在一些可能的实现方式中,所述采集节点通过交流电或电池供电;In some possible implementation manners, the collection node is powered by alternating current or battery;
所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The collection node reads the performance information through the hardware debugging interface of the collected node, including:
通过所述交流电供电的所述采集节点采集固定的被采集节点中应用的性能信息;或者,Collecting performance information applied in a fixed collected node through the collection node powered by the alternating current; or,
通过所述电池供电的所述采集节点采集移动的被采集节点中应用的性能信息。The collection node powered by the battery collects the performance information of the application in the mobile collected node.
第三方面,本申请提供了一种采集节点。所述采集节点通过所述被采集节点的硬件调试接口与所述被采集节点连接,所述采集节点用于执行如本申请第二方面或第二方面的任一种实现方式所述的性能监控方法中由所述采集节点执行的步骤。In a third aspect, the present application provides a collection node. The collection node is connected to the collected node through the hardware debugging interface of the collected node, and the collection node is used to perform performance monitoring as described in the second aspect or any implementation manner of the second aspect of the present application Steps in a method performed by the collection node.
第四方面,本申请提供一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,所述指令指示设备执行上述第二方面或第二方面的任一种实现方式所述的性能监控方法中由分析节点执行的步骤。In a fourth aspect, the present application provides a computer-readable storage medium, where an instruction is stored in the computer-readable storage medium, and the instruction instructs the device to execute the method described in the second aspect or any implementation manner of the second aspect. A step in a performance monitoring method performed by an analysis node.
第五方面,本申请提供了一种包含指令的计算机程序产品,当其在设备上运行时,使得设备执行上述第二方面或第二方面的任一种实现方式所述的性能监控方法中由分析节点执行的步骤。In a fifth aspect, the present application provides a computer program product containing instructions, which, when run on a device, causes the device to execute the performance monitoring method described in the second aspect or any implementation manner of the second aspect described by The steps performed by the analysis node.
本申请在上述各方面提供的实现方式的基础上,还可以进行进一步组合以提供更多实现方式。On the basis of the implementation manners provided in the foregoing aspects, the present application may further be combined to provide more implementation manners.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方法,下面将对实施例中所需使用的附图作以简单地介绍。In order to more clearly illustrate the technical methods of the embodiments of the present application, the following will briefly introduce the drawings required in the embodiments.
图1为本申请实施例提供的一种性能监控系统的结构示意图;FIG. 1 is a schematic structural diagram of a performance monitoring system provided by an embodiment of the present application;
图2为本申请实施例提供的一种配置界面的示意图;FIG. 2 is a schematic diagram of a configuration interface provided by an embodiment of the present application;
图3为本申请实施例提供的一种采集节点的硬件结构示意图;FIG. 3 is a schematic diagram of a hardware structure of a collection node provided in an embodiment of the present application;
图4为本申请实施例提供的一种采集节点的硬件结构示意图;FIG. 4 is a schematic diagram of a hardware structure of a collection node provided in an embodiment of the present application;
图5为本申请实施例提供的一种采集节点的硬件结构示意图;FIG. 5 is a schematic diagram of a hardware structure of a collection node provided in an embodiment of the present application;
图6为本申请实施例提供的一种采集节点的硬件结构示意图;FIG. 6 is a schematic diagram of a hardware structure of a collection node provided in an embodiment of the present application;
图7为本申请实施例提供的一种性能监控方法的流程图;FIG. 7 is a flowchart of a performance monitoring method provided in an embodiment of the present application;
图8为本申请实施例提供的一种配置代码采集范围的示意图;FIG. 8 is a schematic diagram of a configuration code collection range provided by an embodiment of the present application;
图9为本申请实施例提供的一种配置采集项目的示意图。FIG. 9 is a schematic diagram of a configuration collection item provided by an embodiment of the present application.
具体实施方式detailed description
本申请实施例中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。The terms "first" and "second" in the embodiments of the present application are used for description purposes only, and cannot be understood as indicating or implying relative importance or implicitly indicating the quantity of indicated technical features. Thus, a feature defined as "first" and "second" may explicitly or implicitly include one or more of these features.
为了便于理解本申请实施例,首先,对本申请涉及的部分术语进行解释说明。In order to facilitate the understanding of the embodiments of the present application, first, some terms involved in the present application are explained.
应用(application,APP),也称作应用程序,是指为针对用户的某种特殊目的所撰写的计算机程序。应用通常部署在硬件设备,如台式机、笔记本电脑、智能手机等个人计算机(personal computer)或者是服务器中。硬件设备通过执行应用的程序代码,以运行应用,进而实现应用的功能。An application (APP), also called an application program, refers to a computer program written for a certain special purpose of a user. Applications are usually deployed on hardware devices, such as personal computers such as desktops, laptops, and smart phones, or servers. The hardware device runs the application by executing the program code of the application, and then realizes the functions of the application.
应用的性能(performance),具体是指应用的运行性能。该运行性能可以通过应用运行时的资源利用率进行表征。该资源可以是计算资源、存储资源、网络资源等不同类型。其中,计算资源可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)等处理器资源,存储资源可以包括内存(memory)、外存(也称作辅助存储、辅存,auxiliary storage)、缓存(cache)等资源,网络资源可以包括带宽等资源。基于此,运行性能可以通过CPU利用率、内存利用率、缓存命中率表征。Application performance (performance), specifically refers to the running performance of the application. The running performance can be characterized by the resource utilization rate when the application is running. The resources may be of different types such as computing resources, storage resources, and network resources. Wherein, computing resources may include processor resources such as central processing unit (central processing unit, CPU), graphics processing unit (graphics processing unit, GPU), and storage resources may include internal memory (memory), external storage (also called auxiliary storage, Auxiliary storage (auxiliary storage), cache (cache) and other resources, network resources may include bandwidth and other resources. Based on this, running performance can be characterized by CPU utilization, memory utilization, and cache hit ratio.
性能监控(performance monitor)是指对应用的运行性能进行持续地检测。大型芯片设计公司提供了丰富的性能监控组件,例如性能监视单元(performance monitor,PMU)寄存器、内核景象CoreSight TM芯片监控组件、扩展调试接口(eXtend Debug Port,XDP)等。 Performance monitoring (performance monitor) refers to the continuous detection of the running performance of the application. Large-scale chip design companies provide a wealth of performance monitoring components, such as performance monitoring unit (performance monitor, PMU) registers, core view CoreSight TM chip monitoring components, extended debugging interface (eXtend Debug Port, XDP), and so on.
目前,业界提供的性能监控方案是基于上述性能监控组件的支持,开发性能监控相关的软件,然后通过软件实现性能监控。具体地,被采集节点上安装采集软件,分析节点上安装分析软件。当用户有性能监控的需求时,采集软件可以根据用户的要求对缓存未命中(cache miss)、分支预测错误(branch misprediction)等硬件事件,或者一些特定硬件事件发生时的函数调用栈等性能信息进行采集,然后分析节点通过分析软件对上述性能信息进行分析,并通过图表等形式将分析结果呈现给用户。然而,软件通常存在兼容性限制,例如被采集节点使用特定的操作系统时,采集软件可能无法正常使用。基于此,业界亟需提供一种具有高可用性的性能监控方案。At present, the performance monitoring solutions provided by the industry are based on the support of the above performance monitoring components, develop performance monitoring related software, and then implement performance monitoring through the software. Specifically, the acquisition software is installed on the collected nodes, and the analysis software is installed on the analysis nodes. When the user needs performance monitoring, the acquisition software can analyze hardware events such as cache miss and branch misprediction according to the user's requirements, or performance information such as the function call stack when some specific hardware events occur. Collect, and then the analysis node analyzes the above performance information through the analysis software, and presents the analysis results to the user through charts and other forms. However, software usually has compatibility limitations. For example, when the collected node uses a specific operating system, the collection software may not work normally. Based on this, the industry urgently needs to provide a performance monitoring solution with high availability.
有鉴于此,本申请实施例提供了一种性能监控系统。该性能监控系统可以是具有性能监 控功能的硬件系统。该系统用于对被采集节点上应用的性能进行监控。其中,被采集节点可以是运行应用的设备,例如是服务器或者PC。In view of this, an embodiment of the present application provides a performance monitoring system. The performance monitoring system may be a hardware system with a performance monitoring function. The system is used to monitor the performance of the application on the collected nodes. Wherein, the collected node may be a device running an application, such as a server or a PC.
性能监控系统包括采集节点和分析节点。采集节点通过被采集节点的硬件调试接口与被采集节点连接。采集节点用于通过被采集节点的硬件调试接口读取性能信息,分析节点用于接收所述采集节点发送的所述性能信息,对所述性能信息进行分析,获得分析结果。The performance monitoring system includes collection nodes and analysis nodes. The collection node is connected with the collected node through the hardware debugging interface of the collected node. The collection node is used to read performance information through the hardware debugging interface of the collected node, and the analysis node is used to receive the performance information sent by the collection node, analyze the performance information, and obtain an analysis result.
该系统中,采集节点通过硬件调试接口采集性能信息,无需安装采集软件,突破了软件兼容性的限制,适用于对各种具备硬件调试接口的被采集节点进行性能监控,具有较高可用性。而且,采集节点从硬件调试接口通过只读方式读取性能信息,不会使用被采集节点的资源,不会对被采集节点上应用的运行产生影响,一方面保障了采集的性能信息更准确,提升了性能监控效果,另一方面,完全隔离了性能监控系统对被采集节点环境的影响。In this system, the collection nodes collect performance information through the hardware debugging interface, without the need to install collection software, which breaks through the limitation of software compatibility, and is suitable for performance monitoring of various collected nodes with hardware debugging interfaces, with high availability. Moreover, the collection node reads the performance information from the hardware debugging interface in a read-only manner, which will not use the resources of the collected node and will not affect the operation of the application on the collected node. On the one hand, it ensures that the collected performance information is more accurate. The effect of performance monitoring is improved. On the other hand, the impact of the performance monitoring system on the environment of the collected nodes is completely isolated.
为了使得本申请的技术方案更加清楚、易于理解,下面结合附图对本申请实施例提供的性能监控系统进行介绍。In order to make the technical solution of the present application clearer and easier to understand, the performance monitoring system provided by the embodiment of the present application will be introduced below with reference to the accompanying drawings.
参见图1所示的性能监控系统的结构示意图,该性能监控系统10包括至少一个采集节点100和至少一个分析节点200。采集节点100具有硬件实体,例如可以是计算盒子。该计算盒子包括硬件调试接口,该硬件调试接口与被采集节点的硬件调试接口适配。需要说明的是,采集节点100的硬件调试接口与被采集节点的硬件调试接口可以是原生适配,也可以通过适配器(adapter)实现适配。例如,采集节点100支持硬件调试接口A,被采集节点支持硬件调试接口B,则采集节点100可以适配器将硬件调试接口A的调用转换为硬件调试接口B的调用,从而实现与被采集节点适配。Referring to the structural diagram of the performance monitoring system shown in FIG. 1 , the performance monitoring system 10 includes at least one collection node 100 and at least one analysis node 200 . The collection node 100 has a hardware entity, such as a computing box. The computing box includes a hardware debugging interface adapted to the hardware debugging interface of the collected node. It should be noted that the hardware debugging interface of the collection node 100 and the hardware debugging interface of the collected node may be natively adapted, or may be adapted through an adapter. For example, if the collection node 100 supports hardware debugging interface A, and the collected node supports hardware debugging interface B, then the collection node 100 can use an adapter to convert the call of hardware debugging interface A into the call of hardware debugging interface B, so as to realize the adaptation to the collected node .
分析节点200可以是部署有分析软件(即性能分析软件)的硬件设备,如服务器、PC、智能手机等。其中,用于部署分析软件的服务器可以是云服务器,也可以是本地数据中心的服务器。The analysis node 200 may be a hardware device deployed with analysis software (ie, performance analysis software), such as a server, a PC, a smart phone, and the like. Wherein, the server for deploying the analysis software may be a cloud server or a server in a local data center.
图1以性能监控系统10包括m个采集节点和n个分析节点进行示例说明。其中,m、n为正整数。具体地,采集节点100与分析节点200通过网络的方式进行连接,用户可以在采集节点100上配置不同的组网方式。通过在采集节点100端的配置,一个分析节点200可以同时接入多个采集节点100。如果在采集节点100上开放多个分析节点200的权限,一个采集节点100也可以被多个分析节点200所共享,即一个采集节点100采集的性能信息可以被共享的多个分析节点200使用。FIG. 1 illustrates an example in which a performance monitoring system 10 includes m collection nodes and n analysis nodes. Wherein, m and n are positive integers. Specifically, the collection node 100 and the analysis node 200 are connected through a network, and the user can configure different networking modes on the collection node 100 . Through the configuration at the collection node 100 side, one analysis node 200 can access multiple collection nodes 100 at the same time. If the permissions of multiple analysis nodes 200 are opened on the collection node 100, one collection node 100 can also be shared by multiple analysis nodes 200, that is, the performance information collected by one collection node 100 can be used by multiple shared analysis nodes 200.
采集节点100可以安装在被采集节点上。被采集节点可以是大型、中型或小型设备。其中,大型设备可以包括数据中心中的计算集群(例如为服务器集群),中型设备可以是机器人、流媒体设备、电动车等,小型设备可以是无人机、虚拟现实(virtual reality,VR)。被采集节点具有硬件调试接口,该硬件调试接口例如可以是跟踪(tracing)接口。采集节点100可以通过被采集节点的硬件调试接口与被采集节点连接。The collecting node 100 may be installed on the collected node. The collected nodes can be large, medium or small devices. Among them, large-scale equipment can include computing clusters in data centers (for example, server clusters), medium-sized equipment can be robots, streaming media equipment, electric vehicles, etc., and small equipment can be drones and virtual reality (virtual reality, VR). The collected node has a hardware debugging interface, which may be, for example, a tracing (tracing) interface. The collection node 100 may be connected to the collected node through the hardware debugging interface of the collected node.
采集节点100用于通过所述被采集节点的硬件调试接口读取性能信息。该性能信息可以包括由PMU寄存器统计的硬件事件的数量、应用快照(snapshot)和跟踪(tracing)信息中的一种或多种。The collection node 100 is configured to read performance information through a hardware debugging interface of the collected node. The performance information may include one or more of the number of hardware events counted by PMU registers, application snapshot (snapshot) and tracing (tracing) information.
其中,CPU可以通过PMU对多种硬件事件进行统计,例如CPU可以通过PMU访问第一PMU寄存器,获得缓存未命中事件发生的次数,又例如CPU可以通过PMU访问第二PMU寄存器,获得分支预测错误事件发生的次数。应用快照用于反映应用在某个时间的状态。在性能调优场景,应用快照是指一组由芯片内部寄存器(区别于PMU寄存器)产生的信息组合形成的数据组,该数据组可以反推执行应用的程序代码的芯片在运行时的状态。该状态例 如可以是运行、休眠、等待、驻留或监视中的任意一种。跟踪信息包括应用的运行状态和硬件事件发生时的函数调用栈中的任意一种或多种。Among them, the CPU can count various hardware events through the PMU. For example, the CPU can access the first PMU register through the PMU to obtain the number of cache miss events. For example, the CPU can access the second PMU register through the PMU to obtain branch prediction errors. The number of times the event occurred. Application snapshots are used to reflect the state of the application at a certain time. In the performance tuning scenario, an application snapshot refers to a data group formed by a combination of information generated by the chip's internal registers (different from the PMU registers). This data group can reverse the state of the chip executing the application program code at runtime. The state can be, for example, any of running, hibernating, waiting, resident, or monitoring. The trace information includes any one or more of the running status of the application and the function call stack when the hardware event occurs.
采集节点100可以通过被采集节点的硬件调试接口读取被采集节点的寄存器中的数据,从而获得性能信息。进一步地,考虑到性能信息的数据量比较庞大,被采集节点中还可以设置独立存储部件以用于缓冲寄存器中的数据。其中,独立存储部件是被采集节点中独立于CPU主体的存储部件,该独立存储部件可以是缓存cache或缓冲区buffer等等。采集节点100可以通过被采集节点的硬件调试接口读取被采集节点的寄存器传输至该被独立存储部件的数据,获得性能信息。The collection node 100 can read the data in the register of the collected node through the hardware debugging interface of the collected node, so as to obtain the performance information. Further, considering that the data volume of the performance information is relatively large, an independent storage unit may also be set in the collected node for buffering the data in the register. Wherein, the independent storage component is a storage component independent of the CPU main body in the collected node, and the independent storage component may be a cache cache or a buffer buffer or the like. The collection node 100 can read the data transmitted from the register of the collected node to the independently stored component through the hardware debugging interface of the collected node to obtain performance information.
分析节点200用于接收所述采集节点100发送的所述性能信息,对所述性能信息进行分析,获得分析结果。具体地,分析节点200可以通过统计学方式对接收到的性能信息进行分析,例如分析节点200可以确定缓存命中事件发生的次数和缓存未命中事件发生的次数之和,然后确定缓存命中事件发生的次数在上述和值中的占比,从而获得缓存命中率。分析结果可以包括上述缓存命中率。The analysis node 200 is configured to receive the performance information sent by the collection node 100, analyze the performance information, and obtain an analysis result. Specifically, the analysis node 200 can analyze the received performance information in a statistical manner, for example, the analysis node 200 can determine the sum of the number of occurrences of the cache hit event and the number of occurrences of the cache miss event, and then determine the number of occurrences of the cache hit event. The ratio of the number of times in the above sum value, so as to obtain the cache hit rate. The analysis result may include the cache hit ratio described above.
进一步地,分析节点200还可以将分析结果以图表形式呈现。具体地,分析节点200可以将分析结果通过折线图、柱状图、火焰图或者表格中的任一种或多种呈现给用户。分析节点200还可以根据分析结果的折线图、柱状图、火焰图或者表格中的至少一种生成性能监控报告,并输出该性能监控报告。Further, the analysis node 200 can also present the analysis results in a graph form. Specifically, the analysis node 200 may present the analysis results to the user through any one or more of a line graph, a histogram, a flame graph, or a table. The analysis node 200 may also generate a performance monitoring report according to at least one of a line graph, a histogram, a flame graph or a table of the analysis results, and output the performance monitoring report.
在一些可能的实现方式中,采集节点100可以先进行准备工作,例如采集节点100可以进行网络配置,然后再采集性能信息。具体地,采集节点100可以接收用户配置的分析节点地址列表。其中,分析节点地址列表包括至少一个分析节点200的地址,该地址可以包括统一资源定位符(uniform resource locator,URL)地址、网际协议(Internet protocol,IP)地址、消息队列遥测传输(message queuing telemetry transport,MQTT)地址中的至少一种。采集节点100通过添加至少一个分析节点200的地址,以进行网络配置。进一步地,采集节点100可以添加多个分析节点200的地址,如此,该采集节点100采集的性能信息可以被多个分析节点200共享。In some possible implementation manners, the collection node 100 may perform preparatory work first, for example, the collection node 100 may perform network configuration, and then collect performance information. Specifically, the collection node 100 may receive a user-configured analysis node address list. Wherein, the analysis node address list includes the address of at least one analysis node 200, and the address may include a uniform resource locator (uniform resource locator, URL) address, an Internet protocol (Internet protocol, IP) address, a message queue telemetry transmission (message queuing telemetry transport, MQTT) address at least one. The collection node 100 performs network configuration by adding the address of at least one analysis node 200 . Further, the collection node 100 may add addresses of multiple analysis nodes 200 , so that the performance information collected by the collection node 100 may be shared by multiple analysis nodes 200 .
需要说明的是,分析节点地址列表中可以包括至少一个分析节点200的标识以及该分析节点200的地址。其中,分析节点200的标识例如可以是分析节点200的通用唯一识别码(universally unique identifier,UUID)。It should be noted that the analysis node address list may include an identifier of at least one analysis node 200 and an address of the analysis node 200 . Wherein, the identifier of the analysis node 200 may be, for example, a universally unique identifier (UUID) of the analysis node 200 .
采集节点100配置网络完成后,可以重新启动。然后采集节点100可以根据添加的分析节点200的地址,向分析节点200发送加入请求。当采集节点100向多个分析节点200发送加入请求时,多个分析节点200中的至少一个分析节点200可以保存采集节点100的标识和地址,然后向采集节点100返回加入成功通知。类似地,采集节点100的标识可以是采集节点的UUID,采集节点的地址可以是URL地址、IP地址或MQTT地址中的至少一个。After the network configuration of the collection node 100 is completed, it can be restarted. Then the collection node 100 may send a join request to the analysis node 200 according to the address of the added analysis node 200 . When the collection node 100 sends a joining request to multiple analysis nodes 200 , at least one analysis node 200 among the multiple analysis nodes 200 may save the identification and address of the collection node 100 , and then return a join success notification to the collection node 100 . Similarly, the identifier of the collection node 100 may be the UUID of the collection node, and the address of the collection node may be at least one of URL address, IP address or MQTT address.
当采集节点100加入成功,分析节点200可以指示采集节点100进行性能信息的采集。在一些可能的实现方式中,分析节点200可以接收用户输入的采集提示信息。该采集提示信息用于对采集节点100采集性能信息进行提示,例如该采集提示信息可以包括应用的代码采集范围和至少一个采集项目。每个采集项目可以对应一种硬件事件。然后分析节点200可以按照所述采集提示信息,通过所述被采集节点的硬件调试接口读取性能信息。When the collection node 100 joins successfully, the analysis node 200 may instruct the collection node 100 to collect performance information. In some possible implementation manners, the analysis node 200 may receive collection prompt information input by a user. The collection prompt information is used to prompt the collection node 100 to collect performance information, for example, the collection prompt information may include an application code collection range and at least one collection item. Each acquisition item can correspond to a hardware event. Then the analysis node 200 can read the performance information through the hardware debugging interface of the collected node according to the collection prompt information.
其中,分析节点200可以提供配置界面,该配置界面为支持用户交互的交互界面(user interface,UI)。该UI可以是图形用户界面(graphical user interface,GUI)或者是命令用户界面(command user interface,CUI)。下面以配置界面为GUI进行示例说明。Wherein, the analysis node 200 may provide a configuration interface, and the configuration interface is an interactive interface (user interface, UI) supporting user interaction. The UI may be a graphical user interface (graphical user interface, GUI) or a command user interface (command user interface, CUI). The following uses the configuration interface as a GUI for an example description.
参见图2所示的配置界面20的示意图,该配置界面20包括用于配置代码采集范围的第一输入框202和用于配置采集项目的第二输入框206。用户可以在第一输入框202中输入待采集的代码片段的地址,从而配置代码采集范围。类似地,用户可以在第二输入框206输入需要采集的硬件事件,从而实现配置采集项目。Referring to the schematic diagram of the configuration interface 20 shown in FIG. 2 , the configuration interface 20 includes a first input box 202 for configuring a code collection range and a second input box 206 for configuring a collection item. The user can input the address of the code segment to be collected in the first input box 202, thereby configuring the code collection range. Similarly, the user can input the hardware events to be collected in the second input box 206, so as to configure the collection items.
在一些可能的实现方式中,配置界面20还包括浏览控件204,用户可以触发浏览控件204以浏览代码文件,然后选中代码文件中的代码片段,以配置代码采集范围。配置界面20还可以包括下拉控件208,该下拉控件208被触发时,配置界面20展示下拉框210,用户可以从下拉框210中的选择需要采集的硬件事件,以实现配置采集项目。In some possible implementations, the configuration interface 20 further includes a browsing control 204, and the user can trigger the browsing control 204 to browse the code file, and then select a code segment in the code file to configure the code collection range. The configuration interface 20 may also include a drop-down control 208. When the drop-down control 208 is triggered, the configuration interface 20 displays a drop-down box 210, and the user can select hardware events to be collected from the drop-down box 210 to configure the collection items.
配置界面20还包括确定控件212和取消控件214,确定控件212被触发时,分析节点200可以根据用户配置的代码采集范围、采集项目等生成配置文件。进一步地,分析节点200可以将该配置文件下发至采集节点100。The configuration interface 20 also includes a confirm control 212 and a cancel control 214. When the confirm control 212 is triggered, the analysis node 200 can generate a configuration file according to the code collection scope and collection items configured by the user. Further, the analysis node 200 may deliver the configuration file to the collection node 100 .
采集节点100可以读取配置文件,按照配置文件中携带的采集提示信息,配置被采集节点中的配置寄存器,以选通被采集节点中的目标寄存器和被采集节点中的独立存储部件连接。其中,目标寄存器包括与采集提示信息匹配的寄存器,独立存储部件是指被采集节点中独立于CPU主体的存储部件。当应用运行时,采集节点100可以通过被采集节点的硬件调试接口读取目标寄存器传输至上述独立存储部件的数据,获得性能信息。The collection node 100 can read the configuration file, configure the configuration register in the collected node according to the collection prompt information carried in the configuration file, and select the connection between the target register in the collected node and the independent storage unit in the collected node. Wherein, the target register includes a register matching the collection prompt information, and the independent storage component refers to a storage component independent of the CPU main body in the collected node. When the application is running, the collection node 100 can read the data transmitted from the target register to the independent storage unit through the hardware debugging interface of the collected node to obtain performance information.
性能监控系统10实施性能监控的关键在于采集节点100,下面对采集节点100的硬件结构进行详细说明。The key to implementing performance monitoring by the performance monitoring system 10 lies in the collection node 100 , and the hardware structure of the collection node 100 will be described in detail below.
参见图3所示的采集节点100的硬件结构示意图,该采集节点100包括硬件调试接口102、控制单元104、网络收发单元106和网络输出接口108。其中,硬件调试接口102、网络收发单元106分别与控制单元104连接,网络输出接口108与网络收发单元106连接。在一些可能的实现方式中,采集节点100还包括配置接口103。配置接口103与控制单元104连接。Referring to the schematic diagram of the hardware structure of the collection node 100 shown in FIG. 3 , the collection node 100 includes a hardware debugging interface 102 , a control unit 104 , a network transceiver unit 106 and a network output interface 108 . Wherein, the hardware debugging interface 102 and the network transceiver unit 106 are respectively connected to the control unit 104 , and the network output interface 108 is connected to the network transceiver unit 106 . In some possible implementation manners, the collection node 100 further includes a configuration interface 103 . The configuration interface 103 is connected to the control unit 104 .
硬件调试接口102用于与被采集节点的硬件调试接口适配,从而实现在采集节点100和被采集节点之间传输信息,例如是传输性能信息。其中,采集节点100的硬件调试接口102可以通过排线与被采集节点的硬件调试接口连接。进一步地,采集节点100可以通过菊花链拓扑的形式与多个被采集节点连接,从而实现对多个被采集节点进行性能监控。The hardware debugging interface 102 is adapted to the hardware debugging interface of the collected node, so as to transmit information between the collecting node 100 and the collected node, for example, transmit performance information. Wherein, the hardware debugging interface 102 of the collection node 100 can be connected with the hardware debugging interface of the collected node through a cable. Further, the collection node 100 may be connected to multiple collected nodes in the form of a daisy chain topology, so as to implement performance monitoring on multiple collected nodes.
配置接口103用于接收分析节点地址列表,以进行网络配置。配置接口103还用于接收分析节点200发送的配置文件,例如是接收配置文件中携带的采集提示信息。配置接口103的信息传输可以有多种实现方式。例如,配置接口103可以通过通用同步异步收发器(universal synchronous asynchronous receiver and transmitter,USART)、通用异步收发器(universal asynchronous receiver and transmitter,UART)、串行外设接口(serial peripheral interface bus,SPI)、集成电路总线(Inter-Integrated Circuit,I2C)或按钮等电子协议类方式实现信息传输。又例如,配置接口103可以通过红外数据协会(Infrared Data Association,IrDA)提出的红外通讯技术实现信息传输,或者是通过超声波、激光等方式实现信息传输。The configuration interface 103 is used to receive an analysis node address list for network configuration. The configuration interface 103 is also used to receive the configuration file sent by the analysis node 200, for example, to receive the collection prompt information carried in the configuration file. The information transmission of the configuration interface 103 may be implemented in various manners. For example, the configuration interface 103 can be configured via a universal synchronous asynchronous receiver and transmitter (USART), a universal asynchronous receiver and transmitter (UART), a serial peripheral interface (serial peripheral interface bus, SPI) , IC bus (Inter-Integrated Circuit, I2C) or buttons and other electronic protocol methods to realize information transmission. For another example, the configuration interface 103 can implement information transmission through infrared communication technology proposed by the Infrared Data Association (IrDA), or implement information transmission through ultrasonic waves, lasers, and the like.
控制单元104用于通过硬件调试接口102从被采集节点读取性能信息,将读取的性能信息转发至网络收发单元106,并由网络输出接口108输出。其中,控制单元104还用于网络配置完成后第一次启动时,根据配置接口103的配置,建立与分析节点200的连接,以便于与分析节点200传输信息。例如,控制单元104可以接收配置文件,对采集节点100和被采集节点进行配置,以便采集节点100按照采集提示信息采集性能信息。The control unit 104 is used to read the performance information from the collected nodes through the hardware debugging interface 102 , forward the read performance information to the network transceiver unit 106 , and output it through the network output interface 108 . Wherein, the control unit 104 is also used to establish a connection with the analysis node 200 according to the configuration of the configuration interface 103 when starting up for the first time after the network configuration is completed, so as to transmit information with the analysis node 200 . For example, the control unit 104 may receive a configuration file, and configure the collection node 100 and the collected node, so that the collection node 100 collects performance information according to the collection prompt information.
网络收发单元106用于将接收来自控制单元104的性能信息,将性能信息通过协议进行 封装,以便于网络输出接口108将封装后的性能信息转发到分析节点200。其中,网络收发单元106可以支持至少一种协议,例如是传输控制/网际协议(Transmission Control Protocol/Internet Protocol,TCP/IP)、用户数据报(user datagram protocol,UDP)协议、紫蜂(zigbee)、蓝牙、无线通信(Wi-Fi)协议、MQTT、wireless hart、modbus、工业标准体系结构(Industry Standard Architecture,ISA)等中的至少一种。The network transceiver unit 106 is used to receive the performance information from the control unit 104, and encapsulate the performance information through a protocol, so that the network output interface 108 forwards the encapsulated performance information to the analysis node 200. Wherein, the network transceiver unit 106 can support at least one protocol, such as Transmission Control Protocol/Internet Protocol (Transmission Control Protocol/Internet Protocol, TCP/IP), User Datagram Protocol (UDP) protocol, Zigbee (zigbee) , Bluetooth, wireless communication (Wi-Fi) protocol, MQTT, wireless hart, modbus, industry standard architecture (Industry Standard Architecture, ISA), etc. at least one.
网络输出接口108用于将性能信息(例如是封装后的性能信息)通过无线或有线的方式,转发到分析节点200。其中,有线方式包括光纤、网线等,无线方式包括第五代(the fifth generation,5G)移动通信、第四代(the forth generation,4G)移动通信、第三代(the third generation,3G)、第二代(the second generation,2G)移动通信等。The network output interface 108 is used to forward the performance information (for example, the encapsulated performance information) to the analysis node 200 in a wireless or wired manner. Among them, the wired method includes optical fiber, network cable, etc., and the wireless method includes the fifth generation (the fifth generation, 5G) mobile communication, the fourth generation (the forth generation, 4G) mobile communication, the third generation (the third generation, 3G), The second generation (the second generation, 2G) mobile communication, etc.
考虑到需要进行性能调优的环境多种多样,为了适配不同的性能调优场景,采集节点100可以有多种实现形式。例如,采集节点100可以采用交流电或电池供电。当被采集节点为固定的被采集节点时,可以通过交流电供电的采集节点100采集该采集节点中应用的性能信息,当被采集节点为移动的被采集节点时,可以通过电池供电的采集节点100采集该被采集节点中应用的性能信息。Considering that there are various environments where performance tuning is required, in order to adapt to different performance tuning scenarios, the collection node 100 may have multiple implementation forms. For example, the collection node 100 may be powered by alternating current or batteries. When the collected node is a fixed collected node, the performance information of the application in the collection node can be collected through the collection node 100 powered by AC power; when the collected node is a mobile collected node, the collection node 100 powered by a battery can The performance information of the application in the collected node is collected.
下面分别对不同场景下采集节点100的实现方式进行介绍。The implementation manners of the collection node 100 in different scenarios are introduced respectively below.
在大型数据中心场景,被采集节点为该大型数据中心中的计算设备如服务器,这些计算设备通常是固定的,因此采集节点100可以是固定的,并且一个采集节点100可以支持采集多个被采集节点中应用的性能信息。例如,一个采集节点100可以支持采集64个被采集节点中应用的性能信息。具体地,采集节点100可以连接到64个被采集节点,无需插拔,在触发采集性能信息的流程后,采集节点100可以分时读取64个被采集节点的性能信息。In a large data center scenario, the collected nodes are computing devices such as servers in the large data center, and these computing devices are usually fixed, so the collecting node 100 can be fixed, and one collecting node 100 can support collecting multiple collected Performance information for applications in the node. For example, one collecting node 100 may support collecting performance information of applications in 64 collected nodes. Specifically, the collection node 100 can be connected to 64 collected nodes without plugging and unplugging. After the process of collecting performance information is triggered, the collection node 100 can read the performance information of the 64 collected nodes in time-sharing.
参见图4所示的采集节点100的结构示意图,在大型数据中心场景中,采集节点100可以采用交流电源供电,因此,网络收发单元106和网络输出接口108无需考虑功耗,可以通过5G模组实现。该5G模组的主体部分用于实现网络收发单元106的功能,该5G模组的5G天线用于实现网络输出接口108的功能。硬件调试接口102可以为联合测试工作组(joint test action group,jtag)接口,控制单元104可以通过coresight组件实现,例如控制单元104可以是coresight规范读取模块。Referring to the schematic structural diagram of the collection node 100 shown in FIG. 4, in a large-scale data center scenario, the collection node 100 can be powered by an AC power supply. Therefore, the network transceiver unit 106 and the network output interface 108 do not need to consider power consumption, and can be connected through the 5G module accomplish. The main part of the 5G module is used to realize the function of the network transceiver unit 106 , and the 5G antenna of the 5G module is used to realize the function of the network output interface 108 . The hardware debugging interface 102 may be a joint test action group (jtag) interface, and the control unit 104 may be realized by a coresight component, for example, the control unit 104 may be a coresight specification reading module.
在中等移动设备场景,例如是机器人、电动车等场景,为了避免对被采集节点(即机器人或电动车)的供电造成损耗,采集节点100通常具有电池。参见图5所示的采集节点100的结构示意图,该采集节点100采用电池供电,采集节点100的网络收发单元106和网络输出接口108通过5G模组实现,采集节点100的硬件调试接口可以为jtag接口,采集节点100的控制单元104可以通过coresight组件实现,例如控制单元104可以是coresight规范读取模块。In medium mobile device scenarios, such as robots and electric vehicles, in order to avoid loss of power supply to the collected nodes (ie, robots or electric vehicles), the collection node 100 usually has a battery. Referring to the schematic structural diagram of the collection node 100 shown in FIG. 5 , the collection node 100 is powered by a battery, the network transceiver unit 106 and the network output interface 108 of the collection node 100 are realized by a 5G module, and the hardware debugging interface of the collection node 100 can be jtag interface, the control unit 104 of the collection node 100 may be implemented by a coresight component, for example, the control unit 104 may be a coresight specification reading module.
在轻量级设备场景,例如是无人机或可穿戴设备等场景,考虑到无人机或者可穿戴设备对电能或重量较为敏感,一般不会配备重量过大的电池,而且还会采用其他的节能手段。参见图6所示的采集节点100的结构示意图,该采集节点100采用重量相对较小的电池供电,采集节点100的硬件调试接口102可以为jtag接口,采集节点100的控制单元104可以通过coresight组件实现,例如控制单元104可以是coresight规范读取模块。采集节点100的网络收发单元106和网络输出接口108通过节能的通信模组如紫蜂通信模组实现。In lightweight device scenarios, such as drones or wearable devices, considering that drones or wearable devices are sensitive to power or weight, they are generally not equipped with batteries that are too heavy, and other means of energy saving. Referring to the schematic structural diagram of the collection node 100 shown in FIG. 6 , the collection node 100 is powered by a battery with a relatively small weight, the hardware debugging interface 102 of the collection node 100 can be a jtag interface, and the control unit 104 of the collection node 100 can pass the coresight component Implementation, for example, the control unit 104 may be a coresight specification reading module. The network transceiver unit 106 and the network output interface 108 of the collection node 100 are realized by an energy-saving communication module such as a Zigbee communication module.
图1至图6对本申请实施例中性能监控系统10以及采集节点100的结构进行了详细说明,接下来,从性能监控系统10的角度对本申请实施例的性能监控方法进行介绍。1 to 6 illustrate the structure of the performance monitoring system 10 and the collection node 100 in the embodiment of the present application in detail. Next, the performance monitoring method of the embodiment of the present application is introduced from the perspective of the performance monitoring system 10 .
参见图7所示的性能监控方法的流程图,该方法包括:Referring to the flow chart of the performance monitoring method shown in Figure 7, the method includes:
S702:采集节点100接收用户配置的分析节点地址列表,添加分析节点200的地址。S702: The collection node 100 receives the analysis node address list configured by the user, and adds the address of the analysis node 200.
分析节点地址列表中包括至少一个分析节点200的地址。分析节点200的地址可以是URL地址、IP地址或者MQTT地址中的任意一种或多种。采集节点100可以先上电,然后通过该采集节点100的配置接口103对当前采集节点100的网络进行配置。具体地,采集节点100通过配置接口103接收分析节点地址列表,然后添加分析节点地址列表中至少一个分析节点200的地址,以对采集节点100的网络进行配置。The analysis node address list includes the address of at least one analysis node 200 . The address of the analysis node 200 may be any one or more of URL address, IP address or MQTT address. The collection node 100 can be powered on first, and then configure the network of the current collection node 100 through the configuration interface 103 of the collection node 100 . Specifically, the collection node 100 receives the analysis node address list through the configuration interface 103 , and then adds the address of at least one analysis node 200 in the analysis node address list, so as to configure the network of the collection node 100 .
当采集节点100添加多个分析节点200的地址时,则采集节点100采集的性能信息可以被这多个分析节点200共享。本实施例以采集节点100添加多个分析节点200的地址进行示例说明。进一步地,采集节点100可以使用菊花链的形式连接多个被采集节点,并且,只要在一个采集节点100添加了远程的分析节点200,分析节点200就可以接入此采集节点100。对于被采集节点而言,不需要因为有新的分析节点200而更换采集节点100。如此可以减少节点的移动,提升组网灵活性。When the collection node 100 adds addresses of multiple analysis nodes 200 , the performance information collected by the collection node 100 can be shared by the multiple analysis nodes 200 . In this embodiment, the collection node 100 adds addresses of multiple analysis nodes 200 for illustration. Furthermore, the collection node 100 can connect multiple collected nodes in a daisy chain form, and as long as a remote analysis node 200 is added to a collection node 100, the analysis node 200 can access this collection node 100. For the node to be collected, there is no need to replace the collection node 100 because there is a new analysis node 200 . In this way, the movement of nodes can be reduced and the flexibility of networking can be improved.
在该实施例中,分析节点200的地址列表中的每一条记录可以包括该分析节点200的标识和地址。其中,分析节点200的标识可以是分析节点200的UUID,分析节点200的UUID在出厂前被写入该分析节点200,以区别于其他分析节点200。In this embodiment, each record in the address list of the analysis node 200 may include the identifier and address of the analysis node 200 . Wherein, the identifier of the analysis node 200 may be the UUID of the analysis node 200 , and the UUID of the analysis node 200 is written into the analysis node 200 before leaving the factory, so as to distinguish it from other analysis nodes 200 .
S704:采集节点100根据分析节点地址列表,向多个分析节点200发送加入请求。S704: The collection node 100 sends a join request to multiple analysis nodes 200 according to the analysis node address list.
具体地,采集节点100在配置网络完成后,可以重新启动。然后采集节点100可以根据分析节点地址列表中添加的多个分析节点200的地址,向这多个分析节点200发送加入请求。该加入请求具体用于加入分析节点200所在网络。加入请求中可以携带采集节点100的标识和地址,以便于分析节点200基于该标识和地址将采集节点100添加至分析节点200的网络。Specifically, after the network configuration is completed, the collection node 100 can be restarted. Then the collection node 100 may send a join request to the multiple analysis nodes 200 according to the addresses of the multiple analysis nodes 200 added in the analysis node address list. The join request is specifically used to join the network where the analysis node 200 is located. The joining request may carry the identification and address of the collection node 100, so that the analysis node 200 may add the collection node 100 to the network of the analysis node 200 based on the identification and address.
其中,采集节点100在向多个分析节点200发送加入请求时,可以通过轮询方式发送该加入请求。在本申请实施例其他可能的实现方式中,采集节点100可以通过其他方式例如并发方式发送加入请求。Wherein, when the collection node 100 sends a join request to multiple analysis nodes 200, the join request may be sent in a polling manner. In other possible implementation manners of this embodiment of the present application, the collection node 100 may send the join request in other manners, for example, in a concurrent manner.
S706:至少一个分析节点200发送加入成功响应。S706: At least one analysis node 200 sends a join success response.
多个分析节点200中至少有一个分析节点200可以添加上述采集节点100的地址,例如是添加采集节点100的标识和地址,以将该采集节点100加入分析节点200的网络,然后分析节点200向采集节点100返回加入成功响应。该加入成功响应用于通知采集节点100加入成功。At least one analysis node 200 among the plurality of analysis nodes 200 can add the address of the collection node 100, for example, add the identification and address of the collection node 100, so as to add the collection node 100 to the network of the analysis node 200, and then the analysis node 200 sends The collection node 100 returns a join success response. The joining success response is used to notify the collection node 100 of joining success.
S708:分析节点200接收用户输入的采集提示信息。S708: The analysis node 200 receives the collection prompt information input by the user.
该采集提示信息用于对采集节点100采集性能信息进行提示。基于此,采集提示信息可以包括代码采集范围和至少一个采集项目。其中,代码采集范围用于指示需要采集性能信息,进而进行性能监控的代码片段。代码采集范围可以通过代码片段的地址表征。每个采集项目可以对应一个硬件事件。例如一个采集项目可以对应缓存未命中事件,另一个采集项目可以对应分支预测错误事件。The collection prompt information is used to prompt the collection node 100 to collect performance information. Based on this, the collection prompt information may include a code collection range and at least one collection item. Wherein, the code collection scope is used to indicate the code fragments that need to collect performance information, and then perform performance monitoring. The range of code collection can be represented by the address of the code fragment. Each acquisition item can correspond to a hardware event. For example, one collection item may correspond to a cache miss event, and another collection item may correspond to a branch misprediction event.
接下来,以对大型数据中心中的服务器进行性能监控的场景为例,对用户配置采集代码采集范围和采集项目的过程进行示例说明。Next, take the scenario of performance monitoring of servers in a large data center as an example to illustrate the process of configuring the collection range of collection codes and collection items for users.
参见图8所示的配置代码采集范围的示意图,在配置代码采集范围时,用户可以先从需要监控性能的应用中确定需要追踪的源代码片段802,然后查看被编译后的代码,获得上述源代码段被编译后的代码片段804的地址,以便于采集节点100可以根据该地址确定需要采集性能信息的代码片段。其中,上述源代码段被编译后的代码片段804的地址可以通过起始 偏移和长度表征。Referring to the schematic diagram of configuring the code collection range shown in Figure 8, when configuring the code collection range, the user can first determine the source code fragment 802 to be tracked from the application that needs to monitor performance, and then view the compiled code to obtain the above source code. The address of the code segment 804 after the code segment is compiled, so that the collection node 100 can determine the code segment that needs to collect performance information according to the address. Wherein, the address of the compiled code segment 804 of the source code segment can be characterized by a start offset and a length.
接着参见图9所示的配置采集项目的示意图,该示例中,服务器的CPU芯片内部增加了追踪(tracing)模块。也即服务器的CPU芯片包括CPU主体和tracing模块两部分。进程或线程通常在CPU主体部分运行,并且占用资源。tracing模块通过独立的tracing通路连接到CPU主体的部分寄存器,以获得性能信息。Next, referring to the schematic diagram of the configuration acquisition project shown in FIG. 9 , in this example, a tracing module is added inside the CPU chip of the server. That is, the CPU chip of the server includes two parts: the CPU main body and the tracing module. Processes or threads usually run on the main part of the CPU and occupy resources. The tracing module is connected to some registers of the CPU main body through an independent tracing channel to obtain performance information.
具体地,CPU芯片在制造时,将性能或者程序运行相关的寄存器连接到tracing通路,用户可以通过分析节点200提供的配置界面配置寄存器地址,分析节点200将寄存器地址下发至采集节点100,如此采集节点100可以通过tracing模块中的配置模块,将上述寄存器地址对应的寄存器通过tracing通路直接连接到tracing模块中的独立存储部件上。如此,CPU芯片运行时,上述寄存器中的性能信息会被自动地推送到对应的独立存储部件上。由于tracing模块独立于CPU主体,在CPU芯片运行当前应用时,tracing模块处于被动接收性能信息的状态,作为独立电路完全不会影响CPU主体运行。进一步地,用户还可以配置采集频率、溢出数值等参数,以便按照该参数采集性能信息。Specifically, when the CPU chip is manufactured, registers related to performance or program operation are connected to the tracing channel, and the user can configure the register address through the configuration interface provided by the analysis node 200, and the analysis node 200 sends the register address to the collection node 100, so The collection node 100 can directly connect the register corresponding to the above register address to the independent storage unit in the tracing module through the tracing channel through the configuration module in the tracing module. In this way, when the CPU chip is running, the performance information in the above registers will be automatically pushed to the corresponding independent storage components. Since the tracing module is independent of the CPU main body, when the CPU chip runs the current application, the tracing module is in a state of passively receiving performance information, and as an independent circuit, it will not affect the operation of the CPU main body at all. Furthermore, users can also configure parameters such as collection frequency and overflow value, so as to collect performance information according to these parameters.
需要说明的是,服务器的CPU芯片中tracing相关的管脚在主板上可以连接到对外的硬件调试接口,采集节点100具有对应的硬件调试接口与该服务器的硬件调试接口连接,以便于通过硬件调试接口采集性能信息。It should be noted that the tracing-related pins in the CPU chip of the server can be connected to an external hardware debugging interface on the main board, and the collection node 100 has a corresponding hardware debugging interface connected to the hardware debugging interface of the server, so as to facilitate hardware debugging. The interface collects performance information.
S710:分析节点200根据采集提示信息生成配置文件。S710: The analysis node 200 generates a configuration file according to the collected prompt information.
具体地,分析节点200可以将用户配置的不同采集提示信息组装成配置文件。在一些实施例中,分析节点200可以获取配置文件模板,然后将不同采集提示信息填充至配置文件模板的对应位置,从而生成配置文件。该配置文件通常具有特定的格式,例如是采集节点100可识别的格式。Specifically, the analysis node 200 may assemble different collection prompt information configured by the user into a configuration file. In some embodiments, the analysis node 200 may acquire a configuration file template, and then fill different collection prompt information into corresponding positions of the configuration file template, thereby generating a configuration file. The configuration file usually has a specific format, for example, a format recognizable by the collection node 100 .
S712:分析节点200向采集节点100发送配置文件。S712: The analysis node 200 sends the configuration file to the collection node 100.
分析节点200可以在生成配置文件后自动地向采集节点100发送配置文件,也可以是响应于用户触发的配置文件下载操作,将配置文件发送到采集节点100,本实施例对此不作限定。The analysis node 200 may automatically send the configuration file to the collection node 100 after generating the configuration file, or may send the configuration file to the collection node 100 in response to a user-triggered configuration file download operation, which is not limited in this embodiment.
S714:采集节点100根据配置文件从被采集节点的硬件调试接口采集性能信息。S714: The collection node 100 collects performance information from the hardware debugging interface of the collected node according to the configuration file.
具体地,采集节点100接收到配置文件,可以按照配置文件中的采集提示信息,配置采集节点中的配置寄存器,例如是被采集节点的配置模块(如图9所示)中的配置寄存器,以选通被采集节点中的目标寄存器与被采集节点中的独立存储部件的线路。该目标寄存器可以是与采集提示信息匹配的寄存器,如采集提示信息中寄存器地址对应的寄存器。其中,目标寄存器为多个寄存器时,多个寄存器可以与独立存储部件的不同存储空间连接。如此,当应用运行时,采集节点100可以通过被采集节点的硬件调试接口从独立存储部件的不同存储空间,分别读取不同性能信息。Specifically, the collection node 100 receives the configuration file, and can configure the configuration register in the collection node according to the collection prompt information in the configuration file, for example, the configuration register in the configuration module (as shown in FIG. 9 ) of the collected node, so as to A line that gates the target register in the node being harvested to the independent storage element in the node being harvested. The target register may be a register matching the collection prompt information, such as a register corresponding to a register address in the collection prompt information. Wherein, when the target register is a plurality of registers, the plurality of registers may be connected to different storage spaces of the independent storage unit. In this way, when the application is running, the collection node 100 can respectively read different performance information from different storage spaces of the independent storage component through the hardware debugging interface of the collected node.
其中,采集节点100可以按照配置文件中的采集频率,间隔读取对应的存储空间中的数据,从而实现采集性能信息。Wherein, the collection node 100 may read the data in the corresponding storage space at intervals according to the collection frequency in the configuration file, so as to collect performance information.
S716:采集节点100发送性能信息。S716: The collection node 100 sends performance information.
S718:采集节点100对性能信息进行分析,获得分析结果。S718: The collection node 100 analyzes the performance information, and obtains an analysis result.
具体地,采集节点100可以通过统计学的方法对性能信息进行分析,从而获得分析结果。例如,采集节点100可以基于缓存事件未命中的次数以及缓存事件命中的次数,确定缓存命中率。Specifically, the collection node 100 may analyze the performance information through a statistical method, so as to obtain an analysis result. For example, the collection node 100 may determine the cache hit ratio based on the number of cache event misses and the number of cache event hits.
进一步地,采集节点100还可以将分析结果通过图表形式呈现给用户。例如,采集节点 100可以根据分析结果生成折线图、柱状图、火焰图或者表格中的至少一种,然后向用户呈现折线图、柱状图、火焰图或表格。Further, the collection node 100 can also present the analysis results to the user in the form of graphs. For example, the collection node 100 may generate at least one of a line graph, a histogram, a flame graph or a table according to the analysis result, and then present the line graph, histogram, flame graph or table to the user.
上述S702至S706为将采集节点100和分析节点200组网的一种具体实现,执行本申请实施例的性能监控方法也可以不执行上述S702至S706。上述S708至S714为采集节点100通过被采集节点的硬件调试接口读取性能信息的一种具体实现,在本申请实施例其他可能的实现方式中,采集节点100也可以采用其他方式从被采集节点的硬件调试接口读取性能信息。The above S702 to S706 is a specific implementation of networking the collection node 100 and the analysis node 200, and the above S702 to S706 may not be executed to execute the performance monitoring method of the embodiment of the present application. The above S708 to S714 are a specific implementation of the collection node 100 reading the performance information through the hardware debugging interface of the collected node. The hardware debug interface for reading performance information.
另外,采集节点100还可以包括位置传感器、加速度传感器、气温传感器或气压传感器等中的任意一种或多种,如此,采集节点100还可以返回位置信息、加速信息、气温信息或气压信息,以便于分析节点200分析复杂外部情况下应用的运行情况。In addition, the collection node 100 may also include any one or more of a position sensor, an acceleration sensor, an air temperature sensor, or an air pressure sensor, etc., so that the collection node 100 may also return position information, acceleration information, air temperature information, or air pressure information, so that The analysis node 200 analyzes the operation status of the application under complex external conditions.
基于上述内容描述,本申请实施例提供的性能监控方法通过利用被采集节点的硬件调试接口读取性能信息,无需安装采集软件,突破了软件的限制,能够实现对不同操作系统的被采集节点进行性能监控,具有较高可用性。而且,该方法在采集性能信息时,不会额外启动进程或线程,不会对被采集节点上的应用产生影响,基于该性能信息进行分析所得的分析结果更加精确,提高了性能监控的可靠性。Based on the above description, the performance monitoring method provided by the embodiment of the present application reads the performance information by using the hardware debugging interface of the collected node without installing the collection software, which breaks through the limitation of the software and can realize the monitoring of the collected nodes of different operating systems. Performance monitoring with high availability. Moreover, when the method collects performance information, no additional process or thread will be started, and the application on the collected node will not be affected. The analysis results obtained by analyzing the performance information based on the performance information are more accurate, which improves the reliability of performance monitoring .
此外,该方法支持自由配置网络,采集节点100传输性能信息不会对当前网络产生负载,降低了当前网络的压力,能够传输更多、更详细的性能信息。此外,一个采集节点100可以接入一个或多个被采集节点,如此减少了需要配置的采集节点100的数量,简化了采集节点100安装和调试的工作量。In addition, the method supports free configuration of the network, and the transmission performance information of the collection node 100 will not generate load on the current network, which reduces the pressure on the current network and can transmit more and more detailed performance information. In addition, one collection node 100 can be connected to one or more collected nodes, thus reducing the number of collection nodes 100 that need to be configured, and simplifying the workload of installation and debugging of collection nodes 100 .
上文结合图1至图9对本申请实施例提供的性能监控系统10、采集节点100以及由性能监控系统10执行的性能监控方法进行了介绍,接下来对本申请实施例提供的相关存储节点和计算机程序产品进行说明。The performance monitoring system 10, the collection node 100 and the performance monitoring method performed by the performance monitoring system 10 provided by the embodiment of the present application are introduced above in conjunction with FIG. 1 to FIG. The program product is described.
本申请实施例还提供了一种计算机可读存储介质。所述计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,所述指令指示计算设备执行上述应用于性能监控系统10的性能监控方法中由分析节点200执行的步骤。The embodiment of the present application also provides a computer-readable storage medium. The computer-readable storage medium may be any available medium that a computing device can store, or a data storage device such as a data center that includes one or more available media. The available media may be magnetic media (eg, floppy disk, hard disk, magnetic tape), optical media (eg, DVD), or semiconductor media (eg, solid state hard disk), etc. The computer-readable storage medium includes instructions, and the instructions instruct the computing device to execute the steps performed by the analysis node 200 in the above performance monitoring method applied to the performance monitoring system 10 .
本申请实施例还提供了一种计算机程序产品。所述计算机程序产品包括一个或多个计算机指令。在计算设备上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。The embodiment of the present application also provides a computer program product. The computer program product includes one or more computer instructions. When the computer instructions are loaded and executed on the computing device, the processes or functions according to the embodiments of the present application will be generated in whole or in part.
所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机或数据中心进行传输。The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g. (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wirelessly (such as infrared, wireless, microwave, etc.) to another website site, computer or data center.
所述计算机程序产品可以为一个软件安装包,在需要使用前述性能监控方法的任一方法的情况下,可以下载该计算机程序产品并在计算设备上执行该计算机程序产品。The computer program product may be a software installation package that can be downloaded and executed on a computing device if any of the aforementioned performance monitoring methods are required.
上述各个附图对应的流程或结构的描述各有侧重,某个流程或结构中没有详述的部分,可以参见其他流程或结构的相关描述。The description of the process or structure corresponding to each of the above drawings has its own emphasis. For the part that is not described in detail in a certain process or structure, you can refer to the relevant description of other processes or structures.

Claims (25)

  1. 一种性能监控系统,其特征在于,所述系统用于对被采集节点上应用的性能进行监控,所述系统包括采集节点和分析节点,所述采集节点通过所述被采集节点的硬件调试接口与所述被采集节点连接:A performance monitoring system, characterized in that the system is used to monitor the performance of the application on the collected node, the system includes a collection node and an analysis node, and the collection node uses the hardware debugging interface of the collected node Connect with the collected node:
    所述采集节点,用于通过所述被采集节点的硬件调试接口读取性能信息;The collection node is configured to read performance information through a hardware debugging interface of the collected node;
    所述分析节点,用于接收所述采集节点发送的所述性能信息,对所述性能信息进行分析,获得分析结果。The analysis node is configured to receive the performance information sent by the collection node, analyze the performance information, and obtain an analysis result.
  2. 根据权利要求1所述的系统,其特征在于,所述采集节点具体用于:The system according to claim 1, wherein the collection node is specifically used for:
    通过所述被采集节点的硬件调试接口读取所述被采集节点的寄存器中的数据,获得性能信息。The performance information is obtained by reading the data in the register of the collected node through the hardware debugging interface of the collected node.
  3. 根据权利要求1所述的系统,其特征在于,所述采集节点具体用于:The system according to claim 1, wherein the collection node is specifically used for:
    通过所述被采集节点的硬件调试接口读取所述被采集节点的寄存器传输至所述被采集节点的独立存储部件的数据,获得性能信息。The performance information is obtained by reading the data transmitted from the register of the collected node to the independent storage unit of the collected node through the hardware debugging interface of the collected node.
  4. 根据权利要求1至3任一项所述的系统,其特征在于,所述分析节点还用于:The system according to any one of claims 1 to 3, wherein the analysis node is also used for:
    接收用户输入的采集提示信息;Receive the collection prompt information input by the user;
    所述采集节点具体用于:The collection node is specifically used for:
    按照所述采集提示信息,通过所述被采集节点的硬件调试接口读取性能信息。According to the collection prompt information, the performance information is read through the hardware debugging interface of the collected node.
  5. 根据权利要求4所述的系统,其特征在于,所述采集提示信息包括所述应用的代码采集范围和至少一个采集项目,每个采集项目对应一种硬件事件。The system according to claim 4, wherein the collection prompt information includes a code collection range of the application and at least one collection item, and each collection item corresponds to a hardware event.
  6. 根据权利要求4所述的系统,其特征在于,所述采集节点具体用于:The system according to claim 4, wherein the collection node is specifically used for:
    按照所述采集提示信息,配置所述被采集节点中的配置寄存器,以选通所述被采集节点中的目标寄存器和所述被采集节点的独立存储部件的线路,所述目标寄存器包括与所述采集提示信息匹配的寄存器;According to the collection prompt information, configure the configuration register in the collected node to gate the target register in the collected node and the line of the independent storage component of the collected node, the target register includes the The register that matches the collection prompt information;
    当所述应用运行时,通过所述被采集节点的硬件调试接口读取所述目标寄存器传输至所述独立存储部件的数据,获得性能信息。When the application is running, the data transmitted from the target register to the independent storage unit is read through the hardware debugging interface of the collected node to obtain performance information.
  7. 根据权利要求1至3任一项所述的系统,其特征在于,所述系统包括多个分析节点,所述采集节点还用于:The system according to any one of claims 1 to 3, wherein the system includes a plurality of analysis nodes, and the collection node is also used for:
    接收用户配置的分析节点地址列表;Receive user-configured analysis node address list;
    根据所述分析节点地址列表,向所述多个分析节点发送加入请求;Send a join request to the plurality of analysis nodes according to the analysis node address list;
    所述多个分析节点中的至少一个分析节点用于:At least one analysis node in the plurality of analysis nodes is used for:
    向所述采集节点发送加入成功通知。Send a join success notification to the collection node.
  8. 根据权利要求7所述的系统,其特征在于,所述采集节点还用于:The system according to claim 7, wherein the collection node is also used for:
    在向所述多个分析节点发送加入请求之前,根据所述分析节点地址列表,添加所述多个分析节点,以使所述采集节点采集的所述性能信息被所述多个分析节点共享。Before sending the joining request to the multiple analysis nodes, add the multiple analysis nodes according to the analysis node address list, so that the performance information collected by the collection node is shared by the multiple analysis nodes.
  9. 根据权利要求1至3任一项所述的系统,其特征在于,所述采集节点具有硬件调试接口,所述采集节点的硬件调试接口与所述被采集节点的硬件调试接口通过排线连接。The system according to any one of claims 1 to 3, wherein the collection node has a hardware debugging interface, and the hardware debugging interface of the collection node is connected to the hardware debugging interface of the collected node through a cable.
  10. 根据权利要求9所述的系统,其特征在于,所述被采集节点包括多个,所述采集节点以及所述采集节点连接的所述多个被采集节点的网络拓扑为菊花链拓扑。The system according to claim 9, wherein the collected nodes include a plurality of collected nodes, and the network topology of the collected nodes and the multiple collected nodes connected to the collected nodes is a daisy chain topology.
  11. 根据权利要求1至3任一项所述的系统,其特征在于,所述采集节点通过交流电或电池供电,通过所述交流电供电的所述采集节点用于采集固定的被采集节点中应用的性能信息,通过所述电池供电的所述采集节点用于采集移动的被采集节点中应用的性能信息。The system according to any one of claims 1 to 3, wherein the collection node is powered by alternating current or battery, and the collection node powered by the alternating current is used to collect the performance of applications in fixed collected nodes information, the collection node powered by the battery is used to collect the performance information of the application in the mobile collected node.
  12. 一种性能监控方法,其特征在于,应用于性能监控系统,所述系统用于对被采集节点上应用的性能进行监控,所述系统包括采集节点和分析节点,所述采集节点通过所述被采集节点的硬件调试接口与所述被采集节点连接,所述方法包括:A performance monitoring method, characterized in that it is applied to a performance monitoring system, the system is used to monitor the performance of the application on the collected node, the system includes a collection node and an analysis node, and the collection node passes the collected node The hardware debugging interface of the collection node is connected with the collected node, and the method includes:
    所述采集节点通过所述被采集节点的硬件调试接口读取性能信息;The collection node reads the performance information through the hardware debugging interface of the collected node;
    所述分析节点接收所述采集节点发送的所述性能信息,对所述性能信息进行分析,获得分析结果。The analysis node receives the performance information sent by the collection node, analyzes the performance information, and obtains an analysis result.
  13. 根据权利要求12所述的方法,其特征在于,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The method according to claim 12, wherein the collection node reads the performance information through the hardware debugging interface of the collected node, comprising:
    所述采集节点通过所述被采集节点的硬件调试接口读取被采集节点的寄存器中的数据,获得性能信息。The collection node reads the data in the register of the collected node through the hardware debugging interface of the collected node to obtain performance information.
  14. 根据权利要求12所述的方法,其特征在于,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The method according to claim 12, wherein the collection node reads the performance information through the hardware debugging interface of the collected node, comprising:
    所述采集节点通过所述被采集节点的硬件调试接口读取所述被采集节点的寄存器传输至所述被采集节点的独立存储部件的数据,获得性能信息。The collection node reads the data transmitted from the register of the collected node to the independent storage component of the collected node through the hardware debugging interface of the collected node, and obtains performance information.
  15. 根据权利要求12至14任一项所述的方法,其特征在于,所述方法还包括:The method according to any one of claims 12 to 14, further comprising:
    所述分析节点接收用户输入的采集提示信息;The analysis node receives the collection prompt information input by the user;
    所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The collection node reads the performance information through the hardware debugging interface of the collected node, including:
    按照所述采集提示信息,通过所述被采集节点的硬件调试接口读取性能信息。According to the collection prompt information, the performance information is read through the hardware debugging interface of the collected node.
  16. 根据权利要求15所述的方法,其特征在于,所述采集提示信息包括所述应用的代码采集范围和至少一个采集项目,每个采集项目对应一种硬件事件。The method according to claim 15, wherein the collection prompt information includes the code collection range of the application and at least one collection item, and each collection item corresponds to a hardware event.
  17. 根据权利要求15所述的方法,其特征在于,所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The method according to claim 15, wherein the collection node reads the performance information through the hardware debugging interface of the collected node, comprising:
    所述采集节点按照所述采集提示信息,配置所述被采集节点中的配置寄存器,以选通所述被采集节点中的目标寄存器和所述被采集节点中的独立存储部件的线路;The collection node configures the configuration register in the collected node according to the collection prompt information, so as to select the target register in the collected node and the line of the independent storage component in the collected node;
    当所述应用运行时,所述采集节点通过所述被采集节点的硬件调试接口读取所述目标寄存器传输至所述独立存储部件的数据,获得性能信息。When the application is running, the collection node reads the data transmitted from the target register to the independent storage unit through the hardware debugging interface of the collected node to obtain performance information.
  18. 根据权利要求12至14任一项所述的方法,其特征在于,所述系统包括多个分析节点,所述方法还包括:The method according to any one of claims 12 to 14, wherein the system comprises a plurality of analysis nodes, and the method further comprises:
    所述采集节点接收用户配置的分析节点地址列表;The collection node receives a user-configured analysis node address list;
    所述采集节点根据所述分析节点地址列表,向所述多个分析节点发送加入请求;The collection node sends a join request to the plurality of analysis nodes according to the analysis node address list;
    所述多个分析节点中的至少一个分析节点向所述采集节点发送加入成功通知。At least one analysis node among the plurality of analysis nodes sends a joining success notification to the acquisition node.
  19. 根据权利要求18所述的方法,其特征在于,在所述采集节点向所述多个分析节点发送加入请求之前,所述方法还包括:The method according to claim 18, wherein, before the collection node sends a joining request to the plurality of analysis nodes, the method further comprises:
    根据所述分析节点地址列表,添加所述多个分析节点,以使所述采集节点采集的所述性能信息被所述多个分析节点共享。Adding the multiple analysis nodes according to the analysis node address list, so that the performance information collected by the collection node is shared by the multiple analysis nodes.
  20. 根据权利要求12至14任一项所述的方法,其特征在于,所述采集节点具有硬件调试接口,所述采集节点的硬件调试接口与所述被采集节点的硬件调试接口通过排线连接。The method according to any one of claims 12 to 14, wherein the collection node has a hardware debugging interface, and the hardware debugging interface of the collection node is connected to the hardware debugging interface of the collected node through a cable.
  21. 根据权利要求12至14任一项所述的方法,其特征在于,所述被采集节点包括多个,所述采集节点以及所述采集节点连接的所述多个被采集节点的网络拓扑为菊花链拓扑。The method according to any one of claims 12 to 14, wherein the collected nodes include multiple nodes, and the network topology of the collected nodes and the multiple collected nodes connected to the collected nodes is a chrysanthemum chain topology.
  22. 根据权利要求12至14任一项所述的方法,其特征在于,所述采集节点通过交流电或电池供电;The method according to any one of claims 12 to 14, wherein the collection node is powered by alternating current or battery;
    所述采集节点通过所述被采集节点的硬件调试接口读取性能信息,包括:The collection node reads the performance information through the hardware debugging interface of the collected node, including:
    通过所述交流电供电的所述采集节点采集固定的被采集节点中应用的性能信息;或者,Collecting performance information applied in a fixed collected node through the collection node powered by the alternating current; or,
    通过所述电池供电的所述采集节点采集移动的被采集节点中应用的性能信息。The collection node powered by the battery collects the performance information of the application in the mobile collected node.
  23. 一种采集节点,其特征在于,所述采集节点通过所述被采集节点的硬件调试接口与所述被采集节点连接,所述采集节点用于执行如权利要求12至22任一项所述的性能监控方法中由所述采集节点执行的步骤。A collection node, characterized in that the collection node is connected to the collection node through a hardware debugging interface of the collection node, and the collection node is used to execute the method described in any one of claims 12 to 22. Steps performed by the collection node in the performance monitoring method.
  24. 一种计算机可读存储介质,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求12至22任一项所述的性能监控方法中由分析节点执行的步骤。A computer-readable storage medium, characterized in that it includes computer-readable instructions, and when the computer-readable instructions are run on a computing device or a computing device cluster, the computing device or the computing device cluster is executed as claimed in claim 12. Steps performed by the analysis node in the performance monitoring method described in any one of to 22.
  25. 一种计算机程序产品,其特征在于,包括计算机可读指令,当所述计算机可读指令在计算设备或计算设备集群上运行时,使得所述计算设备或计算设备集群执行如权利要求12至22任一项所述的性能监控方法中由分析节点执行的步骤。A computer program product, characterized in that it comprises computer-readable instructions which, when run on a computing device or a cluster of computing devices, cause the computing device or cluster of computing devices to perform the A step performed by an analysis node in any one of the performance monitoring methods.
PCT/CN2022/089717 2021-07-08 2022-04-28 Performance monitoring system and related method WO2023279815A1 (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
CN202110770996 2021-07-08
CN202110770996.4 2021-07-08
CN202111043661.9 2021-09-07
CN202111043661.9A CN115599641A (en) 2021-07-08 2021-09-07 Performance monitoring system and related method

Publications (1)

Publication Number Publication Date
WO2023279815A1 true WO2023279815A1 (en) 2023-01-12

Family

ID=84801188

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/089717 WO2023279815A1 (en) 2021-07-08 2022-04-28 Performance monitoring system and related method

Country Status (1)

Country Link
WO (1) WO2023279815A1 (en)

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103281366A (en) * 2013-05-21 2013-09-04 山东地纬计算机软件有限公司 Embedded agency monitoring device and method supporting real-time operating state acquiring
CN103501253A (en) * 2013-10-18 2014-01-08 浪潮电子信息产业股份有限公司 Monitoring organization method for high-performance computing application characteristics
CN104156296A (en) * 2014-08-01 2014-11-19 浪潮(北京)电子信息产业有限公司 System and method for intelligently monitoring large-scale data center cluster computing nodes
US20150378810A1 (en) * 2013-03-18 2015-12-31 Fujitsu Limited Management apparatus, method and program
CN107133110A (en) * 2017-04-27 2017-09-05 中国科学院国家授时中心 GNSS navigation signal mass data immediate processing methods based on cluster parallel computing
CN107943668A (en) * 2017-12-15 2018-04-20 江苏神威云数据科技有限公司 Computer server cluster daily record monitoring method and monitor supervision platform
CN111131379A (en) * 2019-11-08 2020-05-08 西安电子科技大学 Distributed flow acquisition system and edge calculation method

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150378810A1 (en) * 2013-03-18 2015-12-31 Fujitsu Limited Management apparatus, method and program
CN103281366A (en) * 2013-05-21 2013-09-04 山东地纬计算机软件有限公司 Embedded agency monitoring device and method supporting real-time operating state acquiring
CN103501253A (en) * 2013-10-18 2014-01-08 浪潮电子信息产业股份有限公司 Monitoring organization method for high-performance computing application characteristics
CN104156296A (en) * 2014-08-01 2014-11-19 浪潮(北京)电子信息产业有限公司 System and method for intelligently monitoring large-scale data center cluster computing nodes
CN107133110A (en) * 2017-04-27 2017-09-05 中国科学院国家授时中心 GNSS navigation signal mass data immediate processing methods based on cluster parallel computing
CN107943668A (en) * 2017-12-15 2018-04-20 江苏神威云数据科技有限公司 Computer server cluster daily record monitoring method and monitor supervision platform
CN111131379A (en) * 2019-11-08 2020-05-08 西安电子科技大学 Distributed flow acquisition system and edge calculation method

Similar Documents

Publication Publication Date Title
US10846160B2 (en) System and method for remote system recovery
EP3402160B1 (en) Service processing method and apparatus
US9507619B2 (en) Virtualizing a host USB adapter
US8898349B1 (en) IPMI over USB data transfer between host computer and baseboard management controller (BMC)
US6263373B1 (en) Data processing system and method for remotely controlling execution of a processor utilizing a test access port
US9684583B2 (en) Trace data export to remote memory using memory mapped write transactions
US9639447B2 (en) Trace data export to remote memory using remotely generated reads
US20080071962A1 (en) Device connection system and device connection method
CN104571333A (en) Control computer based on 1553B bus
CN116719700B (en) Method and device for monitoring hardware partition of server host system
CN101661304B (en) Computer and input equipment sharing method thereof
US9319313B2 (en) System and method of forwarding IPMI message packets based on logical unit number (LUN)
WO2013108150A1 (en) Configuring compute nodes γν parallel computer using remote direct memory access
US20110173403A1 (en) Using dma for copying performance counter data to memory
CN116302306A (en) Matching-based enhanced debugging for micro-service architecture
CN114398179A (en) Method and device for acquiring tracking identifier, server and storage medium
WO2023279815A1 (en) Performance monitoring system and related method
CN104932820B (en) Touch screen application method and system based on USB mapping
US20220334906A1 (en) Multimodal user experience degradation detection
WO2023112012A1 (en) Traffic service threads for large pools of network addresses
CN115599641A (en) Performance monitoring system and related method
TWI815098B (en) Web request processing method, device, electronic device, and computer-readable recording medium with stored program
WO2019071616A1 (en) Processing method and device
Zhang et al. Research on development of embedded uninterruptable power supply system for IOT-based mobile service
CN219574798U (en) BIOS chip and BMC chip data exchange device, mainboard and server

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22836574

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE