




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、lyranet :嵌入式操作系統(tǒng)系統(tǒng)的一種零拷貝tcp / ip協(xié)議棧李云陳,蔣美玲信息管理部國家池南大學(xué)埔里臺灣 中華民國 sl213526ncnuedutw , joannasncnuedu.tw 摘要在嵌入式系統(tǒng)中處理能力,內(nèi)存,以及功率消耗這些資源總是有限,因此, 嵌入式tcp / ip應(yīng)設(shè)計成充分利用有限的資源。申請零拷貝機制,可以減少 內(nèi)存的使用以及cpu傳輸數(shù)據(jù)的處理時間,功率消耗也可減少。在本文屮,我 們提出零拷貝機制的設(shè)計和實施方案的目標(biāo)是嵌入式tcp / ip的組成部分 lyranet (來自linux的tcp / ip的代碼并被改造成一個可重用的軟件)從 操作系統(tǒng)和硬件屮
2、獨立出來。性能評價表明,tcp / tp協(xié)議的處理開資可明 顯降低23-56.22 %。此外,這個網(wǎng)絡(luò)組件的對象代碼的大小只有原始的 linux的tcp /ip協(xié)議棧的78 %。這項研究的經(jīng)驗,可以作為恢入linux 的tcp / ip協(xié)議棧成為一個指標(biāo)體系的參考,并fl提高零拷貝linux tcp / ip協(xié)議傳輸效率。1 導(dǎo)言由于互聯(lián)網(wǎng)的爆炸,嵌入式系統(tǒng)要求加入互聯(lián)網(wǎng)。tcp / ip協(xié)議是這個 連接的核心技術(shù)。在為了適應(yīng)有限的資源的恢入式設(shè)備,一些商業(yè)產(chǎn)品實施tcp / ip協(xié)議棧 以減少代碼大小和cpu處理開銷為目標(biāo)的嵌入式系統(tǒng)。他們的代 碼不是自由索取。自從linux開放源代碼,此外
3、,它很普遍的還具有穩(wěn)定性, 可靠性,高性能,以及很好的文件,這些優(yōu)勢讓利用現(xiàn)有的開放的源代碼和整合 的linux tcp / tp協(xié)議棧6 變成一個口標(biāo)作業(yè)系統(tǒng)成為一個符合成本效益的方法。不過,由于linux是一塊鐵板內(nèi)核,linux的tcp / 協(xié)議棧 不是一個單獨的組件它和其他linux內(nèi)核的功能,如檔案系統(tǒng),裝置驅(qū)動程序 和內(nèi)核的核心有著密切的關(guān)系并且相互作用。這增加在指標(biāo)體系中重用linux 的tcp / ip協(xié)議棧的困難。此外,對于嵌入式系統(tǒng)的特別需耍,直接移植 linux的tcp / ip協(xié)議棧成為一個口標(biāo)操作系統(tǒng)也不是最好的執(zhí)行情況。特別是,在嵌入式系統(tǒng)屮處理能力,內(nèi)存,以及功率
4、消耗這些資源總是有限。舉 例來說,linux tcp / ip協(xié)議代碼的數(shù)據(jù)傳輸適合一般用途、共同資源豐富 的臺式屯腦的操作系統(tǒng)。傳輸數(shù)據(jù)總是從用戶緩沖區(qū)復(fù)制到內(nèi)核緩沖區(qū),然后 從內(nèi)核緩沖區(qū)發(fā)送到網(wǎng)絡(luò)接口卡(nic )。收到的數(shù)據(jù)從nic帶到內(nèi)核網(wǎng)的 緩沖區(qū),然后從內(nèi)核網(wǎng)絡(luò)緩沖區(qū)復(fù)制到用戶緩沖區(qū)。這些數(shù)據(jù)復(fù)制操作需要cpu 的處理時間也增加了開銷。因此,對于嵌入式系統(tǒng)tcp / tp協(xié)議的執(zhí)行, 應(yīng)盡量減少數(shù)據(jù)量復(fù)制,以減少能量消耗和提供高回應(yīng)的效率。零拷貝2 是一個網(wǎng)卡屮的數(shù)據(jù)直接接收到用戶緩沖區(qū)而用戶緩沖區(qū)的數(shù)據(jù)直接發(fā)送到網(wǎng) 卡的機制。在用戶緩沖器和內(nèi)核緩沖區(qū)z間沒有數(shù)據(jù)需耍被復(fù)制。零拷貝
5、的執(zhí) 行需要虛擬內(nèi)存的操作,如頁面重映和硬件設(shè)備支持,如dma控制器。必須保 證tcp / :ep數(shù)據(jù)傳輸?shù)囊恢滦浴4送?,由于虛擬內(nèi)存操作和dma需要實施 零拷貝,通過網(wǎng)絡(luò)接收或發(fā)送數(shù)據(jù)的內(nèi)存緩沖器須受到限制。因為設(shè)備不支持 dma操作,從網(wǎng)卡到用戶的緩沖區(qū)或從用戶的緩沖到網(wǎng)卡的數(shù)據(jù)復(fù)制仍是需要 的。因為重用linux的tcp / ip代碼,我們已我們以前的的研究中提取tcp / ip協(xié)議棧。這是當(dāng)時作為一個獨立于作業(yè)系統(tǒng)和硬件的軟件組件所實 施的,叫做lyranet。在組件的設(shè)計原則的基礎(chǔ)上,1 ,可以得到模塊 化,可重構(gòu),構(gòu)件更換和再利用的優(yōu)勢。作為一個門成一體的組成部分來實施的 tcp
6、/ ip協(xié)議棧,需耍修改linux的tcp / ip的代碼,將它們從其他核心 職能和整合linux的tcp / ip協(xié)議口標(biāo)操作系統(tǒng)的執(zhí)行內(nèi)核支持模塊分開。為了使lyranet適應(yīng)嵌入式系統(tǒng),要求減少協(xié)議處理開銷,內(nèi)存使用,功率消 耗。在本文屮,我們的重點捉岀零拷貝機制,當(dāng)將數(shù)據(jù)發(fā)送到網(wǎng)絡(luò)時通過傳送用 戶數(shù)據(jù)緩沖區(qū)的地址,和從網(wǎng)絡(luò)中接收數(shù)據(jù)時逐頁重,來減少tcp / ip傳輸 的數(shù)據(jù)復(fù)制操作。此外,nic的操作者需要修改融入零拷貝機制。在用消除復(fù) 制到lyraos (基于組件的嵌入式操作系統(tǒng))整合lyranet后,性能評價表 明tcp / ip協(xié)議處理開銷可降低23-56.22 % 。表1實驗
7、平臺lyroos* linux 2linux 1cpupentium 200 mhzpentium 166 mhzram 116mb( 32mb for unux 2amoslyrooslinux 2,0.37(tor pio)linux 2.0;37(loi pio).nux 2,-. 20(foi dma >(jnux 2420(for dma)11pio nicne2000ne2d00dma nic3c905cx-tx-mintel 825502 lyraos 和 lyranetlyraos是一個基于組件的操作系統(tǒng),它的目的是作為一個研究工具操作系統(tǒng)服 務(wù),并提供了一套為互聯(lián)網(wǎng)的個
8、人電腦,手提式電腦,嵌入式系統(tǒng)等精心設(shè)計的、 明確界面的系統(tǒng)軟件組件。它主要是在c + +和少數(shù)集中代碼中實施。它設(shè)計 來概括電腦系統(tǒng)的硬件資源,如低層次機的依賴層明顯是從高層次機系統(tǒng)的語義 剪切的。因此,它可以很容易地移植到不同的硬件體系結(jié)構(gòu)3 o如圖1 所示1 yraos系統(tǒng)的體系結(jié)構(gòu)。每個系統(tǒng)組件是完全獨立的,自我控制,和高 度模塊化的。它除了是一個重量輕的系統(tǒng)軟件,還是一個吋間共享多線程微內(nèi)核。 線程可以被動態(tài)地創(chuàng)建和刪除,線程的優(yōu)先次序可以被動態(tài)改變。它提供了一個 冇先買權(quán)的優(yōu)先時間安排并支持信號,信號量,和信息z間的線程的各種機制。 再加上提供微內(nèi)核(有著windows操作系統(tǒng)的外
9、觀和感覺微型窗口)。此外, lyrafile組件(一個重量輕,基于vfat文件系統(tǒng))既支持基于ram也支持 基于磁盤的貨倉。特別是,lyraos提供linux設(shè)備驅(qū)動仿真環(huán)境來使用linux 的設(shè)備驅(qū)動程序。在這種環(huán)境下,linux設(shè)備驅(qū)動代碼可以未作修改的融入lyraoso圉1 lyranet操作系統(tǒng)結(jié)構(gòu)該lyranet 4 組件是一個來自linux的tcp / 1p代碼的6 tcp / ip 協(xié)議棧。我們充分的使用linux開放的源代碼,主要是為減少我們發(fā)展的難度。 然后,我們把它作為一個可重用的,獨立于操作系統(tǒng)和硬的件軟件組件來改造它。 我們的工作主要包括:重塑linux的tcp / t
10、p協(xié)議棧,把它從檔案系統(tǒng)分裂 出來,實施對內(nèi)核和設(shè)備的包裝獨立開來,并提供兼容插座接口的包裝。3 性能評價木節(jié)介紹安裝了 lyra操作系統(tǒng)的應(yīng)用復(fù)制消去技術(shù)的lyranet的性能評價。表1給出了我們的實驗平臺,我們使用模擬的嵌入式系統(tǒng),在其中的兩臺電 腦連接在一個專用網(wǎng)絡(luò),以避免影響外部網(wǎng)絡(luò)的通信。應(yīng)用ttcp 7 基準(zhǔn),并且i辦議處理和網(wǎng)絡(luò)驅(qū)動器運行的處理時間是冇限制的。總的數(shù)據(jù)長度設(shè)置為pio網(wǎng)卡26280k字節(jié)和dma的nic131400k字節(jié)。lyraosijnux 2linux 1cpupentium 200 mhzpentium 166 mhzram16mb (32mb for l
11、inux 2.4.20)32mboslyraoslinux 2.0.37(for pio)linux 2.0.37(for pio)linux 2420(for dma)linux 2.4.20(for dma)pio nicne2000ne2000dma niclnk-1 s255o3.1 o比較對象的代碼大小從表2可以看出,應(yīng)用復(fù)制消除技術(shù)的丄yranet的基礎(chǔ)代碼的規(guī)模是linux 的tcp / ip協(xié)議棧的78 %o加入復(fù)制消除機制之后,只增加lyranetl.l到1.7%的口標(biāo)代碼。:object codesize (bytes)linux 2.037 tcp/ip stack116
12、,892lyrnnet without copy elimination89,760lyranet with copy elimination (pio nic)91,241lyranet with copy elimination (dma nic)90,7603.2 o發(fā)送數(shù)據(jù)性能我們發(fā)送數(shù)據(jù)的大小為1460字節(jié)的整數(shù)倍。圖5給出了 lyranet應(yīng)用復(fù)制消 除級z后,該協(xié)議的性能的改善5 1.34-56.22 %。當(dāng)應(yīng)用dma的網(wǎng)卡時,雖然加入復(fù)制消除機制的驅(qū)動程序的處理時間增加,但 是總處理時間仍是下跌27.7-50 %。由于快速的dma控制器,驅(qū)動程序處理是高效的,不是總處理時間的主
13、要部分時,dma的網(wǎng)卡是適用的。此得出結(jié)論認(rèn)為,當(dāng)數(shù)據(jù)復(fù)制山總處理時間的主要部分時,復(fù)制消除是冇利的。當(dāng)使用pio網(wǎng)卡時,由于pio的特性,驅(qū)動處理時間成為總處理時間非常大的部份。因為協(xié)議的處理時間減少了,復(fù)制消除的總的處理時間仍是略有下降secondslyranet without copy eliminationlyranet with copy elimination口 protocol processing由dma網(wǎng)卡發(fā)送數(shù)據(jù)secondslvranet withoutcopy eliminationlyranet with copy elimination口 protocol pro
14、cessing (b)由pio網(wǎng)卡發(fā)送數(shù)據(jù)圖于發(fā)送數(shù)據(jù)處理時間3.3 o接收數(shù)據(jù)性能我們把處理時間分為三個部分:nic的驅(qū)動程序的執(zhí)行時間(例如 ei_interrupt ( ) boomerang_interrupt (), 接收數(shù)據(jù)主要協(xié)議的代碼,(例如from net_bh ( ) tcp_rcv (),和系統(tǒng)調(diào)用處 理代碼(例如 from sys_recv ( ) tcp_recvmsg ()。在 linux 的源代碼中,從網(wǎng)卡收到的傳入的數(shù)據(jù)包在nic在中斷服務(wù)程序中進行(isr),那么isr給net_bh做標(biāo)記來激活底部的一半處理,例如net_bh()o大部分接受協(xié)議的處理是在從n
15、et_bh ( ) tcp_rcv ()控制流小完成的。然后tcp_rcv ()調(diào)用tcp_data ()喚醒數(shù)據(jù)的線程等待。當(dāng)線程先前調(diào)用sys_recv ()來接收數(shù)據(jù)時,睡在tcp_recvmsg ()的 等待線程蘇醒了來復(fù)制的數(shù)據(jù)。secondso lyranet withoutcopy eliminationlyranet withcopy elimination3 sys recv>tep recvmsg det bh-:>tcp rcv kx>merang ijilernjpt由dma的網(wǎng)卡接受數(shù)據(jù)lvranet withoutlvranet with <
16、copy eliminationcopy elimination回 sysrec¥atcp rccvms£ nct bh>tcp rcv匚 ntcmipt由pio的網(wǎng)卡接收數(shù)據(jù)圖6接收數(shù)據(jù)處理時間山圖6(a)顯示,當(dāng)系統(tǒng)由dma的網(wǎng)卡接收數(shù)據(jù)的處理時間。該ttcp是被設(shè)定來發(fā)送1460字節(jié)的數(shù)據(jù)102400次到lyranet。結(jié)果表明,在原始tcp / ip協(xié)議棧復(fù)制數(shù)據(jù)的時間是總處理時間最大的一部分。(即從sys_recv ( )tcp.recvmsg ()。應(yīng)用了復(fù)制消除,數(shù)據(jù)復(fù)制的處理吋間是犬大降低 了。雖然boomerang_interrupt ()在復(fù)制消除
17、屮不會修改,不過,網(wǎng)頁 重映會導(dǎo)致tlb的浪費,這反過來會改善dma驅(qū)動程序的性能。在協(xié)議處理部 分,在有無復(fù)制消除機制的lyranet從netbh ( ) tcp_rcv ()的處理時間的不同是微不足道的。圖6(b)表明,系統(tǒng)由p10的ntc接收數(shù)據(jù)的處理的時間。該ttcp是安裝來發(fā)送1460字節(jié)的數(shù)據(jù)8192次到lyranet。結(jié)果表明,從nic接收數(shù)據(jù) 是主要瓶頸。沒有快速設(shè)備的支持,如dma控制器,網(wǎng)卡的pto依賴于cpu通 過主存接收數(shù)據(jù)。雖然我們應(yīng)用復(fù)制消除大大降低了數(shù)據(jù)復(fù)制處理吋間,但是, 驅(qū)動處理占大部分總處理時間,從而導(dǎo)致性能的改善微不足道。4 結(jié)論我們己經(jīng)重載和改造linu
18、x的tcp / ip協(xié)議棧為一個軟件組件,稱為丄yranet,這是獨立于操作系統(tǒng)和硬件。為適應(yīng)納入資源有限的環(huán)境下,我們在lyranet 屮發(fā)展的復(fù)制消除,以減少協(xié)議處理時間的開銷和減少內(nèi)存的開銷。性能評價表 明,協(xié)議的處理時間在發(fā)送數(shù)據(jù)時可減少5 1.34-56.22 %和在接收數(shù)據(jù)時23-46 % o加入復(fù)制消除機制,僅僅增加了 1.1-1.7%的目標(biāo)代碼的大小??倆,成功的經(jīng)驗和我們的工作可以作為嵌入式linux tcp / :ep協(xié)議棧成為 一個指標(biāo)體系要求的網(wǎng)絡(luò)連接的參考。此外,我們的零復(fù)制的執(zhí)行情況還可以幫 助工作,提高linux tcp / ip協(xié)議棧傳輸效率。5參考文獻j. b
19、runo, j. brustoloni, e. grabber, a. silberschatz, and c. small, “pebble: a component based operating system for embedded applications',in proceedings of 3rd symposium on operating systems design and implementation, usenix, february 1999.j. c. brustoloni and p. steenkiste, "effects of buffer
20、ing semantics on i/o performance: proceedings of 2nd symposium on operating systems design and implementation, pages 277291, usenix, oct. 1996.3z. y. cheng, m. l chiang, and r c. chang, "a component based operating system for resource limited embedded devices二 ieee international symposium on consumer electr
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專項7 語法和病句(原卷版)
- 智慧應(yīng)急響應(yīng)管理平臺解決方案
- 江蘇省徐州市東苑中學(xué)2024-2025學(xué)年八年級下學(xué)期3月月考地理試題(原卷版+解析版)
- 2025屆江蘇省蘇州市決勝新高考高三下學(xué)期2月開學(xué)聯(lián)考地理含答案
- 內(nèi)鏡下注射硬化劑治療乙型肝炎肝硬化并發(fā)食管靜脈曲張破裂出血患者的臨床效果研究
- 安徽省淮南市東部地區(qū)2024-2025學(xué)年七年級上學(xué)期期末考試地理試題(原卷版+解析版)
- 二零二五年度北京市體育俱樂部運動員招募合同范本
- 二零二五年度保健服務(wù)貸款居間服務(wù)與客戶反饋合同
- 房地產(chǎn)項目開發(fā)建設(shè)合同書
- 公司股權(quán)激勵機制設(shè)計指南
- 陽臺裝修合同
- 建筑工程安全管理論文15篇建筑工程安全管理論文
- 基于三菱FX系列PLC的五層電梯控制系統(tǒng)
- 拉拔試驗原始記錄
- 溫室韭菜收割機設(shè)計學(xué)士學(xué)位論文
- 梁平法施工圖鋼筋表示法
- 京東ME的賬號怎么注冊的
- 浙江新聞獎副刊類參評作品推薦表
- 江蘇鴻泰鋼鐵有限公司品種結(jié)構(gòu)調(diào)整煉鋼系統(tǒng)升級項目環(huán)評報告
- 煤層氣開采地面工程設(shè)計方案
- xxx年國企集團公司職工代表大會制度 企業(yè)職工代表大會制度
評論
0/150
提交評論