1 DESIGN AND EVALUATION OF A PIPELINED FORWARDING ENGINE Department of Computer Science and Information Engineering National Cheng Kung University, Taiwan R.O.C. Authors: Li Yufeng, Chen Yue, Lan Julong Publisher: JOURNAL OF ELECTRONICS (CHINA) Present: Yu-Tso Chen Date: December, 13, 2007
2 Outline 1. Introduction 2. Design Forwarding Pipeline 3. Performance Evaluation 4. Conclusions
3 Introduction Systemic forwarding pipeline which mainly comprises two sub-pipelines TCAM-based lookup pipeline Header process pipeline and serves for all forwarding tasks in the way of pipelining Analysis model of the pipeline for performance evaluation is established The analysis results of the pipeline given by this paper are significant in the design of forwarding engine.
4 Outline 1. Introduction 2. Design Forwarding Pipeline 3. Performance Evaluation 4. Conclusions
5 Design Forwarding Pipeline Forwarding engine needs to finish the following main tasks 1)Data bus format adapt – adapts each packet data to the required data bus format 2)Header process – Check proper fields of the packet header, ensuring that they all have valid values 3)IP lookup – It lookups the unicast and multicast tables to decide the next-hop
6 Design Forwarding Pipeline (cont.) Forwarding engine needs to finish the following main tasks 4)IP packet re-encapsulation – modified header based on lookup results 5)Output control – packets needing to be forwarded and ICMP Most important thing is to design the IP lookup module
7 Design TCAM-based lookup pipeline TCAM stores the table entries SRAM stores search result for building a lookup pipeline
8 Proposed architecture of the forwarding engine
9 Design TCAM-based lookup pipeline Pipelined lookup procedure can be classified into three stages 1) TCAM search key & control signals generating module fetches IP packet header and generates the search key 2) Result index read & SRAM search key generating module reads the result index 3) Search result read & output module reads the search result
10 Design header processing pipeline
11 Example for IPv6 multicast packet S1) 4 cycles to finish inputting the search key into TCAM S2) Result index key & SRAM search key generating module reads the result index S3) Search result read & output module reads the search result
12 Design header processing pipeline The entire process time of the two modules (header processing & special service) should not exceed that of the IP lookup pipeline
13 IP header processing typically requires the following 1) IP packet validation – version number, header length 2) Packet lifetime control – TTL 3) Checksum calculation Design header processing pipeline
14 Equivalent stage connection of the forwarding pipeline is given
15 Forwarding pipeline Li is latch
16 Outline 1. Introduction 2. Design Forwarding Pipeline 3. Performance Evaluation 4. Conclusions
17 Evaluation of forwarding rate Define Pipeline cycle (T) – Maximum value of the minimum pipelined operating cycles Tp – delay time of getting TCAM search result Tq – delay time of getting SRAM search result K – number of pipeline stages N – the number of output packets Throughput :
18 Pipeline stages versus time
19 Evaluation of forwarding delay Processing time of the pipeline T d1 Time for transmitting packet (T d2 ) L – Packet length R – speed of transporting packet is R Forwarding delay T d
20 Experiment Results
21 Experiment Results and discussion Shortening the time of pipeline cycle (T), we can greatly improve the performance of the forwarding pipeline Two ways for shortening the time of T 1)Improve the operating frequency of the pipeline 2)Copy the bottleneck stage of the pipeline, hence, the two or more same stages can work in parallel
22 Outline 1. Introduction 2. Design Forwarding Pipeline 3. Performance Evaluation 4. Conclusions
23 Conclusion We have implemented a forwarding pipeline with 20Gbit/s forwarding capability. The pipeline is of good scalability and can forwards unicast packets up to the speed of 40Gbit/s