随着互联网技术的不断发展,数据中心正在从IT时代逐渐进入DT时代。DT时代对于海量数据的计算,存储等需求成为了软硬件技术飞速发展的催化剂。硬件技术发展一日千里,各种新硬件新技术层出不穷,如AEP、AI、FPGA, GPU,CPU,RDMA等等,软件架构也越来越复杂,例如虚拟化,容器等等。
这导致从软件到硬件的栈变的越来越深,同时系统也越来越复杂,软硬件一体化需要的软硬件技术融合,追求极致性能也越来越困难。一般人可以成为某个领域的专家,但是对于软硬件一体化,多层次多维度的复杂系统,很难有人能成为全栈的专家。这些都导致当出现性能问题的时候,往往很难定位性能的瓶颈,到底是软件问题还是硬件问题,性能优化更是无从谈起。阿里巴巴基础设施——灵镜系统正是在这样的背景下产生。
当前服务器硬件面临的性能问题,大致可以概括成以下四个方面:
无感知
一般业务都有自身的性能监控平台,但只专注于业务软件本身。由于现代数据中心的软硬件栈非常深,当发生一个性能问题,特别是抖动问题的时候,通过上层业务软件收集的数据根本无法感知到每一段软件栈的性能抖动,硬件性能的感知更是一个黑盒。
硬件资源利用率低
一般业务对于硬件的采购通常都是按照性能的峰值的需求去定义的,但实际线上的资源利用率却非常低,甚至不到10%。阿里巴巴通过多个业务根据资源状况混部在同一台物理机的方式,已经极大的提高了资源利用率,但是遇到的问题也很明显,不同业务对于硬件资源的使用存在相互之间的干扰,这个给混部的推广造成了很大的阻碍,对于进一步提高资源利用率带来了很大的挑战。
问题复杂
随着现代服务器硬件的多样性,以及系统软件复杂性不断提升,对于定位业务软件感受到的性能问题变得非常困难,需要对软硬件有非常深入的理解,并且需要投入大量的人力物力,没有一个比较通用的可以帮助业务快速诊断软硬件性能瓶颈的一体化平台。
软硬分离
由于服务器硬件和系统软件变得越来越复杂,技术人员专业化分工成为必然,但是这样同样带来一个问题,就是软件与硬件的割裂,做软件的人往往对于硬件比较陌生,而做硬件的人又对业务软件需求不那么了解,这就导致在硬件设计、定义机型、以及新硬件引入的时候很难精准的知道对于哪些业务比较合适,同时业务方也没有获得最适合自身业务特性的硬件。
灵镜系统
针对上面所提到的性能优化面临的问题,阿里巴巴基础设施通过多年技术积累以及近两年时间的打磨,最终打造出软硬件一体化的性能诊断优化平台—灵镜。
灵镜系统通过获取精准的底层系统软硬件性能数据,并结合强大的数据分析和统计功能,帮助阿里内部业务有效分析定位性能瓶颈问题,同时结合全栈性能数据,可以主动有效的分析性能抖动问题,其次,全方位的业务性能画像,也帮助用户全方位了解业务自身的性能特征,提高软硬件资源的匹配度。总体来说,灵镜系统具备以下特点:
灵镜系统特点
数据化
数据化就是将原来黑盒的东西变得透明化、数据化,在长链路的软件栈里通过数据量化系统性能。例如原来只是看到两个业务性能相互之间存在干扰,通过灵镜系统可以清楚地知道真正的干扰源,是cache的干扰还是内存带宽的干扰,甚至是CPU锁的相互干扰等。数据化后的性能特征可以为用户的调度系统提供硬件性能感知的依据,帮助用户通过调度主动避免性能问题。同时阿里巴巴灵镜系统也在根据实际需求不断地在细化硬件性能数据,例如AliIPF,AliNVME这些都是针对存储IO抖动问题,从应用读写IO到最终数据落盘所开发的一站式IO性能监控,通过这种全方位,细粒度的数据化,才能够更好的了解服务器硬件,并实现性能问题的自动化感知与诊断。
自动感知
灵镜系统对于线上发生的性能问题,尤其是抖动问题,能够做到主动感知,主动分析。不再需要主动去测试发现一些性能问题,而是平台自动感知系统性能问题,并自动的给出初步的分析结果。
平台化
由于性能问题的复杂性,再去依靠个人的知识储备和性能优化经验去解决问题越来越困难,灵镜系统可以帮助用户快速诊断,过滤,收敛复杂的性能问题,把性能优化的经验平台化,智能化,极大的降低性能优化的门槛。
软硬结合
软硬结合就是通过将业务的workload数据化,进行特征提取,使用多种模型分析对业务进行画像,根据画像结果来优化硬件设计,定制更符合业务自身需求的硬件,使得硬件特性能够最大化的被利用。
灵镜系统核心组件
数据采集
灵镜系统数据采集主要利用阿里巴巴自研的统一硬件性能数据采集工具xperf实现,xperf是完全的用户态程序,功能强大,数据全面,系统开销小,秒级的采集粒度业务完全不感知,内存消耗只有几十MB。xperf实现了对于CPU core上PMU数据,uncore数据,内存带宽,RDT,网络流量,TCP,存储IO,以及GPU等性能数据的全方位精细化的收集,这些数据是整个灵镜系统的基石。
数据中台
灵镜数据中台主要利用阿里巴巴集团的大数据存储计算平台,实现数据统一存储与处理,使得原来割裂的数据聚合,统一存储,为后面的数据分析与计算提供保障。
数据分析
灵镜系统通过多种分析模型,例如在线硬件性能打分,基线分析以及离线特征提取,性能分层管理,业务画像等,实现硬件性能自动化预警与诊断。最终提供给业务优化业务调度系统,优化业务硬件资源使用,软硬件一体优化业务性能,机型定制等服务。
灵镜系统目前已经在阿里巴巴集团多个业务上线使用,给业务问题定位,调度优化,机型定制等带来实实在在的价值,灵镜系统也在不断的更新迭代,推出更多性能相关的智能化诊断与优化的服务,打破软件与硬件的技术边界,使得每个上层业务都能有最佳的硬件性能体验,为阿里巴巴业务提供更多的技术价值。