1700496917
算法之美:指导工作与生活的算法 流量控制和拥塞避免
1700496918
1700496919
计算机网络设计首先集中于研究如何在不可靠的链接上建立可靠的传输。这些努力被证明是非常成功的,紧接着便出现了第二个问题:要确保已经过载的网络如何能够避免灾难性的崩溃。传输控制协议刚一解决数据从A点传到B点的问题,之后就遇到了阻塞问题。
1700496920
1700496921
最重要的早期预警发生在1986年,连接劳伦斯伯克利实验室和加州大学伯克利分校的一条线路被一个足球场长度的地段隔开。(在伯克利,这个地段恰好是一个足球场。)有一天,这条线上的带宽突然从每秒32000位下降到每秒40位。其中的受害者就包括劳伦斯伯克利实验室的范·雅各布森和加州大学伯克利分校的迈克尔·卡雷尔,“他们对这突如其来的带宽速度的剧烈下降现象很感兴趣,并着手调查它为什么会变得如此糟糕”。
1700496922
1700496923
与此同时,他们听到美国其他网络设计团队的抱怨,他们都遇到了同样的事。雅各布森开始研究其深层的代码。“协议中有什么错误吗?”他想,“这是在小规模的测试中进行的,然后突然之间它就崩溃了。”
1700496924
1700496925
电路交换和包交换之间最大的差异在于它们是如何处理拥塞的。在电路交换中,系统要么批准通道请求,要么如果请求不能被满足,就直接否定。这就是为什么,如果你在某个高峰时期尝试使用电话系统,可能会收到“特殊信息音”和“所有电路都很繁忙”的信息。
1700496926
1700496927
包交换是完全不同的。电话系统会变得忙碌,邮件系统会变慢。网络拥塞可以清楚地告诉发送者,还有多少其他的发送者,或者在某一时刻网络的拥挤程度,以及拥塞的量是如何不断变化的。因此,发送方和接收方不仅必须保持沟通,还必须进行元沟通:他们需要弄清楚数据发送的有多快。不知何故,组合的数据包流(没有明确的管理或协调)必须停止相互挡路,并迅速利用任何可用的新空间。
1700496928
1700496929
雅各布森和卡雷尔的调查结果是修订了一组流量控制和拥塞避免算法,这是40年来对传输控制协议最大的修改之一。
1700496930
1700496931
传输控制协议拥塞控制的核心是一个被称为“和式增加积式减少”的算法,简称AIMD。在AIMD启动之前,一个新的连接将会积极地提高传输速率:如果第一个包被成功地接收,它会再发送两个包,如果这两个包都通过了,那它就发送4个包,以此类推。但是一旦数据包的确认字符没有发回到发送方处,AIMD算法就开始接管这个问题了。在AIMD算法下,任何完全接收到的数据包会让飞行中的包数不是增加一倍,而是仅仅增加一个,而丢失的数据包会导致传输速率减少一半(由此得名和式增加积式减少算法)。本质上,该算法的形式就像是某人在说,“多一点儿,多一点儿,多一点儿,噢,太多了,去掉一些,再多点儿,再多点儿……”我们发现,它会形成一种典型的带宽形状,即所谓的“传输控制协议的锯齿形”——稳定向上爬升,突然猛烈下降。
1700496932
1700496933
为何会如此猛烈不均匀的下降呢?正如雅各布森和卡雷尔所解释的,AIMD的第一次启动是当一个连接在其最初的侵略性的启动阶段中,第一次出现了丢失数据包的问题时。因为在初始阶段,每次成功齐发之后传输速率都会加倍,一旦出现问题,速度就降低一半,这是完全合适的。一旦数据开始传输,如果它又开始降速,那很可能是因为一些新的连接在竞争网络。对此最保守的评估就是,假设你是唯一一个使用这个网络的人,现在有一个人占用了你一半的资源,也会导致速度减少一半。在这里,保守主义是必不可少的:只有当网络的用户速度减少到至少是超载时的速度,才能保证网络稳定。出于同样的原因,仅仅进行和式增加有助于稳定所有人正在做的事情,可以防止快速超载和恢复的周期循环。
1700496934
1700496935
虽然加法和乘法之间的严格区分是不太可能在自然界中发现的,但传输控制协议的锯齿确实在各种领域中找到了共鸣,在这些领域都是为了尽可能多地获取安全的信息。
1700496936
1700496937
例如,在2012年的一次偶然的合作中,斯坦福大学的生态学家黛博拉·戈登和计算机科学家巴拉吉·普拉布哈卡发现蚂蚁似乎比人类早几百万年就已经开发出了流量控制算法。就像计算机网络一样,蚁群在试图管理自己的“流量”时面临着分配问题,在这种情况下,蚂蚁的流动是为了在多变的条件下觅食,这可能会大大影响蚂蚁成功往返的速度。就像互联网上的计算机一样,蚂蚁必须在没有中央决策者的帮助下解决这个共同的问题,而不是去发展戈登所说的那种“没有层级的控制”。结果表明,蚂蚁的解决方案也很相似:这是一个反馈周期,成功的觅食者会促使更多觅食者离开巢穴,而没觅食成功的返回者则会导致觅食行为的减少。
1700496938
1700496939
其他动物也会引起传输控制协议的流控制,凭借其特有的锯齿。松鼠和鸽子在追逐人类的食物残渣时,每次都会向前一步,偶尔也会跳回来,然后又稳步向前。可能是人类通信本身反映了传输的协议:每一条短信或电子邮件的回复都鼓励再发一条,而每一条未返回的消息都能阻止这种过程。
1700496940
1700496941
更广泛地说,和式增加积式减少算法为生活中的许多方面提出了一种想法,在生活中的这些方面,我们努力在不确定和波动的条件下分配有限的资源。
1700496942
1700496943
讽刺性的“彼得原理”是由教育学教授劳伦斯·J.彼得在20世纪60年代提出。彼得说:“每个员工都倾向于提升自己的能力。”该想法是,在一个分等级的组织中,每个能熟练完成工作的人就有机会晋升到新的岗位,这个岗位可能要完成更复杂或更不同的挑战。”当员工最终进入一个他们表现不佳的角色时,他们的队伍就会停滞不前,他们会在职业生涯剩余的时间里继续担任这个角色。因此,这是有道理的,按照彼得原理的预测性推理,最终一个组织中的每一个职位都会被一个做得不好的人填补。在彼得原理被提出的50年之前,西班牙哲学家何塞·奥尔特加·伊·加塞特于1910年也发表了同样的观点。他写道:“每一个公务员都应该被降职到更低的级别,因为他们会一直被提升,直到他们能力不足时。”
1700496944
1700496945
一些组织试图通过解雇停滞不前的员工来弥补彼得原理。所谓的凯威制是由著名的凯威斯恩和摩尔法律事务所设计的,该制度几乎只聘用应届毕业生,把他们安排在最底层,然后在接下来的几年里要么提拔他们,要么解雇他们。1980年,美国武装部队与国防部官员人事管理法案也实施了类似的“晋升或出局”政策。英国也同样追求他们所谓的“曼宁控制”,这曾引起很大争议。
1700496946
1700496947
在彼得原理的制度停滞和严格的“晋升或出局”系统之间,有没有其他的选择,有没有中间地带?和式增加积式减少算法就可以提供一种选择,因为它是明确用来处理不稳定环境的。计算机网络必须要管理好自己最大的传输能力和客户的传输速率,所有这些都可能是不可预测的波动。同样,在商业环境中,公司用有限的资金来支付其运营费用,而每个工人或供应商所能做的工作量以及所能承担的责任数量都是有限的。每个人的需求、能力和伙伴关系都是不断变化的。
1700496948
1700496949
传输控制协议的锯齿形的教训是,在一个不可预测和不断变化的环境中,把事情放到失败的角度去考虑有时确实是最好的(或者唯一的)充分利用所有资源的方法。重要的是要确保对失败的反应是尖锐和有弹性的。在和式增加积式减少算法下,每个没有崩溃的连接都应该是不断加速的,然后降速一半,之后又立即开始加速。尽管这几乎违背了当今企业文化的规范,但你可以想象一家公司,每年每一个员工要么在组织结构图上提升一步,要么直接离开。
1700496950
1700496951
正如劳伦斯·J.彼得自己所认为的,可怕的彼得原理出现在公司里,因为“等级生活的第一条戒律是等级制度必须被保留”。相反,传输控制协议则教授灵活性的好处。公司讲究的是“扁平平面”的层次结构和“垂直”层次结构,但他们可能会考虑使用动态的层次结构。在和式增加积式减少算法体系下,没有人会长期担心工作难以完成,也不会长期怨恨没有得到晋升。两者都是暂时且频繁的调节剂,而且系统尽管每时每刻都在发生变化,但都会在平衡状态附近徘徊。也许有一天,我们说的不是职业生涯的弧线,而是它的锯齿形。
1700496952
1700496953
1700496954
1700496955
1700496957
算法之美:指导工作与生活的算法 反馈语:语言学的流量控制
1700496958
1700496959
通过研究网络的流量控制,我们可以清楚地发现,上游的确认字符数据包不仅能够认定和确认传输,还能影响整个相互作用的轮廓、速率和节奏。这为我们发出了一个提醒,也让我们了解到反馈对沟通的重要性。在传输控制协议中,正如我们所看到的,没有单向传输:缺少一致的反馈,发送方几乎会立即减速。
1700496960
1700496961
奇怪的是,人们逐渐意识到网络领域中反馈的关键作用的趋势,也同时出现在语言学领域。20世纪中叶,语言学被诺姆·乔姆斯基的理论所主导,该理论在研究语言时,将其置于最完美和最理想的状态进行考虑——完美流畅的、符合文法的、不间断的句子,仿佛所有的交流都是书面文字。但从20世纪六七十年代开始,大量对口语的实用角度的兴趣揭示了语言过程的复杂和微妙,包括话题转换、中断、根据听众的反应遣词造句等。这里出现的是一种表面上的单向沟通的愿景,实则是一种合作行为。正如语言学家维克托·英格维在1970年所写的那样,“事实上,拥有话语权的说话者和他的朋友同时都在说和听”。这是因为我所称的“反馈语”的存在,在这个过程中,拥有话语权的人会收到一些短的信息,比如“是”和“嗯”,而不会放弃话语权。
1700496962
1700496963
对人类“反馈语”的审视为语言学领域开辟了全新的视角,促使人们对交流的动力进行全面的重新评估,特别是听者的角色。在一项例证研究中,由维多利亚大学的珍妮特·巴维拉斯领导的一个小组调查了一件事,当一个人听另一个人的故事时如果注意力分散了会发生什么(不是指对听者理解的影响,而是说的故事会发生什么变化)。他们发现,在反馈不佳的情况下,这个故事就支离破碎了。
1700496964
1700496965
叙述者勉强将这个故事讲完……总体说得不太好,而且本应很有戏剧性的结尾说得尤为糟糕。他们说的故事结束得很突然,或者是不断改变的,或者他们绕着圈子反复地讲故事的结局,他们常常通过解释自己的表现不佳来为自己故事的不佳辩护。
[
上一页 ]
[ :1.700496916e+09 ]
[
下一页 ]