由《失控》引发的对分布式系统的联想
起因是帮一个申请留学的大学毕业学写研究计划,可能对自己以后有启发,所以记下来。
只是研究计划的草稿,所以草草写完,没做深入调查。
我写的草稿记录如下:
分布式系统相关的联想
最初听说分布式概念并产生兴趣:
PlayStation3 的 folding@home https://en.wikipedia.org/wiki/Folding@home
Folding@home利用联网的电脑和PS3的处理能力来模拟蛋白质折叠,最终帮助研究人员研究如老年痴呆症和癌症等疾病。第一次认识到的分布式系统和分布式系统的强大。 并产生了浓厚的兴趣。
进而对分布式有了初步的了解。
首先了解到了分布式计算,诸如 MapReduce, Hadoop 等
然后为了支撑分布式计算,有了分布式文件系统,诸如 HDFS, ceph, GlusterFS 等
再往后发展,分布式的思想影响到软件系统的开发,引发了微服务(microservice)替换单体应用的歌名。
由此可见,分布式是一个趋势,很希望从事相关研究。
对分布式系统最初的理解:
Linux 的哲学:Do one thing and do it well. 分布式系统每个部分负责一个功能,然后组合起来就可以做很复杂的事。
软件领域的哲学:如果单体软件不能解决,那就分层。没有什么软件难题是分层解决不了的。分布式系统的理念就是如此,系统负荷和复杂程度到了单机无法解决的程度,那就分层,使用分布式操作系统进行拆解。
读过的相关的书:
Out of Control: The New Biology of Machines, Social Systems, and the Economic World《失控》
Programming Collective Intelligence 《集体智慧编程》
《失控》这本书中的故事:
自然界的智慧中比较伟大的一种就是 “集体智慧”,多个个体总成的集体体现出的智慧超过个体的总和。并且这种智慧是自然而然发生的。美国教授做了一个实验,500个人坐在一个屋子中,一同玩控制一个飞机飞行的电子游戏:
每个人有几个按钮,控制飞机前进后退和上升下降,计算机识别每个人的指令,然后根据总体结果做出动作的决策。整个过程每个人完全是自发的,没有人进行规划,管理。令人惊奇的是,最终飞机不仅能平稳飞行,还能做出在空中翻转等复杂动作。但是目前还无法解释清楚这一切是如何发生的。
由此联想到和分布式操作系统的关系:
自然界展现出的集体智慧和群体行为,有很多是 “无监管的”, “自发的”
但目前成熟的分布式系统一般是有有监管的,也就是说,一般是有一个 Manager 或者 Master 来对其他部分进行管理,调度。这样当系统负荷巨大时,可能会导致在 Master 这部分产生瓶颈(bottle neck)因而限制进一步提升分布式系统整体性能。
如果能将自然界中无监管的行为模式应用到分布式系统中,设计出新型“自发”“无监管”的分布式系统,可能将会大幅提升分布式系统性能并有可能改变整个分布式系统格局。