CN113722174B - 一种PCIe带宽实时监控系统及其监控方法 - Google Patents
一种PCIe带宽实时监控系统及其监控方法 Download PDFInfo
- Publication number
- CN113722174B CN113722174B CN202110856473.1A CN202110856473A CN113722174B CN 113722174 B CN113722174 B CN 113722174B CN 202110856473 A CN202110856473 A CN 202110856473A CN 113722174 B CN113722174 B CN 113722174B
- Authority
- CN
- China
- Prior art keywords
- counter
- interrupt
- register
- bandwidth
- value
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000012544 monitoring process Methods 0.000 title claims abstract description 75
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012545 processing Methods 0.000 claims abstract description 28
- 230000005540 biological transmission Effects 0.000 claims abstract description 27
- 238000005070 sampling Methods 0.000 claims abstract description 26
- 230000001133 acceleration Effects 0.000 claims abstract description 19
- 238000005316 response function Methods 0.000 claims description 9
- 239000004973 liquid crystal related substance Substances 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 abstract description 8
- 230000008569 process Effects 0.000 description 14
- 230000009471 action Effects 0.000 description 4
- 238000012827 research and development Methods 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3027—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/38—Information transfer, e.g. on bus
- G06F13/42—Bus transfer protocol, e.g. handshake; Synchronisation
- G06F13/4282—Bus transfer protocol, e.g. handshake; Synchronisation on a serial bus, e.g. I2C bus, SPI bus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2213/00—Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F2213/0026—PCI express
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
本申请公开了一种PCIe带宽实时监控系统及其监控方法,包括:CPU、加速卡和数据处理模块,CPU端设置有发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;发送寄存器接收来自缓存的数据,并通过PCIe总线发送给加速卡;接收寄存器接收加速卡发送来的数据,等待CPU进行读取;第一计数器记录发送寄存器的发送次数;第二计数器记录接收寄存器的接收次数;中断发生器在发生溢出事件后,产生中断信号;中断计数器记录中断发生过的次数;数据处理模块根据第一计数器和第二计数器的存储单元数值、设定的采样间隔、中断计数器的数值,获取带宽值。这样可以实现AI计算运行时CPU与加速卡之间的实时带宽监控。
Description
技术领域
本发明涉及服务器技术领域,特别是涉及一种PCIe带宽实时监控系统及其监控方法。
背景技术
近年来人工智能(Artificial Intelligence,简称AI)领域发展特别迅速,对计算力的需求持续增加,由此诞生了专门针对AI计算设计的AI服务器。AI服务器大多采用异构计算系统,由中央处理器(central processing unit,简称CPU)负责操作系统的运行及管理,专用的计算加速卡则负责执行AI计算,CPU和计算加速卡之间通过PCIe(peripheralcomponent interconnect expres)总线进行互联。由于AI计算对CPU和计算加速卡之间的通信带宽要求较高,如果特定机型的服务器PCIe带宽低于实际应用的需求时,就会形成性能瓶颈,从而造成计算效率偏低,浪费计算资源。
目前,一般通过理论计算而非实时监控来评估CPU与加速卡之间的运行时带宽。具体而言,通过计算AI模型的参数量以及数据量来大致估算,其缺点是,在AI应用实际运行的过程中,实时的参数和数据交互是非常复杂多变的,没有办法通过理论计算来精确的模拟实际情况,只能大概计算一个典型值,但是对于整个运行过程中的峰值及抖动都无法有效分析。理论与实际情况之间往往存在较大的偏差,也就无法进行性能瓶颈的有效分析和优化。
因此,如何对应用运行时的PCIe带宽进行有效监控,以进行性能瓶颈的有效分析和优化,是本领域技术人员亟待解决的技术问题。
发明内容
有鉴于此,本发明的目的在于提供一种PCIe带宽实时监控系统及其监控方法,可以实现AI计算运行时CPU与加速卡之间的实时带宽监控。其具体方案如下:
一种PCIe带宽实时监控系统,包括:CPU、加速卡和数据处理模块,所述CPU端设置有发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;其中,
所述发送寄存器,用于接收来自缓存的数据,并通过PCIe总线发送给所述加速卡;
所述接收寄存器,用于接收所述加速卡发送来的数据,等待所述CPU进行读取;
所述第一计数器,用于记录所述发送寄存器的发送次数;
所述第二计数器,用于记录所述接收寄存器的接收次数;
所述中断发生器,用于在发生所述第一计数器或所述第二计数器溢出事件后,产生中断信号;
所述中断计数器,用于周期性记录中断发生过的次数;
所述数据处理模块,用于根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,所述第一计数器和所述第二计数器均包括自动增加单元和所述存储单元;
所述自动增加单元和所述存储单元的位数相等;
所述存储单元中的数值,用于与所述自动增加单元的增加次数进行对比。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,在所述第一计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第一计数器溢出事件;
在所述第二计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第二计数器溢出事件。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,所述发送寄存器中的内容在所述第一计数器每次计数后自动清零;
所述接收寄存器中的内容在所述第二计数器每次计数后自动清零。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,所述中断计数器在每次溢出事件发生后自动增加1,在每次被读取后自动清零。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,所述数据处理模块,具体用于将所述第一计数器和所述第二计数器的存储单元中的数值乘以在设定的采样间隔内记录的所述中断计数器的数值,并除以所述设定的采样间隔,获取带宽值。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统中,所述数据处理模块,还用于利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。
本发明实施例还提供了一种本发明实施例提供的上述PCIe带宽实时监控系统的监控方法,包括:
在所述CPU端设置发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;
所述发送寄存器接收来自缓存的数据,并通过PCIe总线发送给所述加速卡;
所述第一计数器记录所述发送寄存器的发送次数;
所述接收寄存器接收所述加速卡发送来的数据,等待所述CPU进行读取;
所述第二计数器记录所述接收寄存器的接收次数;
所述中断发生器在发生所述第一计数器或所述第二计数器溢出事件后,产生中断信号;
所述中断计数器周期性记录中断发生过的次数;
所述数据处理模块根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统的监控方法中,所述数据处理模块根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值,具体包括:
所述数据处理模块将所述第一计数器和所述第二计数器的存储单元中的数值乘以在设定的采样间隔内记录的所述中断计数器的数值,并除以所述设定的采样间隔,获取带宽值。
优选地,在本发明实施例提供的上述PCIe带宽实时监控系统的监控方法中,还包括:
所述数据处理模块利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。
从上述技术方案可以看出,本发明所提供的一种PCIe带宽实时监控系统,包括:CPU、加速卡和数据处理模块,CPU端设置有发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;其中,发送寄存器,用于接收来自缓存的数据,并通过PCIe总线发送给加速卡;接收寄存器,用于接收加速卡发送来的数据,等待CPU进行读取;第一计数器,用于记录发送寄存器的发送次数;第二计数器,用于记录接收寄存器的接收次数;中断发生器,用于在发生第一计数器或第二计数器溢出事件后,产生中断信号;中断计数器,用于周期性记录中断发生过的次数;数据处理模块,用于根据第一计数器和第二计数器的存储单元中的数值、设定的采样间隔、记录的中断计数器的数值,获取带宽值。
本发明通过在CPU端设置发送和接收寄存器、计数器,中断发生器和中断计数器,能够通过计数器溢出事件的发生,帮助软件层面感知并捕捉到底层的数据传输状况,进而可以实现对AI应用运行过程中,CPU和加速卡之间PCIe通道数据传输量的监控,为研发和测试过程中性能优化提供监控工具。此外,本发明还针对PCIe带宽实时监控系统提供了相应的监控方法,进一步使得上述方法更具有实用性,该方法具有相应的优点。
附图说明
为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的PCIe带宽实时监控系统的结构示意图;
图2为本发明实施例提供的第一计数器或第二计数器的结构示意图;
图3为本发明实施例提供的PCIe带宽实时监控方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供一种PCIe带宽实时监控系统,如图1所示,包括:CPU、加速卡和数据处理模块,CPU端设置有发送寄存器、接收寄存器、第一计数器1、第二计数器2、中断发生器和中断计数器;其中,
发送寄存器,用于接收来自缓存的数据,并通过PCIe总线发送给加速卡;
接收寄存器,用于接收加速卡发送来的数据,等待CPU进行读取;
第一计数器1,用于记录发送寄存器的发送次数;
第二计数器2,用于记录接收寄存器的接收次数;
中断发生器,用于在发生第一计数器或第二计数器溢出事件后,产生中断信号;
中断计数器,用于周期性记录中断发生过的次数;
数据处理模块,用于根据第一计数器和第二计数器的存储单元中的数值、设定的采样间隔、记录的中断计数器的数值,获取带宽值。
需要说明的是,图1示出了本发明中所涉及的硬件模块,CPU和计算加速卡之间通过PCIe总线连接,两者之间的所有通信数据也会通过这条物理链路进行传输。因此,如果能够对该链路中的数据传输带宽进行实时的监控,结合物理规范的理论值,就可以帮助使用者清晰的看到在通信方面是否存在性能瓶颈。为了实现上述目的,本发明在发送和接收寄存器的基础上,增加了两组计数器和中断发生器,用来感知数据的传输量。
在本发明实施例提供的上述PCIe带宽实时监控系统中,通过在CPU端设置发送和接收寄存器、计数器,中断发生器和中断计数器,能够通过计数器溢出事件的发生,帮助软件层面感知并捕捉到底层的数据传输状况,进而可以实现对AI应用运行过程中,CPU和加速卡之间PCIe通道数据传输量的监控,为研发和测试过程中性能优化提供监控工具。
在实际应用中,发送寄存器可以是一个n位的物理存储器件,每次可存储并发送n/8个字节的数据;n>1。CPU通过指令将缓存在Cache中的数据加载放入发送寄存器,然后由发送寄存器负责将数据传递给PCIe物理数据线。当该过程完成一次的同时(即每次执行完数据发送动作后),逻辑电路会自动触发第一计数器1增加1。接收寄存器,工作原理和上述发送寄存器类似,只不过是接收来自加速卡一端的数据。
在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统中,为了产生计数器溢出事件,如图2所示,第一计数器1和第二计数器2均包括存储单元11和自动增加单元12,分别用于计数和对比。较佳地,存储单元11和自动增加单元12的位数相等;存储单元11中的数值,用于与自动增加单元12的增加次数进行对比。具体地,存储单元11通过编程设置为一个固定的数值,自动增加单元12每次增加1次后,会和存储单元11中的数值进行对比。在实际应用中,该存储单元11可以选择通用的存储器,在此不做限定。
进一步地,在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统中,在第一计数器1中,自动增加单元12中的增加次数和存储单元11中的数值相等时,会发生第一计数器1溢出事件,该事件会触发中断发生器产生一次中断,此时,自动增加单元12中的数值会清零;同理,在第二计数器2中,自动增加单元12中的增加次数和存储单元11中的数值相等时,会发生第二计数器2溢出事件,该事件会触发中断发生器产生一次中断,此时,自动增加单元12中的数值会清零。存储单元11中的数值,默认为对应的寄存器能够设置的最大值,但是也可以通过编程进行自定义。
在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统中,发送寄存器中的内容在第一计数器1每次计数后自动清零,即逻辑电路在自动触发第一计数器1增加1,同时会自动将发送寄存器中的内容清零;同理,接收寄存器中的内容在第二计数器2每次计数后自动清零,即即逻辑电路在自动触发第二计数器2增加1,同时会自动将发送寄存器中的内容清零。
需要注意的是,中断发生器在每次捕捉到事件发生后,会产生一次中断信号,并将中断标志位置1。软件通过进入中断函数或者读取中断标志位来感知底层硬件中的事件,从而为软件层计算底层PCIe实时带宽提供了一种途径。如图1所示,中断发生器可以设置两个,分别是对应第一计数器1的第一中断发生器,以及对应第二计数器2的第二中断发生器。当发生第一计数器1溢出事件时,会触发第一中断发生器产生中断信号;当发生第二计数器2溢出事件时,会触发第二中断发生器产生中断信号。
另外,需要注意的是,中断计数器在每次溢出事件发生后,会自动增加1。使用者可以读取该中断计数器中的数值,用以获取一段时间内中断发生的次数。该中断计数器在每次被读取后自动清零。如图1所示,中断计数器也可以设置两个,分别是对应第一中断发生器的第一中断计数器,以及对应第二中断发生器的第二中断计数器。第一中断计数器记录第一中断发生器产生中断信号的次数,当事件触发第一中断发生器产生一次中断时,第一中断计数器中的数值会增加1;第二中断计数器记录第二中断发生器产生中断信号的次数,当事件触发第二中断发生器产生一次中断时,第二中断计数器中的数值会增加1。
在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统中,数据处理模块,具体用于将第一计数器1和第二计数器2的存储单元中的数值乘以在设定的采样间隔内记录的中断计数器的数值,并除以设定的采样间隔,获取带宽值。
具体地,为了得到PCIe实时带宽,使用者通过编程给计数器1和计数器2中的存储单元赋值a,然后设置软件定时器采样间隔s,周期性的去读取中断计数器中的数值c。按照公式B=(a*c)/s计算带宽值。也就是说,本发明可以使用定时器,在设置完寄存器1中的通用存器数值后,定期采集中断计数器中的数值,并根据公式计算带宽值。具体实现如下列伪代码所示:
set Reg1Storage=n//设置寄存器1中的通用存储器数值为n
set Timer interval=s//设置计时器采样间隔为s
Start Timer//启动计时器
wait Timer//等待计时器
when Timer reached:
read a=Int1Counter//读取中断计数器1的数值
bandwidth=(n*a)/s//计算获取的带宽值
另外,在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统中,数据处理模块,还可以用于利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。具体实现如下列伪代码所示:
set Reg1Storage=n//设置寄存器1中的通用存储器数值为n
set time1=getCurrentTime()//获取当前时间
Enable Interrupt function()//开启中断响应函数
while()//中断发生时,会自动执行中断响应函数
Interrupt function()//中断响应函数
{
time2=getCurrentTime()//获取当前时间
interval=time2-time1//得到时间间隔
time1=time2
bandwidth=n/interval//计算获取的带宽值
}
可以看出,本发明可以通过两种编程方式,在软件层面实现对实时带宽的获取,一个是时间固定,计数不固定;另一个是计数固定,但是时间间隔不固定,两种方式均能够实现AI计算运行时CPU与加速卡之间的实时带宽监控。
基于同一发明构思,本发明实施例还提供了一种本发明实施例提供的上述PCIe带宽实时监控系统监控方法,由于该方法解决问题的原理与本发明实施例提供的上述一种PCIe带宽实时监控系统相似,因此该方法的实施可以参见PCIe带宽实时监控系统的实施,重复之处不再赘述。
在具体实施时,本发明实施例提供的PCIe带宽实时监控系统的监控方法,如图3所示,具体包括以下步骤:
S301、在CPU端设置发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;
S302、发送寄存器接收来自缓存的数据,并通过PCIe总线发送给加速卡;第一计数器记录发送寄存器的发送次数;
S303、接收寄存器接收加速卡发送来的数据,等待CPU进行读取;第二计数器记录接收寄存器的接收次数;
S304、中断发生器在发生第一计数器或第二计数器溢出事件后,产生中断信号;中断计数器周期性记录中断发生过的次数;
S305、数据处理模块根据第一计数器和第二计数器的存储单元中的数值、设定的采样间隔、记录的中断计数器的数值,获取带宽值。
在本发明实施例提供的上述PCIe带宽实时监控方法中,可以通过计数器溢出事件的发生,帮助软件层面感知并捕捉到底层的数据传输状况,进而实现对AI应用运行过程中,CPU和加速卡之间PCIe通道数据传输量的监控,为研发和测试过程中性能优化提供监控工具。
在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统的监控方法中,步骤S305数据处理模块根据第一计数器和第二计数器的存储单元中的数值、设定的采样间隔、记录的中断计数器的数值,获取带宽值,具体可以包括:数据处理模块将第一计数器和第二计数器的存储单元中的数值乘以在设定的采样间隔内记录的中断计数器的数值,并除以设定的采样间隔,获取带宽值。
在具体实施时,在本发明实施例提供的上述PCIe带宽实时监控系统的监控方法中,还可以包括:数据处理模块利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。
关于上述各步骤更加具体的工作过程可以参考前述实施例公开的相应内容,在此不再进行赘述。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似部分互相参见即可。对于实施例公开的方法而言,由于其与实施例公开的系统相对应,所以描述的比较简单,相关之处参见系统部分说明即可。
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
综上,本发明实施例提供的一种PCIe带宽实时监控系统,包括:CPU、加速卡和数据处理模块,CPU端设置有发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;其中,发送寄存器,用于接收来自缓存的数据,并通过PCIe总线发送给加速卡;接收寄存器,用于接收加速卡发送来的数据,等待CPU进行读取;第一计数器,用于记录发送寄存器的发送次数;第二计数器,用于记录接收寄存器的接收次数;中断发生器,用于在发生第一计数器或第二计数器溢出事件后,产生中断信号;中断计数器,用于周期性记录中断发生过的次数;数据处理模块,用于根据第一计数器和第二计数器的存储单元中的数值、设定的采样间隔、记录的中断计数器的数值,获取带宽值。这样通过在CPU端设置发送和接收寄存器、计数器,中断发生器和中断计数器,能够通过计数器溢出事件的发生,帮助软件层面感知并捕捉到底层的数据传输状况,进而可以实现对AI应用运行过程中,CPU和加速卡之间PCIe通道数据传输量的监控,为研发和测试过程中性能优化提供监控工具。此外,本发明还针对PCIe带宽实时监控系统提供了相应的监控方法,进一步使得上述方法更具有实用性,该方法具有相应的优点。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上对本发明所提供的PCIe带宽实时监控系统及其监控方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1.一种PCIe带宽实时监控系统,其特征在于,包括:CPU、加速卡和数据处理模块,所述CPU端设置有发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;其中,
所述发送寄存器,用于接收来自缓存的数据,并通过PCIe总线发送给所述加速卡;
所述接收寄存器,用于接收所述加速卡发送来的数据,等待所述CPU进行读取;
所述第一计数器,用于记录所述发送寄存器的发送次数;
所述第二计数器,用于记录所述接收寄存器的接收次数;所述第一计数器和所述第二计数器均包括自动增加单元和存储单元;所述自动增加单元和所述存储单元的位数相等;所述存储单元中的数值,用于与所述自动增加单元的增加次数进行对比;
所述中断发生器,用于在发生所述第一计数器或所述第二计数器溢出事件后,产生中断信号;在所述第一计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第一计数器溢出事件;在所述第二计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第二计数器溢出事件;
所述中断计数器,用于周期性记录中断发生过的次数;
所述数据处理模块,用于根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值。
2.根据权利要求1所述的PCIe带宽实时监控系统,其特征在于,所述发送寄存器中的内容在所述第一计数器每次计数后自动清零;
所述接收寄存器中的内容在所述第二计数器每次计数后自动清零。
3.根据权利要求2所述的PCIe带宽实时监控系统,其特征在于,所述中断计数器在每次溢出事件发生后自动增加1,在每次被读取后自动清零。
4.根据权利要求3所述的PCIe带宽实时监控系统,其特征在于,所述数据处理模块,具体用于将所述第一计数器和所述第二计数器的存储单元中的数值乘以在设定的采样间隔内记录的所述中断计数器的数值,并除以所述设定的采样间隔,获取带宽值。
5.根据权利要求1所述的PCIe带宽实时监控系统,其特征在于,所述数据处理模块,还用于利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。
6.一种如权利要求1至5任一项所述PCIe带宽实时监控系统的监控方法,其特征在于,包括:
在所述CPU端设置发送寄存器、接收寄存器、第一计数器、第二计数器、中断发生器和中断计数器;所述第一计数器和所述第二计数器均包括自动增加单元和所述存储单元;所述自动增加单元和所述存储单元的位数相等;所述存储单元中的数值,用于与所述自动增加单元的增加次数进行对比;
所述发送寄存器接收来自缓存的数据,并通过PCIe总线发送给所述加速卡;
所述第一计数器记录所述发送寄存器的发送次数;
所述接收寄存器接收所述加速卡发送来的数据,等待所述CPU进行读取;
所述第二计数器记录所述接收寄存器的接收次数;
所述中断发生器在发生所述第一计数器或所述第二计数器溢出事件后,产生中断信号;在所述第一计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第一计数器溢出事件;在所述第二计数器中,所述自动增加单元中的增加次数和所述存储单元中的数值相等时,发生所述第二计数器溢出事件;
所述中断计数器周期性记录中断发生过的次数;
所述数据处理模块根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值。
7.根据权利要求6所述的PCIe带宽实时监控系统的监控方法,其特征在于,所述数据处理模块根据所述第一计数器和所述第二计数器的存储单元中的数值、设定的采样间隔、记录的所述中断计数器的数值,获取带宽值,具体包括:
所述数据处理模块将所述第一计数器和所述第二计数器的存储单元中的数值乘以在设定的采样间隔内记录的所述中断计数器的数值,并除以所述设定的采样间隔,获取带宽值。
8.根据权利要求7所述的PCIe带宽实时监控系统的监控方法,其特征在于,还包括:
所述数据处理模块利用中断响应函数,根据两次溢出事件发生的时间间隔,获取带宽值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110856473.1A CN113722174B (zh) | 2021-07-28 | 2021-07-28 | 一种PCIe带宽实时监控系统及其监控方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110856473.1A CN113722174B (zh) | 2021-07-28 | 2021-07-28 | 一种PCIe带宽实时监控系统及其监控方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113722174A CN113722174A (zh) | 2021-11-30 |
CN113722174B true CN113722174B (zh) | 2023-07-25 |
Family
ID=78674080
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110856473.1A Active CN113722174B (zh) | 2021-07-28 | 2021-07-28 | 一种PCIe带宽实时监控系统及其监控方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113722174B (zh) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216812A (zh) * | 2014-08-29 | 2014-12-17 | 杭州华为数字技术有限公司 | 一种性能监控单元多事件统计的方法和装置 |
CN108763121A (zh) * | 2018-04-28 | 2018-11-06 | 西安电子科技大学 | TTE端系统适配卡PCIe控制器的中断操作方法 |
-
2021
- 2021-07-28 CN CN202110856473.1A patent/CN113722174B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104216812A (zh) * | 2014-08-29 | 2014-12-17 | 杭州华为数字技术有限公司 | 一种性能监控单元多事件统计的方法和装置 |
CN108763121A (zh) * | 2018-04-28 | 2018-11-06 | 西安电子科技大学 | TTE端系统适配卡PCIe控制器的中断操作方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113722174A (zh) | 2021-11-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Beneventi et al. | Continuous learning of HPC infrastructure models using big data analytics and in-memory processing tools | |
US20210184947A1 (en) | Automatic capture of detailed analysis information based on remote server analysis | |
US10116534B2 (en) | Systems and methods for WebSphere MQ performance metrics analysis | |
Lin et al. | A cloud server energy consumption measurement system for heterogeneous cloud environments | |
CN111858284A (zh) | 一种人工智能服务器的资源监控方法和装置 | |
CN101132375A (zh) | 网络流量统计方法及装置 | |
CN112135287B (zh) | 蓝牙数据传输速率测试方法、系统、电子设备及存储介质 | |
Grant et al. | Overtime: A tool for analyzing performance variation due to network interference | |
CN103246569A (zh) | 一种表征高性能计算应用特征的方法和装置 | |
Stefanov et al. | A review of supercomputer performance monitoring systems | |
CN113722174B (zh) | 一种PCIe带宽实时监控系统及其监控方法 | |
CN112749013B (zh) | 线程负载的检测方法、装置、电子设备及存储介质 | |
CN116708217A (zh) | 一种数据中心设备监控方法、系统、电子设备及存储介质 | |
CN115222181B (zh) | 机器人运营状态监控系统及方法 | |
Thaler et al. | Hybrid approach to hpc cluster telemetry and hardware log analytics | |
JPH0659939A (ja) | 並列計算機のシミュレーション方法 | |
Danzig | Optimally selecting the parameters of adaptive backoff algorithms for computer networks and multiprocessors | |
CN113918414A (zh) | 一种基于pinpoint和prometheus的ice监控方法及系统 | |
Bulbenkiene et al. | Energy sub-metering data acquisition system | |
CN112533246A (zh) | 一种智能设备设备频繁网络请求的监控系统及方法 | |
CN111737083A (zh) | VMware集群资源监控方法及装置 | |
CN110928705A (zh) | 面向高性能计算应用的通信特征模型方法及系统 | |
Funika et al. | An ontology-based approach to performance monitoring of MUSCLE-bound multi-scale applications | |
CN112817811B (zh) | 扫描失败率的预测方法、装置、设备及存储介质 | |
CN117240695B (zh) | 基于eBPF的持续性能剖析方法、装置、电子设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |