二章節(jié)網(wǎng)絡(luò)實(shí)現(xiàn)模型課件_第1頁
二章節(jié)網(wǎng)絡(luò)實(shí)現(xiàn)模型課件_第2頁
二章節(jié)網(wǎng)絡(luò)實(shí)現(xiàn)模型課件_第3頁
二章節(jié)網(wǎng)絡(luò)實(shí)現(xiàn)模型課件_第4頁
二章節(jié)網(wǎng)絡(luò)實(shí)現(xiàn)模型課件_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、模型的重要性網(wǎng)絡(luò)算法學(xué)包含以下幾個(gè)不同的領(lǐng)域:協(xié)議,硬件,體系結(jié)構(gòu),操作系統(tǒng),算法。不同領(lǐng)域的專家通過簡(jiǎn)單的模型進(jìn)行對(duì)話:模型描述了問題的要點(diǎn),又不涉及不必要的細(xì)節(jié)最低程度:模型應(yīng)能定義所需要的術(shù)語最好情況:領(lǐng)域外的專家可以根據(jù)模型進(jìn)行設(shè)計(jì),并可由領(lǐng)域內(nèi)的專家對(duì)設(shè)計(jì)進(jìn)行驗(yàn)證2.1 協(xié)議抽象模型協(xié)議定義了通信實(shí)體之間交換的報(bào)文的格式和次序,以及在報(bào)文發(fā)送、接收或收到其它事件后采取的動(dòng)作。協(xié)議是一個(gè)加上了接口和報(bào)文格式的狀態(tài)機(jī)。協(xié)議規(guī)范描述狀態(tài)機(jī)如何改變狀態(tài),以及如何響應(yīng)接口調(diào)用、消息到達(dá)和定時(shí)器事件。常見而耗時(shí)的功能與數(shù)據(jù)包收發(fā)有關(guān)的功能:交換,數(shù)據(jù)拷貝,檢查和計(jì)算,內(nèi)存分配等。與協(xié)議處理有關(guān)的

2、功能:重組數(shù)據(jù)包查找及修改狀態(tài)設(shè)置定時(shí)器調(diào)度任務(wù)數(shù)據(jù)包交付給應(yīng)用:解復(fù)用控制切換重要的性能指標(biāo)網(wǎng)絡(luò)中兩個(gè)最重要的性能指標(biāo):吞吐量:每秒處理的包數(shù)(pps)或比特?cái)?shù)(bps)。延遲:處理一個(gè)數(shù)據(jù)包的時(shí)間(典型地為最壞情況)。性能測(cè)量分為:全局性能測(cè)量:如端到端延遲和帶寬,使用網(wǎng)絡(luò)管理工具(如OpenView)進(jìn)行測(cè)量。本地性能測(cè)量:如路由器查找速度,使用計(jì)算機(jī)內(nèi)部的性能測(cè)量工具(如Oprofile, Vtune)測(cè)量。本課程關(guān)注本地性能。因特網(wǎng)環(huán)境的特點(diǎn)鏈路速度:骨干鏈路達(dá)到10Gbps和40Gbps,本地鏈路達(dá)到1Gbps。無線鏈路和家庭網(wǎng)鏈路的速度要低幾個(gè)量級(jí)。TCP和web占主導(dǎo)(目前P2

3、P流量占主導(dǎo))。小包:路由器收到的包中大約一半為最小長(zhǎng)度(40字節(jié))的TCP響應(yīng)包。Small transfers:訪問最多的web文檔都比較小。延遲很長(zhǎng):實(shí)際來回延遲遠(yuǎn)遠(yuǎn)超過光的傳輸延遲。局部性很差:在一個(gè)包上執(zhí)行的計(jì)算在未來短時(shí)間內(nèi)重用到另一個(gè)包上的可能性很小。2.2 存儲(chǔ)器寄存器:由一組有序的觸發(fā)器構(gòu)成,訪問同一個(gè)片上寄存器的耗時(shí)大約為0.5-1 ns。SRAM:由一組寄存器構(gòu)成。一般情況下,片上SRAM的訪問時(shí)間為1-2ns,片外SRAM的訪問時(shí)間為5-10ns。DRAM:片上DRAM的訪存延遲大約為30ns,最快的片外DRAM訪存延遲為40-60ns,連續(xù)讀的延遲約為100ns。20

4、22/8/21mode DRAM(快頁內(nèi)存):以4字節(jié)突發(fā)模式傳送數(shù)據(jù),有利于局部性好的訪問模式。Interleaved DRAM(交錯(cuò)內(nèi)存):幾個(gè)DRAM bank集成到一個(gè)內(nèi)存芯片中,復(fù)用數(shù)據(jù)線和地址線。SDRAM(2個(gè)bank),RDRAM(16個(gè)bank)2022/8/21舉例:流水化的流ID查找應(yīng)用需求:路由器統(tǒng)計(jì)每個(gè)流發(fā)送的包數(shù)每個(gè)流用五元組(共96位)進(jìn)行描述。線速處理要求:對(duì)于2.5Gbps鏈路和40字節(jié)最小數(shù)據(jù)包,流ID的查找時(shí)間不能超過128ns。(40*8/2.5Gb/s = 128ns)問題規(guī)模:核心路由器中大約有100萬條并發(fā)的流。2022/8/21設(shè)計(jì)方案考慮需要設(shè)

5、計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu):每個(gè)流維護(hù)一個(gè)計(jì)數(shù)器支持插入和查找兩種操作,查找為針對(duì)流ID的精確匹配要求限制最壞情況下的查找時(shí)間(考慮使用平衡二叉樹)使用SRAM實(shí)現(xiàn)?維護(hù)100萬條流的狀態(tài),代價(jià)太高。使用普通DRAM實(shí)現(xiàn)?若實(shí)現(xiàn)分支因子為2的二叉樹,查找一個(gè)流需要20次訪存;按照訪存周期50ns計(jì)算,查找時(shí)間為1微秒。2022/8/21使用RDRAM實(shí)現(xiàn)二分查找使用具有16個(gè)bank的RDRAM實(shí)現(xiàn)樹高為16的二叉樹,樹中第i層的所有節(jié)點(diǎn)存儲(chǔ)在bank i中。查找芯片同時(shí)對(duì)16個(gè)數(shù)據(jù)包(流ID)進(jìn)行查找,比如:用第1個(gè)包的流ID查找bank 1中的根節(jié)點(diǎn),然后查找bank 2中的第二層節(jié)點(diǎn);稍后用第2個(gè)包

6、的流ID查找bank 1中的根節(jié)點(diǎn);依次類推;當(dāng)數(shù)據(jù)包1的查找“線程”正在訪問bank 16時(shí),數(shù)據(jù)包16的查找線程在訪問bank 1??偟牟檎倚阅転槊總€(gè)流ID一次查找時(shí)間,約為60ns。2022/8/21使用RDRAM實(shí)現(xiàn)M=3的B-樹RDRAM允許快頁模式,可一次性讀8個(gè)32比特的字(256比特)。256比特的字可以存放2個(gè)96比特的流ID,以及3個(gè)20比特的指針。構(gòu)造一棵高度為16、M=3的B-樹,可以保存31643,000,000個(gè)流ID。2022/8/21M=3的B-樹示例2022/8/21網(wǎng)絡(luò)存儲(chǔ)子系統(tǒng)設(shè)計(jì)的主要技術(shù)內(nèi)存交錯(cuò)和流水線:類似的技術(shù)也可用于IP查找、包分類和包調(diào)度等。多

7、個(gè)bank可以用多個(gè)外部存儲(chǔ)來實(shí)現(xiàn)。寬字并行:使用DRAM,并利用其快頁模式;或者使用SRAM,并使得每個(gè)內(nèi)存字更寬。組合DRAM和SRAM:SRAM快而貴,DRAM便宜卻慢,將這兩種技術(shù)組合起來可以得到一個(gè)最佳的平衡。2022/8/212.3 端節(jié)點(diǎn)架構(gòu)端節(jié)點(diǎn)是通用計(jì)算機(jī),由處理器、存儲(chǔ)器、總線和I/O設(shè)備組成。處理器是一個(gè)狀態(tài)機(jī),以一系列指令和數(shù)據(jù)作為輸入,寫輸出到I/O設(shè)備。大部分的處理器狀態(tài)保存在外部DRAM(主存)中。主存通常用1GB或更大的交錯(cuò)內(nèi)存實(shí)現(xiàn),訪問時(shí)間長(zhǎng)(如60ns)。處理器使用cache來提高速度:Cache為容量相對(duì)較小的SRAM,保存最常使用的狀態(tài)。某些SRAM(如

8、L1、L2 cache)位于處理器芯片中。更多的SRAM(如L3 cache)位于處理器芯片外。2022/8/21Cache的使用效果與時(shí)空局部性當(dāng)指令和數(shù)據(jù)呈現(xiàn)時(shí)間局部性和空間局部性時(shí),cache的使用效果非常好:時(shí)間局部性:一個(gè)存儲(chǔ)位置在短時(shí)間內(nèi)被頻繁訪問??臻g局部性:一個(gè)存儲(chǔ)位置被訪問后,其鄰近位置在短時(shí)間內(nèi)被訪問。X86處理器利用DRAM的訪存特點(diǎn)實(shí)現(xiàn)預(yù)?。好慨?dāng)讀取一個(gè)32比特字時(shí),處理器預(yù)取連續(xù)的128比特到cache中。高速數(shù)據(jù)包流基本不呈現(xiàn)時(shí)間局部性,因此,協(xié)議實(shí)現(xiàn)時(shí)注意提高算法及數(shù)據(jù)結(jié)構(gòu)的空間局部性非常重要。2022/8/21端節(jié)點(diǎn)的架構(gòu)模型網(wǎng)絡(luò)應(yīng)用的吞吐量受限于最慢的總線(通

9、常是I/O總線)。協(xié)議處理通常涉及多次數(shù)據(jù)包拷貝,每個(gè)數(shù)據(jù)包都要穿過總線幾次。處理器性能的提高消除了計(jì)算瓶頸,但無助于消除數(shù)據(jù)移動(dòng)瓶頸。2022/8/212.4 路由器架構(gòu)模型路由器是具有一組輸入鏈路和一組輸出鏈路的設(shè)備,其任務(wù)是將數(shù)據(jù)包從輸入鏈路交換到輸出鏈路。路由器的三個(gè)主要性能瓶頸:查找交換(數(shù)據(jù)包移動(dòng))輸出排隊(duì)2022/8/21查找IP地址查找(chapter 11):按照最長(zhǎng)前綴匹配原則,查找FIB(Forwarding Information Base),確定數(shù)據(jù)包的下一跳。早期的路由器由主CPU完成地址查找,當(dāng)今最高端的路由器使用專用芯片完成查找,一些要求實(shí)現(xiàn)新功能(如web 負(fù)

10、載均衡)的路由器使用網(wǎng)絡(luò)處理器進(jìn)行查找。數(shù)據(jù)包分類(chapter 12):按照五元組將數(shù)據(jù)包劃分到某一個(gè)流中。2022/8/21交換路由器內(nèi)部的交換機(jī)制將數(shù)據(jù)包從輸入鏈路 i 傳送到輸出鏈路 j。早期的路由器使用總線作為交換機(jī)制:假設(shè)存在N條輸入鏈路,每條鏈路的速率為B,則總線上的負(fù)載達(dá)到BN,成為系統(tǒng)瓶頸。今天的路由器采用并行交換機(jī)制,如crossbar交換機(jī):每條輸入和輸出鏈路使用各自的總線,通過交換機(jī)內(nèi)部的交叉開關(guān)實(shí)現(xiàn)連通。交換機(jī)調(diào)度是瓶頸,其問題規(guī)模也是BN。2022/8/21排隊(duì)當(dāng)數(shù)據(jù)包被交換到輸出鏈路后,需要排隊(duì)等候發(fā)送。許多早期的路由器使用一個(gè)FIFO隊(duì)列。更復(fù)雜的調(diào)度策略可實(shí)

11、現(xiàn)帶寬公平分配或延遲保證:每條輸出鏈路設(shè)置多條隊(duì)列數(shù)據(jù)包按照一定的原則(優(yōu)先級(jí)、業(yè)務(wù)類型、流ID等)放入某個(gè)隊(duì)列隊(duì)列調(diào)度器每次從一個(gè)隊(duì)列中取出數(shù)據(jù)包發(fā)送隊(duì)列調(diào)度器是瓶頸。2022/8/21其它任務(wù)包頭檢查和修改:一般由硬件完成選路(RIP,OSPF,BGP):由主處理器完成。協(xié)議處理(TCP,UDP,ICMP):由主處理器完成。分片、重定向、ARP:在快路徑還是慢路徑上完成,有不同的做法?;趦?nèi)容的交換:快速URL匹配流量測(cè)量:快速流匹配2022/8/212.5 操作系統(tǒng)操作系統(tǒng)是為解決在裸機(jī)上編程困難而設(shè)計(jì)的。與裸機(jī)打交道的三個(gè)最主要難題是:處理中斷,管理內(nèi)存,控制I/O設(shè)備。為處理這些困難

12、,操作系統(tǒng)提供了不間斷計(jì)算、無限存儲(chǔ)和簡(jiǎn)單I/O的抽象。抽象在提高程序員生產(chǎn)效率的同時(shí),帶來了兩個(gè)代價(jià):實(shí)現(xiàn)抽象的機(jī)制是有代價(jià)的抽象阻礙了程序員對(duì)資源的充分利用2022/8/21(1) 依靠進(jìn)程實(shí)現(xiàn)不間斷計(jì)算的抽象操作系統(tǒng)通過進(jìn)程提供給程序員不間斷、順序計(jì)算的抽象。進(jìn)程抽象通過三個(gè)機(jī)制實(shí)現(xiàn):上下文切換,調(diào)度,保護(hù)。2022/8/21進(jìn)程的三種類型中斷處理程序:僅用于處理緊急請(qǐng)求的短小程序。只使用少量的狀態(tài)(如幾個(gè)寄存器),開銷最小。線程:輕量級(jí)的進(jìn)程,只需要較少的狀態(tài)。同一個(gè)進(jìn)程中的線程切換比進(jìn)程切換開銷小。用戶進(jìn)程:使用計(jì)算機(jī)的全部狀態(tài),比如內(nèi)存和寄存器。用戶進(jìn)程之間切換的代價(jià)很高。2022

13、/8/21舉例:接收端活鎖(Receiver Livelock)計(jì)算機(jī)將所有的時(shí)間用來處理數(shù)據(jù)包中斷,卻因?yàn)闆]有時(shí)間運(yùn)行應(yīng)用程序,而最終將數(shù)據(jù)包丟棄。2022/8/21進(jìn)程啟動(dòng)時(shí)間在Pentiem IV計(jì)算機(jī)上,一個(gè)空的中斷調(diào)用,中斷延遲大約為2微秒。在一個(gè)具有兩個(gè)進(jìn)程的Linux機(jī)器上,進(jìn)程上下文切換約用時(shí)10微秒;Windows和Solaris用時(shí)更多。在1Gbps鏈路上,10微秒時(shí)間內(nèi)可能會(huì)有30個(gè)最小長(zhǎng)度(40字節(jié))的包到來。端節(jié)點(diǎn)上網(wǎng)絡(luò)程序的延遲和吞吐量和進(jìn)程啟動(dòng)時(shí)間有關(guān)。2022/8/21(2)依靠虛擬內(nèi)存實(shí)現(xiàn)無限存儲(chǔ)的抽象在虛擬內(nèi)存系統(tǒng)中,程序員使用的內(nèi)存抽象是一個(gè)線性存儲(chǔ)空間,

14、編譯器在該空間內(nèi)指定變量的地址?,F(xiàn)代計(jì)算機(jī)系統(tǒng)使用基于頁的映射方法:一個(gè)虛擬頁為4KB,用虛擬地址的高20位構(gòu)成頁號(hào),低12位構(gòu)成頁內(nèi)偏移量。物理內(nèi)存劃分為物理頁,每個(gè)物理頁的大小為4KB。虛擬頁到物理頁的映射關(guān)系被保存到一個(gè)頁表中,以虛擬頁號(hào)作為索引。 (頁表映射)虛擬頁也可以不在內(nèi)存中,當(dāng)需要時(shí)從磁盤讀入到內(nèi)存的一個(gè)物理頁中。(請(qǐng)求調(diào)頁)2022/8/21基于頁的內(nèi)存映射2022/8/21虛擬內(nèi)存抽象帶來的開銷到虛擬地址X的一個(gè)讀操作可能需要訪問主存兩次:第一次訪問頁表,將X轉(zhuǎn)換成物理地址P;第二次訪問地址P?,F(xiàn)代處理器將最近使用過的地址映射緩存在TLB中,實(shí)際的地址轉(zhuǎn)換由MMU完成。極其影響內(nèi)存訪問速度的兩個(gè)因素:TLB miss調(diào)頁2022/8/21(3)通過系統(tǒng)調(diào)用實(shí)現(xiàn)簡(jiǎn)單I/O的抽象操作系統(tǒng)提供給程序員的設(shè)備抽象是可以進(jìn)行讀寫的一

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論