已迭代1.3亿年的分布式系统——Anternet

云计算 分布式
斯坦福大学的研究小组发现沙漠蚂蚁的觅食方式与调节互联网数据流量的TCP协议很类似,他们将蚁群系统称为Anternet。Anternet和互联网都使用了正向反馈:TCP协议中会发确认触发下一个数据包的传送,蚁群网络中满载而归的蚂蚁会引导其它蚂蚁出去觅食。

你有没有注意过蚁群是如何寻找食物的?和我们的互联网系统很类似,每个蚂蚁单独行动搜集食物信息,再汇集到一起不断调整路径,直到形成一条最优路径,但是在这个过程中没有任何的中央控制。

斯坦福大学的研究小组发现沙漠蚂蚁的觅食方式与调节互联网数据流量的TCP协议很类似,他们将蚁群系统称为Anternet。Anternet和互联网都使用了正向反馈:TCP协议中会发确认触发下一个数据包的传送,蚁群网络中满载而归的蚂蚁会引导其它蚂蚁出去觅食。

相信每个知道这项研究的人都会惊叹于这些蚂蚁的别出心裁,竟然在几百万年前就开始使用这种智能的互联网算法了。那么还有什么是蚂蚁已经做到,而我们人类还不知道的?

 

[[77240]]

 

Anternet对下一代互联网的启示

蚂蚁有1.3亿年左右的历史,已经进化到可以适应特定环境的多变性和约束。

蚁群利用简短交流的动态网络来适应周围环境的变化。每个蚂蚁个体并不知道发生了什么,每个蚂蚁只是根据最近遇到的蚂蚁确定路线:或者是一对一的互碰触角,或者是根据其它蚂蚁在路上留下的化学分泌物。

这种蚁群网络使蚂蚁拥有了惊人的多样性,多达11000种的蚂蚁遍布地球每一个角落。所以Anternet以及其它蚁群网络可以给我们很多启示。或许我们的信息网络建设可以参考下蚂蚁协议。

解决高操作成本问题

收获蚁(蚂蚁的一种)蚁群在沙漠中寻找水的过程也会消耗水。蚂蚁在烈日下觅食时会丢失水分,这时他们会从存储的种子中吸取水分。因为蚁群会存储种子,它们的正向反馈系统使得在水源不好找时,蚂蚁可以不必浪费精力外出觅食,即使这意味着他们要在天气更湿润时存储一些种子。

Anternet通过这种方式处理高操作高成本问题。在互联网中,TCP协议也可以防止系统在带宽不可用的情况下,在互联网上发送数据。除非是确定信息可以到达目的地,否则发送是不值得的。

作者最近刚发表了一篇文章说明自然选择目前是如何优化Anternet的算法的。作者对300个收获蚁群进行了超过25年的研究,并且通过基因指纹研究了哪些蚁群有更多的后代蚁群。研究发现,在炎热的天气里保持体力不外出觅食的蚁群有更多的后代。

面对资源稀缺情况,蚂蚁是最小化运营成本而不是增大存储量。这是一个可持续发展战略,对于类似沙漠蚁群或移动互联网的系统,这都是保持长期可靠性同时避免浪费精力的重要措施。

扩展性

当系统规模扩展时会发生什么?就像人类设计的系统,蚂蚁系统也会随着蚁群的壮大而调整优化,还要有“容错能力”。

由于大型系统难免会有一些混乱,所以理想的解决方案是利用每一个额外蚂蚁的贡献,从这些蚂蚁中获得的益处远远大于喂养蚂蚁的成本。大型蚁群系统的最好工具是冗余和最小化信息量。庞大的蚁群中,各个蚂蚁之间的简单交流并不需要知道各个蚂蚁的详细信息。

在工程系统中,随着网络规模的扩大,我们也在利用一些廉价操作寻找确保可靠结果的解决方案。优雅的自顶向下设计的确有吸引力,但是蚁群算法的鲁棒性表明,容忍一些不完美有时会导致更好的解决方案。

优化先发优势

蚁群算法的多样性表明了进化系统是如何响应环境约束的。当操作成本较低或蚁群寻找暂时的美味佳肴时,比如寻找花蜜或西瓜皮,抢占先机很重要。由于蚁群互相竞争,第一个找到食物的就有最好的机会。

一个蚁群在没有任何中央控制的情况下如何获得这种先发优势呢?蚂蚁使用的一个策略(接近于我们的数据网络)是建立一个永久的高速回路(就像手机发射塔网络),蚂蚁们就在沿路进行搜索。阿根廷蚂蚁很擅长这个,它们会找到任何落在厨房柜子上的面包屑。阿根廷蚂蚁也会调整自己的路线,一开始很多蚂蚁会在附近的随机游走,每只蚂蚁都会在一个小范围内彻底搜查,到后来会有一个更直接的路线,周围的蚂蚁会减少,从而整个蚁群可以覆盖更大的范围。

就像一个分布式的需求响应网络一样,虽然没有任何的中央控制,每只蚂蚁对本地情况的响应聚合在一起为产生了整个系统的结果。

解决安全漏洞

在热带地区,数百种蚂蚁聚集在一起竞争资源,蚁群必须要处理安全问题。这导致了使用本地信息进行入侵检测和响应的安全协议的进化。

一个蚁群可能会“偷窃”另一个蚁群的信息来寻找资源,例如其它蚁群蚂蚁的化学分泌物或蚂蚁分布密度。为了应对这种入侵行为,蚂蚁们采取了一种松散的、随机的身份认证系统,而不是试图完全杜绝这种行为。

这与计算机的安全系统有明显的相似之处,很显然我们也需要实现对入侵的本地评估和修复。蚂蚁并没有建立一个中央集权来监管黑客,但它们已经找到了应对入侵的策略。

灾难恢复

灾难恢复协议可以参考蚂蚁在树上觅食的过程,因为树枝有可能会断裂。在一个网络回路中,考虑到快速恢复,信号或者蚂蚁会在不同的方向保持流动,如果一个方向断流了,可以从另一个方向重建一个连接。

同样,早期的光纤网络经常被农业机械或其它的挖掘所破坏,一段光纤的破坏有可能让整个系统宕掉。工程师们随后发现,环形网络更容易修复。

我们的网络在不断进化,通过测试和比较这些沙漠蚂蚁、热带森林中的蚂蚁和厨房里的蚂蚁的算法,很明显我们可以参考这些蚂蚁的做法来构造我们的下一代网络系统。

作者简介:Deborah M. Gordon是斯坦福大学生物系的教授,她通过蚁群的生态和行为研究群体组织的进化,已经获得Guggenheim和行为科学深度研究中心的奖学金。著有《Ants at Work》及《Ant Encounter: Interaction Networks and Colony Behavior》。

责任编辑:王程程 来源: Wired
相关推荐

2023-05-12 08:23:03

分布式系统网络

2023-02-11 00:04:17

分布式系统安全

2023-05-29 14:07:00

Zuul网关系统

2017-10-27 08:40:44

分布式存储剪枝系统

2023-10-26 18:10:43

分布式并行技术系统

2019-08-12 16:07:32

Web系统集群

2017-10-17 08:33:31

存储系统分布式

2019-07-17 22:23:01

分布式系统负载均衡架构

2017-12-05 09:43:42

分布式系统核心

2023-04-26 08:01:09

分布式编译系统

2019-06-19 15:40:06

分布式锁RedisJava

2023-10-08 10:49:16

搜索系统分布式系统

2018-12-14 10:06:22

缓存分布式系统

2019-08-05 07:58:01

分布式架构系统

2010-03-24 17:07:52

无线分布式系统

2011-04-18 14:43:23

分布式测试分布式测试

2010-11-01 05:50:46

分布式文件系统

2023-02-23 07:55:41

2020-09-17 11:12:03

分布式系统代码检代码检视

2017-12-20 16:15:30

分布式系统架构
点赞
收藏

51CTO技术栈公众号