




已閱讀5頁(yè),還剩28頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章 網(wǎng)絡(luò)實(shí)現(xiàn)模型,模型的重要性,網(wǎng)絡(luò)算法學(xué)包含以下幾個(gè)不同的領(lǐng)域: 協(xié)議,硬件,體系結(jié)構(gòu),操作系統(tǒng),算法。 不同領(lǐng)域的專(zhuān)家通過(guò)簡(jiǎn)單的模型進(jìn)行對(duì)話: 模型描述了問(wèn)題的要點(diǎn),又不涉及不必要的細(xì)節(jié) 最低程度:模型應(yīng)能定義所需要的術(shù)語(yǔ) 最好情況:領(lǐng)域外的專(zhuān)家可以根據(jù)模型進(jìn)行設(shè)計(jì),并可由領(lǐng)域內(nèi)的專(zhuān)家對(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í)器事件。,常見(jiàn)而耗時(shí)的功能,與數(shù)據(jù)包收發(fā)有關(guān)的功能: 交換,數(shù)據(jù)拷貝,檢查和計(jì)算,內(nèi)存分配等。 與協(xié)議處理有關(guān)的功能: 重組數(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ú)線鏈路和家庭網(wǎng)鏈路的速度要低幾個(gè)量級(jí)。 TCP和web占主導(dǎo)(目前P2P流量占主導(dǎo))。 小包:路由器收到的包中大約一半為最小長(zhǎng)度(40字節(jié))的TCP響應(yīng)包。 Small transfers:訪問(wèn)最多的web文檔都比較小。 延遲很長(zhǎng):實(shí)際來(lái)回延遲遠(yuǎn)遠(yuǎn)超過(guò)光的傳輸延遲。 局部性很差:在一個(gè)包上執(zhí)行的計(jì)算在未來(lái)短時(shí)間內(nèi)重用到另一個(gè)包上的可能性很小。,2.2 存儲(chǔ)器,寄存器: 由一組有序的觸發(fā)器構(gòu)成,訪問(wèn)同一個(gè)片上寄存器的耗時(shí)大約為0.5-1 ns。 SRAM: 由一組寄存器構(gòu)成。一般情況下,片上SRAM的訪問(wèn)時(shí)間為1-2ns,片外SRAM的訪問(wèn)時(shí)間為5-10ns。 DRAM: 片上DRAM的訪存延遲大約為30ns,最快的片外DRAM訪存延遲為40-60ns,連續(xù)讀的延遲約為100ns。,2019/7/3,page-mode DRAM(快頁(yè)內(nèi)存): 以4字節(jié)突發(fā)模式傳送數(shù)據(jù),有利于局部性好的訪問(wèn)模式。 Interleaved DRAM(交錯(cuò)內(nèi)存): 幾個(gè)DRAM bank集成到一個(gè)內(nèi)存芯片中,復(fù)用數(shù)據(jù)線和地址線。 SDRAM(2個(gè)bank),RDRAM(16個(gè)bank),2019/7/3,舉例:流水化的流ID查找,應(yīng)用需求: 路由器統(tǒng)計(jì)每個(gè)流發(fā)送的包數(shù) 每個(gè)流用五元組(共96位)進(jìn)行描述。 線速處理要求: 對(duì)于2.5Gbps鏈路和40字節(jié)最小數(shù)據(jù)包,流ID的查找時(shí)間不能超過(guò)128ns。(40*8/2.5Gb/s = 128ns) 問(wèn)題規(guī)模: 核心路由器中大約有100萬(wàn)條并發(fā)的流。,2019/7/3,設(shè)計(jì)方案考慮,需要設(shè)計(jì)一個(gè)數(shù)據(jù)結(jié)構(gòu): 每個(gè)流維護(hù)一個(gè)計(jì)數(shù)器 支持插入和查找兩種操作,查找為針對(duì)流ID的精確匹配 要求限制最壞情況下的查找時(shí)間(考慮使用平衡二叉樹(shù)) 使用SRAM實(shí)現(xiàn)? 維護(hù)100萬(wàn)條流的狀態(tài),代價(jià)太高。 使用普通DRAM實(shí)現(xiàn)? 若實(shí)現(xiàn)分支因子為2的二叉樹(shù),查找一個(gè)流需要20次訪存;按照訪存周期50ns計(jì)算,查找時(shí)間為1微秒。,2019/7/3,使用RDRAM實(shí)現(xiàn)二分查找,使用具有16個(gè)bank的RDRAM實(shí)現(xiàn)樹(shù)高為16的二叉樹(shù),樹(shù)中第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è)包的流ID查找bank 1中的根節(jié)點(diǎn); 依次類(lèi)推; 當(dāng)數(shù)據(jù)包1的查找“線程”正在訪問(wèn)bank 16時(shí),數(shù)據(jù)包16的查找線程在訪問(wèn)bank 1。 總的查找性能為每個(gè)流ID一次查找時(shí)間,約為60ns。,2019/7/3,使用RDRAM實(shí)現(xiàn)M=3的B-樹(shù),RDRAM允許快頁(yè)模式,可一次性讀8個(gè)32比特的字(256比特)。 256比特的字可以存放2個(gè)96比特的流ID,以及3個(gè)20比特的指針。 構(gòu)造一棵高度為16、M=3的B-樹(shù),可以保存31643,000,000個(gè)流ID。,2019/7/3,M=3的B-樹(shù)示例,2019/7/3,網(wǎng)絡(luò)存儲(chǔ)子系統(tǒng)設(shè)計(jì)的主要技術(shù),內(nèi)存交錯(cuò)和流水線: 類(lèi)似的技術(shù)也可用于IP查找、包分類(lèi)和包調(diào)度等。 多個(gè)bank可以用多個(gè)外部存儲(chǔ)來(lái)實(shí)現(xiàn)。 寬字并行: 使用DRAM,并利用其快頁(yè)模式; 或者使用SRAM,并使得每個(gè)內(nèi)存字更寬。 組合DRAM和SRAM: SRAM快而貴,DRAM便宜卻慢,將這兩種技術(shù)組合起來(lái)可以得到一個(gè)最佳的平衡。,2019/7/3,2.3 端節(jié)點(diǎn)架構(gòu),端節(jié)點(diǎn)是通用計(jì)算機(jī),由處理器、存儲(chǔ)器、總線和I/O設(shè)備組成。 處理器是一個(gè)狀態(tài)機(jī),以一系列指令和數(shù)據(jù)作為輸入,寫(xiě)輸出到I/O設(shè)備。 大部分的處理器狀態(tài)保存在外部DRAM(主存)中。主存通常用1GB或更大的交錯(cuò)內(nèi)存實(shí)現(xiàn),訪問(wèn)時(shí)間長(zhǎng)(如60ns)。 處理器使用cache來(lái)提高速度: Cache為容量相對(duì)較小的SRAM,保存最常使用的狀態(tài)。 某些SRAM(如L1、L2 cache)位于處理器芯片中。 更多的SRAM(如L3 cache)位于處理器芯片外。,2019/7/3,Cache的使用效果與時(shí)空局部性,當(dāng)指令和數(shù)據(jù)呈現(xiàn)時(shí)間局部性和空間局部性時(shí),cache的使用效果非常好: 時(shí)間局部性:一個(gè)存儲(chǔ)位置在短時(shí)間內(nèi)被頻繁訪問(wèn)。 空間局部性:一個(gè)存儲(chǔ)位置被訪問(wèn)后,其鄰近位置在短時(shí)間內(nèi)被訪問(wèn)。 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)的空間局部性非常重要。,2019/7/3,端節(jié)點(diǎn)的架構(gòu)模型,網(wǎng)絡(luò)應(yīng)用的吞吐量受限于最慢的總線(通常是I/O總線)。 協(xié)議處理通常涉及多次數(shù)據(jù)包拷貝,每個(gè)數(shù)據(jù)包都要穿過(guò)總線幾次。 處理器性能的提高消除了計(jì)算瓶頸,但無(wú)助于消除數(shù)據(jù)移動(dòng)瓶頸。,2019/7/3,2.4 路由器架構(gòu)模型,路由器是具有一組輸入鏈路和一組輸出鏈路的設(shè)備,其任務(wù)是將數(shù)據(jù)包從輸入鏈路交換到輸出鏈路。 路由器的三個(gè)主要性能瓶頸: 查找 交換(數(shù)據(jù)包移動(dòng)) 輸出排隊(duì),2019/7/3,查找,IP地址查找(chapter 11): 按照最長(zhǎng)前綴匹配原則,查找FIB(Forwarding Information Base),確定數(shù)據(jù)包的下一跳。 早期的路由器由主CPU完成地址查找,當(dāng)今最高端的路由器使用專(zhuān)用芯片完成查找,一些要求實(shí)現(xiàn)新功能(如web 負(fù)載均衡)的路由器使用網(wǎng)絡(luò)處理器進(jìn)行查找。 數(shù)據(jù)包分類(lèi)(chapter 12): 按照五元組將數(shù)據(jù)包劃分到某一個(gè)流中。,2019/7/3,交換,路由器內(nèi)部的交換機(jī)制將數(shù)據(jù)包從輸入鏈路 i 傳送到輸出鏈路 j。 早期的路由器使用總線作為交換機(jī)制: 假設(shè)存在N條輸入鏈路,每條鏈路的速率為B,則總線上的負(fù)載達(dá)到BN,成為系統(tǒng)瓶頸。 今天的路由器采用并行交換機(jī)制,如crossbar交換機(jī): 每條輸入和輸出鏈路使用各自的總線,通過(guò)交換機(jī)內(nèi)部的交叉開(kāi)關(guān)實(shí)現(xiàn)連通。 交換機(jī)調(diào)度是瓶頸,其問(wèn)題規(guī)模也是BN。,2019/7/3,排隊(duì),當(dāng)數(shù)據(jù)包被交換到輸出鏈路后,需要排隊(duì)等候發(fā)送。 許多早期的路由器使用一個(gè)FIFO隊(duì)列。 更復(fù)雜的調(diào)度策略可實(shí)現(xiàn)帶寬公平分配或延遲保證: 每條輸出鏈路設(shè)置多條隊(duì)列 數(shù)據(jù)包按照一定的原則(優(yōu)先級(jí)、業(yè)務(wù)類(lèi)型、流ID等)放入某個(gè)隊(duì)列 隊(duì)列調(diào)度器每次從一個(gè)隊(duì)列中取出數(shù)據(jù)包發(fā)送 隊(duì)列調(diào)度器是瓶頸。,2019/7/3,其它任務(wù),包頭檢查和修改:一般由硬件完成 選路(RIP,OSPF,BGP):由主處理器完成。 協(xié)議處理(TCP,UDP,ICMP):由主處理器完成。 分片、重定向、ARP:在快路徑還是慢路徑上完成,有不同的做法。 基于內(nèi)容的交換:快速URL匹配 流量測(cè)量:快速流匹配 ,2019/7/3,2.5 操作系統(tǒng),操作系統(tǒng)是為解決在裸機(jī)上編程困難而設(shè)計(jì)的。 與裸機(jī)打交道的三個(gè)最主要難題是:處理中斷,管理內(nèi)存,控制I/O設(shè)備。 為處理這些困難,操作系統(tǒng)提供了不間斷計(jì)算、無(wú)限存儲(chǔ)和簡(jiǎn)單I/O的抽象。 抽象在提高程序員生產(chǎn)效率的同時(shí),帶來(lái)了兩個(gè)代價(jià): 實(shí)現(xiàn)抽象的機(jī)制是有代價(jià)的 抽象阻礙了程序員對(duì)資源的充分利用,2019/7/3,(1) 依靠進(jìn)程實(shí)現(xiàn)不間斷計(jì)算的抽象,操作系統(tǒng)通過(guò)進(jìn)程提供給程序員不間斷、順序計(jì)算的抽象。 進(jìn)程抽象通過(guò)三個(gè)機(jī)制實(shí)現(xiàn):上下文切換,調(diào)度,保護(hù)。,2019/7/3,進(jìn)程的三種類(lèi)型,中斷處理程序: 僅用于處理緊急請(qǐng)求的短小程序。 只使用少量的狀態(tài)(如幾個(gè)寄存器),開(kāi)銷(xiāo)最小。 線程: 輕量級(jí)的進(jìn)程,只需要較少的狀態(tài)。 同一個(gè)進(jìn)程中的線程切換比進(jìn)程切換開(kāi)銷(xiāo)小。 用戶進(jìn)程: 使用計(jì)算機(jī)的全部狀態(tài),比如內(nèi)存和寄存器。 用戶進(jìn)程之間切換的代價(jià)很高。,2019/7/3,舉例:接收端活鎖(Receiver Livelock),計(jì)算機(jī)將所有的時(shí)間用來(lái)處理數(shù)據(jù)包中斷,卻因?yàn)闆](méi)有時(shí)間運(yùn)行應(yīng)用程序,而最終將數(shù)據(jù)包丟棄。,2019/7/3,進(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é))的包到來(lái)。 端節(jié)點(diǎn)上網(wǎng)絡(luò)程序的延遲和吞吐量和進(jìn)程啟動(dòng)時(shí)間有關(guān)。,2019/7/3,(2)依靠虛擬內(nèi)存實(shí)現(xiàn)無(wú)限存儲(chǔ)的抽象,在虛擬內(nèi)存系統(tǒng)中,程序員使用的內(nèi)存抽象是一個(gè)線性存儲(chǔ)空間,編譯器在該空間內(nèi)指定變量的地址。 現(xiàn)代計(jì)算機(jī)系統(tǒng)使用基于頁(yè)的映射方法: 一個(gè)虛擬頁(yè)為4KB,用虛擬地址的高20位構(gòu)成頁(yè)號(hào),低12位構(gòu)成頁(yè)內(nèi)偏移量。 物理內(nèi)存劃分為物理頁(yè),每個(gè)物理頁(yè)的大小為4KB。 虛擬頁(yè)到物理頁(yè)的映射關(guān)系被保存到一個(gè)頁(yè)表中,以虛擬頁(yè)號(hào)作為索引。 (頁(yè)表映射) 虛擬頁(yè)也可以不在內(nèi)存中,當(dāng)需要時(shí)從磁盤(pán)讀入到內(nèi)存的一個(gè)物理頁(yè)中。(請(qǐng)求調(diào)頁(yè)),2019/7/3,基于頁(yè)的內(nèi)存映射,2019/7/3,虛擬內(nèi)存抽象帶來(lái)的開(kāi)銷(xiāo),到虛擬地址X的一個(gè)讀操作可能需要訪問(wèn)主存兩次: 第一次訪問(wèn)頁(yè)表,將X轉(zhuǎn)換成物理地址P; 第二次訪問(wèn)地址P。 現(xiàn)代處理器將最近使用過(guò)的地址映射緩存在TLB中,實(shí)際的地址轉(zhuǎn)換由MMU完成。 極其影響內(nèi)存訪問(wèn)速度的兩個(gè)因素: TLB miss 調(diào)頁(yè),2019/7/3,(3)通過(guò)系統(tǒng)調(diào)用實(shí)現(xiàn)簡(jiǎn)單I/O的抽象,操作系統(tǒng)提供給程序員的設(shè)備抽象是可以進(jìn)行讀寫(xiě)的一塊內(nèi)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院放射科火災(zāi)應(yīng)急預(yù)案(3篇)
- 火災(zāi)專(zhuān)項(xiàng)環(huán)境應(yīng)急預(yù)案(3篇)
- 音頻處理與編程基礎(chǔ)試題及答案
- 2025年企業(yè)戰(zhàn)略創(chuàng)新試題及答案
- 虛擬化技術(shù)應(yīng)用試題及答案
- 計(jì)算機(jī)考試常見(jiàn)問(wèn)題與試題
- 農(nóng)村土地流轉(zhuǎn)的法律問(wèn)題試題及答案
- 法律文本與社會(huì)現(xiàn)實(shí)的對(duì)應(yīng)關(guān)系試題及答案
- 軟件架構(gòu)設(shè)計(jì)的關(guān)鍵試題及答案
- 2025年公司戰(zhàn)略變化與風(fēng)險(xiǎn)管理試題及答案
- 車(chē)輛超速考試試題及答案
- 成人患者營(yíng)養(yǎng)不良診斷與應(yīng)用指南(2025版)解讀課件
- 2025年一級(jí)注冊(cè)建筑師歷年真題答案
- 十五五時(shí)期經(jīng)濟(jì)社會(huì)發(fā)展座談會(huì)十五五如何謀篇布局
- 初中電與磁試題及答案
- 浙江開(kāi)放大學(xué)2025年《行政復(fù)議法》形考作業(yè)1答案
- 國(guó)家開(kāi)放大學(xué)《西方經(jīng)濟(jì)學(xué)(本)》章節(jié)測(cè)試參考答案
- 湖南省炎德英才名校聯(lián)合體2025屆高考考前仿真聯(lián)考二英語(yǔ)+答案
- 重慶地理會(huì)考試卷題及答案
- 福建省三明市2025年普通高中高三畢業(yè)班五月質(zhì)量檢測(cè)地理試卷及答案(三明四檢)
- 2024年四川省天全縣事業(yè)單位公開(kāi)招聘醫(yī)療衛(wèi)生崗筆試題帶答案
評(píng)論
0/150
提交評(píng)論