AmpereOne QoS功能原理解析

描述

您是否注意到,尽管我们的个人设备加载了多个应用程序,但我们几乎可以不间断地观看喜欢的比赛,这背后是服务质量 (QoS) 功能在支持。QoS确保系统资源在后台运行时,在重要的和不那么重要的关键应用程序之间得以充分平衡。QoS 功能提供的缓存容量和内存带宽使系统机制能够确保系统资源(如缓存容量和内存带宽)在资源密集型和非资源密集型工作负载之间实现平衡。

在多租户 IaaS/PaaS 环境中,第三方和首要工作负载运行在 Ampere SOC 上,QoS 功能可确保将共享微架构资源的最低阈值分配给更高优先级的软件,例如虚拟机 (VM)、容器和进程,还可以限制较低优先级软件对较高优先级软件性能的影响。

QoS 允许在相互竞争的虚拟机之间有效地分配共享内存资源,例如系统级缓存 (SLC) 容量和内存带宽。QoS 功能提供了一种机制,通过这些机制,诸如虚拟机之类的软件实体可以与称为分区 ID (PARTID) 的唯一标识符相关联,然后分配给 PARTID 使用的共享 SLC 容量和内存带宽的最小容量或最大容量。

这使系统软件能够有效地识别优先级更高的软件,并确保将共享资源分配给该软件。例如,SLC 和内存带宽的最高优先级将提供给在 SOC 上运行的操作系统和虚拟机管理程序。在此过程中,它使用 PARTID 识别该软件,并对 SLC 和内存带宽 QoS 控制进行编程以提供内存访问,PARTID 可以根据需要完全访问 SLC 和内存带宽。

同样,使用此机制,当多个虚拟机争夺资源时,QoS 功能通过 SLA(服务级别协议)将共享资源的必要容量提供给优先级较高的虚拟机,而优先级较低的虚拟机可以限制为缓存和内存带宽容量,因此它不会影响优先级较高的虚拟机。

内存

QoS 是如何工作的?AmpereOne QoS 支持两种方法,在系统软件控制下协同工作,以分配内存系统的性能资源:

内存系统资源(内存带宽、缓存容量)分区 

内存系统资源使用监控

通过使用状态监控,系统软件可以确定更高优先级的虚拟机需要的缓存和带宽容量,然后将其与资源分区功能相结合,以确保虚拟机获得可用容量。因此,具有 SLA 的高优先级虚拟机可以保证内存带宽和对 SLC 容量的访问,因为 QoS 可确保对共享资源(缓存、内存 BW)所需的访问。相反,可以限制低优先级虚拟机以限制对共享资源(缓存容量、内存带宽)的访问。将较低优先级的 VM 限制为较低的使用率也会限制由于应用程序争用资源而对高优先级虚拟机产生的任何性能影响。 

在两个不同核心上共同执行延迟敏感型的视频服务和带宽密集型的邮件服务,这种场景将会导致争用访问共享 SLC 和内存。在没有 QoS 的情况下,由于 BW 密集型邮件应用程序不受限制地共享缓存和/或很高的内存带宽占用率,延迟敏感型应用的响应时间可能会受到影响。QoS 感知系统可确保分配共享资源的最小阈值,从而将内存带宽划分到一定限制,以确保对延迟敏感的应用程序的响应时间不会受到负面影响。

对于 Ampere 生态系统合作伙伴来说,QoS在工作负载整合密度、性能一致性和可预测的服务交付方面实现了飞跃,并为云服务提供商(CSP)的最终客户提供了更好的SLA,这确实令人兴奋。此外,高效和优化的资源利用率还降低了 CSP 的总体总拥有成本,使他们能够提高 IaaS/PaaS 利润率。最后,由于某些应用程序可以优先访问内存/SLC,因此它允许在整个堆栈中实现更大的灵活性和可调性,并保证在高负载情况下为某些关键任务应用程序/线程和进程提供更快的响应速度和性能。

对于那些想要使用它的人来说,好消息是:Linux 对此功能的支持将很快被广泛推广。QoS 功能在固件设置中启用。无需对应用程序或虚拟机进行任何更改或重新编译。

这只是我即将分享的众多 AmpereOne 云原生功能之一。敬请期待更多后续内容!

关于 Ampere Computing

Ampere Computing 是一家现代化半导体企业,致力于塑造云计算的未来,并推出了世界上首款云原生处理器。为可持续云而生,Ampere 云原生处理器兼具最高性能和最佳每瓦性能,助力加速多种云计算应用的交付,为云提供行业领先的性能、能效和可扩展性。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分