1700497000
1700497001
当一个网络缓冲区被填满时,通常会发生“尾部丢弃”:这是一种不礼貌的说法,即每一个在某一点之后到达的数据包都被简单地拒绝了,并且被有效地删除了。(一旦排队时间过长,新客户就会离开可丽饼柜台,这是人类环境下的一个“尾巴”的版本。)考虑到包交换的邮政隐喻,想象一个邮递公司每天早上会把所有运送卡车装不下的包裹都扔掉,这看起来有点儿奇怪。然而,正是这种“信息包的丢弃”让计算机注意到它的一个数据包没有被确认,这促使和式增加积式减少算法开始将带宽速度减半。数据包丢弃是互联网的主要反馈机制。巨大的缓冲区(不管你的厨房多么缺少人手你都接受所有订单,不管需要多长的等待时间,调制解调器都接收每一个到来的数据包)这可以防止这种调控的发生。
1700497002
1700497003
从根本上说,缓冲区使用延迟,在网络中称为“延时”(latency),以最大限度提高吞吐量。也就是说,它们会导致数据包(或客户)的等待,以利用之后事情进展较缓慢的时期。但是一个永久运行的缓冲区会让你的两个世界都遇到最糟糕的遭遇:所有的延迟,以及没有一个给予。如果平均来说,你的清除速度可以跟得上数据爆炸出现的速度,那么清除数据爆炸是件好事,但是,如果你的平均工作量超过了你的平均工作效率,那么没有任何缓冲区可以创造奇迹。缓冲区越大,在你发出求救信号前,你就会落得越远。缓冲区的基本原理之一就是,对于数据包或用户来说,它们只在障碍都常规地被清除时才能正确工作。
1700497004
1700497005
几十年来,计算机内存都非常昂贵,根本没有理由用不必要的内存容量来构建调制解调器。因此,对于调制解调器来说,没有任何方法可以组建一个比它所能处理的能力更大的等待队列。但在某种程度上,由于计算机行业的规模经济极大地降低了内存的成本,现代制造商开始给他们的机器提供千兆字节的内存,因为这实际上是他们所能得到的最小的内存。结果,在调制解调器、路由器、笔记本电脑、智能手机以及互联网的主干网中,无处不在的设备缓冲区都变成几千倍大,在像吉姆·格蒂斯这样的人发出警报来做一些事情之前,他们已经变得太大了。
1700497006
1700497007
1700497008
1700497009
1700497011
算法之美:指导工作与生活的算法 迟到不如永远不到
1700497012
1700497013
阿齐兹·安萨里
1700497014
1700497015
把你最基本的问题当作一个人来处理。有人喜欢你,但你不喜欢他们。这一度是一种尴尬的局面。你必须要进行一次谈话,这很奇怪。现在你该怎么办?有人喜欢你,你不喜欢他们怎么办?你只是假装很忙……直到永远。
1700497016
1700497017
《蛇宗三字经》
1700497018
1700497019
永远不到比迟到好。尽管永远得不到经常比现在的状况好。
1700497020
1700497021
歌手凯蒂·佩里在推特上的粉丝比她的家乡加州的人多了107%。她作为推特上最受关注的人,自2016年年初起,她的粉丝数量有8120万。这意味着即使有99%的粉丝从来不给她发信息,或者即使那1%的人每年只给她发一次信息,她也会每天收到2225条信息。注意,是每一天。
1700497022
1700497023
想象一下,如果佩里会按照收到的时间先后顺序来回复粉丝的每一条信息。如果她每天能回复100条信息,那么粉丝可能的等待时间很快就会用几十年来计算。可以想象,大多数粉丝会更喜欢立即得到一个简短的回复,而不是在10年或20年后确定能收到的回复。
1700497024
1700497025
请注意,当佩里在离开会场时遇到等她签名,说想听她说些话的歌迷时,她并不会遇到这个问题。佩里做了她能做的,继续前进,失去的机会就消失了。身体是自己的流量控制。我们不能同时存在于两个地方。在一个拥挤的聚会上,我们不可避免地只能参与不到5%的谈话,也不能后期阅读或补上错过的内容。失去视网膜的光子不会排队等待日后重见光明。在现实生活中,数据包的损失几乎是失去所有。
1700497026
1700497027
我们用的“丢球”这个词,几乎完全是贬义的,意味着这个人懒惰、自满或者健忘。但是,战术性的丢球是在超负荷的情况下完成任务的关键部分。
1700497028
1700497029
对现代通信最普遍的批评是,我们“总是处于连接状态”。但问题并不是我们总是连接着的:我们并没有。问题是我们总是在缓冲中。这两者的区别是巨大的。
1700497030
1700497031
缓冲膨胀的感觉就像是需要在互联网上查看每一件东西,要阅读所有可能的书籍,或要看所有可能的节目。你错过了你最喜欢的连续剧的一集,然后看了一小时,一天,十年。你去度假,回到家看到一大堆信件。之前若有人敲你家的门,没人应答,他就走了。现在,当你回家时,他们已经在门外排队等待。
1700497032
1700497033
真是见鬼,电子邮件就是设计用来克服尾部丢弃的。正如其发明者雷·汤姆林森所说:
1700497034
1700497035
当时,没有什么好办法可以给人们留下信息。打电话应该可以,但必须有人来接电话。如果接电话的不是你想要的那个人,那就是行政助理或电话答录员之类的。这就是你要传递信息的机制,所以每一个人都在想,你可以在电脑上留言。
1700497036
1700497037
换句话说,我们要的是一个永远不会把发送者赶走的系统,无论好坏,我们都有一个这样的系统。事实上,在过去的15年里,从电路转换到包交换的转变已经在整个社会中发挥了作用。我们过去常常向别人请求专用电路,现在,我们给他们发送数据包,并期待收到确认字符。我们过去常常拒绝,现在我们会推迟。
1700497038
1700497039
令人遗憾的是,与常理不同,我们读到的“缺乏懒惰”是缓冲区的主要特征:将平均吞吐量提高到峰值吞吐量。他们所做的就是防止懒惰。你可以在路上查看电子邮件,从度假途中,到卫生间,再到半夜。你永远不会感到无聊。这是缓冲区的喜忧参半的好处,正如广告所言。
1700497040
1700497041
休假电子邮件自动回复器明确告诉发送者等待他们的是延时,更好的选择可能是告诉发送者需要尾部丢弃。它不会警告用户的排队时间可能超过平均水平,而只是拒绝接收所有传入的消息。而且,这并不需要局限于度假:你可以想象一个电子邮件程序,一旦收件箱达到100个条目,就会自动拒绝所有将接收到的信息。如果发来的是账单或其他类似的东西就是不明智的了,但对社交邀请却不失是一种较合理的做法。
1700497042
1700497043
现在,收件箱或语音信箱“已满”已经是过去的事了,这是20世纪晚期和21世纪初的一个明显的历史倒退。但是如果连接我们新奇的手机和电脑的网络拥有有效的无限存储空间,当事情发展太快或太激烈时还故意丢包,那么有理由认为尾部丢弃并不是有限内存空间的可悲后果,而是靠自身力量成为的一种有目的的策略。
1700497044
1700497045
对于网络缓冲膨胀,选择正在进行的这个复杂而愉快的故事涉及硬件和操作系统制造商付出的大量努力,以对网络队列进行根本性的改变。此外,还有一个针对传输控制协议的新反向通道的建议,这是多年来首次出现的此类修改:显式拥塞通知(简称ECN)。让互联网从缓冲膨胀中完全解脱出来将可能会带来所有这些变化,这也需要多年的耐心。“这是一个长期的困境。”格蒂斯说。
1700497046
1700497047
但是对于膨胀缓冲后的未来,还是有很多东西值得期待的。由于缓冲固有的延时,因此它对大多数交互过程都是有害的。例如,当我们通过网络电话进行通话时,我们通常更倾向于偶尔发出一些静态信号,以清晰地记录我们的来电者在3秒前说过的话。对于游戏玩家来说,即使是50毫秒的延迟也可能是杀别人和被杀的区别。事实上,游戏对延时非常敏感,所有重要的游戏比赛都是人与人之间线上进行的,玩家们坐飞机聚集到一个地方,之后每人通过网络进行比赛,他们进入一个单独的游戏房间。对于任何其他的同步问题,情况也是如此。“如果你想和你的朋友们一起演奏音乐,即使是在你的大城市地区,你也要关心几十毫秒的时间,”格蒂斯说,想象着一大堆新的应用程序和业务,这些都可能会利用那些潜在的低延时的势能,“我从这整个经历中总结出的一个结论是,工程师应该把时间当作重点项来对待。”
1700497048
1700497049
苹果公司的斯图尔特·切希尔表示,对于网络工程师来说,现在是时候要将延时看成是头等重要的大事了。让他感到震惊的是,那些宣称拥有“快速”互联网连接的公司只涉及高带宽,而不是低延时。通过类比,他注意到波音737和波音747都以每小时500英里的速度飞行,前者能容纳120名乘客,而后者则是前者的三倍。那么“你会说波音747比波音737‘快’三倍吗?当然不会,”切希尔说。容量有时确实很重要:对于传输大文件,带宽是关键。(如果你有大量的货物要搬的话,一艘集装箱船可能会超过一架747飞机的数千次的飞行。)然而,对于人际间的应用来说,一个快速的周转时间往往更重要,我们真正需要的是更多的协和式飞机。事实上,将延时降低是目前网络研究的前沿领域之一,看看它以后会给我们带来什么,这将会是一件很有趣的事。
[
上一页 ]
[ :1.700497e+09 ]
[
下一页 ]