Linux内核贡献全球第二,开源四大基础软件,为什么华为要啃下这块硬骨头

标签: 数据库  大数据  编程语言  区块链  人工智能

作者 | Just

出品 | CSDN(ID:CSDNnews)

回顾计算机发展的历史,任何一个计算架构的成功都离不开强大的硬件,但这背后更需要繁荣的软件生态。

1960年的集中式计算出现后,诸多基础软件应运而生,随后进入“Win-tel”独霸PC的时代,近年来,Intel和Linux又带来了分布式计算的高潮。

 

如今,随着5G的到来,移动互联网业务进一步发展,大数据、物联网、人工智能等创新应用场景层出不穷,应用场景的多样性催生出数据的多样性,导致原有的单一计算架构明显跟不上庞杂的业务需求,业界对提出一种全新计算架构的呼声愈烈。

 

很快,华为瞄准了多样性算力架构。在去年9月的华为全联接大会上,他们提出了“鲲鹏+昇腾”的双引擎计算战略以应对算力需求的爆发式增长。

 

这是一个全栈协同创新的过程,需要硬件提供算力,软件释放算力,尽最大可能让上层应用使用算力,并且最终创造价值。硬件是整个生态的基础,但决定多算力架构能否取得成功的关键枢纽是软件,这是华为需要啃下的另一块硬骨头。

 

四大基础软件再升级

要想充分释放硬件的算力,需要先了解其瓶颈究竟是什么。

华为鲲鹏计算领域副总裁江大勇告诉CSDN,在硬件方面,ARM这样的主流处理器从百核甚至到千核的多核方向发展,但问题在于,核数的线性增长并不意味着算力的效能会随之增长,因为算力的分配和调度复杂度的增加反而会消耗一部分算力的效能。与此同时,端边云协同的趋势对ARM计算架构也提出了相应需求,而X86、ARM和xPU的异构计算框架的趋势也正在形成。

 

如此,多核多算力的硬件架构转变相应地迫使基础软件架构做出调整。

 

去年以来,趁着国内开源的热烈气氛,华为也相继开源了四大基础软件:openEuler(欧拉)操作系统、openGauss(高斯)数据库、openLooKeng(罗庚)高性能数据虚拟化引擎,以及MindSpore全场景AI计算框架。

 

操作系统是所有计算机系统软件的“根”,但目前的操作系统并不能很好地支持多样性算力和ARM等架构。华为则希望面向未来的场景,通过openEuler创建一个创新平台,能够全面支持ARM,X86,RISC-V 等现在主流计算机架构。openEuler已于去年12月31日正式开源。

而在9月24日的HC大会分论坛上,江大勇发布了openEuler 20.09版本,包括极致性能、安全可信、生态引擎三大特点,背后提供支撑的项目主要是轻量级虚拟机StratoVirt 1.0和云原生容器iSula 2.0,secGear机密计算框架和IMA完整性度量架构,自动化测试平台Compass-CI和UKUI桌面。OpenEuler21.03及后续版本,将在云、边、端全场景协同上持续创新,支持应用一次开发,多场景部署。

目前,openEuler操作系统,代码量超过100万行,代码贡献者数量已超过1000个,下载量超1.4万次,社区访问量超过150万次,已有多家伙伴基于openEuler做了商业应用。

同样,数据库是基础软件皇冠上的明珠,也是客户业务系统的核心,所有应用软件的运行和数据处理都要与其进行数据交互。虽然以MySQL, PGSQL为代表的开源数据库已成为主流选择,但真正的企业级用户对企业关键数据、核心业务的承载体,有着性能、安全和运维的更高要求。江大勇认为,现在开源的数据库没有完全达到企业级的能力。

今年6月已经开源的openGauss数据库则具备企业级性能,包括高性能、高可用、高安全三大特性。openGuass第一个开源版本聚焦在与鲲鹏协同性能优化上,基于2路鲲鹏服务器,性能可达到150万tmpC,相对业界主流产品的性能超过50%。

而在今年12月底,openGauss还会进一步迭代企业级特性,包括行列混合存储引擎,支持混合负载,內存引擎MOT达到250W tmpC,有512个功能参数推荐的智能运维以及安全审计。明年3月底,openGauss则会关注企业安全,实现全密态数据库和智能增强功能。江大勇称,未来,openGauss将在每6个月发布一个新版本,每年发布一个稳定版本。

面向海量数据,尽管目前有HBase、Hadoop、Hive,MySQL等各种数仓,但缺乏统一的SQL接口,支持多数仓的软件,这是大数据使用的一大难题。

今年3月,华为开源的openLooKeng则是一个数据虚拟化引擎,致力于为大数据用户提供极简的数据分析体验,让用户像用“数据库”一样使用“大数据”。

openLooKeng具备引擎归一、多样分析,生态引擎以及高可靠、易用性特点,可以进行跨格式、跨仓、跨域使用,让开发者做数据治理更加简单。江大勇称,百亿级的数据量可以做到10秒级的分析处理。未来,openLooKeng将在极致性能、全场景高效融合分析、批流交互式方面持续突破。

此外,华为正式发布了端边云全场景的AI计算框架MindSpore 1.0:支持模型、算子及硬件处理单元级全自动并行;对端边云设备如手机、摄像机、服务器等全场景自适配;开发流程极简,开发者可基于MindSpore快速实现模型导入、灵活调试。

 

为什么要开源基础软件

 

开源软件的商业模式早已被验证。华为也希望通过开源的方式快速构建上述基础软件能力,并繁荣软件生态。

事实上,在Linux最新的内核5.8版本中,华为在全球范围对内核的贡献排名第二,修改代码量全球排名第一。另外,华为还为ARM架构打通全栈能力,贡献了全球超过40+的主流开源社区。

这些基础软件能开源也主要得益于华为过去10多年的技术积累,比如openEuler、openGauss数据库在开源前,就已在运营商业务中广泛使用,背后凝结了数千名工程师的技术研发投入。

 

由此也不难看出,现在的华为在贡献开源和引领开源上是齐头并进。

 

当然,华为也并非能完全参考英特尔等厂商的开源模式。江大勇对CSDN称,与原来其他厂商做产品和解决方案不同,华为做计算产业更强调“生态”,这就决定了华为“有所为有所不为”。

 

这一点也让华为在基础软件的开源策略上更加清晰,华为所做的即是为开发者和合作方提供开发工具和应用实践等底层支持,帮助后者应用快速迁移到整个鲲鹏平台,以此促进计算产业的发展。

 

在江大勇看来,现在应用的发展已经远快于以前做应用标准的方式,所以开源可能是当下更能被认可和接受的一种趋势,而通过这种方式也更能促进社会效率的提升。更重要的是,通过开源社区的协作模式把底层的基础技术做好后,差异化应用也会更快落地,社会效益也会更大,这也会形成事实上的统一标准。

 

最具挑战的是开源意识

 

对华为来说,开源上述四大基础软件只是开始。因为应用、处理器、新的项目需求还在不断发展,江大勇认为,只开源这些软件并不足够。

 

“openEuler刚开放的时候大约有30多个SIG组,但现在已经有70多个,因为不断地有开发者提出了新的业务需求或创新想法,也有开发者主动把RISC-V等能力开放到了社区。”

 

他预计,在分布式方面,未来可能还会增加一些新的能力,在元函数方面,可能在今年年底或明年年初也会有相应能力开放。而要壮大软件功能和生态,更重要的是依靠开发者社区的力量。

 

作为一家公认的执行力强悍的企业,华为在社区建设上也卓有成效。近期的鲲鹏开发者活动首次进行18个城市同步联动,采用线下+线上的方式进行,吸引了上万名开发者参与。

 

在江大勇看来,中国的开发者软件开发者数量并不少,但需要形成一种活跃的开源社区文化,而不只是把社区当做代码托管的地方。

 

而通过华为在构建开发者社区和生态过程中的经历,他也总结了中国开源需要提升的地方:

首先,开源社区本身的代码托管等基础设施服务要加强;其次,中国需要有更适合的开源协议;最后,最具挑战的是拥有开源意识和文化,他认为,应该鼓励高校学生和研究机构参与到开源中,加快社会性的协同创新,持续性支持和发扬开源协作精神。最终,让中国开发者实现从贡献开源进一步在全球范围内引领开源。


更多精彩推荐
☞为什么云原生+分布式是数据库的未来?

☞Swift、Flutter 共同瞄准 Windows!
☞不是“老赖”是“真还”!罗永浩 6 亿债务还了 4 亿

☞云原生安全模型与实践
☞AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI
☞区块链+生鲜:杜绝“偷梁换柱”和“以次充好”
点分享点点赞点在看
版权声明:本文为csdnnews原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/csdnnews/article/details/108839722

智能推荐

Rtthread学习笔记(十三)RT-Thread Studio开启硬件看门狗Watchdog

一、开启硬件看门狗Watchdog 1、配置RT-Thread Settings 2、开启stm32f1xx_hal_conf.h中的宏定义 3.使用RT接口函数初始化硬件看门狗...

TYVJ 4864 天天去哪吃 || 清北学堂金秋杯大奖赛

题目描述: 记录一下i这个值上次出现的位置在哪里,就是pre...

java反编译

jvm 把Boolean类型的值flag当做int类型处理。​​​ Foo.java: 由 class 文件生成 jasm 文件:java -jar asmtools.jar jdis Foo.class > Foo.jasm  修改jasm文件: 执行反编译: java -jar jd-gui-1.6.6.jar File 打开Foo.class文件:b修改为2 重新执行java...

【学习笔记】03-v-html的学习和示例

v-html的认识和使用 示例: 显示结果: 注意:v-html是有复制的...

Java实现在线考试系统(系统介绍)

1.和现在有的考试系统有以下几种优势: a.和现在有的系统比较起来,本系统有科目、章节、老师、学生、班级等信息的管理,还有批阅试卷查看已批阅试卷等。传统的考试系统划分并不细,业务功能简单。 b.和学校的考试系统还有外面的考试系统比较起来,本系统是B/S结构,学校的考试系统一般为C/S结构,性能方面不如B/S结构,并且C/S接口需要安装客户端,客户端压力很大,我的系统只需要电脑具有浏览器,在同一局域...

猜你喜欢

计算机视觉--多视几何初步尝试

基础矩阵的原理 K和K’分别是两个相机的参数矩阵。p和p’是X在平面π的坐标表示。所以可以得出 具体计算过程 代码: #!/usr/bin/env python coding: utf-8 from PIL import Image from numpy import * from pylab import * import numpy as np from imp ...

java初学者怎么学习才可以快速入门

java初学者怎么学习才可以快速入门 一、了解JAVA 我们要知道:Java是由Sun Microsystems公司于1995年5月推出的Java面向对象程序设计语言。 Java之父:詹姆斯·高斯林 1.1 java的三个体系 Java SE(Java Platform Standard Edition)。Java SE 以前称为 J2SE。它允许开发和部署在桌面、服务器、嵌入式环境...

字段属性之主键&增删改查&自增长&唯一键约束

字段属性之主键&自增长&唯一键约束 主键 主键:primary key 主要的键 一张表中只有一个字段可以使用对应的键,用来唯一的约束该字段里面的数据,不能重复,这种称之为主键 一张表只能最多一个主键 增加主键 SQL操作中有多种方式增加主键大体分为三种 1.在创建表的时候直接在字段之后跟primary key关键字(主键本身不允许为空) 优点:非常直接:缺点:只能使用一个字段作为...

linux下 基于libmad的socket多用户mp3音频在线播放服务器

在众多大神的帮助下,这个在线播放流媒体服务器终于完成啦。。。。 这个mp3流媒体服务器设计的思路是,服务器程序server用多线程实现和多个客户端的通信(这是必然的),然后发送给客户端当前的音频列表公客户端选择,之后根据k客户端的选择给多个客户端传输相应mp3文件的数据,同时,客户端进行实时地音频解码并播放。 关于libmad开源mp3音频解码库的使用,见上一篇博客吧。。。。 在服务器程序这一端,...

Nginx

Nginx Nginx简介: Nginx是一个高性能的http和反向代理服务器,特点是有内存少,并发能力强,事实上Nginx的并发能力确实在同类型网页服务器中表现较好, Nginx用作web服务器:Nginx可以作为静态页面的web服务器,同时还支持CGI语言,但不支持java,java程序只能通过Tomcat配合完成。Nginx专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受...