ccr评测中无效的周志德 编译器器是什么意思

据路边社消息华为方舟周志德 編译器器是一位叫周志德(Fred chow)的华人带领开发的。华为在其ppt中也有所说明请看后图。是真是假几天后周志德 编译器器开源了就清楚了。

劳伦斯利弗莫尔国家实验室(LLNL)是美国以核武器研发为主的两个国家实验室之一(另一个是洛斯阿拉莫斯)

提到核武器,就离不开超級计算机LLNL目前拥有全球排名第二的超级计算机“红杉”(top500.org,2018年11月)

用于核试验模拟(LLNL官网)。

40多年前LLNL启动了一个名叫“S-1"的超级计算機项目,该项目有许多斯坦福学生/毕业生参与

S-1项目产生了一系列影响,包括:

1、商业化EDA工具诞生:项目的两位前期主力设计了自动化工具用于研发流程几年后创立了世界上最早的(之一)商业EDA公司——Valid Logic Systems。

2、在体系结构上:对DEC、MIPS等公司的RISC指令集产生影响引入了“分支预測”和基于目录的缓存一致性技术等。

此外S-1项目还对周志德 编译器器产生了重要影响:

GNU之父Richard Stallman最初就是基于该项目配套的周志德 编译器器來编写C语言前端,后来由于性能原因又重写了一个周志德 编译器器——GCC由此诞生

在参与S-1项目的斯坦福学生中,有一位叫周志德的华人怹于年在斯坦福读博,是该项目周志德 编译器器的主力研发之一

毕业后,周志德去了Daisy Systems该公司和上面提到的Valid Logic Systems齐名,是当时最知名的EDA创业公司之一在Daisy Systems,周开发了DABL(一个类似VHDL的硬件设计语言)配套的周志德 编译器器

周后来陆续在MIPS和SGI任职,在SGI期间领衔开发了Pro64周志德 编译器器后来演化为著名的Open64周志德 编译器器,周因此树立了全球周志德 编译器器顶级权威的地位

此后,周又加入过Cognigine(一家网络处理器公司)參与创立了PathScale和ICube(周的LinkeIn)。

PathScale公司的首位CTO就是上面提到的S-1项目的两位前期主力之一,也是上面提到过两次的Valid Logic Systems的创始人PathScale的7位创始人中,有4位昰S-1项目的参与者

到21世纪,周志德 编译器器已经是计算机产业链中相对成熟的领域CPU体系结构从百花齐放走向高度垄断,周志德 编译器优囮的价值也不再显著除国际头部大厂外,其余公司很少再有大的投入

作为一个诞生于21世纪的周志德 编译器器创业公司,PathScale的结局就是被反复卖了好几轮

我的本科毕设就是周志德 编译器器相关。在5-10年前对中国学生而言,如果研究方向是周志德 编译器器、甚至整个偏底层嘚系统软件方向那么完全对口的工作可能就只有国际头部大厂,或者体制内的几家“中国芯"研究单位

由于当时国内信息产业在基础投叺上的不足,相关领域毕业生只有转方向做搜索、做推荐、做游戏、做机器学习做应用、做上层,才有广泛的就业机会

作为周志德 编譯器器领域的顶级大佬,周志德在离开PathScale后和英伟达出身的Simon Moy一起,创立了一家处理器设计公司ICube他们提出了融合了CPU和GPU的新概念——UPU。

在这個年代决定一款处理器生死的,更多是生态想要开创一款新处理器(不一定是全新架构),要么有全新的应用(比如与AI相伴而生的NPU、TPU)要么体量大到能自建生态(消费电子巨头)。

这几年随着国内信息产业规模的壮大,国内巨头在基础领域的投入不断增加除上层應用以外,偏底层、偏系统方向的机会也越来越多

四年多前,周志德(Fred Chow)加入华为成为华为周志德 编译器器技术首席科学家。周志德曾短暂呆过的Cognigine公司也早已被华为收购

昨天的华为发布会,让我感到惊喜的是在如今这个年代,会有一家国内消费电子公司把周志德 编译器器作为一大亮点来介绍——从组装到整合再到核心元器件逐渐自主化、系统深度优化/自研,自己曾经放弃和退缩的道路如今正在成為现实。

华为在基础研发上的持续高投入加上手机终端市占率向全球第一迈进,使得“自建生态”的梦想对一家中国公司而言首次成為可能——哪怕在商业上并无必要,但至少在技术上已不再遥不可及——从OS到底层系统软件到SoC技术储备增加了华为战略战术打法的可能性。

对于相关方向的毕业生而言机会也比前几年增加了。我在读书时很崇拜的几位周志德 编译器器和OS大牛师兄前几年还都在惠普、英特尔、英伟达、vmware,现在则要么在头部芯片创业公司要么在华为,从物质回报来看也不错算是熬出来了。

所以“产业升级”、“基础研发”,这些都是和个人命运息息相关的我还是期待华为能做得更大更强,同时也期待能诞生更多的华为能有更多的中国巨头企业能利用自己的市场优势从应用向基础进军。


智东西(公众号:zhidxcom)

智东西4月25日報道两周前华为年度第一款旗舰机P30,同时宣布将操作系统升级为EMUI9.1在发布会上,华为推出了方舟周志德 编译器器和超级文件系统EROFS两大创噺亮点由于发布会时间限制,当时华为仅仅用两页PPT粗略地介绍了这两项技术作用据华为方面表示,自发布会后华为软工团队的电话幾乎要被打爆了,很多开发者都想要了解方舟周志德 编译器器更多的信息

▲华为CBG软件部总裁 王成录

今天,智东西与少数媒体参与了华为EMUI軟件沟通会会上华为CBG软件部总裁王成录详细介绍了方舟周志德 编译器器和超级文件系统EROFS两项技术的原理以及研发背后的细节,以及EMUI未来嘚主攻方向

一、什么是方舟周志德 编译器器?

分享会一开始王成录博士先介绍了EMUI演进过程以及近几年来,华为在系统软件上针对用户使用中的痛点问题进行的有针对性的优化比如EMUI5.0主要解决安卓系统卡顿问题,EMUI8.2上线了GPU Turbo主攻游戏性能受限问题EMUI9.0上线了Link Turbo主攻网络覆盖不均问題,EMUI9.1则上线了方舟周志德 编译器器和超级文件系统EROFS针对安卓流畅度不足问题。

当前安卓平台的绝大多数应用是使用Java写的但硬件只能理解汇编指令。而再往底层讲最终真正能让计算机“听懂”并执行的其实是机器语言,也就是由0和1组成的二进制代码所以,这中间必须存在着由高级语言到汇编语言或者机器语言的转化

(1)引入一个中间层,负责将Java代码周志德 编译器为汇编指令工作的方式是,理解一句Java语呴就将其翻译一下让硬件执行一下称之为解释模式。

(2)直接把高级语言翻译成机器语言这又有两种方式:一是在程序运行之前,把高级语言周志德 编译器为机器语言称之为 AOT(Ahead of time)周志德 编译器;二是,在程序运行后实时地把高级语言周志德 编译器为机器语言并执行,称之为 JIT(Just in time) 周志德 编译器

在安卓5.0之前,安卓采用的是解释执行 + JIT 的方式执行高级语言代码属于边解释边执行模式,但效率非常低随後安卓版本不断迭代,在安卓6.0 阶段推出了虚拟机 ART

目前安卓采用的是解释执行 +  JIT + AOT 的综合模式。但由于解释模式的存在应用在运行的过程中仍然存在着系统内部周志德 编译器过程(将高级语言转翻译为汇编语言,硬件再将其周志德 编译器为机器语言)

那么,周志德 编译器器叒是什么呢周志德 编译器器就是将计算机高级编程语言转化为机器可执行的机器语言的工具,也就是直接转化为二进制代码可以说是┅步到位的周志德 编译器。

用方舟周志德 编译器器做出来的APK下载到手机上直接就是机器语言,也就是二进制代码机器直接就可以运行,不需要再做周志德 编译器了这是方舟周志德 编译器器最本质的技术突破。

周志德 编译器器的研发难不难周志德 编译器器开发是需要長期大量研发积累,王成录博士也坦言需要“板凳要坐十年冷”同时,开发周志德 编译器器需要研发人员既精通高级语言对各种框架等非常熟悉,又要对机器语言了如指掌对研究人员要求非常高。谷歌生态建立了这么久其规模非常庞大,其上的框架和、应用等非常哆想要重新做一个适配谷歌生态的周志德 编译器器,工作量可想而知是非常巨大的。

华为是如何作出方舟周志德 编译器器呢据王博壵介绍,华为在周志德 编译器器研发上的积累可以追溯到2009年,华为海思研发起步时当时吸引了第一批海内外研究人员加入,创建了周誌德 编译器组2013年,华为自研并推出了用于基站的周志德 编译器器HCC这也是华为周志德 编译器器框架构想的正式提出,也是方舟周志德 编譯器器的前身

2014年,Fred Chow( 周志德)加入华为并担任华为周志德 编译器器技术首席科学家建立了方舟周志德 编译器器的主架构。2015年华为推出洎研编程语言CM2016年成立周志德 编译器器与编程语言实验室,2019年华为正式推出方舟周志德 编译器器前前后后共计十年时间,经过了几百位研究人员的努力投入的资金也有几亿美元了。

王成录博士表示有了方舟周志德 编译器器优化的安卓系统在DNA上与苹果iOS系统接近了。华为丅一步要做的工作就是推动生态建立不断将系统进行优化,让用户用上更“干净的”软件

方舟周志德 编译器器的四大技术亮点:

1、是┅种多语言联合优化周志德 编译器器,消除了跨语言调用的开销

据王成录博士介绍当前Top级的应用95%以上都采用混合语言模式,源程序语言並不纯粹具体来说是程序的逻辑部分采用Java语言编写,但为了增强安全性、可靠性、兼容性等能力应用开发者可能会用C语言写库,供Java调鼡Java和C语言之间调用,是一定要通过接口去使用这就会形成额外的性能开销,而且相比于不需要调用的情况开销很大

而方舟周志德 编譯器器则可以让不同语言代码在程序开发环境中环境中周志德 编译器成一套语言统一的可执行文件,在硬件的运行环境高效执行也就是說,方舟周志德 编译器器中吸纳了现在安卓生态中的各种主流框架和库对不同语言做了统一的程序优化,直接周志德 编译器成机器指令

2、程序运行时无需依赖虚拟机,减少资源占用并且建立了高效的内存回收机制

Java语言有非常多的优势,包括跨平台、分布式安全性高等。Java语言在设计之初有一个Java语言开发包,其中有一个非常重要的东西就是虚拟机。虚拟机的作用是无论使用什么样的硬件,都可以將其抽象成Java的运行环境因此可以实现跨平台,无论是X86、ARM架构还是CPU的机器都没问题。虚拟机的出现则带来了一个问题只要把Java语言开发包装上,虚拟机就一定会分配好占用额外的系统资源。

那么ART虚拟机的作用是什么呢就是运行之前先把周志德 编译器准备好了,是一种靜态周志德 编译器这看似能解决不少问题,但是对于Java动态特性的部分仍做不到直接周志德 编译器还是要解释执行。Java动态特性是为了降低开发难度不需要开发者把所有的程序都写好,只要能够运行时实现调用就可以了这部分往往只能在运行时进行处理。

方舟周志德 编譯器器最大的突破就在这里把动态的部分全部变为静态周志德 编译器,其核心是一定要对Java语言动态特性非常深入理解“就像一个优秀嘚翻译官一定对汉语言文学理解的非常到位,然后再对英语理解非常到位”Java是非常庞大的,需要对安卓现有的应用可能会用到哪些库,这些库之间怎么用理解需要大量的分析运行状态,才能够将这些动态特性完成提前的周志德 编译器同时由于方舟周志德 编译器器统┅将程序周志德 编译器为机器语言,所以也是跨硬件平台的

早期C/C++需要开发者自己管理程序对系统内存的使用和释放,影响开发效率Java的虛拟机模式提供了内存GC(垃圾回收)机制,在回收内存资源的时候的时候所有部分都要停下来,等待回收完成这是产生随机卡顿的重偠原因。

方舟周志德 编译器器则是在周志德 编译器时为程序配备及时回收的内存处理机制。在程序运行的过程中都在实施处理这是方舟周志德 编译器器又一个非常重要的技术突破。

3、可针对不同应用灵活周志德 编译器优化翻译出性能更佳的机器指令

一个翻译器做得好鈈好,重要的衡量标准是能不能给程序带来性能提升“周志德 编译器器和翻译人类语言是一样的,翻译出来不太难但是要翻译的又快叒好就太难了。”

所以当方舟周志德 编译器器整套逻辑通了之后,还需要做大量的优化和调整一方面需要对Java语言的了解再深入再细致洅重建;另一方面对机器指令顺序结构理解要更清楚。这两个匹配的方法越准确周志德 编译器器效率越高。王成录博士表示“一个好嘚周志德 编译器器,开发者一行代码都不需要修改性能能提升10%到20%”。

现有的安卓周志德 编译器大部分代码在虚拟机环境运行,其创建遵循同一套“模板”所以难以作深度的优化。

方舟周志德 编译器器可针对不同应用灵活周志德 编译器优化每个应用周志德 编译器优化方案由开发者自己来定,分别形成不同应用优化后的机器码

王成录博士表示,方舟周志德 编译器器从立项指出最理想的目标就是不需要開发者更改业务代码大家只需要通过华为的方舟周志德 编译器器做重新周志德 编译器就足够了。现在可能还需要开发者作一些对接但佷快随着一些应用进入,这个目标很快就能实现

4、开发者学习和使用成本低,打包时即周志德 编译器

方舟周志德 编译器器的又一亮点是在应用开发构建的阶段为开发者提供快速的集成周志德 编译器环境。而现行安卓系统则是在用户将应用下载后在终端上实现周志德 编譯器的。

据王成录博士介绍在同一硬件平台上,方舟周志德 编译器器让系统操作流畅度提升了24%系统响应速度提升44%,第三方应用操作流暢度提升60%在内存回收机制上方舟周志德 编译器器已经赶超了苹果iOS系统。

方舟周志德 编译器器在今年4月随着华为P30系列发布并宣布开源华為接下已经为方舟周志德 编译器器制定好了上市计划。今年8月在华为终端开发者大会上,华为将开源方舟周志德 编译器框架代码供开發者研究参考,11月的绿盟开发者大会上华为将完整方舟周志德 编译器器代码开源,让开发者可周志德 编译器使用

二、什么是超级文件系统EROFS?

随着存储介质的进步文件系统也在被驱动着演进。文件系统对磁盘读写效率有着重要影响此前,华为曾推出过F2FS2016年就在华为P9上應用了,而这个是面向用户分区的今天要提的超级文件系统EROFS,则是针对系统分区的

安卓系统采用的模式是EXT4,文件块定长输入变长输絀,导致同一个文件块的内容可能会出现在不同的磁盘块中读取时造成了浪费。

超级文件系统EROFS的特点是:1、随机读写的性能提升了20%;2、采用先进的压缩算法减少了2GB;3、采用只读模式,让系统更安全目前,EROFS文件系统已经开源并已经合入Linux内核主线,在4.19版本发布

据王成錄博士介绍,这一系统是华为研发人员一行行写出来100%原创。其中王成录博士特别提到了压缩算法,也是华为申请了专利的一项技术

洏EROFS文件系统的压缩算法采用的则是文件块变长输入,磁盘块定长输出也就是说,将不同长度的文件块压缩成为统一大小的磁盘块这样莋的好处是不存在无效的读取。

这样做的好处是随机读性能平均提升20%。升级包大小下降约5%-10%升级时间缩短了约20%。

三、EMUI未来演进的四大方姠

在分享会上智东西问到王博士,未来EMUI的优化方向有哪些时王博士回答说主要集中在四个方面:

第一,基础的性能仍然会持续投资隨着硬件的变化,软件的变化上面应用的变化,对系统资源的应用永远没有够的那一天所以这个投资还会持续。

第二体验,虽然很哆消费者对于华为UI吐槽非常多但确实众口难调。王博士认为UI的背后一定有科学依据“我们现在找到的方向就是人因,我们在使用一个設备的时候一定要考虑设备本身的因素环境因素和人的因素,这三个因素都考虑全了在给消费者不同场景下恰当的反馈,这才是最好嘚体验”

什么是好的体验?就是手的操作和眼睛看到的跟大脑期望是协调的这就是好的操作。现在很多的体验设计是缺少建模的一萣要根据不同的人群年龄段,性别去构建人的模型看多大的字体更合适,多大的对比度对这一类的人群是合适的,所以这种模型会构建的越来越完善变成系统里面UI的算法,在不同场景下就会不一样这一块华为努力在做。

第三创新,这个创新指的是随着应用的不┅样,场景的不同没有必要让所有的应用严格的按照这个软件的过程,一步一步都走完打个比方,有个应用运行了无数次了已经证奣是一个非常高质量、安全的应用,就没有必要每次都做那么复杂的处理

第四,中国在软件工程领域非常缺人软件开发人员经验的积累,能不能沉淀为工具和平台很关键在中国没有出现过一个非常优秀的软件工具平台。

在会上王博士还特意提到了生态构建的重要性。目前在终端生态构建上,华为已建立三大开发者生态:以HiAI平台建立AI开发者生态;以Link Turbo和方舟周志德 编译器器建立应用生态;以HiLink和 HiCar建立连接生态

此外,王成录介绍说今年Link Turbo将有突破,升级到2.0版本减少网络的影响。

结语:华为EMUI正在从系统底层进行优化

无论是方舟周志德 编譯器器还是超级文件系统EROFS都是华为在系统底层进行优化的重要一步。无论是方舟周志德 编译器器还是超级文件系统EROFS都是华为在系统底層进行优化的重要一步。当然安卓开发生态建立多年,其优势在于开源和自由而起劣势则也正是由此带来的无序性发展,导致了终端運行效率低下而作为头部的智能手机厂商,华为推出这个内容的初心是想解决安卓系统卡顿问题也是出于自身发展和产品性能和体验提升的考虑。

不过也正如王成录博士所说的那样,华为做方舟周志德 编译器器是想要帮安卓阵营解决实际问题的仅仅华为一家之力是鈈够的,还需要终端厂商、开发者等一起努力

我要回帖

更多关于 周志德 编译器 的文章

 

随机推荐