【假期充电站】张磊:中国基础软件的发展趋势
口述 | 张磊,统信软件高级副总经理、CTO
审校 | 刘燕 来源 | AI前线
【编者按】
十一假期来临,我们特别精选了部分统信软件技术趋势和成果,打造了一个假期充电站,以期在欢度佳节的同时,为大家提供一份精神午餐。---------------------------------中国操作系统的发展已经进入从“可用”到“好用”、从弱到强的全新时代。统信软件作为其中的佼佼者,其发展路径也为更多中国基础软件的成长提供了参考。不谋全局者,不足以谋一域。统信软件通过对中国基础软件发展规律、趋势的思考与探索,摸清产业发展的脉络,使得其能真正从技术发展的本质出发。
中国基础软件,包括操作系统在内的各项基础软件发展非常迅速,给整个产业带来了极大的变化。我们认为中国基础软件的发展面临着计算无所不在、摩尔定律失效、开源吞噬世界以及中国的重新崛起等重要趋势。通过对当前中国基础软件产业发展趋势的讨论,我们可以看到未来的市场、产品与技术的发展前景,为公司与个人的发展打下基础。
计算无所不在
根据 CNNIC 与国家统计局数据表明,从 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(n^2),软件之间依赖关系的复杂度增长远远超出了开发维护人员的增长。所以,我们要对软件的治理方式进行新的革新,包括安卓和 iOS 已经探索了基于证书、软硬结合的软件治理方式,服务器也越来越多地使用了基于虚拟机与容器的方式进行软件治理。
网民和开发者的快速增长,计算设备和软件管理的巨大变革给我们提出了新的挑战,也带来了新的机遇:更人性化、更具沉浸感的产品,如元宇宙;更高效与安全的软件开发理论、方法与工具;全生命周期、更大粒度的软件治理体系;移动计算、云计算、异构计算。
摩尔定律失效
CPU增长速度主要是用晶体管数量来进行衡量的。最近几年,晶体管的数量,从指数级的增长慢慢平滑下来,而GPU最近几年晶体管数量的增长速度也在下降。
由此带来了多种计算设备登场,异构计算方兴未艾,最近,越来越多的计算设备与相关的软件产品涌现了出来:GPU:高速多核并行计算与更高的访存速度,深度学习的使能者;FPGA:灵活可编程,各专用领域性能优异,2015 年,英特尔收购了 Altera,2020 年,AMD 公司收购了 Xilinx;ASIC:体积小、功耗低、高可靠性、保密性强、计算性能更高,广泛应用于矿机与 AI;DSA:XPU、TPU、DPU、IPU、NPU、GPGPU 等;软件:CUDA、OpenCL、SYCL、oneAPI、VOCA 等;同时,并行计算和分布式计算也焕发了新春,处理器的核数持续增加,SMP、AMP 和 NUMA 的研发在各个操作系统里迭代深入。
传统的函数式编程、多线程和线程的研究焕发着青春,但在并行算法和并行库方面仍然做得不够好。分布式的协议和实现重新兴起,包括:map-reduce、paxos、raft 等等。
很多以前的经典方案也在部分失效,比如中断优于轮询、处理器快于外设。大规模标准化硬件的没落,带来了很多变化:比如软件定义一切、敏捷的硬件开发以及产品的个性化设计。以前我们有句话叫“What Andy gives, Bill takes away?”,是说,任何硬件上的优化都可以被软件给吞噬掉,但现在由于硬件的发展逐渐变慢,软件的优化再度变得重要起来。
随着摩尔定律的逐渐失效,软硬件的发展变化带来了很多挑战和机遇:混合架构、异构计算与云计算;更多更好的并行计算与分布式计算的理论与实现;软件优化与效能比;模块化、接口化、定制化。
万物互联互通
中国带宽呈高速增长之势。北京宽带从 2000 年的 56K(每小时 5 元),到 2021 已经发展成了 1000M 光纤入户。同时相关的技术也得到很快发展, 传统的网络协议栈进行了优化,现在有了 Quic、BBR、用户态协议栈等;在通信技术上有了 MQTT、NFC 等;在软硬结合上则有 RDMA。
在网络应用方面, 我们首先经历了互联网大潮,又经历了移动互联网大潮。我们的智能手机能够支持非常丰富的网络应用,ChromeOS 能够基于 Web 访问各种 Web 应用。因为网络的繁荣,我们有了短视频、云桌面、云游戏,现在甚至还有了元宇宙。
那么在万物互联互通这方面,我们面临的挑战与机遇包括:云计算的进一步发展;低能耗通讯、低延迟通讯、用户态协议栈;多端融合、VR/AR、元宇宙。
开源吞噬世界
《阿甘正传》开头有这么一句话, 大意是人生就像一盒巧克力,每次打开它都会给你惊喜,因为你永远都不知道下一个巧克力是什么样的。但对于开源来说,这个巧克力盒是透明的,我们永远都可以选择下一块巧克力。开源在各个方面取得了非常多的成果,在软件方面有著名的 Linux,还有 OpenStack、Google 浏览器、Node.js 等等;在硬件方面有 ARDUINO、树莓派;在指令集方面有 RISC-V;在固件和芯片设计方面有 coreboot、Linuxboot、PDK、CIRCT。
从我们这十几年和开源社区的交互和开源方面做的努力来看,开源在基础软件方面是大势所趋。我们在中国做开源,需要根植中国,源汇四海。我们的团队是中国团队,需要首先做出我们自己优秀的产品,才能够让开源社区获得支持,才能够吸收各个开源社区的优秀产品,让优秀的软件变成你自己的东西。
2000 年的时候,我们只需要面对专业用户,而现在需要面对的是更多新的普通用户,我们需要造更好的轮子,而不是停留在相对难用的、更加朴素的轮子上面。如果说你要参与开源社区,需要从小做起,不要害怕。只要善于折腾,多使用开源软件,可能就会发现问题,发现问题就多拍砖,不用害羞。非常欢迎你多提交你的代码、提交 Issue,当然也欢迎向我们提交 PR。
那么,在当前开源成为了趋势的情况下,我们需要迎接什么挑战呢:开源与盈利是否难以兼得,怎样尊重贡献者与鼓励贡献?老一代开源社区后继无人,如何继承并超越?社区、爱好者、企业与政策应如何协同?
中国重新崛起
中国的信息产业在最近这几年发展非常迅速。它主要得益于两个原因:第一是,用户希望网络安全,它与国家安全息息相关。另一个原因是产业升级,信息产业是高科技产业,如果希望经济再上个台阶,就需要在高科技产业方面做到产业升级。现在在市场方面我们面临着一个巨大的变革,这个巨大的市场变革也带来了非常大的挑战和机遇。这是世界范围内信息产业的最大变数。
我们现在面临的风口市场,每年的增长速度大概是从百分之百到百分之一千。我们现在已经越过了小规模试点这个范围,已经在 2G 的领域进行了大规模的推广。下面还会在 2B 领域进行试点,在这些试点得到成功和规模化之后,相信一定能够在 2C 领域得到比较大的升级。我们现在面临的用户主要是极客,下面会把它逐渐推广到普通用户,再往下走,我们相信它一定能够走到大众用户,也就是最终的消费者。
大家都相信,开放能够铸就繁荣。首先在政策方面,产业政策起着引领作用,在逐渐走向开放;在技术方面,大家都普遍有一个共识,基础软件和基础硬件的技术肯定会逐渐转向开源,技术上走开源路线;在生态方面,从原来的小圈子,逐渐向更大的生态,包括软件开发商、硬件开发商,也包括我们的开发者和用户,这是一个开放的生态;同时在这些开源和开放的前提下,我们就可以做非常好的协作开发和协作分工。
但是,如果要做到持续发展,在技术侧和产品侧就要做更多的创新。传统的软件销售可能主要基于 License,现在我们有了更多的商业模式,比如服务、应用商店,还有我们所熟知的互联网模式。这是商业模式创新。
同时,我们可以看到很多产品方面的创新,它们基于旧有产品,超越旧有产品,基于上述产业趋势发展进行了创新,如多端融合、异构计算、安全体系建设。当然产品创新本身需要有技术支撑,我们可以借助于开源社区和开源技术,站在开源和开放的巨人的肩膀上,面对上述的市场挑战、商业模式挑战和产品挑战,从而最终赢得技术挑战。
新闻来源:AI前线
编辑审校:市场部
往期精彩回顾2022-10-01
2022-09-30
2022-09-30