進階搜尋


下載電子全文  
系統識別號 U0026-2408201114585000
論文名稱(中文) 具可擴充性之多核心TCP/IP卸載引擎架構
論文名稱(英文) A Scalable Multi-Core Architecture for TCP/IP Offload Engine
校院名稱 成功大學
系所名稱(中) 電腦與通信工程研究所
系所名稱(英) Institute of Computer & Communication
學年度 99
學期 2
出版年 100
研究生(中文) 吳健亨
研究生(英文) Chien-Heng Wu
學號 q36984252
學位類別 碩士
語文別 中文
論文頁數 60頁
口試委員 指導教授-陳中和
口試委員-王永鐘
口試委員-謝錫堃
口試委員-蘇培陞
口試委員-葉人傑
中文關鍵字 TCP/IP  卸載引擎  電子系統層級設計  可擴充性 
英文關鍵字 TCP/IP  offload Engine  electronic system level design  scalability 
學科別分類
中文摘要 在本論文中,我們提出一個效能可擴充之多核心TOE架構,並在ESL環境下實作,並與真實Linux進行驗證。
藉由多階層之匯流排架構的設計,讓每個處理器在各自的區域匯流排上有其各自的記憶體,如此便可提升整體效能並降低全域匯流排的頻寬需求,使得我們可以將資料路徑進行優化。當傳送資料時,透過將封包標頭與資料分開的處理方式,配合MAC模組處理checksum運算,使資料流不必重覆,我們成功減少匯流排的流量。
使用多核心架構以便透過核心數之增加來達到整體效能的增加,同時在傳送與接收的處理流程上進行改進,減少同步的代價及資源的競爭,以便增加平行度,方能滿足效能之可擴充性。
最後在我們的實驗數據中發現,從多核心之1網路處理單元版本到多核心之2網路處理單元版本時,效能增加了約85%。
英文摘要 In this thesis, we propose a scalable multi-core architecture for TCP/IP offload engine (TOE). The whole system is modeled with SystemC on an electronic system level (ESL) virtual platform for architecture explorations and functional verification.

With multi-layer bus architecture, every processor can access its own memory with the local bus to reduce bandwidth requirements of the global bus. This allows us to optimize the data transmission flow and improve the overall performance. When sending data, the packet header and the payload are handled separately, with the MAC module processing checksum operations on the fly. We avoid unnecessary data copy and reduce bus traffic.

We also designed a new transmission and reception processing flow to reduce the cost of synchronization. In this way, we can achieve higher parallelism with multi-core architecture in order to meet the scalability of the performance.

Simulation results show that the performance of our two network processing unit (NPU) model is 85% higher than the one NPU model.
論文目次 摘要 I
Abstract II
誌謝 III
目錄 IV
圖目錄 VIII
表目錄 XI
第1章 序論 1
1.1 研究動機 1
1.2 研究貢獻 1
1.3 論文編排 2
第2章 背景知識與相關研究 3
2.1 Transmission Control Protocol / Internet Protocol 3
2.1.1 TCP/IP協定 3
2.1.2 TCP的特性分析 4
2.2 網路卸載 6
2.2.1 網路缷載的需求 6
2.2.2 網路協定卸載的架構 7
2.3 相關的網路卸載實作 8
2.3.1 An TCP/IP Offload Engine (TOE) System over Gigabit Ethernet 8
2.3.2 The Latona Internet Protocol Offload Engine in TCP/IP 11
第3章 TCP/IP卸載引擎的架設計 15
3.1 設計理念 15
3.2 設計環境 18
3.2.1 電子層級系統設計(Electronic Level System Design) 18
3.2.2 SystemC語言與CoWare Platform Architecture平台 19
3.2.3 先期軟體開發印證平台 20
3.2.4 ESL環境之TOE平台 21
3.2.5 具通透性之多階段共同設計驗證平台 22
3.3 系統層級的架構 24
3.3.1 系統架構 24
3.3.2 硬體架構 25
3.4 TCP/IP模組內部之架構 29
3.4.1 概觀(Overview) 29
3.4.2 控制處理器(CCPU) 30
3.4.3 網路處理器(NPU) 31
3.4.4 TCB資料結構 33
3.4.5 封包亂序之處理 35
3.5 MAC/PHY模組 36
3.6 接收流程 38
3.7 傳送流程 38
3.8 TOE介面模組 39
第4章 可擴充性的設計 41
4.1 實現TCP設計時會面對的問題 41
4.2 對於同一連線傳送平行度之獲取 41
4.3 對於接收平行度之獲取 44
4.4 對於多核心之效能擴充方式 47
4.5 總結擴充性的討論 47
第5章 實作及實驗結果 48
5.1 實作平台 48
5.2 功能性驗證 49
5.3 單核心版本 50
5.4 多核心版本 51
5.5 各版本之效能比較 53
第6章 結論與未來展望 56
6.1 結論 56
6.2 未來展望 57
參考文獻 58
參考文獻 [1] A.L. Caro, et al., “SCTP: A Proposed Standard for Robust Internet Data Transport,” IEEE Computer Society, pp. 56-63, November 2003.
[2] D.D.Clark, et al., “An Analysis of TCP Processing Overhead”, IEEE Communication Magazine, Vol. 27, No.6 pp. 23-29, June 1989.
[3] M. Anand and B. Hartner, “TCP/IP Network Stack Performance in Linux Kernel 2.4 and 2.5”, Proc. Ottawa Linux Symposium, July 2002.
[4] S. Makinecni and R. Iyer, “Architecture Characterization of TCP/IP Packet Processing on The Pentium M Processor”, Proceeding of the 10th International Symposium on High Performance Computer Architecture, HPCA-10, February 2004.
[5] “Introduction to TCP/IP Offload Engine(TOE)”, available: http://www.10gea.org/
[6] Z.-Z Wu and H.-C Chen, “Design and Implementation of TCP/IP Offload Engine System over Gigabit Ethernet”, IEEE Proc. Of 15th International Conference on Computer Communications and Network, pp. 245-250, 2006.
[7] J. C. Mogul, “TCP offload is a dumb idea whose time has come”. Proceedings of HotOS IX: The 9th Workshop on Hot Topics in Operating Systems, USENIX Association, July 2006.
[8] J. Ortege, et al., “Analyzing the benefits of protocol offload by full-system simulation”, IEEE 15th EuroMicro International Conference on Parallel, Distributed and Network-Based Processing(PDP’07), pp. 29-237, 2007.
[9] G. Regnier, et al., “TCP Onloading for Data Servers”, IEEE Computer, pp. 48-58, November 2004.
[10] S.-M. Chung, et al., “Design and implementation of the high speed TCP/IP Offload Engine,” IEEE Communications and Information Technologies, 2007. ISCIT’07. International Symposium, pp. 574-579, October, 2005.
[11] Z.-Z. Wu and H.-C. Chen, “Design and Implementation of TCP/IP Offload Engine System over Gigabit Ethernet,” IEEE Proc. Of 15th International Conference on Computer Communications and Network, pp245-250, 2006.
[12] “lwIP” – A light-weight implementation of the TCP/IP protocol project, available: http://savannah.nongnu.org/projects/lwip/ .
[13] D.W. Kim, et al., “Internet Protocol Engine in TCP/IP Offload Engine,” Advanced Communication Technology, 2008. ICACT 2008. 10th International Conference, pp.270-275, February 2008.
[14] A. Meon, et al., “Optimizing TCP Receive Performance,” USENIX Annual Technical Conference, 2008
[15] Open SystemC Initiative (OSCI) organization, official site : http://www.systemc.org/ .
[16] Ralf Lehmann and Mirko Benz, “Analysis of TCP/IP Protocol Processing in Gigabit Networks, ” In Proceedings of the 2002 WSEAS International Conference on Information Security, Hardware/Software Codesign, E-Commerce and Computer Networks, Rio de Janeiro, Brazil, October 2002.
[17] Mirko Benz and Ralf Lehmann, “TCP Acceleration based on Network Processors,” In IASTED International Conference on Communications, Internet, and Information Technology (CIIT), St. Thomas, US Virgin Islands, 2002.
[18] Ralf Lehmann and Alexander Schill, “Linux TCP network stack analysis and partitioning for network processors, ” Proceeding WISICT '05 Proceedings of the 4th international symposium on Information and communication technologies
[19] D.D. Clark, V. Jacobson, et al., “An Analysis of TCP Processing overhead,” IEEE Comm., vol. 27, no. 6, pp.23-29, 1989.
[20] Wan-Chun Chen, “A Scalable Offload Architecture for Stream Control Transmission Protocol (SCTP)”, Institute of Computer & Communication, NCKU, 2008.
[21] Cheng-Yeh Yu, “Design and Implementation of a Network Offload Engine”, Institute of Computer & Communication, NCKU, 2005.
[22] Po-Kai Chan, “Design and Implementation of a iWARP-Based Network Offload Engine”, Institute of Computer & Communication, NCKU, 2005
[23] G. Hurwitz, and W. Feng, “Initial End-to-End Performance Evaluation of 10-Gigabit Ethernet,” Proceedings of Hot Interconnects 11 (HotI’03), August 2003.
[24] Chen-Chieh Wang, Ro-Pun Wong, Jing-Wun Lin, and Chung-Ho Chen, “System-Level Development and Verification Framework for High-Performance System Accelerator,” in the IEEE International Symposium on VLSI Design, Automation & Test (VLSI-DAT), April 27-30, 2009, Hsinchu, Taiwan.
[25] Net:TOE, Linux Foundation, site: http://www.linux-foundation.org/en/Net:TOE.
論文全文使用權限
  • 同意授權校內瀏覽/列印電子全文服務,於2012-08-31起公開。
  • 同意授權校外瀏覽/列印電子全文服務,於2012-08-31起公開。


  • 如您有疑問,請聯絡圖書館
    聯絡電話:(06)2757575#65773
    聯絡E-mail:etds@email.ncku.edu.tw