Switch l Layer2 Switch MAC address l Layer3













































- Slides: 45
Switch l Layer-2 Switch: MAC address l Layer-3 Switch: IP address l Layer-4 Switch: TCP or UDP port number l Layer-5 Switch: Web requests using URL, HTTP headers, or users’ registration information • Ethernet, ATM • router • NAT • Web switch, layer-7 switch, Content switch 成功大學資訊 程系 CIAL實驗室 2
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 3
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 4
Single Server Architecture Request GET /cial. html Response cial. html Web Server 成功大學資訊 程系 CIAL實驗室 5
HTTP Protocol Socket descriptor C seq(CSEQ) Socket descriptor S SYN, ACK ack(SSEQ+1) ACK seq(SSEQ) ack(CSEQ+1) Three-way handshake seq(CSEQ+1) GET /cial. html len. R len. D cial. html seq(CSEQ+1+len. R) ack(SSEQ+1+len. D) seq(SSEQ+1) data ACK ack(CSEQ+1+len. R) GET /cial. html 成功大學資訊 程系 CIAL實驗室 Web Server 6
Clustered Server Architecture GET /cial. html Web Server cial. html Web Switch Web Server 成功大學資訊 程系 CIAL實驗室 7
HTTP Protocol C A B SYN(CSEQ) SYN(ASEQ), ACK(CSEQ+1) SYN(BSEQ) SYN(SSEQ), ACK(BSEQ+1) ACK(ASEQ+1) len. R S ACK(SSEQ+1) DATA(CSEQ+1) DATA(BSEQ+1) DATA(ASEQ+1), ACK(CSEQ+1+len. R) ACK(ASEQ+1+len. D) DATA(SSEQ+1), ACK(BSEQ+1+len. R) ACK(SSEQ+1+len. D) len. D len. R GET /cial. html Web switch cial. html len. D 成功大學資訊 程系 CIAL實驗室 Web Server 8
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 9
Proxy Client Web Switch A Server B user space kernel space C S 成功大學資訊 程系 CIAL實驗室 10
TCP Splicing Client Web Switch Server user space A kernel space B C S 成功大學資訊 程系 CIAL實驗室 11
Scalable Server Architecture (SSA) Client Web Switch Server user space A kernel space B C S pre-forked connection 成功大學資訊 程系 CIAL實驗室 12
The Problem of SSA (1/4) A B B A B available connection list head GET /index. html HTTP/1. 1 index. html Server A mapping table C A Server B 成功大學資訊 程系 CIAL實驗室 13
The Problem of SSA (2/4) B A B head GET /a. jpg HTTP/1. 1 a. jpg GET /a. jpg HTTP/1. 1 mapping table C Server A a. jpg B A Server B 成功大學資訊 程系 CIAL實驗室 14
The Problem of SSA (3/4) A B B A B head GET /b. gif HTTP/1. 1 b. gjf b. gif Server A mapping table C A B Server B 成功大學資訊 程系 CIAL實驗室 15
The Problem of SSA (4/4) B B A B head GET /c. cgi HTTP/1. 1 c. cgi GET /c. cgi HTTP/1. 1 mapping table C Server A c. cgi A B Swapping four times! 成功大學資訊 程系 CIAL實驗室 Server B 16
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 17
Fully Pre-Splicing (1/4) A B B A B available connection list head GET /index. html HTTP/1. 1 index. html Server A mapping table C A C B 成功大學資訊 程系 CIAL實驗室 Server B 18
Fully Pre-Splicing (2/4) A B B A B head GET /a. jpg HTTP/1. 1 a. jpg GET /a. jpg HTTP/1. 1 Server A mapping table C A C B a. jpg 成功大學資訊 程系 CIAL實驗室 Server B 19
Fully Pre-Splicing (3/4) A B B A B head GET /b. gif HTTP/1. 1 b. gif Server A mapping table C A C B 成功大學資訊 程系 CIAL實驗室 Server B 20
Fully Pre-Splicing (4/4) A B B A B head GET /c. cgi HTTP/1. 1 c. cgi GET /c. cgi HTTP/1. 1 Server A mapping table C A C B c. cgi Server B No Swapping times! 成功大學資訊 程系 CIAL實驗室 21
A Complete Example of FPS 140. 116. 82. 18: 80 10. 0. 0. 10: 80 10. 0. 0. 1 140. 116. 82. 11 10. 0. 0. 11: 80 成功大學資訊 程系 CIAL實驗室 22
A Complete Example of FPS (1) Client Web Switch C 1111 3333 D Incoming Flag Saddr Sport 1 140. 116. 82. 11 1111 0 140. 116. 82. 11 Server A Server B E 6666 F 6667 80 A SYN(1923828202) 80 B Outgoing SYN(627567432) Dport Saddr Sport 3) 140. 116. 82. 18 ACK(192382820 3333 10. 0. 0. 1 6666 Daddr Dport 10. 0. 0. 10 80 1111 140. 116. 82. 18 ACK(62756743 3333 10. 0. 0. 1 6667 3) 10. 0. 0. 11 80 SYN(2481257401) SYN(250437722) ACK(2481257402) ACK(250437723) Daddr 3 SYN(4073346099) SYN(625561648) ACK(4073346100) 100 ACK(625561649) GET /cial. html (350 bytes) DATA_R(2481257402) ACK(250437723) 成功大學資訊 程系 CIAL實驗室 23
A Complete Example of FPS (2) Client Web Switch C 1111 3333 D Server A E 6666 F 6667 80 A DATA_R(1923828203) ACK(627567433) DATA_D(250437723) ACK(2481257752) 752 DATA_D(627567433) ACK(1923828553) 553 ACK(250440617) 40617 ACK(627570327) 70327 Incoming Sport Server B 80 B cial. html 2894 bytes Outgoing Flag Saddr Dport Saddr 1 140. 116. 82. 11 1111 140. 116. 82. 18 3333 10. 0. 0. 1 6666 10. 0. 0. 10 80 0 140. 116. 82. 11 1111 140. 116. 82. 18 3333 10. 0. 0. 1 6667 10. 0. 0. 11 80 成功大學資訊 程系 CIAL實驗室 Sport Daddr Dport 24
A Complete Example of FPS (3) Client Web Switch C 1111 3333 D E 6666 GET /title. jpg (349 bytes) DATA_R(2481257752) ACK(250440617) Server A F 6667 Server B 80 A 80 B DATA_R(4073346100) ACK(625561649) title. jpg (16464 bytes) DATA_D(625561649) ACK(4073346449) 449 DATA_D(250440617) ACK(2481258101) 8101 ACK(250457081) 57081 ACK(625578113) 78113 Incoming Sport Outgoing Flag Saddr Dport Saddr 0 140. 116. 82. 11 1111 140. 116. 82. 18 3333 10. 0. 0. 1 6666 10. 0. 0. 10 80 1 140. 116. 82. 11 1111 140. 116. 82. 18 3333 10. 0. 0. 1 6667 10. 0. 0. 11 80 成功大學資訊 程系 CIAL實驗室 Sport Daddr Dport 25
Implement FPS l FPS extends and modifies the TCPSP (TCP splicing) project from LVS (linux virtual server) 成功大學資訊 程系 CIAL實驗室 26
FPS architecture 成功大學資訊 程系 CIAL實驗室 27
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 28
Benchmark l Web. Bench 5. 0 • Veri. Test developed Web. Bench is a licensed PC Magazine benchmark program that measures the performance of web servers. • Web. Bench calculated two overall server scores • requests per second • bytes per second 成功大學資訊 程系 CIAL實驗室 29
Experiment 1 Setup l l To show the overhead of HTTP header parsing in TCPSP. The workload were for static files. 成功大學資訊 程系 CIAL實驗室 30
Experiment 1 Result l Requests per second 成功大學資訊 程系 CIAL實驗室 31
Experiment 1 Result cont. l Bytes per second 成功大學資訊 程系 CIAL實驗室 32
Experiment 2 Setup l l To compare FPS with TCPSP in distributing every request based on MCRR. The workload was dynamic cgi request with CPU intensive. 成功大學資訊 程系 CIAL實驗室 33
Experiment 2 Result – 10. 0. 0. 10 TCPSP FPS 成功大學資訊 程系 CIAL實驗室 34
Experiment 2 Result – 10. 0. 0. 11 TCPSP FPS 成功大學資訊 程系 CIAL實驗室 35
Experiment 2 Result – 10. 0. 0. 12 TCPSP FPS 成功大學資訊 程系 CIAL實驗室 36
Experiment 2 Result TCPSP 10 reqs/sec 202 ms/req FPS 41 reqs/sec 39 ms/req 成功大學資訊 程系 CIAL實驗室 37
Experiment 2 Result cont. l Define a “diff” diff value to evaluate the load balancing trends. 成功大學資訊 程系 CIAL實驗室 38
Experiment 3 Setup l l To compare SSA with FPS in measuring swapping overhead. The workload was developed in Web. Bench for accessing a simple dynamic cgi file in one minute. 成功大學資訊 程系 CIAL實驗室 39
Experiment 3 Setup l Workload: 76 requests per second l Normal TCP splicing which represents no overhead in swapping. TCP splicing with getting the connections from available connection list in and out. l 成功大學資訊 程系 CIAL實驗室 40
Experiment 3 Result l average latency time • FPS (768 ms), SSA (788 ms) • FPS outperforms SSA for 20 ms per request. • Because of the dynamic cgi test, the server consumed much time of generating the response. l In the first experiments, the average latency time • 1. 5 ms 成功大學資訊 程系 CIAL實驗室 41
Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊 程系 CIAL實驗室 42
Conclusion l FPS has several advantages: • First, it extracts the HTTP header in the kernel space to reduce the twice data copy time between user and kernel space. • Second, it forwards the response from server to client in the layer 3. 5 of TCP/IP protocol stacks with packet header modification to decrease unnecessary data copy time from kernel to application layer, which is called TCP splicing [5]. • Third, it uses the pre-connection method to diminish the three-way handshake time between the switch and the server connections. • Fourth, we extend the TCP splicing which is contentblind to content-aware. • FPS diminishes the swapping overhead in SSA. 成功大學資訊 程系 CIAL實驗室 43
Future work l For the integrity of FPS, there are several parts should be improved: • • l 1. To include more user friendly GUI interfaces for configurations. 2. Adaptive control of the number of pre-forked connections according to the load of web switch. Qo. S (quality of service), TCP tapping, high availability, and fault tolerance etc. 成功大學資訊 程系 CIAL實驗室 44
Thank for your patience. 成功大學資訊 程系 CIAL實驗室 45