传输和计算

我本胡言乱语。

昨天的一篇短文:
通用计算机器
今天假期最后一天,接着说几句。

图灵机将步骤按照时间展开,替代将部分空间中连线延展,成就了通用计算机器,我们现在的计算机都是图灵机的形式。

这就必然会有内存和CPU之间的通信,就算如火如荼的存内计算也不过是小范围优化,既然词中还有“存”,便没有改变本质,内存和CPU依旧两隔。

但时间展开和空间展开真的就是固然对立的吗?非也。

虽然计算组件不能在空间扩展,因为太占地方,但已经按照时间扩展的步骤却可以自由组合和递归,实现新的功能。这便是Unix哲学的实例了。

组合使用命令,cat a|grep skinshoe|wc -l就是一个例子。

好了,该总结“道”和“法”了。

为了通用,在最底层,将一个任务拆成不同步骤,这些步骤在时间轴展开分时复用计算元组件。这就形成了一个通用的“软件核”,剩下的便是空间展开的外围了。

软件核之间需要信息交互,信息交互最终落实到传输,目之所及的正确做法是,只传输结果,不传输过程,过程封装在软件核中。

结果就是端到端原则。背后的逻辑是:

  • 传输希望bit不被改变,过程传输需要端到端容错,只传结果可增效。
  • 计算希望bit被改变,避免传输过程可让bit的改变发生得更快。

只传输结果不传输过程,意味着交互的消息始终是无状态的,除了端到端,中间介质无需维护任何状态,只需尽力而为。

其实,在软件核的层次,这个规律依然适用,Load/Store指令在CPU和内存之间传递的就是结果,所有的过程只在CPU中完成。

微内核,云原生微服务,无不如此,消息交互。

可是看起来又有例外不是吗?RIP,STP等协议确实是在彼此交互过程,最终收敛到一致的结果,如何解释?这叫分布式计算,你把所有参与者作为一个整体看待,它便又是一个软件核了,若不当一个整体看待,单凭这些参与方彼此交互过程,是无法扩展规模的。

所以,大规模分布式计算一直都是通用计算的对立面。

人脑偏向于哪一个?AI的选择呢?

浙江温州皮鞋湿,下雨进水不会胖。

原文链接: https://blog.csdn.net/dog250/article/details/124567810

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍;

也有高质量的技术群,里面有嵌入式、搜广推等BAT大佬

    传输和计算

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/405529

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年4月26日 上午9:15
下一篇 2023年4月26日 上午9:16

相关推荐