行政院國家科學委員會專題研究計畫 成果報告
嵌入式網路通訊裝置評比技術與工具之研發--總計畫(2/2)
研究成果報告(完整版)
計 畫 類 別 : 整合型 計 畫 編 號 : NSC 99-2220-E-009-043- 執 行 期 間 : 99 年 08 月 01 日至 100 年 07 月 31 日 執 行 單 位 : 國立交通大學資訊工程學系(所) 計 畫 主 持 人 : 林盈達 處 理 方 式 : 本計畫可公開查詢中 華 民 國 100 年 10 月 30 日
目錄 (Cotent) [1] 計畫總覽 ... 1 摘要與 EBL 實驗室 ... 1 計畫說明 ... 1 [2]緣由與目的 ... 1 [3]研究內容 ... 2
嵌入式系統共通測試平台(Embedded Common Test Platform, CTP) ... 2
SSLTC (SSL VPN Tunnel Capacity) ... 3
IVQT (Integrated Voice Quality Test) ... 4
嵌入式系統應用效能評比測試(Embedded System Performance, ESP) ... 5
嵌入式系統耗電分析評比測試(Embedded Power Consumption, EPC) ... 6
嵌入式核心與網路協定行為評比技術與工具 (Kernel Profiling Tool, KPT) ... 7
嵌入式儲存裝置測試系統 (Embedded Storage Benchmark System, ESBS) ... 8
[4]研究成果與討論 ... 9
1
[1] 計畫總覽
摘要與 EBL 實驗室 近年來嵌入式系統被大量的應用在各 種不同的產品上,使用者可以很輕易地透過 各種網路進行資料存取,不論是有線網路或 是無線網路Wi-Fi, GSM, WiMAX等網路介 面技術,到目前為止並沒有一個夠好的方法 可以針對各項嵌入式系統網路裝置及元件 進行評比,因此如何挑選適當的元件並幫助 產品開發者測試該裝置的穩定度及效能,將 成為未來開發嵌入式系統網路通訊裝置的 重要議題。 本計畫目的在於提供一系列完整的測 試工具與測試方法,其中包括應用效能測 試、耗電測試、分析與診斷機制、元件效能 測試(例如:儲存裝置),將其應用在目前主 流的嵌入式網路通訊裝置,為其建造「嵌入 式 網 路 通 訊 裝 置 測 試 軟 體 發 展 中 心 (Embedded Benchmarking Lab, EBL)」來協 助 廠 商 及 使 用 者 評 比 嵌 入 式 網 路 通 訊 裝 置,亦可做為日後學術相關研究時有實際的 產品數據提供參考。 計畫說明 為了達到嵌入式網路通訊裝置在測試 上的「垂直整合」,整個計畫目標針對當前 嵌入式網路通訊裝置所面臨的問題進行研 究,並配合相關的技術和理論研發各項技術 以及測試評比平台,內容共計四個子計畫進 行嵌入式網路通訊裝置評比: 嵌入式網路通訊裝置應用效能評比技術與 工具之研發 提供使用者應用效能評比工具進行使用者 應用效能評比測試,在對待測的嵌入式網路 通訊裝置進行效能評比測試時,可以利用總 計畫所提供的測試設備與流量設計出各種 不同的測試項目,藉以觀察並評估不同的環 境條件下對系統效能的影響。 嵌入式網路通訊裝置耗能評比基準與工具 之研發 此工具主要整合嵌入式網路通訊裝置的耗 電分析及測試設備,建立一套完整的自動化 耗電量測環境。本計畫會從測試平台取得其 產生的測試封包並蒐集回覆封包以分析其 反應時間及流量等,並將測試結果回傳給嵌 入式系統耗電分析與評比工具產生黑箱測 試評估報告。 嵌入式網路通訊裝置核心與通訊行為效能 評比技術與工具之研發 主要目的是對系統核心的訊息與通訊協定 行為進行分析,並開發測試與評比的工具, 其工作包含建立一套嵌入式網路通訊裝置 的標準測試流程及分析機制,開發具高親和 力之網路核心系統與通訊協定行為的整合 式分析工具,最後結合總計畫提供的測試平 台對網路通訊過程進行細部動作的分析,診 斷其潛在的問題。 嵌入式網路通訊裝置儲存裝置效能評比基 準與工具之研發 本工具主要針對以快閃記憶體為基礎之儲 存裝置,設計與實作出完整之效能評比程 序、工具以及技術。具體工作項目包括:作 業系統核心與韌體之事件擷取機制,標準測 試程序之建立,測試標竿之設計。 關鍵詞: 嵌入式系統、網路通訊裝置、耗 電量、系統核心事件、儲存媒體、開放原始 碼[2] 緣由與目的
近年來嵌入式系統被大量的應用在各 種不同的產品上,使用者可以很輕易地透過 各種網路進行資料存取,不論是有線網路或 是無線網路Wi-Fi, GSM, WiMAX等網路介 面技術,到目前為止並沒有一個夠好的方法 可以針對各項嵌入式系統網路裝置及元件 進行評比,因此如何挑選適當的元件並幫助 產品開發者測試該裝置的穩定度及效能,將 成為未來開發嵌入式系統網路通訊裝置的2 重要議題。 本計畫是三年期計畫的第二年,目的在 於 提 供 一 系 列 完 整 的 測 試 工 具 與 測 試 方 法,其中包括黑箱(Black Box)、灰箱(Gray Box)與白箱(White Box)測試、應用效能測 試、耗電測試、分析與診斷機制、元件效能 測試(例如:儲存裝置),將其應用在目前主 流的嵌入式網路通訊裝置,為其建造「嵌入 式 網 路 通 訊 裝 置 測 試 軟 體 發 展 中 心 (Embedded Benchmarking Lab, EBL)」來協 助 廠 商 及 使 用 者 評 比 嵌 入 式 網 路 通 訊 裝 置,亦可做為日後學術相關研究時有實際的 產品數據提供參考。 有鑑於此,本計畫的目標即對於當前嵌 入式網路通訊裝置所面臨到的問題,進行相 關的研究及討論,配合相關的技術和理論, 研發各項技術以及測試評比平台,為達到此 目的,本計畫共將開發包含總計畫及四個子 計畫共四項相關測試工具進行嵌入式系統 評比,分別如下所述: 9 嵌入式系統共通測試平台(Embedded Common Test Platform, CTP 1.1.1) 9 嵌入式系統應用效能評比測試(Design
and Implementation of Benchmarking Tools and Methods for Embedded System Performance, ESP 1.2.1) 9 嵌入式系統耗電分析評比測試(Design
and Development of Power Consumption Analysis and
Benchmarking Tools for Embedded Network and Communication Devices, EPC 1.3.1)
9 嵌入式核心與網路協定行為效能評比 技術與工具(Design and Development for Kernels and Protocols Analysis and Benchmarking Tools for Embedded Networking and Communication Devices, KPT 1.4.1)
9 嵌入式儲存裝置評比測試(Design and Implementation of Benchmarking Tools and Methods for Storage Systems, ESBS 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 1.1.1) 為了測試嵌入式網路通訊裝置所需要3 的有線及無線網路的應用層流量,總計畫開 發應用層測試工具(App-Test Tool)針對不同 的網路服務,提供各種需要進行測試的應用 層流量來對待測裝置以自動化的方式進行 流量測試,目前可以設定的流量種類(如圖 二所示)有一般常用協定的應用層流量:超 文 件 傳 輸 協 定 (Hypertext transmission protocol, HTTP)、檔案傳輸協定(File Transfer Protocol, FTP)、簡單信件傳輸協定(Simple Mail Transfer Protocol, SMTP)、郵局通訊協 定 (Post Office Protocol 3),串流(Streaming) 流量或者是即時訊息(Instant Message, IM) 流量,進行各種應用層流量測試。 圖二 設定需要產生的應用層流量及參數 應用層測試工具在執行的過程中也能 夠得知所有應用層的吞吐量(throughput),從 圖三可以看出所有流量上下傳的最高速度 及平均速度,讓測試工程師可以觀察待測裝 置的吞吐量變化,最後應用層測試工具會根 據這些吞吐量的變化將其繪製成測試結果 曲線圖用來做進一步的分析。 圖三 測試過程的 throughput 變化及測試結果曲線圖 透過總計畫開發的應用層測試工具就 可以提供一個共通測試平台做為四項子計 畫的測試基底,觀察在該流量之下,對待測 裝置的效能影響及評比。 SSLTC (SSL VPN Tunnel Capacity) SSLTC 為子計畫一所開發的測試工具, 用戶端可以利用 VPN 方式連線,進行私密 安全連線,以防止資料在網路上進行傳輸 時,遭到駭客竊取,但是加密連線必須使用 大量的運算,以及過濾,使得該類型的網路 安全產品可容納的 VPN 容量無法達到實際 需求,考量在大部份的情況下,利用 VPN 進行連線時,許多的連線都是在進行網頁瀏 覽,因此並非需要在Client 和 Server 端之間 保持建立連線的狀況態,也可由此減輕VPN 網通裝置的負擔,利用SSL VPN 的方式進 行資料的流通,以 Linux 為 SSL VPN 的 client,產生同時多條的 SSL VPN tunnels (Full Tunnel Mode)與 users 來連上 SSL VPN server,可用來自動化測試 tunnel capacity、 user capacity、stability。
本系統的軟體架構主要是由幾項元件 所構成: Traffic Generator– SSL VPN Tunnel, Traffic Generator – Background Traffic, Controller,以下說明各個元件所扮演的角色 以及如何進行測試與蒐集數據:
Traffic Generator – SSL VPN Tunnel: 使 用一台PC 製造出同時上千條的 SSL VPN tunnels。
4 Traffic Generator – Background Traffic:除 了建立SSL VPN tunnel 外,也可產生網路流 量導入SSL VPN tunnel 中,如 HTTP、FTP.. 等等。
Controller:會使用一台 PC 作為 controller, controller 的功能一是用來 trigger traffic generators,二是用來抓取 DUT 上的 information 來判斷該次測試的結果是 Pass or Fail。
SSLTC 之系統架構如下所示:
SSLTC 針 對 特 定 的 SSL ( Secure Socket Layer ) 虛 擬 私 有 網 路 ( Virtual Private Network,VPN)的裝置,根據其連線的規 範開發連線程式,透過個人電腦的方式模擬 出多個 SSL VPN 的客戶端(Client)和 SSL VPN 裝置進行連線(如圖四所示),測試不同 的SSL VPN 裝置最多可建立的通道(Tunnel) 數量,並提供吞吐量測試來進行單一通道及 合併所有通通之吞吐量測試,再透過總計畫 的應用層測試工具將產生不同的應用層背 景流量,將其導入至SSL VPN 通道中,就 可以評比不同的SSL VPN 裝置在導入不同 的應用層流量至 SSL 通道時,傳輸狀態的 穩定度以及吞吐量效能。 圖四 模擬多個 client 來測試 SSL VPN 裝置
IVQT (Integrated Voice Quality Test)
IVQT(Integrated Voice Quality Test)為 子計畫一所開發的語音測試工具,由於市面 上有許多語音功能的產品都整合至嵌入式 網路裝置中,因此本工具主要目的是提供一 個 語 音 測 試 的 環 境 , 以 虛 擬 定 位(Virtual Position)的技術來模擬嵌入式網路通訊裝置 在移動式的行為,再以自動化的方式進行語 音撥接的測試,最後透過總計畫提供背景流 量的測試平台就可以用來觀查及分析嵌入 式裝置在各種不同的網路情境下的語音通 訊品質。IVQT系統的軟硬體架構主要是由 幾項元件所構成: NIST-Net Controller:需能支援使用 NIST-Net 控制對於網路環境的影響,如在收 話端與受話端之間Traffic 受環境影響的控 制,封包延遲或Loss 等條件,用以測試在 該環境下對於語音通話品質的影響。 Background Traffic Generator:需能支援 在不同型態的Background Traffic之下,擷取 語音相關的封包進行語音品質測試,
Background Traffic可以為HTTP,FTP, or P2P etc.,藉以觀察在不同的traffic以及不同的 loading之下對Voice Quality的影響。 Azimuth Platform(For Wireless Only):利 用Azimuth 平台進行 RF Attenuator 控制,可 以擬似對於WiFi Phone 的移動模式,藉以 Test Client SSLVPN 裝置 後端 Server SSL VPN Tunnel
5
測試在移動狀態中的WiFi Phone 對於 Voice Quality 的影響,藉由本測試可以分析關於 WiFi Phone 與 AP 在移動態狀下的適應性, 由本測試可以進一步進行在移動中需進行 Roaming 時,WiFi Phone 對於 Roaming 機制 的調適,選擇以何機制和時機進行Roaming 的動作,以及在Roaming 的同時對於語音品 質的影響為何。 Integrated Controller:上面的測試都是只 有針對單一的情況進行測試,但是這樣的測 試無法進行多次的重複使用,每次進行測試 時都要重新再設定不同的環境和不同的條 件及劇本,做一次測試要花費許多的時間進 行其它工具的設定,再者在動態設定的情況 下,會造成各工具之間Timing 的非同步, 造成測試不精確,因此本項目支援的目的是 要做到在測試時可以利用單一視窗介面,進 行對WiFi Phone, NIST-Net 和 Azimuth 同步 的控制以及批次處理。其系統架構如下所 示: 圖五為一嵌入式網路式裝置從從無線 網路基地台AP1行進至AP2時,在進行交遞 (Handover)時的語音品質狀況,從圖中可以 看出該狀置距離AP1越遠時語音品質會不 斷的下降,行進至AP1及AP2的中間位置時 語音訊號會不斷飄移,其語音品質也會是最 差的狀況,藉由虛擬定位的技術即可對不同 支援語音功能的嵌入式網路通訊裝置進行 交遞測試的評比。 圖五 Handover的語音品質狀況 嵌入式系統應用效能評比測試
(Embedded System Performance, ESP 1.2.1) 子計畫一提供測試嵌入式裝置效能評 比工具。主要目的是希望透過運行各種分析 工具模組,使之能應付嵌入式系統多層架構 與多種程式語言特性(如Android的多種語言 架構),同時也解決嵌入系統上儲存空間有 限造成分析結果log的儲存空間不足的問 題。以下是於開機時間分析評測流程圖: 圖六 開機流程
按下電源開關後,Initial Program Loader (IPL) 會 檢 查 硬 體 元 件 並 啟 動 Second Program Loader (SPL),接著SPL會依序將壓 縮的kernel image從Flash載到記憶體、將 image解壓縮,然後執行kernel裡的第一個函 式──start_kernel。kernel首先初始化各個資 料結構(data structure)和任務(task),並加載 入驅動程式。接著,user space的程式依序初 始 化 並 開 始 執 行 ──service_manager 、 deamon programs、zygote及media_server。
6 Zygote繼續預載一些Java class和resource,以 加 速 Java 應 用 程 式 , 然 後 啟 動 system_server。 system_server 是 一 個 管 理 所 有 的 Android服務的程式,。它可以掃描flash, 找出所有已安裝的應用程式,然後為每一程 式創建thread以提供服務。其中一個重要的 服務是負責螢幕拖曳的SurfaceFlinger,在啟 動 過 程 也 結 束 於 SurfaceFlinger 裡 的 bootFinished( )執行完成。 根據上述啟動程序,我們分為開機過程 分為三個區塊:導引程式、kernel space和user space,最初的三個checkpoint即被設置於這 三個區塊的邊界。然後,我們使用了階段性 插入的方法的逐啟動效能分析,並確定了以 下 七 個 重 要checkpoint : service_manger 、 daemon、zygote、media_server、JAVA class & resource、system_server以及SurfaceFlinger()。
耗電測試分析評比工具(Embedded Network and Communication Devices, EPC 1.3.1) Power Memo 為子計畫二所開發用來量 測嵌入式裝置為的耗電工具,主要的設計目 的是提供一個系統負載度低且能夠有效精 準剖析系統耗電資訊的工具,並且可同時搭 配無線網路的測試環境,在動態測試中觀查 移動中的裝置耗電量。下方是PowerMemo 的系統架構圖: 圖七 PowerMemo系統架構圖 主要區分成Host 端及 Target 端 兩個部 分,在 Host 端有開發一個量測工具,主要 目的同時記錄系統上各裝置的耗電狀況,並 著重在耗電分析,希望以可讀性佳的圖表來 呈現的耗電結果,不但能同時量測各 components 的耗能狀況,並對耗能分析產生 報表與圓餅圖,如圖八所示。 圖八 耗能分析報表 在 Target 端的部分又可分為兩部分, 第一部分是開發Benchmark 程式進行自動 化測試。主要是建立 communication-intensive benchmark ,像是 streaming MP3, streaming video (可在 Host 端自行定義要在 target 上執行的
benchmark 腳本,如圖九所示)。
圖九 建立Benchmark腳本
第二部分是Control Daemon 的開發,主 要是提供 host 控制 target 的管道,可以由 host 任意執行或停止 benchmark ,由 host 掌控在 target 所有的 benchmarks 藉此達
7
到大量自動化量測的目標。
核心與網路協定行為評比技術與工具 (Kernel Profiling Tool, KPT)
核心與網路協定行為評比技術與工具 (KPT)為子計畫三所開發的工具,目的是用 來追蹤嵌入式網路通訊裝置的網路應用程 式在執行時,封包所經的核心函式、觸發的 核心事件以及網路封包都能被記錄,並進一 步分析出嵌入式系統的整體網路行為。本工 具透過指令嵌入技術取得核心系統與網路 協定互動的相關重要資訊,諸如時間標記、 網路封包相關資訊和核心函式執行順序等 等。之後將取得的核心行為記錄(Kernel Behavior Log, KBL),與網路封包擷取工具 取得的網路協定行為記錄(Protocol Behavior Log, PBL)進行整倂,即可剖析暨除錯核心 系統內部的網路通訊協定堆疊,進一步地分 析網路封包傳送與接收過程的效能。 由於核心系統可能受到追蹤與量測技 術的干擾,因此KPT 利用暫存機制與背景 移轉機制,減少追蹤與量測技術對核心系統 的影響。由圖九的超文件傳輸(HTTP)及檔案 傳輸(FTP)測試可以看出對於加入核心分析 功能的核心系統及沒有加入核心分析的核 心系統,其網路效能差距約為1.3%與 1.7%,由此得知本工具對核心系統的影響很 小。 圖十 核心系統之傳輸速率比較 圖十一 核心系統之傳輸速率比較 再從另一個測試角度來看,將此 KPT 與 其 他 的 核 心 系 統 追 蹤 工 具 ( 在此列舉 Kernel Function Trace, KFT)以及未經修改的 kernel,來比較 TCP 的傳輸速率,圖十一的 結果可得知本工具對於核心系統行為並無 顯著的影響。 圖十二為 KPT 實際測試的視覺化結 果,透過核心事件擷取與自動核心函式追蹤 的補釘嵌入技術就能夠取得網路封包在核 心系統內的網路協定行為與核心函式互動 的資訊,讓使用者可以探討待測裝置的核心 事件發生的原因與時機,了解網路封包於核 心系統內的網路協定堆疊之運作流程,並追 蹤 與 量 測 一 個 網 路 封 包 從 啟 動 到 處 理 完 畢,其間所經過的延遲與反應時間。 然而核心系統原始程式非常龐大且牽 涉到太多與網路通訊協定無關的處理,因而 提出兩個方法來找出相關程式片段,此兩方 法 為 選 擇 性 指 令 嵌 入 (Selective Instrumentation) 與 封 包 關 聯 (Packet Association)技術。圖十三為選擇性指令嵌入 技術的架構,分成三個部分: (1) Polymorphism Module 負責調查原始程 式碼,以及尋找structsk_buff 的所有變形, 將結果儲存於Polymorphism Table。
(2)Direct use function Module 從 Polymorphism Table 取得 structsk_buff 的所 有變形後,負責搜尋與嵌入指令於Direct use
8
function , 將 搜 尋 結 果 儲 存 於 Direct use Table。
(3) Indirect use function Module 從 Direct use Table 取得所有 Direct use function 的資訊, 負 責 搜 尋 與 嵌 入 指 令 於 Indirect use function,最後將搜尋結果儲存於 Indirect use Table。 核心系統的原始程式碼經過這三個流 程之後,產生嵌入剖析與除錯指令的原始程 式碼。 圖十二KPT 實際測試的視覺化結果 圖十三 選擇性指令嵌入技術之架構 而封包關聯技術是為取得核心行為與 網路協定行為之間的互動資訊,用以整倂核 心行為記錄與網路協定行為記錄,於不影響 核心系統運作的行為情況之下,從核心系統 內部取得最少的封包相關資訊,達成整倂 KBL 與 PBL 的目標。 嵌入式儲存裝置測試系統 (Embedded Storage Benchmark System, ESBS) 子計畫四提供嵌入式儲存裝置測試系 統(ESBS),主要是針對快閃記憶體(Flash Memory)為基礎之儲存系統,設計與實作出 完整之效能評比程序、工具以及技術。目前 已完成計畫中固態硬碟儲存裝置(Solid state disk,SSD)的效能評比與分析,透過收集各 種 Workload 並針對固態硬碟的特徵進行分 析 , 將 相 似 特 徵 的 集 合 成 評 比 套 件 (Benchmark Suite),並且歸納這些特徵對固 態硬碟管理議題造成的影響。研究中,在於 針對 NAND Flash-based 的儲存設備,提出 一個韌體演算法( Firmware Algorithm )和硬 體架構( Hardware Architecture )的標準制定 原型與效能評估工具,使用比傳統硬體測試 更 加 快 速 的 軟 體 simulator 技 術 來 設 計 Flash memory storage system 。韌體模擬部 分提供定義的標準模型總結了各種韌體演 算法的抽象化概念並實作為 API ,該 API 讓 使 用 者 能 夠 快 速 制 訂 各 種 FTL( Flash Translation Layer )韌體演算法,硬體架構模 擬部分則使用 SystemC 來模擬各種快閃記 憶體的架構。 此 外 , 本 研 究 計 畫 也 結 合 虛 擬 磁 碟 ( Virtual Disk )技術作為使用者操作介面,使 用者可通過對虛擬磁碟進行一般磁碟存取 操作(如格式化、寫入檔案…等),並實際感 受所模擬的硬體架構及韌體演算法搭配後 的 時 間 延 遲( Time delay ) 現 象 , 結 合 simulator 所產生之 result ,可正確評估各 種 不 同 硬 體 架 構 及 韌 體 演 算 法 搭 配 的 效 能。因此本研究不僅能有效解決 NAND Flash-based 的儲存設備開發週期過長的問 題,幫助開發者找到適合的設計,並設計與 實作出完整之效能評比程序、工具以及技 術。
9 但若用ESBS 測試則更可以清楚看到就 細部的管理機制,以圖十三的垃圾回收管理 機制(Garbage Collection, GC)為例(X 軸為 發出要求順序,Y 軸為存取位址,Z 軸為回 應時間), OCZ 的 GC 管理機制是優於 Transcend 的,造成整體效能有極大落差的 主要原因在於硬體條件的不同,Transcend 是採用單層式儲存 (Single Level Cell, SLC) 的技術,而 OCZ 是用多層式儲存 (Multi Level Cell, MLC)的技術,因此如果是硬體條 件在相似的狀況下,ESBS 效能評比測試工 具比IOMeter 更能適當的選擇出符合特定用 途所需要的最佳管理機制儲存裝置。
圖十四 Flash memory storage system系統架構圖
本研究提出一個韌體演算法( Firmware Algorithm ) 和 硬 體 架 構 ( Hardware Architecture )的標準制定原型與效能評估工 具,使用比傳統硬體測試更加快速的軟體 simulator 技術來設計 Flash memory storage system (如圖十四)。韌體模擬部分提供定義 的標準模型總結了各種韌體演算法的抽象 化概念並實作為 API ,該 API 讓使用者 能夠快速制訂各種 FTL( Flash Translation Layer )韌體演算法,硬體架構模擬部分則使 用 SystemC 來模擬各種快閃記憶體的架 構。 此 外 , 本 研 究 計 畫 也 結 合 虛 擬 磁 碟 ( Virtual Disk )技術作為使用者操作介面,使 用者可通過對虛擬磁碟進行一般磁碟存取 操作(如格式化、寫入檔案…等),並實際感 受所模擬的硬體架構及韌體演算法搭配後 的 時 間 延 遲( Time delay ) 現 象 , 結 合 simulator 所產生之 result ,可正確評估各 種 不 同 硬 體 架 構 及 韌 體 演 算 法 搭 配 的 效 能。因此本研究不僅能有效解決 NAND Flash-based 的儲存設備開發週期過長的問 題,幫助開發者找到適合的設計,並設計與 實作出完整之效能評比程序、工具以及技 術。
[4] 研究成果與討論
總計畫已建立出測試平台並能夠導入 網路流量進行測試,各子計畫也已陸續完成 各工具的開發。未來的一年除了持續將各子 計畫的開發工具加強其完整合並和總計畫 提供的測試平台進行結合,並且也會陸續對 產品在耗電、時間及 SSD 的成效增加測試 案例來對嵌入式網路通訊裝置進行評比,透 過這一系列從黑箱到白箱的垂直整合測試 方法來幫助開發商選擇適當的元件,最後再 對整合後的嵌入式裝置進行效能的評比,讓 研 發 工 程 師 能 夠 進 行 問 題 追 踪 及 產 品 改 善,發揮嵌入式通訊裝罝最大的優勢以滿足 市場及消費者的需求。10
[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,
and K. Gibbs. Iperf 1.7.0 -- the TCP/UDP 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
[12] Endace measurement systems. http://www.endace.com/. Accessed August 2004.
[13] SSFnet network simulator.
http://www.ssfnet.org. Accessed August 2004.
[14] UCB/LBNL/VINT Network Simulator - ns (version 2).
http://www.isi.edu/nsnam/ns. Accessed August 2004.
11
[15] Kashi Venkatesh Vishwanath , Amin Vahdat, Realistic and responsive network traffic generation, ACM SIGCOMM Computer Communication Review, v.36 n.4, October 2006
[16] Network Emulation Testbed. http://www.emulab.net.
[17] Spirent, http://www.spirentcom.com/. [18] IXIA, http://www.ixiacom.com/ [19] Network Benchmarking Lab,
http://www.nbl.org.tw/.
[20] Toshihiro Kobayashi and Tetsuo Yamabe, “Linux DSP Gateway Specification , ” v3.3.1, Nokia Corporation, 2006. [21] “OMAP5912 Applications Processor Data
Manual,” Texas Instruments, March 2004.
[22] “DSP/BIOS LINK , USER GUIDE” Texas Instruments, March 2007.
[23] “A. Sinha and A.Chandrakasan, “JouleTrack – A Web Based Tool for Software Energy Profiling,” Proc. 38th Design Automation Conference, “June 2001
[24] ”Energy Estimator/Analyzer for Embedded Dual Core Processor” , Chun-Hao Hsu, 2006” Measuring System Performance on the
TMS320DM644x Platform” Texas Instruments, March 2007.
[25] 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.
[26] Wikipedia – “GNU”, Available from: http://en.wikipedia.org/wiki/GNU
[27] Ying‐Dar Lin, and Ping‐Tsai Tsai, “Trace
[28] Linux TCP/IP kernel – Using remote debugging”, Available from: http://speed.cis.nctu.edu.tw/~ydlin/miscp ub/remote_debug.pdf
[29] Peter Jay Salzman, Michael Burian, and Ori Pomerantz, “The Linux Kernel Module Programming Guide”, Dec. 2005.
[30] Bryan Henderson, “Linux Loadable Kernel Module HOWTO”, Available from: http://www.tldp.org/HOWTO/Module‐HO WTO/
[31] 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.
[32] 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. [33] 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.
[34] R. Krishnakumar, “Kernel Korner: Kprobes ‐ a Kernel Debugger”, Linux Journal, Jun. 2006. [35] 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. [36] 曹敏峰, " Linux 網路通訊協定堆疊之高 效率動態的指令嵌入平台之設計與實作
12
", 交大資工所碩士論文, 2008.
[37] G. Irlam, “Unix File Size Survey,” 1993. [38] http://www.gordoni.com/ufs93.html [39] A. Inoue and D. Wong, "NAND Flash
Applications Design Guide" , April, 2003. [40] Li-Pin Chang and Tei-Wei Kuo, "Efficient [41] Management for Large-Scale
Flash-Memory Storage Systems with Resource Conservation," ACM
Transactions on Storage, Volume 1, Issue 4, 2005.
[42] Intel Corporation, “Understanding the Flash Translation Layer (FTL)
Specification".
[43] SSFDC Forum, "SmartMediaTM Specification", 1999.
[44] Compact Flash Association, “Compact
FlashTM 1.4 Specification," 1998.
[45] Linux MTD project and M-System, “NAND Flash Memory Translation Layer (NFTL).”
[46] 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.
[47] Siddharth Choudhuri, Rabi Mahapatra, "Energy Characterization of Filesystems for Diskless Embedded Systems", Design Automation Conference (DAC), June 2004.
[48] Aleph One Company, “Yet Another Flash Filing System (YAFFS) "'
[49] 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
[50] 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.
[51] 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.
[52] Atsuo Kawaguchi et al., “A
Flash-Memory Based File System”, in USENIX Technical Conference, 1995 [53] Linux MTD Project, “Journaling Flash
File System (JFFS), Journaling Flash File System 2 (JFFS2), and Journaling Flash File System 2 (JFFS3).”
[54] Bray, T, ”The Bonnie home page.”, [55] http://www.textuality.com/bonnie, 1996. [56] Katcher, J., “PostMark: A New Filesystem [57] Benchmark. Tech. Rep. TR3022, Network [58] Appliance.”,www.netapp.com/techlibrary/
3022.html ,1997
[59] William D. Norcott., Don Capps, “Iozone
[60] Filesystem Benchmark”,
http://www.iozone.org/docs/IOzone_msw ord_98.pdf
[61] N. Joukov, A. Traeger, CP Wright, Zadok, [62] “Benchmarking File System
Benchmarks”,
[63] ETechnical Report FSL-05-04b, CS partment Stony Brook University, 2005. [64] 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.
13
Benchmark - Suite VII Version 1.1. “, [66] http://sourceforge.net/projects/aimbench ,
2001
[67] 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)
[68] R. Bryant, R. Forester, and J. Hawkes. "Filesystem Performance and Scalability in Linux 2.4.17." , In FREENIX '02, Monterey, CA, June 2002.
[69] Sun, “File System Performance: The Solaris OS, UFS, Linux ext3, and ReiserFS”, White paper August 2004. [70] http://sun.com/software/whitepapers/solari
s10/fs_performance.pdf
[71] R. Bryant, R. Forester, and J. Hawkes. "Filesystem Performance and Scalability in Linux 2.4.17." , In FREENIX '02, Monterey, CA, June 2002.
[72] Iometer Project. “Iometer” ,OPEN SOURCE DEVELOPMENT LAB. 2004.
www.iometer.org/.
[73] A. Kawaguchi, S. Nishioka, and H. Motoda,“A Flash Memory based File System,” Proceedings of the USENIX Technical Conference, 1995.
[74] 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. [75] Veritest. “NetBench.” ,
www.veritest.com/benchmarks/netbench/ , 2002
[76] A. Tridgell, “dbench-3.03 README.”
http://samba.org/ftp/tridge/dbench/READ ME, 1999.
[77] 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.
[78] Mazieres, D. et al. , "Separating Key Management from File System
Security",17th ACM Symp. On Operating Systems Principles. (1999).
[79] M. Kaminsky et al, “Decentralized User [80] Authentication in a Global File System”,
19th ACM Symposium on Operating Systems Principles, 2003.
[81] 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 [82] Schmuck, F. and Haskin, R., ”GPFS: A
Shared-Disk File System for Large Computing Clusters”, Proceedings of the Conference on File and Storage
國科會補助計畫衍生研發成果推廣資料表
日期:2011/10/28國科會補助計畫
計畫名稱: 總計畫(2/2) 計畫主持人: 林盈達 計畫編號: 99-2220-E-009-043- 學門領域: 自由軟體暨嵌入式系統無研發成果推廣資料
99 年度專題研究計畫研究成果彙整表
計畫主持人:林盈達 計畫編號: 99-2220-E-009-043-計畫名稱:嵌入式網路通訊裝置評比技術與工具之研發--總計畫(2/2) 量化 成果項目 實際已達成 數(被接受 或已發表) 預期總達成 數(含實際已 達成數) 本計畫實 際貢獻百 分比 單位 備 註 ( 質 化 說 明:如 數 個 計 畫 共 同 成 果、成 果 列 為 該 期 刊 之 封 面 故 事 ... 等) 期刊論文 2 0 100% 研究報告/技術報告 0 0 100% 研討會論文 0 0 100% 篇 論文著作 專書 0 0 100% 申請中件數 2 0 100% 專利 已獲得件數 0 0 100% 件 件數 7 0 100% 件 技術移轉 權利金 4987 0 100% 千元 碩士生 12 0 100% 博士生 1 0 100% 博士後研究員 0 0 100% 國內 參與計畫人力 (本國籍) 專任助理 0 0 100% 人次 期刊論文 13 0 100% 研究報告/技術報告 0 0 100% 研討會論文 2 0 100% 篇 論文著作 專書 0 0 100% 章/本 申請中件數 0 0 100% 專利 已獲得件數 0 0 100% 件 件數 0 0 100% 件 技術移轉 權利金 0 0 100% 千元 碩士生 0 0 100% 博士生 0 0 100% 博士後研究員 0 0 100% 國外 參與計畫人力 (外國籍) 專任助理 0 0 100% 人次其他成果