写点什么

中国基础软件的发展趋势

  • 2022-10-17
    北京
  • 本文字数:3494 字

    阅读完需:约 11 分钟

中国基础软件的发展趋势

中国基础软件,包括操作系统在内的各项基础软件发展非常迅速,给整个产业带来了极大的变化。我们认为中国基础软件的发展包括计算无所不在、摩尔定律失效、开源吞噬世界以及中国的重新崛起等阶段,通过对当前中国基础软件产业发展趋势的讨论,我们可以得到和看到未来的市场、产品与技术的发展,为公司与个人的发展打下基础。

 

本文整理自统信软件产研中心 CTO 张磊在DIVE全球基础软件创新大会 2022的演讲分享,主题为“中国基础软件的发展趋势”。

分享主要分为五个部分展开:第一部分计算无所;第二部分摩尔定律失效;第三部分万物互联互通;第四部分开源吞噬世界;第五部分中国重新崛起。

 

以下为整理内容。

计算无所


统计局数据表明,从 2000 年到 2021 年,中国网民从 2300 万一直涨到了 10 亿 1100 万,手机网民从 2007 年的 3000 万一直涨到了 2021 年的 10 亿 1000 万。2000 年中国信息传输软件核心技术服务业的法人单位大概有 2 万多个,到 2019 年有 100 多万个,最近 20 年中,整个信息产业的用户人数和法人单位数增加了有几十倍,取得了非常高速的增长。


今天,在中国每一个人基本上都有手机,这意味着我们原来的用户从专业用户成为了普通消费者,那么面临着第一个问题就是我们的 UI 和 UE 要变得越来越易用,UI/UE 与工业设计日新月异。2021 年主要的几家操作系统厂商对他们的用户界面易用性做了很大的改进。


由于学习门槛高,C/C++开发人员日益稀少,新语言、低代码与语法糖遍地开花。同时,开发者也在快速增长。据 2019 年数据报告,2018 年全球开发 2,300 万人,2023 年或可达 2,770 万人,其中中国增长最快。中国 1265 所本科院校理工科大部分均有计算机系,每年计算机专业毕业生超过 10 万人,而缺口却远超 10 万,快速增长的科班生仍然无法满足需求。


随着越来越多的数据存放到各种各样的计算设备上,包括个人数据、单位数据、政府数据,大家越来越重视安全与隐私。2013 年,著名的棱镜门事件被曝光。2017 年和 2018 年我们国家的网络安全法和欧洲的GDPR正式发布生效。2020 年我们国家的密码法正式开始施行,个人信息保护法草案发布。2021 年发布了很多重量级的安全相关法案,包括数据安全法、关键信息基础设施安全保护条例、个人信息保护法。




软件管理方面也发生了重要变革。如图显示的软件依赖已经相当复杂,那么这意味着什么呢?这意味着我们的软件管理方式越来越复杂。主要原因是,上个世纪我们面临特别昂贵的带宽内存和硬盘,软件包要尽可能的小才能够比较经济的进行传输和安装,但是到了今天,软件数量、用户数量和软件开发者数量都非常快的增加,开发者与软件依赖关系的数量从 O(n)变成了 O(n2),远远超出我们能够维护的成本。所以我们要对软件的治理方式进行新的革新,包括安卓和 IOS 已经在探索基于证书、软硬结合的软件治理方式。


网民和开发者的快速增长,计算设备和软件管理的巨大变革给我们提出了新的挑战,也带来了新的机遇:


  • 更人性化,更具沉浸感的产品,如元宇宙

  • 更高效与安全的软件开发理论、方法与工具

  • 全生命周期、更大粒度的软件治理体系

  • 移动计算、云计算、异构计算

摩尔定律失效



CPU 增长速度主要是用晶体管数量来进行衡量的。最近几年晶体管的数量,从指数增长慢慢平滑下来,而 GPU 最近几年晶体管的数量增长速度也在下降。


异构计算方兴未艾,最近有越来越多的计算设备、软件产品涌现出来:


  • GPU:高速多核并行计算与更高的访存速度,深度学习的使能者

  • FPGA:灵活可编程,各专用领域性能优异,2015 年英特尔公司收购了 Altera,2020 年,MD 公司收购了 Xilinx

  • ASIC:体积小、功耗低、高可靠性、保密性强、计算性能更高,广泛应用于矿机与 AI

  • DSA:XPU、TPU、DPU、IPU、NPU、GPGPU 等

  • 软件:CUDA、OpenCL、SYCL、oneAPI、VOCA 等

 

同时并行计算和分布式计算也焕发了新春,处理器的核数持续增加,SMP、AMP 和 NUMASNP 的研发在各个操作系统里面迭代深入。传统的函数式编程、多线程和携程的研究焕发着新春,但是在并行算法和并行库方面仍然做得不够好。分布式的协议和实现重新兴起,包括:map-reduce、paxos、raft 等等。


很多以前的经典方案也在部分失效,比如中断优于轮询、处理器快于外设。大规模标准化硬件的没落,带来很多变化:比如软件定义一切、敏捷的硬件开发以及产品的个性化设计。以前我们有句话叫 What Andy gives, Bill takes away?是说任何硬件上的优化都可以被软件给吞噬掉,但是现在由于硬件的发展逐渐变慢,软件的优化变得再度重要起来。


随着摩尔定律的逐渐失效,软硬件的发展变化给我们带来了哪些挑战和机遇呢?


  • 混合架构、异构计算与云计算

  • 更多更好的并行计算与分布式计算的理论与实现

  • 软件优化与效能比

  • 模块化、接口化、定制化

万物互联互通


中国带宽呈高速增长之势,北京宽带从 2000 年的 56K 猫,到 2021 已经发展成了 1000M 光纤入户。同时相关的技术也得到很快发展,传统的网络协议栈进行了优化,现在有了 Quick、BVR、用户态协议站等等;在通信技术上有了 MQDD、NFC 等;在软硬结合上有了 RDA。


在网络应用方面,我们首先经历了互联网大潮,又经历了移动互联网大潮。我们的智能手机能够支持非常丰富的网络应用,ChromeOS 能够基于 Web 访问各种 Web 应用。因为网络的繁荣,我们有了短视频、云桌面、云游戏,现在甚至还有了元宇宙。


那么在万物互联互通这方面,我们遇到什么挑战?又给我们提供了什么机遇?


  • 云计算的进一步发展

  • 低能耗通讯、低延迟通讯、用户态协议栈

  • 多端融合、VR/AR、元宇宙

 

开源吞噬世界


《阿甘正传》开头有这么一句话,大意是每次打开巧克力盒都会给你惊喜,因为你有可能吃到不同的巧克力。但是对于开源来说,这个巧克力盒是个透明的。开源在各个方面取得了非常多的成果,在软件方面有著名的 Linux,还有OpenStack、Google 浏览器、Node.js 等等;在硬件方面有 ARDUINO、树莓派;在指令集方面有 RISC-V;在固件和芯片设计方面有 coreboot,Linuxboot、PDK、CIRT。


从我们这十几年和开源社区的交互和开源方面做的努力来看,开源在技术软件方面是大势所趋。你要在中国做开源,至少需要根植中国,源汇四海。我们的团队是中国团队,需要首先做出我们自己优秀的产品,才能够让开源社区获得支持,才能够吸收各个开源社区的优秀产品,让优秀的软件变成你自己的东西。2000 年的时候,我们只需要面对专业用户,而现在需要面对的是更多新的普通用户,我们需要造更好的轮子,而不是停留在更加古朴的、更加朴素的轮子上面。如果说你要参与开源社区,需要从小做起,不要害怕。只要多折腾,多使用开源软件,可能就会发现问题,发现问题就多拍砖,不用害羞。非常欢迎你多提交你的代码、提交 Issue,也可以提交 PR。


那么在当前开源成为了趋势的情况下,我们有什么其他的挑战?


  • 开源与盈利是否难以兼得,怎样尊重贡献者与鼓励贡献?

  • 老一代开源社区后继无人,如何继承并超越?

  • 社区、爱好者、企业与政策应如何协同?

 

中国重新崛起


中国的信息产业在最近这几年发展非常迅速。它主要来自于两个原因:第一原因是我们希望网络安全,它与国家安全息息相关。另一个原因是产业升级,信息产业是高科技产业,如果希望经济再上个台阶,就需要在高科技产业方面做到产业升级。现在在市场方面面临着一个巨大的变革,这个巨大的市场变革也带来非常大的挑战和机遇。这是世界范围内的信息产业的最大变数。


我们现在面临的风口市场每年的增长速度大概是从百分之百到百分之一千。我们现在已经越过了小规模试点这个范围,已经在 2G 的领域进行了大规模的推广。下面还会在 2B 领域进行试点,在这些试点得到成功和规模化之后,相信一定能够在 2C 领域得到比较大的升级。我们现在面临的用户主要是极客,下面会把它逐渐推广到普通用户,再往下走,我们相信它一定能够走到大众用户,也就是最终的消费者。


大家都相信,开放能够铸就繁荣。首先在政策方面,产业政策是起着引领作用,在逐渐走向开放;在技术方面,大家都普遍有一个共识,基础软件和基础硬件的技术肯定会逐渐转向开源,技术上走开源路线;在生态方面,从原来的小圈子,逐渐向更大的生态,包括软件开发商、硬件开发商,也包括我们的开发者和用户,是一个开放的生态;同时在这些开源和开放的前提下,我们就可以做非常好的协作开发和协作分工。


但是,如果要做到持续发展,在技术侧和产品侧要做更多的创新。传统的软件销售可能主要基于 License,现在我们有了更多的商业模式,比如说服务、应用商店,还有我们所熟知的互联网模式。这是商业模式创新。


同时,我们可以看到很多的产品方面的创新,它们基于旧有产品,超越旧有产品,基于上述产业趋势发展进行了创新,如多端 融合、异构计算、安全体系建设。当然产品创新本身需要有技术支撑,我们可以借助于开源社区和开源技术,站在开源和开放的巨人的肩膀上,面对上述的市场挑战、商业模式挑战和产品挑战,从而最终赢得技术挑战。

2022-10-17 21:112672

评论

发布
暂无评论
发现更多内容

一口气说出 OAuth2.0 的四种授权方式

程序员小富

Java oauth2.0

计算机中短期学习路线

zack

你可能还不知道自己无知

小天同学

读书 智能时代 信息噪声 高考

kafka监听mysql实时数据变更

爱java爱自己

MySQL mysql事务

干货 | 如何评估Kubernetes持久化存储方案

焱融科技

Kubernetes 容器 云原生 k8s

国内首本CTF赛事技术解析书籍,五年之约,兑现了!

华章IT

网络安全 Web CTF Reverse PWN

计算机操作系统基础(十四)---线程同步之条件变量

书旅

php laravel 操作系统 进程 线程’

让Go“恐慌”的十种方法

博文视点Broadview

Go 语言

架构师训练营——第5周学习总结

jiangnanage

很多人毕业多年以后,还是改不掉学生思维

小智

职场 思维方式 高考

话题讨论|作为一名程序员,你下班之后都会做些什么?

InfoQ写作社区官方

写作平台 话题讨论 话题 热门活动

Redis-进阶篇一

多选参数

数据库 redis redis高可用 redis6.0.0 Redis项目

分布式缓存总结

罗亮

游戏夜读 | 关卡设计的难点

game1night

Scrum Master与Project Manager的区别

Mew151

Scrum

第 5 周作业:一致性 Hash 算法

姜 某某

架构师训练营第5周

大丁💸💵💴💶🚀🐟

SpringBoot 中使用 Filter 的正确姿势

Java课代表

架构师训练营第五周作业

一剑

第5周结构师训练营——作业

jiangnanage

架构师训练营 W5 作业

Kun

极客大学架构师训练营

架构师训练营第五周作业

talen

朱嘉明教授获2020杭州区块链国际周“特别致敬奖”

CECBC

CECBC 朱嘉明 区块链国际周 特别致敬

这份高考卷,只有程序员能得满分...

程序员生活志

程序员 高考

作业

chenzt

第五周作业

Linuxer

极客大学架构师训练营

一致性hash的理解与实现

dongge

女同事问哪吒什么是 Spring 循环依赖?我...

通天哪吒

啃碎并发(三):Java线程上下文切换

猿灯塔

Spring核心原理解析

Chank

Java spring

Ceph数据恢复初探

焱融科技

焱融科技 文件存储 分布式存储 数据恢复 Ceph

中国基础软件的发展趋势_开源_张磊_InfoQ精选文章