《伟大的计算原理》“六脉神剑”认识 OpenHarmony 技术路线过

《伟大的计算原理》“六脉神剑”认识 OpenHarmony 技术路线过

文章转发自51CTO 开源基础软件社区 OpenHarmony成长计划啃论文俱乐部《伟大的计算原理》“六脉神剑”认识OpenHarmony技术路线

1. 前言

这本由两位美国海军研究生院教授写的《伟大的计算原理》深受国内行业人士的喜欢。

《伟大的计算原理》一书将计算描述为一个科学领域,具有(跨越所有计算技术以及人工或自然的信息处理的)基本原理。例如操作系统OpenHarmony、人工智能框架MindSpore等都能被描述为计算。

该书的原理框架不是重新定义计算的核心知识,而是提供了一种看待所有计算领域并降低其表面复杂性的新方式。本书提供了一个面向整个计算机科学的普适性方法,采用关于计算重要原理的框架去提供一种有效的方式去分析特定技术所涉及的基本原理。这种框架也可以用来分析特定计算应用领域背后的计算基本原理,在这些领域中,具有不同技术和工作背景的人之间相互配合解决该计算应用领域中存在的问题。

本文力求以最短篇幅提炼《伟大的计算原理》一书介绍的认识某项领域技术路线的方法,该方法对认识OpenHarmony技术路线提供了一种思路,也对认识其它领域的技术路线有一定参考意义。笔者将书中提到的“计算原理框架”形容为武功“六脉神剑”,则计算原理框架内的计算原理分为六剑——通信少泽剑) 、计算少冲剑)、协作关冲剑) 、记忆/存储中冲剑)、 评估 (商阳剑)和 设计少商剑)。

2. 计算原理

计算机科学与很多其他领域相互交叉。许多科学与工程领域都有计算分支,如计算物理、计算化学、生物信息学、数字化产品设计与制造、计算社交网络。

在商业领域,诸如“大数据”“云计算”“人工智能”等我们需要一种新的方法来刻画计算,就像点赞收藏回复一键三连之于笔者文章,望远镜之于天文学、显微镜之于生物学,该书强调了一点计算机是计算的工具,而非计算的研究对象。

本书的重要原理框架( great principles framework)就是这样一种新的方法。它将计算原理分为6个类别:通信计算协作记忆(存储)、评估设计

每一种计算领域都利用了这些类别的原理。这个框架是广泛和全面的,覆盖了计算的每个部分,包括算法、系统和设计。(每一类基本原理反映了对计算的一种视角,即观察计算领域知识空间的一扇窗口。)多数计算技术都涉及到这六类基本原理。这些基本原理类别表现了人们对计算的某种认知视角。这种划分框架能一定程度上扩展人们对计算本质的认知。

同时,这六类基本原理也不是完全不相交的。例如,互联网既可以从通信系统的角度理解,也可以从协作系统或记忆系统的角度理解。大多数计算技术都涉及对这6类基本原理的不同组合:每一类基本原理在这种组合中具有不同的权重,但每―类基本原理都确实存在。这些基本原理类别表现了人们对计算的某种认知视角。

类型关注点示例
通信信息在不同位置之间的可靠传输最小长度代码,错误修复代码,文件压缩,加密解密
计算可计算性问题计算复杂性的分类,不可计算问题的特点
记忆信息的表示、存放与读取所有的存储系统具有层级结构。没有任何一个存储系统能够实现对不同存储信息的等时访问。局部性原理:所有的计算都会密集访问所依赖数据集中的一个子集。
协作有效地利用多个自主的计算实体使得所有参与者具有相同知识的协议,能够消除不确定性结果的协议,或同步协议。选择不确定性原理。
评估度量系统是否表现出预期的计算行为采用排队网络模型预测系统的吞吐量和响应时间。设计实验来测试算法和系统。
设计通过特定结构的软件系统实现可靠性复杂系统可以被分解为一组交互的模块和虚拟机。模块之间可以形成层级结构。

3. 基本原理框架和面向应用领域的框架正交

3.1 基本框架正交

一条基本原理可能会出现在多个领域中,而一个领域可能会依赖于多条基本原理。

被领域依赖的基本原理其演化速度远低于技术领域的演化速度。如果跟进计算技术框架,会经常无所适从,各种崩溃,但是如果把焦点转移放在对计算原理框架的理解上,会容易的多。

该门武林绝学就是建立在“对于学习者来说,理解计算原理框架比计算技术框架更容易”的认识上。

虽然这两种框架具有很大的差异性,但它们也存在紧密的关联。为了更形象地感受到这种紧密关联,我们可以想象一个二维矩阵每行代表一个领域,每列代表一类基本原理,所有的单元格则代表了特定方面的知识空间。

3.2 以基本原理框架为锚点

可以以某一基本原理框架为锚点,罗列一个基本原理涉及的所有技术,即对应于矩阵中的一列。

3.3 以某技术领域为锚点

也可以从一个技术领域出发,以某一技术领域为锚点,分析它涉及的基本原理,即对应于矩阵中的一行。

对于初学者,理解计算原理框架远远比理解技术框架更容易,我们用原理框架去涵盖一个计算领域的技术框架,我们就能很轻易地获得该领域的全知视角。

4. 增加人、问题和新的基本原理因素

如果在此基础上我们增加3个方面的关注点形成该领域的4个因素:

  • 涉及哪些人;
  • 关注什么问题;
  • 涉及哪些计算基本原理;
  • 如何为计算和所在领域带来新的基本原理。

就可以涵盖该领域更为广阔的内容。

我们再看一下安全的例子:

5. 总结和展望

本文岂在建立一个可以作为我们分析任何计算技术领域的一种模版化思维方法。希望该门武林秘籍关于基本计算原理的讨论会让各位开发者侠客们对“计算之道”有更为深入的理解和掌握。

“六脉神剑”构建一个关于计算的全景视角(技术地图),文章篇幅限制,并没有叙述《伟大的计算原理》中的招式详解,仅点到为止。而更深层次的知识则需要各位侠客自己不断去发现,吸收,并将它们归纳起来去融入自己的血脉。

写在最后

OpenHarmony 成长计划—“啃论文俱乐部”(以下简称“啃论文俱乐部”)是在 2022年 1 月 11 日的一次日常活动中诞生的。截至 3 月 31 日,啃论文俱乐部已有 87 名师生和企业导师参与,目前共有十二个技术方向并行探索,每个方向都有专业的技术老师带领同学们通过啃综述论文制定技术地图,按“降龙十八掌”的学习方法编排技术开发内容,并通过专业推广培养高校开发者成为软件技术学术级人才。

啃论文俱乐部的宗旨是希望同学们在开源活动中得到软件技术能力提升、得到技术写作能力提升、得到讲解技术能力提升。大学一年级新生〇门槛参与,已有俱乐部来自多所高校的大一同学写出高居榜首的技术文章。

如今,搜索“啃论文”,人们不禁想到、而且看到的都是我们——OpenHarmony 成长计划—“啃论文俱乐部”的产出。

OpenHarmony开源与开发者成长计划—“啃论文俱乐部”学习资料合集

1)入门资料:啃论文可以有怎样的体验  

https://docs.qq.com/slide/DY0RXWElBTVlHaXhi?u=4e311e072cbf4f93968e09c44294987d

2)操作办法:怎么从啃论文到开源提交以及深度技术文章输出https://docs.qq.com/slide/DY05kbGtsYVFmcUhU  

3)企业/学校/老师/学生为什么要参与 & 啃论文俱乐部的运营办法https://docs.qq.com/slide/DY2JkS2ZEb2FWckhq

 4)往期啃论文俱乐部同学分享会精彩回顾: 

同学分享会No1.成长计划啃论文分享会纪要(2022/02/18)  https://docs.qq.com/doc/DY2RZZmVNU2hTQlFY  

同学分享会No.2 成长计划啃论文分享会纪要(2022/03/11)  https://docs.qq.com/doc/DUkJ5c2NRd2FRZkhF  

同学们分享会No.3 成长计划啃论文分享会纪要(2022/03/25) 

https://docs.qq.com/doc/DUm5pUEF3ck1VcG92?u=4e311e072cbf4f93968e09c44294987d

现在,你是不是也热血沸腾,摩拳擦掌地准备加入这个俱乐部呢?当然欢迎啦!啃论文俱乐部向任何对开源技术感兴趣的大学生开发者敞开大门。

扫码添加 OpenHarmony 高校小助手,加入“啃论文俱乐部”微信群

后续,我们会在服务中心公众号陆续分享一些 OpenHarmony 开源与开发者成长计划—“啃论文俱乐部”学习心得体会和总结资料。记得呼朋引伴来看哦。