分享

论软件调优的重要性:不是所有x86都有这能力

 wingsofsilence 2019-08-13

毋庸置疑,当下主流的计算机平台都基于x86架构而存在,而谈到x86架构,最先让人想起的就是英特尔,那个提供计算机“大脑”的公司

从英特尔联想到处理器,是许多人的第一感受。就好比提到微软我们想起操作系统,提到百度想起搜索引擎一样。属于对于一家公司的“刻板印象”。事实上英特尔并非只有单一的处理器业务。在去年英特尔公布的业务“六大支柱”当中,处理器只占据了其中一小部分,相比之下与软件相关的内容却是无处不在的。

六大支柱是英特尔在2018年年底提出的概念,它们分别指的是制程&封装、架构、内存&存储、互连、安全、软件在内的六大技术。这六个方向,是英特尔未来数年在传统芯片业务上的核心方向,也是英特尔面对智能互联世界发力的全新方向。这其中,软件占据了相当重要的比例,也成为了英特尔重要的发力点。

“六大技术支柱其实有两条是和软件有关的,一条是软件本身,一条是安全。而仔细分析下来,实际上软件和安全是贯穿六大支柱的,相当于将各个部分有机的联结起来,是最核心的。没有软件或者说没有对安全性的要求,其他的几大支柱不能够充分发挥作用”。说这话的,是英特尔中国区软件业务总经理冯晓焰,也是在英特尔软件部门工作了22年的一名“老兵”。

正如我们在文章开头提到的,以芯片为首的硬件产品无疑是英特尔最核心的业务之一。但你或许不知道,英特尔本身也是一家拥有超过15000人软件开发队伍的公司,单就软件开发人员规模而言,英特尔完全能够排在全球软件公司的前列。而伴随着三年前英特尔公司决定向以数据为中心的业务转型以及英特尔新任命的首席执行官司睿博(Robert Swan)对英特尔战略愿景的明确,软件在英特尔整个产业链条中正发挥着越来越重要的作用。

软件,为芯片注入灵魂

英特尔不是搞芯片的公司吗?为什么软件的占比能达到这么高?在许多局外人看来,这件事情显得颇为怪异。但如果你对IT产业有了解,如果你知道“软件定义”概念已经大行其道,你就不会对这样的结果感到意外。甚至从另外的角度来说,软件才是支撑英特尔多年保持领先的动力源泉,如果脱离的软件支持,那么英特尔芯片的性能也要大打折扣。

这并非是危言耸听。虽然我们知道英特尔在芯片研发上投入了大量的成本,但事实上如何保证这些先进芯片的性能得到最大化的发挥,在实际业务中保证它们能够尽可能多的提供最佳性能表现,则是软件部门一直在努力的问题,为此英特尔更是投入不菲。

“英特尔有个部门叫做开源软件中心,其价值就是推动开源软件、开源社区在中国的发展。在过去的许多年,英特尔一直在Linux内核社区贡献排名第一”,冯晓焰说。其实,熟悉开源软件的人可能知道,从最早的Linux到当下热门的OpenStack,英特尔一直努力推动开源社区的建设,也是社区当中的领导者之一。

软件,让应用如虎添翼

别看如今的开源圈如此火爆,如果当我们把时光退回到过去的10年,却是另一番景象。日前,IDC发布了《中国公有云服务市场(2019第一季度)跟踪》报告。报告显示,2019第一季度中国公有云服务整体市场规模(IaaS /PaaS / SaaS)的达到24.6亿美金,同比增长67.9%,其中IaaS的市场增速有所减缓,同比增长74.1%;PaaS的市场依然保持高增长,增速为101.9%。

我们知道,云计算在当下已经成为整个行业发展的潮流和推动力,无论是私有云、公有云还是混合云,都已经成为了行业发展的必然之路。但是在云计算发展之初并非是一帆风顺,甚至存在了诸多的困难和磨难。许多人可能不知道的是,英特尔是业内第一家推出虚拟化应用的企业。但在当时,当冯晓焰和公司管理层手捧相关的技术与解决方案找到诸多闭源软件企业的时候,结果却让他大失所望。

“当时我记得非常清楚,得到了一个相对来说比较消极的回馈。所以英特尔后来才决定在开源软件中率先推出这一技术。当时我们第一个推出了虚拟化技术支持的软件Xen。因为做了开源软件,让大家看到了虚拟化技术其实是提供了非常多有意义的用例,也在开源软件里得到广泛的应用,坚定了英特尔继续往这个方向走的决心。”

从虚拟化开始,云计算才算真正落了地。在此之前,业界对于云计算有这样那样的描绘,有些回头看看甚至是可笑、错误的观点。但是从虚拟化开始,大家终于切实看到了云计算所带来的巨大价值,无论是在提升利用率还是在大规模分布式部署方面,虚拟化都承载了云计算的实现模式,“云即虚拟化”的概念在当时迅速传播。就这一点来说,英特尔软件部门功不可没。

如今,云计算的发展日趋成熟,OpenStack已经成为了事实上的云平台应用标准,这背后同样有英特尔的大力支持。比如,英特尔一直在与多方合作推动历届“OpenStack黑客松”活动,让来自于全国不同地区和不同公司的开发者汇集在一起相互配合,挑战OpenStack社区最新Bug。我有幸参加了2017年冬季在武汉举办的一次活动,现场队员的热情如火与户外天气的潮湿阴冷,形成了鲜明的对比,让我印象深刻。

2017年武汉黑客松活动

这也是软件应用的典型案例。就好比每个人都在用的手机。我们知道许多安卓手机的处理器、存储、摄像头等等型号都是确定的,无非是来自一家或者几家供应商。但是结合这些硬件设备进行调优,甚至进行AI算法的优化,则是考量各品牌之间技术实力的关键。这也解释了为什么有些手机能够有出色的夜景拍照能力、超远距离变焦能力等等,毫无疑问这些都来自于软件的优化。

软件,让x86物超所值

正如我们刚刚提到的。一张手机拍摄的月球照片,已经让你分不出是真实的景色还是电脑特效,抑或是AI算法的加成,这也说明仅仅依靠硬件本身已经不能够满足未来数字化的需求,而软件的出现一方面让硬件性能得到最大化的发挥,另一方面也弥补硬件系统的性能瓶颈。

英特尔正在做的,就是加强x86平台的性能优化。除了开源应用之外,英特尔软件团队另一项重要任务就是对于每一代处理器进行调优,以发挥其最大的性能。按照摩尔定律,英特尔的产品每18或24个月就要进行一次升级,而每次升级都需要在性能、应用上的全新表现。那么对于软件团队来说,如何评估每次升级所带来的性能提升,他们又是如何保证升级时候应用的平滑运行呢?对于这个问题,冯晓焰也进行了详细的回答。

“英特尔的处理器技术,其实从软件和硬件都需要密切配合。英特尔内部有研究院,有许‘院士’,他们对于硬件架构、对于操作系都有深刻了解,也会进行针对性的设计。”据冯晓焰介绍,每一代处理器发布之前,都要进行大量的、系统性的测试工作。这些测试一方面是收集新产品的性能数据,另一方面则是进行采样,找到软件的瓶颈所在。而接下来,则是软件部门需要针对测试数据进行调优并且解决对应的瓶颈难题。

当下最新的第二代至强可扩展处理器为例。“一个新处理器推出之前,编译器部门会做一些开发工具的工作,把一些新指令集成到编译器里面。同时针对于微代码部分我们也需要进行不断优化,确保将启动控制权交给操作系统。当然针对Windows、Linux不同内核会有差异,再比如在OpenStack等平台的支持上。除此之外,我们还会赋能开发者团队的人,相当于在开发者社区提供培训、推广等工作,甚至包括怎么样提供更好支持ISV、OSV等工作”,冯晓焰说。

对于许多人来说,英特尔就是一颗小小的处理器,一颗小小的芯片,一个数字化的“大脑”。但是在这颗芯片的背后,却凝聚了英特尔软硬件部门众多工程师的辛勤努力,凝聚了包括开源代码在内的各种程序与编译,并非是简单的硬件本身。

从硬件到软件,我们发现如今的生活越来越多的依赖于软件实现。无论是身边的手机还是家里的智能音箱,每一款应用的安装和每一次版本的升级都能带来全新的应用体验,这相对于硬件来说显得更加玄妙。在未来,无论是5G还是物联网,软件的地位和价值都将会被大大强化,到那时只有单纯强大的处理器硬件是远远不够的,脱离了软件的“加持”,再强大的硬件也不过就是无源之水,无本之木。

这无疑也为未来x86平台的发展指明了方向。对于包括英特尔在内的企业来说,在提升硬件指标、工艺制程的同时,更应该在乎软件的推动作用。英特尔早在前年就意识到了这一点,从而将原本的“摩尔定律”进行了升级,其中所增加的就是软件/应用的作用,这也是英特尔将软件价值定位在了更高的层次。

面对未来的5G、物联网时代,一方面需要更强大、更出色的硬件平台,另一方面也需要不断的软件优化。英特尔围绕着以数据为中心的战略,以制程和封装、架构、内存和存储、互连、安全、软件六大技术支柱为核心,将软件融入到自身的血液之中,并秉承开源开放的原则,与众多合作伙伴联手,共同降低各种架构和工作负载下的开发复杂性,加速创新技术的大规模部署,着力打造开放、协作、互利共赢的开源生态系统。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多