行政院國家科學委員會專題研究計畫 成果報告
嵌入式網路通訊裝置評比技術與工具之研發(中心分項)--總計畫
研究成果報告(精簡版)
計 畫 類 別 : 整合型 計 畫 編 號 : NSC 97-2218-E-009-031- 執 行 期 間 : 97 年 08 月 01 日至 98 年 07 月 31 日 執 行 單 位 : 國立交通大學資訊工程學系(所) 計 畫 主 持 人 : 林盈達 計畫參與人員: -兼任助理人員:江易達 碩士級-專任助理人員:陳一瑋 碩士級-專任助理人員:許郡泓 大專生-兼任助理人員:丁冠中 處 理 方 式 : 本計畫可公開查詢中 華 民 國 98 年 10 月 20 日
行政院國家科學委員會補助專題研究計畫
■成果報告
□期中進度報告
嵌入式網路通訊裝置測試中心:
方法與工具之實驗、開發與推廣
計畫類別:□個別型計畫 ▓整合型計畫
計畫編號:NSC 97-2218-E-009-031
執行期間:
96 年 08 月 01 日至 97 年 07 月 31 日
計畫主持人:林盈達 教授
共同主持人:曾建超、曹孝櫟、張立平
共同參與人員:陳一瑋、江易達、許郡泓、丁冠中、
陳建臻、楊弘偉、陳
薪中、林俊緯、李松遠、王晉賢、
曹敏峰、王興謙、林家樑、賴俊羽、劉
俊延、張又仁、黃千庭、黃士庭、蘇宥全、郭郡杰
成果報告類型(依經費核定清單規定繳交):▓精簡報告 □完整報告
本成果報告包括以下應繳交之附件:
□赴國外出差或研習心得報告一份
□赴大陸地區出差或研習心得報告一份
□出席國際學術會議心得報告及發表之論文各一份
□國際合作研究計畫國外研究報告書一份
處理方式:除產學合作研究計畫、提升產業技術及人才培育研究計畫、
列管計畫及下列情形者外,得立即公開查詢
□涉及專利或其他智慧財產權,□一年□二年後可公開查詢
執行單位:國立交通大學
中 華 民 國 98 年 8 月 1 日
1
行政院國家科學委員會專題研究計畫成果報告
NSC Open Source Project—總計畫:嵌入式網路通訊裝置測試中心:方法與工具之實驗、開發與推廣 計畫編號:97-2218-E-009-031 執行期限:97 年08 月01 日至98 年07 月31 日 主持人:林盈達 教授 國立交通大學 資訊工程學系(所) 1. 摘要 嵌入式系統由於在價格以及體積等具有 競爭力的條件下,逐步成為許多廠商致力於 開發各種建構在嵌入式系統平台上的網路通 訊裝置,但是在眾多的裝置上卻沒有可用來 評比各項嵌入式系統網路裝置的好方法,因 此本計畫的目的便是希望建構一個量測評比 嵌入系統網路通訊裝置的平台,除了能依據 效能協助選擇適當的嵌入式網路通訊裝置, 亦能協助開發者於開發時測試該裝置的效能 以及改進的方向,藉此達到在效能以及規格 上取得平衡,發揮嵌入式系統的優勢以及最 大的效能。 本測試系統包含四個子計畫,針對嵌入 式系統網路通訊裝置最令人關切的四項評比 項目:系統應用效能、耗電量分析、核心系 統與通訊行為分析及儲存系統效能等進行效 能測試評比工具開發,總計畫亦開發供此四 子計畫利用之共通測試平台(Common Test Platform),做為子計畫測試時所需要使用的 網路相關測試平台,以及所要測試的背景網 路流量,以總計畫所提供的背景流量,做為 四項子計畫的測試基底,觀察在該流量之 下,對待測裝置的效能影響及評比,整合嵌 入式系統應用效能評比、處理器指令集耗電 量測分析、系統核心事件分析和通訊行為分 析及儲存媒體效能分析等技術及工具,達成 對嵌入式網路通訊裝置進行完整效能的測試 及評比,除了能幫助產品開發者進行效能改 進及選擇適合使用的元件平台,亦可做為學 術上進行相關研究時有實際上產品的數據供 做先進技術的研發,並將此系統原始碼公 開,提供開放原始碼社群使用及研究。 關鍵詞: 嵌入式系統、網路通訊裝置、耗電 量、系統核心事件、儲存媒體、開放原始碼 2. 緣由與目的 嵌入式系統被大量的開發在生活上各種 不同的產品上,拜晶片及處理器設計和製程 技術進步所賜,使用者很容易透過各個嵌入 系統上進行網際網路存取,不論是有線網路 或是無線網路(WiFi, GSM, WiMAX等)等網 路介面和技術被大量應用在嵌入式系統裝置 上供使用者進行資料存取,雖然使用者可以 方便的透過這些輕便且可攜式的裝置隨時隨 地存取網際網路,可是伴隨這些網路流量對 於嵌入式系統造成的各項元件影響,卻沒有 一個共通標準和平台可以做為整體性的測 試,這不只會成為使用者在選擇適用自己的 平台時的困擾,也成為系統開發者在開發初 期選擇規格時沒有依據的標準,可能因為選 擇不適當的規格而造成開發失敗,如何選擇 所需的網路裝置元件並可顧及使用者在使用 上的需求,又不影響對裝置使用上的效能, 將會成為未來嵌入式系統網路通訊裝置一個 重要的議題。 有鑑於此,本計畫的目標即對於當前嵌 入式網路通訊裝置所面臨到的問題,進行相 關的研究及討論,配合相關的技術和理論, 研發各項技術以及測試評比平台,為達到此 目的,本計畫共將開發包含總計畫及四個子 計畫共四項相關測試工具進行嵌入式系統評 比,分別如下所述: 9 嵌入式系統共通測試平台(Embedded Common Test Platform, CTP 1.1.0) 9 嵌入式系統應用效能評比測試(Design
and Implementation of Benchmarking Tools and Methods for User-Experience Performance, EUE 1.2.0)
9 嵌入式系統耗電分析評比測試(Design and Development of Power
Consumption Analysis and
Benchmarking Tools for Embedded Network and Communication Devices, EPC 1.3.0)
2
9 嵌入式核心與通訊行為效能評比測試 (Design and Development for Kernels and Protocols Analysis and
Benchmarking Tools for Embedded Networking and Communication Devices, KPT 1.4.0)
9 嵌入式儲存裝置評比測試(Design and Implementation of Benchmarking Tools and Methods for Storage Systems, ESB 1.5.0)
3. 研究內容
本計畫之系統為嵌入式網路通訊裝置測 試中心:方法與工具之實驗、開發與推廣 (Benchmarking Lab for embedded
networking and communication devices: Experiment, Development, and Deployment of methodologies and tools, SYS),總系統本 身亦包含開發一個子系統為嵌入式系統共通 測試平台[CTP 1.1.0],另外尚有其它四個子 系統分別為:嵌入式系統應用效能評比測試 [EUE 1.2.0]、嵌入式系統耗電分析評比測試 [EPC 1.3.0]、嵌入式核心與通訊行為效能評 比測試[KPT 1.4.0]及嵌入式儲存裝置評比測 試[ESB 1.5.0],而各子系統與總計畫之間之 介面及互動關係如圖一所示。 圖一 總計畫系統架構圖 本計畫在整個軟體開發過程除了依 照CMMI所規定之規格撰寫系統需求文件、 系統設計文件與系統整合測試文件,並完成 設計與開發各子系統,各子系統之研究內容 及軟硬體架構如下所示: 嵌入式系統共通測試平台(Embedded Common Test Platform, CTP): 主要的
目的是要能提供測試嵌入式網路通訊裝 置所需要的有線及無線流量,針對不同 的網路服務,讓特殊(如HTTP、 SMTP/POP3)且固定的資料流量通過待 測裝置,並且可整合供其它三項子計畫 進行使用,形成供應子計畫使用的共通 測試平台,本平台可劃成為三個部份, 如圖二所示。 圖二 CTP架構圖 嵌入式系統應用效能評比測試(Design and Implementation of Benchmarking Tools and Methods for User-Experience Performance, EUE): 本計畫研究所開 發之工具為SSL VPN Tunnel Tester (SSLTC)與Integrated Voice Quality Test(IVQT),其詳細架構如下。 (1) SSLTC 用戶端可以利用VPN方式連線,進 行私密安全連線,以防止資料在網路上 進行傳輸時,遭到駭客竊取,但是加密 連線必須使用大量的運算,以及過濾, 使得該類型的網路安全產品可容納的 VPN容量無法達到實際需求,考量在大 部份的情況下,利用VPN進行連線時, 許多的連線都是在進行網頁瀏覽,因此 並非需要在Client和Server端之間保持建 立連線的狀況態,也可由此減輕VPN網 通裝置的負擔,利用SSL VPN的方式進 行資料的流通,以Linux 為SSL VPN的 client,產生同時多條的SSL VPN tunnels
3
(Full Tunnel Mode)與users來連上SSL VPN server,可用來自動化測試tunnel capacity、user capacity、stability。 圖三 Tunnel之建立流程 (2) IVQT PDA或是WiFi Phone可以透過有線及無 線網路進行VoIP連線,利用SIP協定進行 撥打電話的動作,再藉由直接或間接使 用RTP協定封包進行語音封包傳送,利 用有線的方式進行VoIP連線不必考慮移 動性的問題,但是在無線網路環境下則 不同,除了無線網路使用的MAC Layer 協定(主要是CSMA/CA)限制了
VoWiFi(Voice over WiFi)使用上無法充 份使用預定的頻寬,實際使用上還有關 於在無線網路下Roaming等問題,所以在 有線及無線網路的環境下,皆可利用各 自條件不同的變因,使用PESQ測試語音 品質的標準,測試對於待測物品的語音 通話品質影響。 圖四 IVQT之程式架構與Work Flow 嵌入式系統耗電分析評比測試(Design and Development of Power
Consumption Analysis and
Benchmarking Tools for Embedded Network and Communication Devices, EPC): 本子計畫中,我們提出了耗電分 析工具軟體,EPC。嵌入式系統設計師 可藉由EPC量測並分析目標平台的系統
耗電行為。圖六以HTC G1為例,從耗電 的波形圖,我們發現行動裝置的 Wi-Fi 是採用 power saving mode,因此連上 Access Point,系統會以每100毫秒的週 期醒來去收beacon,對應到耗電波形圖 可發現100毫秒會產生一個 peak power。另外,此子計畫也可結合訊號衰 減器、訊號隔絕箱以及此耗電量測工 具,預期建構出一個可控制的無線網路 量測環境(如圖七所示),使量測結果有更 佳的重製性與可信度。 圖五 Embedded Device秏電量測結果 圖六 可控制的無線網路量測環境 嵌入式核心與通訊行為效能評比測試 (Design and Development for Kernels and Protocols Analysis and
Benchmarking Tools for Embedded Networking and Communication Devices, KPT):本計畫所設計的工具是 讓使用者用來分析核心系統的主要行為 以及獲得網路協定行為與核心行為互動 的相關重要資訊,諸如時間戳記(Time Stamp)、封包佇列長度等,之後再利用 這些資訊更進一步地分析核心系統於傳 輸及接收過程中的效能,希望能夠藉此
4 彌補目前網路封包擷取工具的不足。 本年度研究目標主要重點有四: (1) 核心事件之歸類與行為分析 Linux 系統本身提供一個使用者空 間的應用程式和核心系統交換訊息 的機制:Netlink,而且 Linux 定義 交換訊息的協定,每一種協定相對 應 於 不 同 的 核 心 元 件 , 其 中 以 NETLINK_ROUTE 作 為 協 定 的 Netlink 可以將核心系統內部有關通 訊行為的核心事件以訊息的方式, 傳送給使用者空間的應用程式,但 是對於本計畫而言,Netlink 有許多 核心事件尚未支援,如 Link UP, Link UP 發生原因為網路通訊裝置 上的網路介面卡可以開始傳送封 包,通常為網路介面卡連接上接取 點(PoA),所以我們需要此核心事件 作為量測封包傳輸延遲的基準點, 因此我們會去擴充核心系統中原本 Netlink 的實作方法,讓核心系統能 夠提供原本 Netlink 未提供的核心 事件,使本工具能夠獲知更加完整 的核心事件,幫助使用者剖析細部 的核心行為。 (2) 核心事件擷取與核心函式追蹤的補 釘技術之研發
我們以Link UP 和 Link DOWN 為 例,當網路介面的驅動程式發現網 路介面連接上接取點或者是離開接 取 點 時 , 驅 動 程 式 會 去 執 行 netif_carrier_on 將核心系統中維護 網路介面狀態的carry bit 開啟,或 是執行 netif_carrier_off 將 carry bit 關閉,如圖表 3,因此只需要在 netif_carrier_on 或 netif_carrier_off 被執行時,透過Netlink 機制將 Link UP 和 Link DOWN 的資訊傳送給本 工具用以解決提供核心事件數量不 足的缺點,本工具當核心事件發生 時,會記錄所有 Netlink 提供的資 訊,例如:網路介面名稱、網路介 面 的 MAC address、網路介面的 MTU 等等,直到要將剖析結果呈現 給使用者時,將所有資訊作前後比 對,因此可以發現是哪一種屬性數 值改變,藉此就知道是何種事件發 生,舉例來說,如果是網路介面 MTU 變更的核心事件,我們從比對 前後記錄的 MTU 數值有無改變, 即可得知 NETDEV_CHANGEMTU 的發生。解決以上兩點缺失之後, 本工具就能夠正確且精準得知每一 個核心事件發生的原因和時間點。 (3) 網路封包擷取工具與資料儲存結構 之分析 本工具藉由核心事件擷取與核心函 式追蹤的補釘技術,讓使用者深入 瞭解網路通訊裝置於通訊行為中的 核心行為,但是對於整體的通訊行 為而言,核心行為並無法完全滿足 使用者的需求,所以我們希望利用 網路封包擷取工具,建立內部的核 心行為與外顯的網路協定行為兩者 之間的關聯性,作為未來整合通訊 行為整體之因果關係的基礎。 (4) 測試例之建構與實測驗證 經過核心事件擷取與核心函式追蹤 的補釘技術之研發後,我們已經具 備核心行為的擷取與追蹤技術,接 著必須建構實際的測試例,以驗證 核心行為記錄的正確性。無線網路 普遍被使用於生活中,當使用中的 網路通訊裝置遠離原AP,連線必會 因此而受影響,為保持現有的服 務,網路通訊裝置會尋找並交遞 (Handover)到新 AP,在交遞過程 (Handover Procedure)中,有許多核
5
心事件可能會被觸發,比如說 Link UP、Link DOWN、IP CHANGE 等 等,所以為能夠驗證所有相關的核 心事件,都將被正確擷取且準確記 錄發生的時間,我們使用SIP-based VOIP 軟體建構測試例,以觀察交遞 過程中核心事件擷取的正確性。 嵌入式儲存裝置評比測試(Design and
Implementation of Benchmarking Tools and Methods for Storage Systems, ESB): 在這份研究中,系統的實際效能皆與快 閃記憶體的管理方法有直接的關係。因 此要對快閃記憶體裝置進行效能評估 (Benchmark),必須針對其使用的管理方 法進行測試。效能評測的方法主要分成 Trace-Replay , Macro-Benchmark 及 Micro-Benchmark 三 種 類 型 。 Trace-Replay 和 Macro-Benchmark 的目 標都是測試一個裝置在一般使用情形下 的整體效能。Trace-Replay 是將一個實際 的存取行為紀錄並且在待測物上重現, 而 Macro-Benchmark 則是透過人工合成 的存取樣式代替實際的Workload 對待測 物進行測試。Micro-Benchmark 的目標是 要測試某一個特定操作的成本,或是極 端情形下的效能表現,其存取樣式並不 一定存在實際的應用環境中。現階段的 硬碟評測工具,絕大多數都是以傳統機 械式磁碟為待測物,測試的結果Seek 和 Rotate 的成本以及資料傳輸的成本。使 用傳統為磁碟打造的 Micro-Benchmark 並不足以完全反映固態硬碟管理方法所 付出的抹除和資料搬移的成本,採用這 些工具所得到的測試結果可能會讓使用 者做出錯誤的選擇,對於固態硬碟開發 者來說,也沒辦法找到其設計上的缺失 並加以改進,因此固態硬碟的效能評測 技術的需求是很迫切的。 我們認為測試一個固態硬碟的效能,不 僅止於找出最壞或最好的效能讀數,更 重要的是得到貼近使用者真實感受的實 際效能。要達到這個目標,必須要營造 各種不同的存取行為模式去呈現不同管 理方法的差異。我們提出的方法有測試 方法以及特徵分析兩個主軸。測試方法 的部分是以 Trace-Replay 為基礎,我們 收集常見於個人電腦的Workload 並且在 固態硬碟上重現他們的存取行為,並且 提出新的效能指標以及視覺化的方式, 可以診斷固態硬碟典型的管理不良。 Workload 特徵分析的部份,我們考量了 快閃記憶體的物理特性,固態硬碟的硬 體架構以及常見的管理方法,提出了一 個可以辨認Workload 的特徵與固態硬碟 管理成本的關係的方法,我們可以利用 這些特徵辨認一個Workload 對固態硬碟 上某個管理議題的衝擊,並且以此作為 依據將衝擊類似的Workload 收集起來, 形成一個效能評測的套件,套件中包含 了各種真實的存取行為,因此可以得到 貼近實際的效能評測結果。 我們提出的固態硬碟效能評測方法主要 有兩個步驟,第一個步驟是收集實際 Workload 的存取記錄,這些存取的紀錄 稱為Trace,我們稱為 trace-gathering 。 第二個步驟是在待測的固態硬碟上完整 的重現存取行為,稱為Trace-Replay。 現階段的效能測試工具多以循序與隨機 的測試樣式為主無法包含所有實際的存 取行為,因此也無法反應固態硬碟的真 實效能,因此我們採用真實的Workload 作為我們的測試樣式,下圖是我們的系 統結構。
6 我們整理出了我們的Benchmark Suites。 Copy MP3以及BT因為循序寫入且資料 傳輸長度大,在這種情況下傳輸的成本 比管理的成本明顯,因此歸類到Transfer Suite中。在GC Suite方面,依據巨觀分 析的結果,我們選擇更新強度高的 PCMARK05,EMAIL,以及Browser三 者,PCMARK代表的是比較容易處理的 循序更新,而微觀的分析結果顯示 EMAIL代表的是沒有冷熱資料混合的隨 機更新,而Browser代表的是最不好處理 的高強度密集隨機更新搭配冷熱資料混 合的情況,因此這三個Workload恰好可 以完整的測試固態硬碟的空間回收機制 在不同強度的更新之下的表現。在測試 寫入緩衝的Buffer Suite部分,可以利用 eMule以chunk為單位的下載檔案行為, 因為每一個chunk都有很明顯的空間與 時間區域性的情形,可以體現寫入緩衝 的管理單位大小差異。位置轉換的部 分,可以利用EXT2/EXT3的Group Headers的更新進行測試,我們收集到的 Trace恰好包含了大範圍的Group Header 更新行為。最後想要評估固態硬碟包含 傳輸以及管理成本的整體效能,可以使 用Install Windows進行測試,因為其規模 夠大,且其中涵蓋了所有可以測試固態 硬碟效能成本的特徵。 4. 研究成果與討論 總計畫部份在共通測試平台上,已成功 透過相關開放源碼程式,建立可提供其它子 計畫進行測試時所需要使用的網路流量 (HTTP, FTP, SMTP etc),且可以橫跨各種不同 的作業系統(Linux and Windows等),而且不 論是在有線或無線網路上,皆為一個可被重 製、有彈性且可被分析的架構,未來將朝各 項協定之分析及自動化測試結果分析為目標 進行努力。 EUE子計畫本計畫已經能利用相關的工 具以及已經開發的程式及模組,進行與SSL VPN Tunnel及Voice Quality量測的工具,其中 SSL VPN Tunnel部份,由於目前SSL VPN Tunnel技術並沒有相關的標準製定,因此目 前已經與多家知名大廠合作,廠商也願意提 供產品在進行研發時所使用的protocol stack 與本計畫合作,在本計畫本所使用的建立SSL VPN Tunnel技術有一定的透明度,使本計畫 中研發來給SSL VPN相關技術所使用的測試 計畫,不旦有黑箱測試,同時也有灰箱測試 的部份,有助於本計畫團隊對於SSL VPN技 術應用在學術用、商用平台上能精確的了解 其Tunnel建立技術;而IVQT部份,由於涵蓋 相當大範圍的不同技術(Voice Codec, Voice Generator, Voice Quality Tester, 802.11a/b/g, Background Traffic)及開發工具(Azimuth, Abacus, Net-NIST, IxChariot)的整合,雖然大 部份的內容都是黑箱測試,但是對於各項通 訊協定及語音編碼、語音量測等相關的標準 的了解,有助於未來本團隊在進行相關工具 開發及學術研究的延展性,而同時整合多項 測試工具實行利用有限的空間,實施更大規 模的測試,有助於未來在工具開發及執行相 關測試專案時,能接受各種不同腳本進行有 彈性的調整及高度客製化。 EPC子計畫在這一年,我們建立了一個 可控和重新播放的測量環境,利用CRME與 高階modeling-base基礎的能源分析工具軟 件,SEProf。CRME評價了功耗移動應用和 服務的無線移動環境仿真與用戶可調的信道 模型的選擇及流動模式和應用程序的使用。 它可以幫助用戶了解和診斷電力消費行為的 移動應用/服務的測試/部署。有些測量 Android的筆記本電腦和手機的使用己利用 CRME進行,在其中一個實驗也顯示其重要 性將無線網絡配置了電池壽命實驗。SEProf 估計能耗每個線程維持一個功率表列出每個 線程和跟踪功率水平的嵌入式處理器在運行 時使SEProf更適合在較大的能源估算系統的 電源管理功能。我們已實施SEProf在Linux內 核2.6.19,並進行了一些實驗上ARM11 MPCore處理器。實驗結果在VFS的實驗表 明,平均功耗估計誤差範圍內使用SEProf為2 %,標準差的估計誤差在5%以內。在視頻服 務器的實驗結果顯示,平均功耗估計誤差在2 %,但標準差的估計誤差增大的降低視頻服 務器的時間間隔。在性能開銷介紹SEProf是 相當少。所觀察到的視頻服務器性能下降 實 驗小於4%。用戶可控制SEProf之間的權衡精
7 度和效率,建設電力庫的嵌入式軟件在不同 粒度的水平。 KPT子計畫完成本年度的工作項目後, 我們研發核心事件擷取與核心函式追蹤技 術、分析核心行為與網路協定行為的關連 性,以及設計測試方法。除此之外,我們另 外設計三個實驗(1)Kernel Patching的核心系 統之網路效能測試(2)暫存機制之網路效能測 試(3)FTP通訊協定實際測試,以驗證核心函 式追蹤之補釘技術的準確性。 Kernel Patching,對於核心系統的網路效 能幾乎看不出有任何影響。因為在我們的追 蹤技術中,實際上只有在每個重要的核心函 式中加入一個探針而已,而實際上的程式處 理片段是放在Instrument Module中,故在沒 有執行Instrument Module的功能下,對整個 核心系統的影響實際上並不大。 系統輸出入機制對於核心系統之網路效 能影響甚鉅,相較於使用記憶體暫存機制, 儘管也對效能有所影響,但是沒有增加太多 核心系統的負擔(overhead)。如果測試其他 HTTP、FTP等網路協定,會更明顯感覺到整 體的網路效能降低,因為其中所經過的核心 函式數量更多,所要記錄的資訊量也更多; 相對之下,使用記憶體暫存機制,可以減少 整體的核心系統負擔。 FTP網路協定的傳輸過程中,是否能夠 準確地追蹤網路封包在核心系統內的傳輸流 程。 本計畫所提出「嵌入式網路通訊裝置之 核心行為與網路協定行為整合測試、分析與 評比工具」便是希望使用者可以經由相關網 路協定的測試,深入瞭解嵌入式網路通訊裝 置在通訊行為過程中所發生內部的核心行 為,以及外顯的網路協定行為,並且藉由這 些測試的資料記錄,可以用來分析網路封包 在核心系統內部網路各層的延遲時間、核心 事件發生的處理時間,進一步分析整體通訊 行為的效能。 ESB 子計畫提出目前的效能評測方法與 工具,因為將待測物設定為機械式的磁碟, 其典型的循序與隨機存取的測試樣式,並沒 有辦法囊括真實的所有存取行為,除此之 外,其使用的效能指標並沒有辦法呈現固態 硬碟的管理成本,因此現階段的測試工具所 得之結果並不可靠。 為了改善此問題,我們收集了常見的 Workload 搭配 Trace-Replay 的方式營造貼近 真 實 的 存 取 行 為 , 並 且 提 出 新 的 Per-Byte-Response 效能指標可以具體的辨認 出典型的固態硬碟管理不良的情形。為了讓 使用者可以直接利用我們的研究成果,我們 將收集到的 Workload 分門別類形成不同的 Benchmark Suites。使用者想要測試固態硬碟 管理的某個環節時,可以直接取用對應的 Benchmark Suite。我們以其中三個與固態硬 碟管理直接相關的 Suite 對四顆固態硬碟進 行效能評測,得到了與傳統工具不同的結 果,這顯示了固態硬碟的管理方法對實際效 能有關鍵性的影響。 我們提出的效能指標Per-Byte-Response可以 有效的找出管理方法的典型缺失,但是要發 展為成熟可用且廣被接受的工具,必須要提 出更明確清楚的評定管理方法優劣機制以及 擴增Benchmark Suite的規模。未來我們希望 以Per-Byte-Response為基礎,打造一個評分 的機制,這個機制除了評定外部效能的優劣 外也要能夠呈現管理成本的高低,讓使用者 可以得到更完整且易懂的測試結果。在擴展 Benchmark Suite方面,我們希望未來可以納 入Linux環境下的Workload,建構出非常完整 且真實的效能評測工具。 5. 參考文獻
[1] "Using the NCTUns 2.0 Network Simulator and Emulator to Facilitate Network
Researches", S.Y. Wang - Proc. 2nd International Conference on Testbeds and Research, 2006.
[2] “Harpoon: a flow-level traffic generator for router and network tests”, J. Sommers, H. Kim, P. Barford - ACM SIGMETRICS Performance Evaluation Review, 2004. [3] A. Tirumala, F. Qin, J. Dugan, J. Ferguson,
8
bandwidth measurement tool.
http://dast.nlanr.net/Projects/Iperf, 2004. [4] Paul Barford , Mark Crovella, Generating
representative Web workloads for network and server performance evaluation,
Proceedings of the 1998 ACM SIGMETRICS joint international
conference on Measurement and modeling of computer systems, p.151-160, June 22-26, 1998, Madison, Wisconsin, United States.
[5] Charles R. Simpson, Jr. , Dheeraj Reddy , George F. Riley, Empirical Models of TCP and UDP End-User Network Traffic from NETI@home Data Analysis, Proceedings of the 20th Workshop on Principles of Advanced and Distributed Simulation, p.166-174, May 24-26, 2006.
[6] Jelena Mirkovic , Brett Wilson , Alefiya Hussain , Sonia Fahmy , Peter Reiher , Roshan Thomas , Stephen Schwab, Automating DDoS experimentation, Proceedings of the DETER Community Workshop on Cyber Security
Experimentation and Test on DETER Community Workshop on Cyber Security Experimentation and Test 2007, p.4-4, August 06-07, 2007, Boston, MA. [7] J. Sommers, P. Barford, Self-configuring
network traffic generation, Proceedings of the 4th ACM SIGCOMM conference on Internet, 2004.
[8] CoralReef: Passive network traffic monitoring and statistics collection. http://www.caida.
org/tools/measurement/coralreef. Accessed August 2004.
[9] Jing Cong , Bernd E. Wolfinger, A unified load generator based on formal load
specification and load transformation, Proceedings of the 1st international conference on Performance evaluation methodolgies and tools, October 11-13, 2006, Pisa, Italy
[10] Joel Sommers , Vinod Yegneswaran , Paul Barford, A framework for malicious workload generation, Proceedings of the 4th ACM SIGCOMM conference on Internet measurement, October 25-27, 2004, Taormina, Sicily, Italy
[11] Michele C. Weigle , Prashanth Adurthi , Félix Hernández-Campos , Kevin Jeffay , F. Donelson Smith, Tmix: a tool for generating realistic TCP application workloads in ns-2, ACM SIGCOMM Computer Communication Review, v.36 n.3, July 2006
[10] Endace measurement systems.
http://www.endace.com/. Accessed August 2004.
[11] SSFnet network simulator.
http://www.ssfnet.org. Accessed August 2004. [12] UCB/LBNL/VINT Network Simulator - ns
(version 2). http://www.isi.edu/nsnam/ns. Accessed August 2004.
[13] Kashi Venkatesh Vishwanath , Amin Vahdat, Realistic and responsive network traffic generation, ACM SIGCOMM Computer Communication Review, v.36 n.4, October 2006
[14] Network Emulation Testbed. http://www.emulab.net.
[15] Spirent, http://www.spirentcom.com/. [16] IXIA, http://www.ixiacom.com/ [17] Network Benchmarking Lab,
http://www.nbl.org.tw/.
[18] Toshihiro Kobayashi and Tetsuo Yamabe, “Linux DSP Gateway Specification , ” v3.3.1, Nokia Corporation, 2006.
9
[19] “OMAP5912 Applications Processor Data Manual,” Texas Instruments, March 2004.
[20] “DSP/BIOS LINK,USER GUIDE” Texas Instruments, March 2007.
[21] “A. Sinha and A.Chandrakasan , “JouleTrack – A Web Based Tool for Software Energy Profiling,” Proc. 38th Design Automation Conference, “June 2001
[22] ”Energy Estimator/Analyzer for Embedded Dual Core Processor” , Chun-Hao Hsu , 2006” Measuring System Performance on the TMS320DM644x Platform” Texas Instruments, March 2007.
[23] Chuanxiong Guo and Shaoren Zheng , “Analysis and Evaluation of the TCP/IP Protocol Stack of Linux”, International Conference on Communication Technology Proceedings, vol 1, pp. 444 –453, Aug. 2000.
[24] Wikipedia – “GNU”, Available from: http://en.wikipedia.org/wiki/GNU
[25] Ying-Dar Lin, and Ping-Tsai Tsai, “Trace Linux TCP/IP kernel – Using remote debugging”, Available from: http://speed.cis.nctu.edu.tw/~ydlin/miscpu
b/remote_debug.pdf
[26] Peter Jay Salzman, Michael Burian, and Ori Pomerantz, “The Linux Kernel Module Programming Guide”, Dec. 2005. [27] Bryan Henderson, “Linux Loadable
Kernel Module HOWTO”, Available from: http://www.tldp.org/HOWTO/Module-HO WTO/
[28] Jongmoo Choi, “Kernel aware module verification for robust reconfigurable operating system”, Journal of Information Science and Engineering, Vol. 23 No. 5, pp. 1339-1347, Sep. 2007.
[29] Moore, R. J., “Dynamic probes and generalized kernel hooks interface for Linux”, Proceedings of the fourth annual Linux showcase and conference. Atlanta, GA, USA, pp. 139-145, 2000.
[30] Nicolas Loriant and Jean-Marc MenaudGeneralized, “Dynamic Probes for the Linux Kernel and Applications with Arachne”, In Proc. of the 2007 IADIS Conference on Applied Computing, Feb. 2007.
[31] R. Krishnakumar, “Kernel Korner: Kprobes - a Kernel Debugger”, Linux Journal, Jun. 2006.
[32] Jeong-Won Kim, Young-Uhg Lho, Young-Ju Kim et al, “A memory copy reduction scheme for networked multimedia service in Linux kernel”, Lecture Notes in Computer Science, 2002, 2510: 188–195.
[33] 曹敏峰, " Linux 網路通訊協定堆疊之高 效率動態的指令嵌入平台之設計與實作 ", 交大資工所碩士論文, 2008.
[34] G. Irlam, “Unix File Size Survey,” 1993.
http://www.gordoni.com/ufs93.html
[35] A. Inoue and D. Wong, "NAND Flash Applications Design Guide" , April, 2003. [36] Li-Pin Chang and Tei-Wei Kuo, "Efficient
Management for Large-Scale
Flash-Memory Storage Systems with Resource Conservation," ACM
Transactions on Storage, Volume 1, Issue 4, 2005.
[37] Intel Corporation, “Understanding the Flash Translation Layer (FTL)
Specification".
[38] SSFDC Forum, "SmartMediaTM Specification", 1999.
[39] Compact Flash Association, “Compact
FlashTM 1.4 Specification," 1998.
[40] Linux MTD project and M-System, “NAND Flash Memory Translation Layer
10
(NFTL).”
[41] Nitesh Goyal and Rabi N Mahapatra "Energy Characterization of CRAMFS for Embedded Systems", Proceedings of International Workshop on Software Support for Portable Storage (IWSSPS), March 2005.
[42] Siddharth Choudhuri, Rabi Mahapatra, "Energy Characterization of Filesystems for Diskless Embedded Systems", Design Automation Conference (DAC), June 2004.
[43] Aleph One Company, “Yet Another Flash Filing System (YAFFS) "'
[44] L. P. Chang and T. W. Kuo, “An Adaptive Striping Architecture for Flash Memory Storage Systems of Embedded Systems,” 8th IEEE RTAS, September 2002, pp. 187-196
[45] Han-joon Kim and S. Lee, “A New Flash Memory Management for Flash Storage System.“, In Proceedings of the 23rd Annual International Computer Software and Applications Conference, pages 284–289, 1999.
[46] Ousterhout, J., Da Costa, H., Harrison, D., Kunze, J., Kupfer, M., and Thompson, J., A Trace- Driven Analysis of the UNIX 4.2 BSD File System, Proceedings of the Tenth Symposium on Operating Systems Principles, Orcas Island WA, December 1985, pp. 15-24.
[47] Atsuo Kawaguchi et al., “A Flash-Memory Based File System”, in USENIX
Technical Conference, 1995
[48] Linux MTD Project, “Journaling Flash File System (JFFS), Journaling Flash File System 2 (JFFS2), and Journaling Flash File System 2 (JFFS3).”
[49] Bray, T, ”The Bonnie home page.”,
http://www.textuality.com/bonnie, 1996. [50] Katcher, J., “PostMark: A New Filesystem
Benchmark. Tech. Rep. TR3022, Network Appliance.”,www.netapp.com/techlibrary/ 3022.html ,1997
[51] William D. Norcott., Don Capps, “Iozone Filesystem Benchmark”,
http://www.iozone.org/docs/IOzone_msw ord_98.pdf
[52] N. Joukov, A. Traeger, CP Wright, Zadok, “Benchmarking File System
Benchmarks”,
ETechnical Report FSL-05-04b, CS partment Stony Brook University, 2005. [53] John H. Howard, Michael L. Kazar, Sherri
G. Menees, David A. Nichols, M. Satyanarayanan, Robert N. Sidebotham, and Michael J. West., “Scale and
performance in a distributed file system.”, ACM Transactions on Computer Systems, 6(1):51–81, February 1988.
[54] AIM Technology, ”AIM Multiuser Benchmark - Suite VII Version 1.1. “,
http://sourceforge.net/projects/aimbench , 2001
[55] Nathan Edel, Deepa Tuteja, Ethan L. Miller, and Scott A. Brandt, "MRAMFS: A Compressing File System for
Non-Volatile RAM" ,IEEE/ACM International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS 2004)
[56] R. Bryant, R. Forester, and J. Hawkes. "Filesystem Performance and Scalability in Linux 2.4.17." , In FREENIX '02, Monterey, CA, June 2002.
11
Solaris OS, UFS, Linux ext3, and ReiserFS”, White paper August 2004.
http://sun.com/software/whitepapers/solari s10/fs_performance.pdf
[58] R. Bryant, R. Forester, and J. Hawkes. "Filesystem Performance and Scalability in Linux 2.4.17." , In FREENIX '02, Monterey, CA, June 2002.
[59] Iometer Project. “Iometer” ,OPEN
SOURCE DEVELOPMENT LAB. 2004.
www.iometer.org/.
[60] A. Kawaguchi, S. Nishioka, and H. Motoda,“A Flash Memory based File System,” Proceedings of the USENIX Technical Conference, 1995.
[61] F. Douglis, R. Caceres, F. Kaashoek, K. Li, B. Marsh, and J.A. Tauber, “Storage
Alternatives for Mobile Computers,” Proceedings of the USENIX Operating System Design and Implementation,1994. [61] Veritest. “NetBench.” ,
www.veritest.com/benchmarks/netbench/ , 2002
[62] A. Tridgell, “dbench-3.03 README.”
http://samba.org/ftp/tridge/dbench/READ ME, 1999.
[63] Rosenblum M, Ousterhout J. “The Design and Implementation of a Log-Structured File System.”, Proceedings of the 13th ACM Symposium on Operating Systems Principles, October 1991.
[64] Mazieres, D. et al. , "Separating Key Management from File System
Security",17th ACM Symp. On Operating Systems Principles. (1999).
[65] M. Kaminsky et al, “Decentralized User Authentication in a Global File System”, 19th ACM Symposium on Operating Systems Principles, 2003.
[66] An-I Wang, Peter L. Reiher, Gerald J. Popek, Geoffrey H. Kuenning, “Conquest: Better Performance Through a
Disk/Persistent-RAM Hybrid File System.”, USENIX Annual Technical Conference, General Track 2002: 15-28 [67] Schmuck, F. and Haskin, R., ”GPFS: A
Shared-Disk File System for Large Computing Clusters”, Proceedings of the Conference on File and Storage