TCP 与 CPU 架构发展史
周五下班前跟同事聊了幾句,還是關于 TCP 協議的。
誕生于 1970s 的 TCP 協議,在 1981 年作為 TCP/IPv4 被標準化,其實質直到今天都沒有發生改變,按序,可靠,其間有過一些涉及效率的修補。
另一方面,CPU 架構從 1970s 到今天不知迭代了多少代。這是一個有趣的類比。
把一個程序看作一條指令流是合適的,CPU 按序執行指令。CPU 架構的歷史演進大家都知道,加入了超標量,流水線,多核。為了避免流水線停頓(HoL),引入了亂序執行,將指令分成不相干的部分,亂序執行,最后再 reorder。
日光之下無新事。TCP 按照 CPU 架構的歷史走一遍就是了。
程序視角看起來還是按序執行的,可 CPU 確實亂序執行微指令,TCP 應用看起來還是按照到達的一條流,但網絡卻可以亂序傳輸。
同一條 TCP 流無法利用 ECMP,不過目前的 Multi-Path TCP 似乎有這個方向了,但粒度還是太粗。TCP 的停頓來自于保序引入的 HoL,學 CPU 亂序執行的樣子引入亂序傳輸就行了。一旦支持亂序傳輸,包粒度 ECMP 即自然而然。
可直到今天,TCP over IP 依然是最短路徑優先逐跳路由,同流同路徑,這就好比古老的指令流跑在現代 CPU 上,造成資源大量閑置。無論是端資源,還是網絡轉發資源。
TCP over IP 按照 CPU 架構發展史的路線再來一遍,沒有空閑資源,最小化等待,就是高尚的,當然,名字可以不叫 TCP。
浙江溫州皮鞋濕,下雨進水不會胖。
總結
以上是生活随笔為你收集整理的TCP 与 CPU 架构发展史的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iPhone预计移除SIM卡槽,用户需通
- 下一篇: Mongodb备份和还原