生成功率高效的安全多客户端性能监控数据的制作方法

文档序号:35574183发布日期:2023-09-24 12:32阅读:33来源:国知局
生成功率高效的安全多客户端性能监控数据的制作方法

各种实施例总体上涉及计算架构,并且更具体地涉及生成功率高效的安全多客户端性能监控数据。


背景技术:

1、计算系统,也称为服务器,此外通常包括一个或更多个处理单元,例如中央处理单元(cpu)和/或图形处理单元(gpu),以及一个或更多个存储器系统。处理单元执行用户模式软件应用程序,该应用程序提交和启动计算任务,在包括在处理单元中的一个或更多个计算引擎上执行。数据中心可以部署大量此类计算系统,其中每个计算系统可以为数据中心的多个客户端执行多个虚拟机。在计算系统的cpu上执行的管理程序代表数据中心的管理用户执行用于划分gpu的各种技术。访客用户被分配到一个分区,然后可以在该分区内的一个或更多个虚拟机上执行处理任务,与分配给任何其他分区的任何其他访客用户隔离。计算系统由此能够为多个客户端安全地执行软件应用程序,而没有将数据从一个虚拟机泄漏到另一个虚拟机的风险。

2、数据中心的管理用户和各种虚拟机的访客用户通常都希望收集与在处理单元上执行的软件应用相关联的性能监控数据。数据中心的管理用户可能希望为整个计算系统收集性能监控数据。管理用户可能还希望为在计算系统上执行的每个单独的虚拟机收集性能监控数据。管理用户可以使用该性能监控数据来确定计算系统是如何被使用的、计算系统是否部署有适当的存储器和其他硬件、软件应用程序是否可以更有效地使用硬件等。每个访客用户可能想要收集分配给访客用户的虚拟机的性能监控数据,以便确定如何更有效地使用分配的虚拟机的硬件资源。此外,每个虚拟机可以在多个进程(也称为上下文)之间对计算资源进行时间分片,其中一个上下文执行第一时间段,然后另一个上下文执行第二时间段,等等。访客用户可能想要为每个单独的上下文收集性能监控数据,以确定虚拟机的哪些上下文执行得更有效,哪些上下文执行效率较低。为了实现这些目标,计算系统作为一个整体、每个虚拟机以及在每个虚拟机中执行的每个上下文的性能监控数据都应该并发地生成。

3、传统上,计算系统中的某些处理单元支持生成某些类型的性能数据的剖析电路(profiling circuitry),该性能数据对软件工程师在发布之前开发、调试和优化软件应用程序时有用。软件工程师在执行剖析的软件应用程序时使用剖析电路。通常,软件工程师在一小部分软件应用程序的循环中的短时间内使用剖析电路或将其重复使用。虽然剖析电路生成某些类型的性能数据,但由于各种原因,该剖析电路不太适合上述性能监控。首先,剖析电路被设计为在短时间内为特定软件应用程序生成剖析数据。这种剖析电路无法在计算系统上的所有虚拟机上执行的所有上下文中生成性能监控数据而不影响软件应用程序行为。其次,剖析电路不太适合以节能方式一次或长时间监控大量度量。如上所述扩展现有的剖析电路以生成性能监控数据会导致大量的功耗和计算资源用于生成性能监控数据。第三,剖析电路被优化为间歇性地执行短时间执行、循环执行等,并且不太适合连续操作。第四,如果剖析电路用于生成性能监控数据,则剖析电路不能并发地用于剖析正在测试的软件,这是剖析电路的主要应用。

4、如前所述,本领域需要用于在计算系统中安全地生成性能监控数据的更有效的技术。


技术实现思路

1、本公开的各种实施例阐述了一种用于生成性能监控数据的计算机实现的方法。该方法包括接收表示第一性能度量的电子信号。该方法还包括在电子信号处于第一状态的每个时钟周期期间递增与性能度量相关联的第一计数器。该方法还包括串行化存储在第一计数器中的值以生成串行化值。该方法还包括经由一个或更多个电子信号路径传送串行化值。

2、其他实施例包括但不限于实现所公开技术的一个或更多个方面的系统,以及包括用于执行所公开技术的一个或更多个方面的指令的一个或更多个计算机可读介质,以及用于执行所公开技术的方法所公开技术的一个或更多个方面。

3、所公开的技术相对于现有技术的至少一个技术优势在于,利用所公开的技术,性能监控子系统安全地且连续地为在计算系统上执行的所有虚拟机和在那些虚拟机上执行的所有上下文生成性能监控数据。此外,性能监控子系统被构造成使用高效架构来分发性能监控数据,该架构相对于为开发、调试和优化单个软件应用程序而设计的剖析电路更省电。此外,性能监控子系统独立于剖析电路运行。因此,可以同时使用性能监控和剖析电路。这些优点代表了对现有技术方法的一项或更多项技术改进。



技术特征:

1.一种用于生成性能监控数据的计算机实现的方法,所述方法包括:

2.如权利要求1所述的计算机实现的方法,还包括:

3.如权利要求2所述的计算机实现的方法,其中所述第二计数器包括28位。

4.如权利要求2所述的计算机实现的方法,还包括:

5.如权利要求4所述的计算机实现的方法,其中所述第二计数器包括28位。

6.如权利要求4所述的计算机实现的方法,还包括:

7.如权利要求6所述的计算机实现的方法,其中所述第三计数器包括64位。

8.如权利要求6所述的计算机实现的方法,其中所述第三计数器被包括在与虚拟机级别相关联的一组计数器中,并且还包括将存储在所述第二计数器中的值添加到与设备相关联的第四计数器。

9.如权利要求8所述的计算机实现的方法,其中所述第四计数器可通过安全处理器访问。

10.如权利要求6所述的计算机实现的方法,还包括将存储在所述第三计数器中的值存储在存储器中,所述存储器存储与所述性能度量相关联的管理程序的性能度量。

11.如权利要求6所述的计算机实现的方法,还包括将存储在所述第三计数器中的值存储在存储器中,所述存储器存储与所述性能度量相关联的虚拟机的性能度量。

12.如权利要求6所述的计算机实现的方法,还包括将存储在所述第三计数器中的值存储在存储器中,所述存储器存储与所述性能度量相关联的上下文的性能度量。

13.如权利要求6所述的计算机实现的方法,还包括:

14.如权利要求1所述的计算机实现的方法,其中所述电子信号指示以下至少一项:

15.如权利要求1所述的计算机实现的方法,其中所述电子信号指示第二计数器的最高有效位的状态。

16.如权利要求1所述的计算机实现的方法,其中响应于确定持续时间已经过期而执行串行化存储在所述第一计数器中的值和传送所述串行化值。

17.如权利要求16所述的计算机实现的方法,其中所述第一计数器包括9位并且所述持续时间表示511个时钟周期。

18.如权利要求16所述的计算机实现的方法,还包括:响应于确定所述持续时间已经过期,将所述第一计数器重置为初始值。

19.一种系统,包括:

20.如权利要求19所述的系统,其中所述第一组计数器被配置为:


技术总结
本公开涉及生成功率高效的安全多客户端性能监控数据。各种实施例包括一种用于在计算系统中生成性能监控数据的系统。该系统包括具有一组计数器的单元级计数器,其中每个计数器在对应的电子信号处于第一状态(例如高或低逻辑电平状态)的每个时钟周期期间递增。周期性地,单元级计数器将计数器值传送到对应的计数器收集单元。计数器收集单元包括一组计数器,其聚合多个单元级计数器中的计数器的值。基于某些触发条件,计数器收集单元将记录传输到归约通道。归约通道包括一组计数器,这些计数器在多个计数器收集单元中聚合计数器的值。在系统上执行的每个虚拟机都可以访问不同的对应归约通道,从而为每个虚拟机提供安全的性能度量数据。

技术研发人员:P·维迪雅,A·梅内塞斯,S·沙玛,欧阳晋,格雷戈里·保罗·史密斯,T·J·麦克唐纳,S·卡马拉普卡,A·罗纳德,托马斯·梅尔文·奥格蒂
受保护的技术使用者:辉达公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1