偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

假如把網(wǎng)絡(luò)看成一個可編程平臺

網(wǎng)絡(luò)
作為網(wǎng)絡(luò)開源社區(qū)的忠實支持者,Nick McKeown認為在過去十年或更長時間里,開源的興起推動了“真正的網(wǎng)絡(luò)革命”。

“未來我們應(yīng)該不再從協(xié)議的角度來思考(網(wǎng)絡(luò)),而是從軟件的角度來思考。所有功能和“協(xié)議”都將從硬件遷移到軟件中?!?/p>

——Nick McKeown

編者按:Nick McKeown,斯坦福教授、SDN之父、創(chuàng)辦了Nicira(網(wǎng)絡(luò)虛擬化的先驅(qū))和 Barefoot(推出了首個完全可編程的交換機)、目前擔(dān)任英特爾公司網(wǎng)絡(luò)與邊緣事業(yè)部 (NEX) 高級副總裁兼總經(jīng)理。

本文系SDNLAB整理自Nick McKeown教授的演講視頻。Nick教授90年代“自研”Bay Bridge 路由器,這段經(jīng)歷讓他對微代碼可編程硬件加速器產(chǎn)生懷疑,他認為當(dāng)時曇花一現(xiàn)的網(wǎng)絡(luò)處理器無法從根源解決網(wǎng)絡(luò)加速問題,系統(tǒng)地梳理了可編程發(fā)展的歷史;Nick開始研究在各個領(lǐng)域出現(xiàn)的特定領(lǐng)域的處理器,并提出了P4高級語言,推出了Tofino芯片;Nick教授認為,應(yīng)該把網(wǎng)絡(luò)看作一個可編程的平臺,而不是一個獨立元素的集合,網(wǎng)絡(luò)的行為應(yīng)該自頂向下進行描述,并分享了對未來網(wǎng)絡(luò)的很多看法。視頻內(nèi)容非常精彩,詳細內(nèi)容可閱讀下文。

作為網(wǎng)絡(luò)開源社區(qū)的忠實支持者,Nick McKeown認為在過去十年或更長時間里,開源的興起推動了“真正的網(wǎng)絡(luò)革命”。在十多年前,每個人使用的都還是閉源的專有網(wǎng)絡(luò)設(shè)備,但如今,大型數(shù)據(jù)中心大部分都運行在開源軟件上(主要是在基于 Linux 的設(shè)備上)。這種從閉源到開源開放的變化,讓網(wǎng)絡(luò)設(shè)備變得可編程,從而改變原有網(wǎng)絡(luò),這種創(chuàng)新方式加速了未來網(wǎng)絡(luò)的發(fā)展。

可編程發(fā)展的歷史

上世紀(jì)90年代初,互聯(lián)網(wǎng)還被稱為NSFNet,路由器被稱為“思科盒子”。這些路由器是基于 CPU 的,可以“每秒處理高達10000個數(shù)據(jù)包”。當(dāng)時Nick和其他一些學(xué)生決定創(chuàng)建一個名為Bay Bridge 的多端口光纖分布式數(shù)據(jù)接口(FDDI,F(xiàn)iber Distributed Data Interface) 路由器,它使用復(fù)雜的可編程邏輯設(shè)備(CPLD——FPGA 的前身)而不是 CPU,以此試圖超越商用路由器。

Bay Bridge 由Sun工作站通過SBus控制。CPLD 實現(xiàn)了一種新的微編碼語言,該語言描述了如何處理數(shù)據(jù)包,這讓Bay Bridge每秒可以處理大約 100000 個數(shù)據(jù)包,是商用路由器的10倍。該設(shè)備在伯克利大學(xué)的 FDDI 環(huán)上放置了大約五年。

在很長一段時間之后,他們想為Bay Bridge添加一些新功能,也就是那次經(jīng)歷給Nick上了寶貴的一課,“我們甚至不記得如何對其進行編程”。最終,添加一個相當(dāng)簡單的功能所花費的時間甚至比最初開發(fā)Bay Bridge所花的時間更長。在當(dāng)時,創(chuàng)建一個非常長的指令字(VLIW)微控制器似乎是一個很棒的主意,但這個經(jīng)歷讓他對微代碼可編程硬件加速器產(chǎn)生了懷疑。

當(dāng)網(wǎng)絡(luò)處理器(或 NPU)的想法在 90 年代后期出現(xiàn)時,Nick認為“此路不通”。NPU 開發(fā)人員并沒有從根源上尋找需要解決的問題,而是簡單地創(chuàng)建了一個包含 CPU 內(nèi)核陣列的芯片。他說,網(wǎng)絡(luò)處理需要“非常深的管道和非常非??斓?I/O”,而 CPU(或 CPU 陣列)上都不存在這些。

Nick表示,目前最好的芯片可以處理大約12.8Tbps,而 CPU 僅略高于 100Gbps。在他最早研究這些的時候兩者的差距在5倍左右,但現(xiàn)在則達到了100倍左右。這使他得出結(jié)論,為了獲得最高性能,不可避免地需要使用“基于深度管道、高速 I/O 和與標(biāo)準(zhǔn)協(xié)議相對應(yīng)的固定操作序列”的東西。這需要最少的功率,最有可能安裝在單個芯片上,因此將“提供最低的總成本”。

例如,今天的一個專用集成電路 (ASIC) 交換機以 10Tbps 的速度處理 40 種協(xié)議,使用 400W。而CPU“等效”以10Tbps僅處理4個協(xié)議就需要 25KW。CPU是針對內(nèi)存加載和存儲操作進行了優(yōu)化,而ASIC針對 I/O 和流水線進行了優(yōu)化。這可以得出一個結(jié)論,在可預(yù)見的未來,高性能交換機將基于 ASIC。

然而,當(dāng)需要添加新的協(xié)議時,問題就來了。舉個例子,當(dāng)需要將VXLAN協(xié)議添加到固定功能交換機時,大約需要四年時間才能在新硬件中推出。在日新月異的網(wǎng)絡(luò)世界,四年這個數(shù)字“相當(dāng)瘋狂”,因此Nick認為這樣改變數(shù)據(jù)包處理方式的開發(fā)過程是錯誤的。

第一批問世的可編程交換機基于各種方法——FPGA、NPU 或 ASIC,但它們都沒有能夠讓用戶根據(jù)自己的需要編寫代碼,真正編寫代碼的是設(shè)備制造商。但是,設(shè)備制造商并不運營大型網(wǎng)絡(luò),所以他們傾向于簡單地實施現(xiàn)有的標(biāo)準(zhǔn)——他們永遠不會主動成為創(chuàng)新的人,所有這些都使得引入新想法變得困難,因此一切都趨于停滯。

特定領(lǐng)域的處理器

Nick開始研究在各個領(lǐng)域出現(xiàn)的特定領(lǐng)域的處理器:用于圖形的 GPU、用于機器學(xué)習(xí)的數(shù)字信號處理器(DSP)、用于機器學(xué)習(xí)的張量處理單元(TPU) 等等。與 CPU 上的通用計算一樣,所有特定領(lǐng)域的處理器都有一些為處理器編譯的高級語言。這些編譯器將優(yōu)化發(fā)出的代碼以利用可用的指令集和并行性。

大約在 2010 年,他和其他人開始考慮一種針對數(shù)據(jù)包處理進行優(yōu)化的新的特定領(lǐng)域處理器,它允許網(wǎng)絡(luò)運營商自行編程。為此,需要一種新的高級語言,它獨立于硬件,并且可以在不犧牲功率、性能或大小的情況下編譯成以線速運行。這就是 P4 語言。

P4是一種特定領(lǐng)域的編程語言,用于描述可編程的轉(zhuǎn)發(fā)設(shè)備如何處理報文。P4的架構(gòu)是PISA(Protocol Independent Switch Arch)全流水線可編程架構(gòu)。

  • 簡要來說,它的基本單元是match-action table。
  • match單元可以匹配任意報文的偏移與字段長度。
  • action單元,則有相對比較豐富的報文編輯功能。
  • 此外,片上資源SRAM與TCAM也可以進行靈活的配置。

整個P4的控制過程包括包頭解析、可編程入流水線、可配置緩存管理TM,以及可編程出流水線的處理。對應(yīng)的編程框架包括自定義報文頭、match-action表項的定義,以及全流水線控制流的串接。

下圖展示了固定功能交換機和基于 Barefoot Networks 的 Tofino P4 可編程芯片的交換機的比較:

  • 兩者都有 64 個 100Gbps 端口,除了使用的數(shù)據(jù)包處理芯片外幾乎完全相同。
  • 最大轉(zhuǎn)發(fā)速率基本相同,基于 Tofino 的交換機稍高一些。
  • 每個端口使用的功率差不多,但 Tofino 略低。
  • 同樣,Tofino上的延遲要少一些,但大致相當(dāng)。

所有這些都表明,可編程交換機具有與固定功能交換機相同的性能、功耗和成本。這也意味著網(wǎng)絡(luò)運營商可以選擇可編程交換機以獲得更多的靈活性。

未來的方向

Nick表示,企業(yè)和運營商正在“試圖掌控那些控制他們網(wǎng)絡(luò)的軟件”,這是“他們的命脈”,因此他們需要確保它是可靠、安全的,并且可以以各自不同的方式進行擴展。為此,隨著可編程交換機和網(wǎng)卡越來越多地投入使用,他們還開始控制數(shù)據(jù)包的處理方式。

Nick想知道這對未來的網(wǎng)絡(luò)編程方式意味著什么。他認為,我們應(yīng)該把網(wǎng)絡(luò)看作一個可編程的平臺,而不是一個獨立元素的集合。網(wǎng)絡(luò)的行為應(yīng)該自頂向下進行描述。他的希望是,行為將被分區(qū)、編譯,并在網(wǎng)絡(luò)中的所有元素上運行。然而,要實現(xiàn)這一目標(biāo)還有很多工作要做。

此外,每個數(shù)據(jù)中心都將以不同的方式工作,在本地進行編程和定制。例如,可以通過刪除不需要的協(xié)議,或者根據(jù)運行在數(shù)據(jù)中心里組織的需要添加特定的安全措施,使它們更加簡單。

Nick還提出了一個更具爭議的觀點:未來我們應(yīng)該不再從協(xié)議的角度來思考,而是從軟件的角度來思考。所有功能和“協(xié)議”都將從硬件遷移到軟件中。

最終目標(biāo)是要建設(shè)一個“多數(shù)人編程但少數(shù)人運維”的網(wǎng)絡(luò)。但目前距離做到這一點還有很長的路要走。

如果我們把網(wǎng)絡(luò)看做一個可編程平臺

如果把網(wǎng)絡(luò)看做一個可編程平臺,如何編寫描述網(wǎng)絡(luò)的代碼,并且保證它清晰、以線速運行,并且可以移動到最適合運行的組件?

Nick描述了網(wǎng)絡(luò)管道的元素,從用戶空間開始,它使用數(shù)據(jù)平面開發(fā)工具包(DPDK) 在虛擬機 (VM)、容器或用戶空間程序中進行網(wǎng)絡(luò)連接,內(nèi)核使用 XDP 和 eBPF,NIC 和交換機則更多地使用 P4 進行編程,當(dāng)然以后也可能會出現(xiàn)其他語言或技術(shù)。

Nick表示,DPDK 和 XDP/eBPF 組件的應(yīng)用已經(jīng)非常成熟,PISA 和 P4 也正在用于交換機和網(wǎng)卡中,這兩種不同的方式之間存在潛在的沖突。但他并不是提倡拋棄C和C++,而是需要一種“受約束的編程方式”,這樣這些程序才能在內(nèi)核中安全地運行。已經(jīng)編寫了大量用戶空間和內(nèi)核網(wǎng)絡(luò)的代碼應(yīng)該繼續(xù)維護,但這些通用代碼不會直接在網(wǎng)卡或交換機中的硬件加速管道上運行,而是需要某種方法來約束這些程序。

Nick的想法是用P4指定整個管道結(jié)構(gòu)。使用P4 extern功能,大部分程序代碼仍然可以用C/C++編寫,尤其是對于那些在CPU上運行的內(nèi)容。其他代碼將用P4編寫,這樣就可以轉(zhuǎn)移到硬件加速器上。

他舉例說明了目前在智能網(wǎng)卡中實現(xiàn)的一些功能,用于云中的虛擬機和容器安全。當(dāng)云運營商想要向云中添加新的裸機系統(tǒng)(如超級計算機)時,他們無法信任這些設(shè)備上的網(wǎng)卡,因為他們無法控制在其上運行的軟件。如果他們可以把已經(jīng)在網(wǎng)卡上運行的代碼放在交換機上,這個過程就會變得更容易。

P4社區(qū)和Linux網(wǎng)絡(luò)社區(qū)都有著專業(yè)的知識和能力,本著開源的精神,他們應(yīng)該一起合作解決這些問題。Nick建議netdev和 P4.org 組成一個工作組,專門致力于尋找開源解決方案。最后,Nick表示,在接下來的十年里,他相信網(wǎng)絡(luò)將變得更加端到端可編程,這也會帶來大量的網(wǎng)絡(luò)創(chuàng)新。

責(zé)任編輯:未麗燕 來源: SDNLAB
相關(guān)推薦

2014-03-26 10:49:06

SDN軟件定義網(wǎng)絡(luò)網(wǎng)絡(luò)可編程性

2019-11-22 09:20:34

編程經(jīng)濟技術(shù)

2013-08-06 14:04:46

網(wǎng)絡(luò)

2013-08-07 09:00:57

軟件定義網(wǎng)絡(luò)SDN

2018-02-01 04:02:41

數(shù)據(jù)中心網(wǎng)絡(luò)編程

2019-07-19 19:42:58

編程計算機開發(fā)

2013-05-03 09:49:38

ASICSDN可編程ASIC

2018-01-02 11:15:27

網(wǎng)絡(luò)芯片應(yīng)用

2013-10-25 09:11:28

可編程WANSDN軟件定義網(wǎng)絡(luò)

2009-06-19 18:51:13

ibmdwLotus

2023-04-04 15:46:16

云計算

2011-11-14 09:49:49

OpenFlowASIC

2015-09-14 09:01:13

Android鏡子應(yīng)用

2021-05-31 20:06:57

網(wǎng)元協(xié)議網(wǎng)關(guān)

2012-06-14 10:17:16

TecTile三星

2016-09-09 13:26:07

數(shù)據(jù)編程SDN

2020-04-20 09:02:33

函數(shù)RPCCPU

2015-03-12 10:46:30

代碼代碼犯罪

2015-11-04 13:56:06

SDN可編程性企業(yè)
點贊
收藏

51CTO技術(shù)棧公眾號