自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(2104)
  • 资源 (4)
  • 收藏
  • 关注

原创 闲谈IPv6系列文章集锦

本文总结一个目录提纲,只要是给自己看的,记录一下哪些东西已经总结过了。闲谈IPv6-6to4隧道和ISATAP隧道: https://blog.csdn.net/dog250/article/details/88644797闲谈IPv6-说说IPv6地址分配和BGP: https://blog.csdn.net/dog250/article/details/88430415闲谈IPv6...

2019-03-18 22:38:43 41716 33

原创 tcp inflight 守恒算法(tcp_ccr)

好的端决策应把 “能不能发” 和 “发多少” 分开,算法只能告诉你发多少,无法告诉你能不能发,能不能发由 qoe 决定,如果你认为 “凭什么让我等”,即使算法告诉你不能发,它能阻止你吗,各类 “加速” 属此类,实属减速,最终让系统过载!下个问题,随流量增加,buffer 中的 probe 余量是累加的,该算法在这个点上似乎是 “不可扩展” 的,这可是计算机算法相关判断标准的大忌,只要不可扩展,O(f(n)) 里的 f(n) 不上凸就是一个孬算法,这咋办。流数量增加,buffer 占用一定增加。

2024-04-18 21:11:27 387 1

原创 tcp bbr pacing 的对与错

那主机可以不 pacing 吗,显然不可以,为了降低第一跳突发减少第一跳 bufferbloat,所有主机固定 pacing 也不是不行,比如 500mbps pacing,而不是以主机能力突发。至于后面的跳,主机控制不了,只能交换机做。bbr probe 效果并非如论文所说为探测空闲资源,现实中,在多流共享全链路场景不得已的行为,系统本身不稳定,bbr 需要不停 probe 扶正,而计算的代价非常大,这也不是算不算的准的问题,而是不得不计算,胡乱写一个 probe gain 系数都 ok,但必须做。

2024-04-17 18:51:55 812

原创 大历史下的 tcp:从早期拥塞控制 到 bbr 再到未来

进入 2010 年代,随着摩尔定律效应减弱,主机带宽逐渐追平交换带宽,而移动互联网兴起,图片,视频等大流量激增,单位带宽逐渐吃紧,带宽资源不能再继续以粗放方式被使用,另一方面,受限于时延 qoe,buffer 不能继续增大,cc 开始以带宽利用率为目标,pacing 代替突发降低报文到达率,减少对 buffer 的依赖。核心还是那些车轱辘话,让算法尽量少做甚至不做判断,猜测,评估,针对的事,简单才能高效,大一统对效率反而是拖累,俾斯麦明白的道理,将奥地利排除在帝国之外,主打一个纯净。

2024-04-16 18:45:00 1708

原创 摩天大楼为什么建不成

没有必要一次性将所有人运上去,在时间 T 内分多趟运上去即可,设电梯速度为 v,T * v / f 就是运送趟数,那么上面的不等式就成了 f^2 < k * R * T * v,T 足够大,v 足够快,f 就可以加高,所以我们看到摩天大楼电梯速度都很快,而且错峰用梯。设楼层为 f 的大楼,电梯面积为 S1,有效使用面积为 S2,单位面积被 x 人占据,电梯人均面积压缩率为 R,单位面积的电梯可容纳 R * x 人,一部电梯要把所有人送上各自楼层,有下列等式:R * x * S1 = x * S2 * f。

2024-04-13 11:17:28 1484

原创 tcp early retransmit 和 rack 中神奇的 1/4 minrtt

但千万别把这当教条,在早期网络或者如今的 iot 网络上,乱序可以乱几百个 rtt,只在概率上,上述推理是足的。量 = 速率*时间,这是线性保证,但现实中要按统计规律算,为啥还是算术平均 1/4 minrtt,那是算术期望,这就是排队论的事了,不多说,周末愉快。为什么采用 1/4 minrtt 作为重传和探测的延时,上图解释的已经很清楚了,主要还是怕乱序,关于乱序的度量,上图解释得非常清楚,乱序预期可在 0.5rtt/w(相邻两个报文乱序) 到 0.5rtt(满载管道首尾报文乱序) 之间被检测到。

2024-04-12 16:51:19 1404

原创 数据中心传输(5):分流同质流量消除不确定性

我们讨论操作系统调度时,作为统计复用系统,将所有进程,中断无差别扔到所有 cpu 上就能保证可用性,但我们也曾亲眼目睹小包中断是如何拖慢计算进程的,本质上也还是长任务和短任务对时间片没有共识,放在一起调度当然就有问题,任何调度策略都帮不了,那么显然就是设置优先级,绑核对不对,但为什么绑核效果并没那么好。把学霸和学渣放在一个班级,试图因材施教,要怎么做?我一再强调的按突发长度分流,分流,分流,记住这不是一个算法,不用纠结它怎么实现,它很简单后面会说,这个分流只是一个前置动作,把统计方差缩小,用同质交换弹性。

2024-04-11 18:07:07 2129

原创 大历史下的 tcp:忘了 3 次重复确认的快速重传吧

老方法不解释,能把大部分人搞懵,简单解释一下 rack 的兼容方法,比较简单:传了 1 到 10,最晚收到的确认是 7(它就是 recent ack),并且 sacked 数量不小于 dupthresh(= 3),符合触发条件,那么在最晚确认 7 之前发送的所有未确认报文均 mark lost。但即使在当前,iot,无线弱网,卫星链路等场景,仍然是弱处理器,小内存,高乱序,低带宽,这就是 rack 不适合的场景,tcp 兼容性的意义正在此,你要知道老掉牙不时兴的东西为什么没被删去。

2024-04-10 18:36:21 2134

原创 再谈流量同质:消除随机和低空域飞行

行人,车辆统计复用的 “最后一公里” 随机因素是决定性的,疏导随机性需要复杂的调度控制,而调度算法在时间流中实施,红灯停,绿灯行,左顾右盼,这是时延抖动的根源,那就消除随机因素,不允许行人,非机动车上路,则不再需要红灯停,也不再需要左顾右盼,这就是高速公路了。有趣的是,马车时代的司机比如今的司机更轻松,司机只需要控制转弯,启停,而避障,加速,减速全由马自行控制,甚至记路的马可以把一个不省人事的人从源点驮到目的地,我们现在只要重现这种效果。同质就有共识,不需判断就简单,简单就高效,多么显然的道理。

2024-04-09 18:01:50 2360

原创 提升网络传输性能的误区

前文说过,将数据包映射进通道,基于通道做控制,而不是分类每个数据包,对数据包做控制,显然前者更简单,ib 报头上就有 vl 号,交换机看一眼就好,以太头,ip 头上有啥(目前 roce 也在引入 ib 的良好特性,这一次以太网有希望再次依靠其生态取胜),还指着元组 hash 吗,一个协议头加个字段看一眼就能搞定的事,拿 hash 算法炫技。后面的事花开两朵,各表一枝,aimd 引领的拥塞控制以及重传等算法在广域网和数据中心都被玩开了花,结果也是被爆菊,散落一地,可谓菊花残,满地伤,花落人断肠。

2024-04-07 19:23:35 2736

原创 数据中心网络不是互联网

一列持续 10us 的突发,排队 10us,对它而言排队占比是 1,如果混入一列持续 1us 的突发,将引入对它而言 10 倍的排队占比,若要降低排队占比,只能加大突发持续时间,而这个时间由流量类型决定不可改变,便只能增加突发数量,结果会再拉高 10us 突发的排队占比,以此反复直到有流量退出,相异流量混部,总不能收敛到一致的排队占比。再粗暴一点,有朋友在我前面的文章下回复 “拉专线啊”,嗯,是这个意思,有条件的话,为每一类业务拉一条专线,买交换机买光纤的钱比雇经理和卷客的钱便宜,运维还简单。

2024-04-05 18:13:41 3025

原创 再谈数据中心网络传输

在高铁路网建立之前,全国只有一张普速路网,4 位数绿皮车,临客,k 字头快速车,t 字头特快车,z 字头直达车,d 字头动车组,短货车,长货车,全跑在这一张网上,而它们对应的 qos/qoe 更是五花八门,复杂的调度任务自然给到了铁路局和车站,为让快车更快,慢车要频繁停下让车,为不让慢车饿死,快车必须妥协速度,货车太长太慢导致它必须择时而不能随时通过大站,全国各大火车站庞大而凌乱。这个列表的行为,既要把网络当黑盒子,又不甘心它 best effort,但无论如何,数据从高速网卡中出去,真就没人管了。

2024-04-02 18:49:35 3772

原创 云数据中心传输的出路

如果 incast 短突发流量和普通 tcp 长流(不仅限于 tcp)混部,问题在本质上不是 incast 的问题,针对 incast 再怎么的优化都无济于事,问题出在长 tcp,因为长 tcp 的 capacity- searching 属性摘不掉,长流和突发流并不相容,混部它们就是给自己找更多的事。所有高速传输的前提是标准化,统一简单的操作。高速公路也一样,和红绿灯控制的行人,自行车,机动车混部的普通道路相比,高速公路上只有特定的机动车可以上路,且必须保持一定的速度,不能随意停车。

2024-04-01 21:37:05 3910 1

原创 大历史下的 tcp:f-rto 新改

这是典型的 “被代码牵着鼻子走” 了,其实整个 f-rto 与 cover 不 cover 那个 high_seq 无关,发送那个新报文的目的事实上就是在 probe,目的是获得一个 “没有重传过但却被确认” 的报文,这就说明大可不必执行超时逻辑,充其量就 fr 好了。现在我们知道,rto 并不一定意味着严重拥塞,更多可能是无线环境下链路信号出问题或者路径换了,也可能是链路断开了,围绕着这些新的但不是拥塞的问题,解法又是五花八门,对 tcp 加入了更多拧巴的复杂性。浙江温州皮鞋湿,下雨进水不会胖。

2024-03-30 11:43:38 4722

原创 大历史下的 tcp:rto 和 f-rto

tcp 是前向兼容的,即使日后引入 fr,sack,tlp,er 等碎点 ,tcp rto 仍作为兜底策略保持不变,在 tcp 引入这一系列碎点同时,rto 本身也在不断迭代(但我认为并无必要),以提高 tcp 传输性能,虽说这些过程及其令人眼花缭乱,但这正是 tcp 生命力强大的体现:tcp 以 afap(as fast as possible) 为原则被设计,此外再无约束。即使原始的 rto 实现,在获得有效 rtt 样本后,backoff 都要重置,而在链路失败又恢复情形下,显然是因果倒置了。

2024-03-28 19:22:17 5147

原创 大历史下的 pacing:程序员视角和大历史视角

他们只是从没有听到过这些 “荒唐” 言论,就笃定这是 “可怕的”,“中式的”,“无知的”,“臆想”,除非我能给出一些 “论据” 或者 “出处”。我曾写过一些 tcp 接收窗口,序列号,三次握手,timewait 相关的随笔,我几乎从不分析代码,也不翻译 rfc,总有人教我做人,告诉我这纯属无根据臆想,误人子弟,后来我写了些 sack,dsack,reordering,bbr,pacing 相关的随笔和想法,依然没有代码分析和 rfc 翻译,却没人理我了。在大历史的视角下,一切看起来就不是见招拆招。

2024-03-27 18:37:47 5431

原创 大历史下的 pacing:why & how

这可能是我们国家人太多的缘故,这导致我们国家的人普遍有 “宁愿挤作一团”,“不甘人后”,“慢了就会输” 的笃念,这些笃念影响着我们做的每一件事,我们会把这些笃念注入到我们设计的一切,以致很多人把 “取消 pacing,激进发送数据” 作为自己面试或晋升的亮点,而对方也会觉得 “我艹,牛逼!随主机性能的发展,应用对带宽的需求也增加,但无论如何交换机总能相对于主机网卡保持至少 10x 的增速,网卡 100mbps,交换机 1gbps,网卡 1gpbs,交换机 10gbps,如此而已。但人们并不真的践行。

2024-03-26 19:41:06 6043

原创 云数据中心与高科技产业园

1980 年代的老工厂非常棒,就算电影制片厂之类不需重设备的厂子也没有写字楼,容积率足够低,作为工人子弟,儿时经常出入各类钢厂,电厂,化工厂,这些工厂的食堂都不在厂区中心位置,而处在边缘,不同车间的工人们步行抵达食堂的时间不同,这就促成了错峰吃饭,避免了排队。体验过深圳南山区高新南六道的,该知道我在说什么。21 世纪 20 年代的现实中,我们终究避免不了在产业园区高大上的写字楼里等电梯,但总有人耍小聪明,试图证明自己的判断比固定等一部电梯更快到达地面,但结局大概率比老老实实等待电梯浪费更多时间。

2024-03-26 13:19:12 5504

原创 tcp 的 tlp, er 和 rack

但同样也是时间序,很多人不明白 tcp 的 rto 为什么不能直接是 rtt,至多加上一个不太大的余量,这很合理,超过 rtt + 小余量 的时间收不到 ack,报文就算丢了,但当获得了更官方的解释后,捎带 ack,delay ack,各平台相异的实现等一大坨一大坨的东西就全搅和进来成一锅粥了。我常说,tcp 的代码写得像坨屎不是程序员的问题,而是 tcp 的代码根本就写不好,tcp 的特性是一点点小问题的解决 trick 逐渐像贴胶布一样贴出来的,换谁上也写不好看,这个和 openssl 还不一样。

2024-03-25 17:53:19 6412

原创 数字逻辑不可能涌现出智能

如果野人需要将一堆土分成若干份,他们没有任何算法可用,能依靠的只有感受到的重量,看得见的大小等物理现象,野人可能会拿去大一点的土堆的一些土放到小土堆上,不断重复这过程,最终他们能把土分成看起来大小一样的若干小堆,就有理由说实现了均分。至于精确性,这是构建于智能之上的工具,而非智能本身所需。可以想象,大部分动物甚至植物本能的感知,识别,归类,反射的能力根本不可能来源于状态逻辑,智能的代价是状态的增加,这是不可承受之重,本能来源于物理定律,而这些才是可扩展智能涌现的前提。物理的,模拟的,可能才是 AI 的解。

2024-03-23 10:51:13 10652 25

原创 模拟计算机和数字计算机

串联电路和并联电路也是加法和减法的好例子,模拟信号的计算是在一瞬间完成的,连续的信号连续的变化,并不涉及状态翻转的集合,计算时间唯一受制于信号本身传播速度,同样的加法运算,支流汇入干流需要分钟乃至小时级,而串并联电路则在一瞬间。人们正是认识到模拟信号的固有误差以及易被噪声干扰才大力推崇数字运算,在互联网发展的前 30 年,广义的计算几乎就是小量算术运算,存储和传输,而这类操作都是数字逻辑所擅长的,有趣的是,大数的质因数分解之所以可用于非对称加解密的根据,恰恰是承认并利用了数字逻辑在处理大运算量时的不擅长。

2024-03-19 21:10:06 10157

原创 不可靠不重传的 tcp 新魔改

有朋友跟我一个想法,认为 “Xpu 确实是各种很难想到的特定使用场景”,非常类似我最近提到的作为自我检讨用的 “自动切豆腐篦子”,我也就再评论几句 “就跟肥皂剧泛滥一样,你水一篇论文,虚构一个场景,我也必须水一篇论文,虚构一个场景,然后我拿着你的论文说你这个场景不适合我的场景,把你的论文稍微加点东西变成我的,你也觉得我的论文不适合你的场景,稍微改改变成你的,各种虚构+虚构场景,各种魔改版本”。单独的控制通道还没有改完,不过既然控制信息都拉到应用层了,格式都是我自己定,也就没必要迎合哪个协议了,简单。

2024-03-17 11:17:43 13105

原创 干重活儿的互联网

cpu 互联网只是数据的仓库,无论是你浏览网页,看视频,玩游戏,所有的内容几乎都来自于 “录入”,你上传一张图片,图片就保存在某个地方,当人们想看它时,它就从这个地方传输到人们眼前的屏幕上,互联网核心只看管数据,却无力触动数据,因为算力不行。我解释到,手工操作类似 cpu,机器批量操作类似 gpu,jpu。我只能这样讲,因为小孩子喜欢很酷的东西,他们喜欢无人机根据人的遥控去送货胜于人根据算法的指令去奔波,后者在他们看来一点意思都没有,但显然主角已经变了,人遥控无人机的主角是人,而外卖员送货的主角则是系统。

2024-03-15 23:09:52 14110

原创 《互联网的世界》第七讲-能源

我在欣赏血糕篦子时,将其看作 gpu,因为它善于做简单的,重复的,可并行的事,像这种并行输出物件儿的机器都很像 gpu,它们摆脱了串行操作对时间的依赖,可在空间上近乎无限的铺展开,这就是工业化。随着带宽渐大渐便宜,内存,处理器渐小渐便宜,进入移动时代后,互联网数据量指数级暴增,对大数据的处理需求催生了 gpu,dpu,jpu,xpu 的大规模应用,如今的数据量催使 ai 快速进化,大模型训练对算力和数据传输提出了更高的要求,互联网正在进入机器大工业时代。换句话说,干重体力活的互联网才刚刚开始。

2024-03-13 18:27:32 15218

原创 《互联网的世界》第六讲-去中心化和安全

运营商有责任对自己客户的行为负责,攻击者首先要过自家的关,这是背后的原理。某个操作时延变快,而其它操作没有等比例变快,突发造成的拥塞就会严重一些,严重到一定程度,就可算为攻击,我们发现,汽车提高了出行速度,但办事速度没有提升,所以服务大厅排队就会更严重,而互联网定制的导航,旅游,购物等行为,会造成更大程度的拥堵,背后也是这个原理。一种有趣的社工学拥塞控制的方法,将每个站点的月流量,峰值流量,平峰流量,均差,占比,用户数等信息公示出来并排名,如果出现一个巨无霸流量大户被曝光,它自行优化整改的概率会很大。

2024-03-11 19:45:52 17066

原创 GPU 和并行计算

还是说如果经理 A 不做,经理 B 也会做,所以不做就输了,那我觉得这些经理都 sb 了,无意义的事最终结果就是烟消云散,一切的结局总之也都是活该,不可能每个经理都赢,总有输到倾家荡产妻离子散的,小经理只能自求多福。血糕需要切片油炸,对刀功要求极高,片与片的薄厚和每一片自己的薄厚必须完全统一,切片又不能太小,相反,切片越大吃得越爽,但如果薄厚不统一,油炸的时候,油温是一致的,会造成薄的地方炸糊了,厚的地方还没熟。查了一下发现除了切成均匀的,还有能切成各种形状,薄厚不一的,除了 simd,还有 mimd …

2024-03-10 17:17:21 18023

原创 http cookie,tcp syncookie 和 tcp fastopen 杂谈

说到它们的具体实现时,只要涉及 “识别” 机制,很多人都默认该机制需要 “解码 cookie”,“以 key 查 value 来定位用户”,大致就是 http cookie 那套逻辑,然而 tcp 的 syncookie 恰恰是不想在 server 保存任何可供识别的信息,而 fastopen server 在收到 client 携带的 cookie 建立连接之前,连接并不存在,何谈信息识别。这种行为确实完全没必要标准化,因为 cookie 行为的波及半径仅限于商家,而商家又是如此之多。

2024-03-07 18:08:28 20340 1

原创 《互联网的世界》第五讲-信任和安全(第一趴:物理世界的非对称加密装置)

总之,信任和安全的话题非常大。很多人争论,互联网安全永远是最后贴上去的 patch,从来不是内置的,从这个视角看,物理世界也一样,出了事再说,规则和法律在不断完善,而不是被设计好。在线下物理世界,我们会配合使用锁,钥匙,玻璃窗,印章,签名,严格的法律等手段满足非对称安全需求,因为它们的操作时间处在同一个数量级,然而在线上世界,操作时延的差异被放大,使用不同的方式自然会引入木桶短板效应拖慢整个系统,固然需要一个统一的非对称算法,也就是我设计的上述装置在物理世界的描述,大概就是 rsa,ecc 这类。

2024-03-06 18:11:39 20393

原创 《互联网的世界》第四讲-拥塞控制与编码

一条直线由 2 个点确定,每个单词都可以编码到一条直线,只需要给 2 个点 4 个坐标即可,如果加入冗余,可以传输该直线上的 3 个点,4 个点,甚至更多点,只要 receiver 收到任意两个点,就能恢复这个单词,4 个坐标编码一个单词看起来并不便宜,如果 3 个,5 个点提供冗余就更昂贵了,但如果编码更长的单词呢,就会变得更划算,借鉴哈夫曼编码思想,直线可以编码 “常用但长” 的单词,短语。如今带宽已足够大,配合丢包,整型,限速,足以应对任何程度的拥塞,但任意一个上述措施都将压力给到了端主机。

2024-03-04 22:16:08 21738

原创 《互联网的世界》第三讲-tcp

源地址,目标地址一定要有,一个地址可能有不同住户,也就是 port 指示的,一系列相关联包裹的顺序编号也是必须,总共多少件,这是第几件等等,此外,一个包裹能不能被拆分运输,也要被标识,三吨大米可以拆分运输,而三吨大象就不行,能收多少,这个也要告知对方。双向交互协议最自然的方式是 “单字节停等”,若果然如此,tcp 就是个再简单不过的协议,但为了效率,单字节停等扩展为单报文停等,报文子节流可拆分,最终是窗口停等,窗口内报文可丢可乱序,一次发送一窗数据就不得不有效处理丢包乱序问题。tcp 影响了所有传输协议。

2024-02-29 21:51:51 24946 1

原创 《互联网的世界》第二讲-最短路径优先

回到最初的蜜蜂找花蜜丛,不是蜜蜂的聪明才智起了作用,而是花蜜散发的信息素被距离越近的蜜蜂感知越强烈,同时蜜蜂之间会进行信息传递,此二者就是最短路径优先的保证,关键就是信息的传递,这得益于蜜蜂和花都在这个最小作用量的世界进化了千万年,一切完美适应最小作用量。蜜蜂不停找距离蜂巢最近的花蜜,一旦找到就占作根据地,从而可嗅到其它距离更远的花蜜,这过程基本保证了蜜蜂每占领一块花丛,都是从最短距离逐步过来的,如果不是最短,蜜蜂肯定在更早时通过其它被占领的花蜜丛嗅到了。”,可是只有地址还不够,如何到达那里呢?

2024-02-28 22:24:37 24647

原创 诉诸存储和传输的编码

对于孤立语,由于单音节构词,书写系统和读音很容易分离到两条独立路径,单音节字型不断被压缩进新的含义,而读音系统却独自走上类似屈折语的道路,这个从汉字的 “象形”,“会意”,“假借”,“形声” 四阶段发展路径中可见一斑,如今我们看各地方言,特别是南方方言和北方的晋语安阳片,与屈折语的听说系统非常类似,念出来都是 “一嘟噜一串儿”。在东亚大陆并没有大的地缘隔离,各地区(比如当时的河南,山东,陕西)无论在地貌还是物产上相差无几,物质同类,没有太大的物资交换所必需的交流动机,因此甲骨文记载的文字并不直接用于交流。

2024-02-27 19:53:11 26387 1

原创 不同尺度下的网络控制方式

全局控制的意思是全局流量调度,虽然 pfc 以及它的引申算一类,但它还是不如 ib,因为以太网本身的矛盾就很有趣,它生在一个小地理尺度环境,却在一开始自带了大尺度的盲视图策略 csma/cd,即使交换机诞生,交换机 buffer 检测积攒冲突(执行 cd),再也攒不住时,端主机收敛一半的流量,aimd 顺理成章。很多人都讲过,aimd 是一种经过严密论证的非常成熟的拥塞控制策略,所以几乎任何算法都拿来用,哪怕只是兜底,但毕竟底都兜住了,上面的不做也罢,于是纷纷卷入更能所见即所得的方向,比如网卡。

2024-02-25 11:22:07 25932

原创 用脑补而不是重传对有损传输进行纠错

正如我们看到的,中文书翻译成英文后就会变厚,英文书翻译成中文就会变薄,中文的方式必然不可抵抗丢包,同样的丢包率,中文的方式损失的意义更多,也更难通过脑补纠错。以分层的视角,tcp 只能看到字节流,看不到意义。的方案,其实有更简单的方法,诉诸于人的信息何不让人脑(或 app 自身)自行纠错呢,娱乐至死的互联网时代,绝大多数信息都诉诸于人,包括视频,音频,网页,所以我一直不明白当 http 传输网页时,为什么不能接受有损,在网络丢包率高时,图片,视频是模糊的,声音是呲啦的,文字是间隔着的 x。

2024-02-21 12:54:16 25799 1

原创 谈谈网络拥塞的根源

所谓高铁,更大意义上是高速铁路网。延吉,哈尔滨一个菜市场,以前除了本地附近的人正常买菜,没人知道,它的运作很正常,媒体报道消除信息差后全国都知道了,菜市场瞬间沦陷,同理,导航造成了高速拥堵,12306造成了买票难,抖音小红书造成了景点拥堵,迪杰斯特拉算法造成了互联网拥塞,当然,如果拥塞的服务是一个依赖流量的网红,这就意味着源源不断的入账。这就是为什么越到了信息化时代,飞机,高铁等快速交通工具越发达,拥堵的地方越多的原因,曾经的书信,步行,自行车时代,反而哪里都不堵,而人口相比此前并没有量级的增量。

2024-02-10 11:37:57 26132

原创 关于人工智能的浅见

这些术语和细节大多是我不懂的,但我不在意也不认输,我曾经质疑假牛肉时,地下假肉丸子作坊的操作工也说过类似的话,“我就做这个的,还能不懂肉吗,这东西不如两个大馒头顶饿”,我没必要跟他讲碳水化物和蛋白质,虽然,它这个假肉也是蛋白质做的,只是他不知道而已,他理解的豆制品和白面馒头是一类东西。猫在镜子后面找镜中猫(自己)说明猫没有自我意识,它就很难理解真正的语言逻辑,因为语言逻辑涉及 “指代”,没有 “我” 就理解不了 “非我”,如 “它”,“他”,“这”,“那”,从而无法真正理解语言,也就无法和人媲美。

2024-01-12 17:30:00 35125 1

原创 理解指数移动平均(ema)

和普遍的 ema 式子的理解方式侧重于衰减不同,用缩放误差表示的式子展示了另一种校准的过程,因此在整个过程中,不光关注采样值,还可以调整误差缩放系数 beta 本身,比如,在 tcp(or 别的可靠传输协议) retrans 阶段,将 srtt 的 beta 调大以提高灵敏度。如果当前采样 C 是个噪点,系数 beta < 1 将它的影响压缩,如果 C 正常采样,beta 将延后 V 收敛到均值,因此 beta 越小,抗噪能力越强,滞后性越大。中我给出了一个指数移动平均的自然解释,但还是不够自然,如果把。

2024-01-09 22:30:00 31386

原创 12306 抢票的糟糕体验

有 100 件货,100 个人每人限购 1 件,在抢购的场景下,时间完全校准,100 人同时抢,第一次只有 1 人成功,99 人超时沮丧,剩余 99 人继续,98 人沮丧,如此类推,平均要沮丧 50 次才能抢到,但如果把超时预期放长一些,体验就会好很多。火车票并不是稀缺资源,但购票系统给了人稀缺的感觉,火车票数量本就根据潜在购票人数决定,就像带宽也不是稀缺资源,但 capacity-search 营造了稀缺的氛围,同样,道路也不稀缺,只是突发流量造成拥堵,多等等,总会到家的。抢购体验差也是这个原因。

2024-01-08 22:15:00 35303

原创 浅谈指数移动平均(ema)

如果你希望的记忆周期为 100,在上述集合 V 中,数到第 100 个元素,它的衰减系数是集合 F 的第 100 项 (1 - beta)^99,只要它足够小,它后面的就相当于被彻底遗忘忽略不计了。我们认识的每一件事物,其本质都在采样,我们将当前采用叠加在对该采用的历史记忆之上,一杯敬当下,一杯敬过往,形成对世界的理解,形成我们的观点,我们的整个世界每时每刻对每件事物都在做指数移动平均。的份额,这意味着随着新采样的不断进入,每一个历史采样必须衰减,历史越久的样本衰减越厉害,即 “逐渐忘掉过往”。

2024-01-05 18:52:28 36214

原创 dctcp 可扩展、低时延图解

将 N 等效为 BSize,可见 dctcp 队列的变化比 reno tcp 慢得多,很小的 K 值保持很小的排队时延就能容忍很宽的 C * RTT 范围,与此能力相对,reno tcp 需要 BSize 线性同步于 C * RTT,如果 C * RTT 很大而没有足够大的 buffer 与之匹配,reno aimd 一下子把 cwnd 降一半,把 inflight 降到不足 C * RTT,带宽将得不到有效利用。这就是一个低时延,低丢包,可扩展的算法,tcp prague,当然,它才刚起步。

2024-01-04 19:31:44 36543 1

一个iptables的stateless NAT模块实现

如果你在寻找Linux上配置诸如Cisco设备上的static双向NAT的方法,这个或许就是你想要的; what?你觉得它完不成PAT?是的,它不行。但是想做PAT为何不使用现有的iptables实现呢?它可以自动为你解决元组唯一性问题。不要从概念上分析,事实上,static双向NAT是完全对称的,一对一的 ,也只有在BOX两边的网络在拓扑级别是完全对等的情形下,这种NAT或许才是有用的,Cisco设备经常处在这样的位置,比如一个很大的stub节点的出口位置,比如两个domain的中间位置... 我将名字取为STATIC-2-WAY-NAT,比较长也比较怪,完全不符合UNIX的小写短名传统,我的想法是:这样可以少写很多的帮助信息,因为名字就是自解释的。

2014-12-27

模块化的nf-HiPAC

原版的nf-hipac需要为内核打patch,且只支持较低版本的内核,构建起来相对比较麻烦。 模块化后的nf-hipac可以直接作为内核可加载模块编译,且适配了高版本的Linux内核。为了移植工作简化,去掉了和iptables模块的联动支持!

2014-11-21

配置文件还有一些other

代码和配置iptables配置文件,还有一些别的东西

2010-04-16

关于linux内核以及其他个人体会的文集

本文集是我用将近两年的时间写成的,大多数文章是关于linux内核的,另外还有一些我自己对计算机的理解,还有一些历史,音乐方面的东西。适合于对linux内核思想感兴趣的阅读,文章偏重于对于思想的理解。

2009-09-07

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除