灵镜系统 | 软硬件一体优化释放硬件极致性能

简介: 随着互联网技术的不断发展,数据中心正在从IT时代逐渐进入DT时代。DT时代对于海量数据的计算,存储等需求成为了软硬件技术飞速发展的催化剂。

image.png

随着互联网技术的不断发展,数据中心正在从IT时代逐渐进入DT时代。DT时代对于海量数据的计算,存储等需求成为了软硬件技术飞速发展的催化剂。硬件技术发展一日千里,各种新硬件新技术层出不穷,如AEP、AI、FPGA, GPU,CPU,RDMA等等,软件架构也越来越复杂,例如虚拟化,容器等等。

这导致从软件到硬件的栈变的越来越深,同时系统也越来越复杂,软硬件一体化需要的软硬件技术融合,追求极致性能也越来越困难。一般人可以成为某个领域的专家,但是对于软硬件一体化,多层次多维度的复杂系统,很难有人能成为全栈的专家。这些都导致当出现性能问题的时候,往往很难定位性能的瓶颈,到底是软件问题还是硬件问题,性能优化更是无从谈起。阿里巴巴基础设施——灵镜系统正是在这样的背景下产生。

当前服务器硬件面临的性能问题,大致可以概括成以下四个方面:

无感知


一般业务都有自身的性能监控平台,但只专注于业务软件本身。由于现代数据中心的软硬件栈非常深,当发生一个性能问题,特别是抖动问题的时候,通过上层业务软件收集的数据根本无法感知到每一段软件栈的性能抖动,硬件性能的感知更是一个黑盒。

硬件资源利用率低


一般业务对于硬件的采购通常都是按照性能的峰值的需求去定义的,但实际线上的资源利用率却非常低,甚至不到10%。阿里巴巴通过多个业务根据资源状况混部在同一台物理机的方式,已经极大的提高了资源利用率,但是遇到的问题也很明显,不同业务对于硬件资源的使用存在相互之间的干扰,这个给混部的推广造成了很大的阻碍,对于进一步提高资源利用率带来了很大的挑战。

问题复杂


随着现代服务器硬件的多样性,以及系统软件复杂性不断提升,对于定位业务软件感受到的性能问题变得非常困难,需要对软硬件有非常深入的理解,并且需要投入大量的人力物力,没有一个比较通用的可以帮助业务快速诊断软硬件性能瓶颈的一体化平台。

软硬分离


由于服务器硬件和系统软件变得越来越复杂,技术人员专业化分工成为必然,但是这样同样带来一个问题,就是软件与硬件的割裂,做软件的人往往对于硬件比较陌生,而做硬件的人又对业务软件需求不那么了解,这就导致在硬件设计、定义机型、以及新硬件引入的时候很难精准的知道对于哪些业务比较合适,同时业务方也没有获得最适合自身业务特性的硬件。

灵镜系统


针对上面所提到的性能优化面临的问题,阿里巴巴基础设施通过多年技术积累以及近两年时间的打磨,最终打造出软硬件一体化的性能诊断优化平台—灵镜。

灵镜系统通过获取精准的底层系统软硬件性能数据,并结合强大的数据分析和统计功能,帮助阿里内部业务有效分析定位性能瓶颈问题,同时结合全栈性能数据,可以主动有效的分析性能抖动问题,其次,全方位的业务性能画像,也帮助用户全方位了解业务自身的性能特征,提高软硬件资源的匹配度。总体来说,灵镜系统具备以下特点:

image.png

灵镜系统特点

数据化

数据化就是将原来黑盒的东西变得透明化、数据化,在长链路的软件栈里通过数据量化系统性能。例如原来只是看到两个业务性能相互之间存在干扰,通过灵镜系统可以清楚地知道真正的干扰源,是cache的干扰还是内存带宽的干扰,甚至是CPU锁的相互干扰等。数据化后的性能特征可以为用户的调度系统提供硬件性能感知的依据,帮助用户通过调度主动避免性能问题。同时阿里巴巴灵镜系统也在根据实际需求不断地在细化硬件性能数据,例如AliIPF,AliNVME这些都是针对存储IO抖动问题,从应用读写IO到最终数据落盘所开发的一站式IO性能监控,通过这种全方位,细粒度的数据化,才能够更好的了解服务器硬件,并实现性能问题的自动化感知与诊断。

自动感知

灵镜系统对于线上发生的性能问题,尤其是抖动问题,能够做到主动感知,主动分析。不再需要主动去测试发现一些性能问题,而是平台自动感知系统性能问题,并自动的给出初步的分析结果。

平台化

由于性能问题的复杂性,再去依靠个人的知识储备和性能优化经验去解决问题越来越困难,灵镜系统可以帮助用户快速诊断,过滤,收敛复杂的性能问题,把性能优化的经验平台化,智能化,极大的降低性能优化的门槛。

软硬结合

软硬结合就是通过将业务的workload数据化,进行特征提取,使用多种模型分析对业务进行画像,根据画像结果来优化硬件设计,定制更符合业务自身需求的硬件,使得硬件特性能够最大化的被利用。

灵镜系统核心组件


数据采集

灵镜系统数据采集主要利用阿里巴巴自研的统一硬件性能数据采集工具xperf实现,xperf是完全的用户态程序,功能强大,数据全面,系统开销小,秒级的采集粒度业务完全不感知,内存消耗只有几十MB。xperf实现了对于CPU core上PMU数据,uncore数据,内存带宽,RDT,网络流量,TCP,存储IO,以及GPU等性能数据的全方位精细化的收集,这些数据是整个灵镜系统的基石。

数据中台

灵镜数据中台主要利用阿里巴巴集团的大数据存储计算平台,实现数据统一存储与处理,使得原来割裂的数据聚合,统一存储,为后面的数据分析与计算提供保障。

数据分析
灵镜系统通过多种分析模型,例如在线硬件性能打分,基线分析以及离线特征提取,性能分层管理,业务画像等,实现硬件性能自动化预警与诊断。最终提供给业务优化业务调度系统,优化业务硬件资源使用,软硬件一体优化业务性能,机型定制等服务。

灵镜系统目前已经在阿里巴巴集团多个业务上线使用,给业务问题定位,调度优化,机型定制等带来实实在在的价值,灵镜系统也在不断的更新迭代,推出更多性能相关的智能化诊断与优化的服务,打破软件与硬件的技术边界,使得每个上层业务都能有最佳的硬件性能体验,为阿里巴巴业务提供更多的技术价值。

目录
相关文章
|
缓存 API Android开发
一起学点ARM的微架构二?
一起学点ARM的微架构二?
409 1
|
数据安全/隐私保护
如何在win10上连接苹果无线键盘
用电脑自带的步骤记录器记录的过程如下: Step 1: 用户在"添加设备 (按钮)"上左键单击; Step 2: 用户在"Apple Wireless Keyboard (文本)"上左键单击; Step 3: 用户在"下一步(N) (按钮)"上左键单击; Step 4: 用户在"或者,尝试在它上面输入 密码。
4561 0
|
9月前
|
数据采集 存储 JSON
用Scrapy精准爬取BOSS直聘特定行业职位
用Scrapy精准爬取BOSS直聘特定行业职位
|
安全
C 标准库 - <errno.h>详解
`&lt;errno.h&gt;` 是 C 标准库中的错误处理头文件,定义了全局变量 `errno` 和一系列错误代码宏,如 `ENOMEM`(内存不足)、`EINVAL`(无效参数)等,用于检测和处理函数调用中的错误。在调用可能引发错误的函数前后应检查和清零 `errno` 以准确识别错误原因。
|
10月前
|
存储 搜索推荐 API
小红书笔记详情API接口的开发、应用与收益
小红书笔记详情API接口为开发者、企业和内容创作者提供了获取平台丰富资源的通道。通过该接口,用户可以提取笔记的详细信息(如标题、正文、标签等),并应用于市场调研、竞品分析、内容创作、电商推荐等多个领域。这不仅有助于提升品牌影响力和优化用户体验,还能挖掘商业机会,促进内容创新,增强用户互动与社群凝聚力。总之,小红书笔记详情API接口为企业和个人在社交媒体领域探索新增长点提供了重要工具。
289 0
|
缓存 算法 Java
Linux内核新特性年终大盘点-安卓杀后台现象减少的背后功臣MGLRU算法简介
MGLRU是一种新型内存管理算法,它的出现是为了弥补传统LRU(Least Recently Used)和LFU(Least Frequently Used)算法在缓存替换选择上的不足,LRU和LFU的共同缺点就是在做内存页面替换时,只考虑内存页面在最近一段时间内被访问的次数和最后一次的访问时间,但是一个页面的最近访问次数少或者最近一次的访问时间较早,可能仅仅是因为这个内存页面新近才被创建,属于刚刚完成初始化的年代代页面,它的频繁访问往往会出现在初始化之后的一段时间里,那么这时候就把这种年轻代的页面迁移出去
|
Linux C语言
C语言 多进程编程(七)信号量
本文档详细介绍了进程间通信中的信号量机制。首先解释了资源竞争、临界资源和临界区的概念,并重点阐述了信号量如何解决这些问题。信号量作为一种协调共享资源访问的机制,包括互斥和同步两方面。文档还详细描述了无名信号量的初始化、等待、释放及销毁等操作,并提供了相应的 C 语言示例代码。此外,还介绍了如何创建信号量集合、初始化信号量以及信号量的操作方法。最后,通过实际示例展示了信号量在进程互斥和同步中的应用,包括如何使用信号量避免资源竞争,并实现了父子进程间的同步输出。附带的 `sem.h` 和 `sem.c` 文件提供了信号量操作的具体实现。
|
缓存 并行计算 监控
阿里云容器服务GPU监控2.0进阶篇1:剖析(Profiling)GPU使用情况必备知识
本系列相关文章:阿里云容器服务GPU监控2.0基础篇1:基本功能使用阿里云容器服务GPU监控2.0基础篇2:监控NVLINK带宽阿里云容器服务GPU监控2.0基础篇3:监控NVIDIA XID错误阿里云容器服务GPU监控2.0进阶篇1:剖析(Profiling)GPU使用情况必备知识阿里云容器服务GPU监控2.0进阶篇2:学会剖析(Profiling)GPU使用情况基于NVIDIA DCGM的GP
2591 1
阿里云容器服务GPU监控2.0进阶篇1:剖析(Profiling)GPU使用情况必备知识
|
SQL Web App开发 安全
Smanga未授权远程代码执行漏洞(CVE-2023-36076) 附加SQL注入+任意文件读取
Smanga存在未授权远程代码执行漏洞,攻击者可在目标主机执行任意命令,获取服务器权限。
501 0
|
机器学习/深度学习
机器学习中的数学原理——向量内积
机器学习中的数学原理——向量内积
522 0