Download presentation
1
Design and Implementation of Web Switch
2017/4/17 Design and Implementation of Web Switch 碩士論文口試 研究生:鄭文信 指導教授:張燕光博士 2004/07/26 5-10 min 6 min FPS 6 min implementation, module, netfilter 3 min environment 5 min test report 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
2
Switch Layer-2 Switch: MAC address Layer-3 Switch: IP address
Ethernet, ATM Layer-3 Switch: IP address router Layer-4 Switch: TCP or UDP port number NAT Layer-5 Switch: Web requests using URL, HTTP headers, or users’ registration information Web switch, layer-7 switch, Content switch 成功大學資訊工程系 CIAL實驗室
3
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
4
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
5
Single Server Architecture
Request GET /cial.html Response cial.html Web Server 成功大學資訊工程系 CIAL實驗室
6
seq(CSEQ+1+lenR) ack(SSEQ+1+lenD)
HTTP Protocol Socket descriptor C Socket descriptor S SYN seq(CSEQ) Three-way handshake SYN, ACK seq(SSEQ) ack(CSEQ+1) ACK ack(SSEQ+1) GET /cial.html lenR seq(CSEQ+1) cial.html seq(SSEQ+1) ack(CSEQ+1+lenR) lenD data ACK seq(CSEQ+1+lenR) ack(SSEQ+1+lenD) Web Server 成功大學資訊工程系 CIAL實驗室
7
Clustered Server Architecture
2017/4/17 Clustered Server Architecture Web Server GET /cial.html cial.html Web Switch Web Server 有那些Web Site已經用Server Farm? (google 8000台) 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
8
HTTP Protocol C A B S SYN(CSEQ) SYN(BSEQ) SYN(ASEQ), ACK(CSEQ+1)
SYN(SSEQ), ACK(BSEQ+1) ACK(ASEQ+1) ACK(SSEQ+1) GET /cial.html DATA(CSEQ+1) lenR DATA(BSEQ+1) DATA(ASEQ+1), ACK(CSEQ+1+lenR) DATA(SSEQ+1), ACK(BSEQ+1+lenR) lenD cial.html ACK(ASEQ+1+lenD) ACK(SSEQ+1+lenD) Web switch Web Server 成功大學資訊工程系 CIAL實驗室
9
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
10
Proxy Client Web Switch Server A B user space kernel space C S
成功大學資訊工程系 CIAL實驗室
11
TCP Splicing Client Web Switch Server user space kernel space A B C S
成功大學資訊工程系 CIAL實驗室
12
Scalable Server Architecture (SSA)
Client Web Switch Server user space kernel space A B C S pre-forked connection 成功大學資訊工程系 CIAL實驗室
13
The Problem of SSA (1/4) A available connection list A B head B A head
GET /index.html HTTP/1.1 GET /index.html HTTP/1.1 index.html index.html Server A mapping table C A Server B 成功大學資訊工程系 CIAL實驗室
14
The Problem of SSA (2/4) B B A head A B head Server A C mapping table
GET /a.jpg HTTP/1.1 a.jpg GET /a.jpg HTTP/1.1 Server A a.jpg C mapping table B A Server B 成功大學資訊工程系 CIAL實驗室
15
The Problem of SSA (3/4) A A B head B A head Server A C mapping table
GET /b.gif HTTP/1.1 GET /b.gif HTTP/1.1 b.gjf b.gif Server A C mapping table B A Server B 成功大學資訊工程系 CIAL實驗室
16
The Problem of SSA (4/4) Swapping four times! B B A head B A head
GET /c.cgi HTTP/1.1 c.cgi GET /c.cgi HTTP/1.1 Server A c.cgi C mapping table B A Server B Swapping four times! 成功大學資訊工程系 CIAL實驗室
17
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
18
Fully Pre-Splicing (1/4)
B A available connection list A B head A B head GET /index.html HTTP/1.1 GET /index.html HTTP/1.1 index.html index.html Server A mapping table C A B Server B 成功大學資訊工程系 CIAL實驗室
19
Fully Pre-Splicing (2/4)
A B head GET /a.jpg HTTP/1.1 a.jpg Server A GET /a.jpg HTTP/1.1 mapping table a.jpg C A B Server B 成功大學資訊工程系 CIAL實驗室
20
Fully Pre-Splicing (3/4)
A B head GET /b.gif HTTP/1.1 GET /b.gif HTTP/1.1 b.gif b.gif Server A mapping table C A B Server B 成功大學資訊工程系 CIAL實驗室
21
Fully Pre-Splicing (4/4)
A B head GET /c.cgi HTTP/1.1 c.cgi Server A GET /c.cgi HTTP/1.1 mapping table c.cgi C A B Server B No Swapping times! 成功大學資訊工程系 CIAL實驗室
22
A Complete Example of FPS
:80 :80 :80 成功大學資訊工程系 CIAL實驗室
23
A Complete Example of FPS (1)
Client Web Switch Server A Server B C 1111 3333 D E 6666 F 6667 80 A 80 B SYN( ) SYN( ) ACK( ) ACK( ) Incoming Outgoing Flag Saddr Sport Daddr Dport 1 1111 3333 6666 80 6667 SYN( ) SYN( ) ACK( ) ACK( ) SYN( ) SYN( ) ACK( ) ACK( ) DATA_R( ) ACK( ) GET /cial.html (350bytes) 成功大學資訊工程系 CIAL實驗室
24
A Complete Example of FPS (2)
Client Web Switch Server A Server B C 1111 3333 D E 6666 F 6667 80 A 80 B DATA_R( ) ACK( ) DATA_D( ) ACK( ) DATA_D( ) ACK( ) cial.html 2894 bytes ACK( ) ACK( ) Incoming Outgoing Flag Saddr Sport Daddr Dport 1 1111 3333 6666 80 6667 成功大學資訊工程系 CIAL實驗室
25
A Complete Example of FPS (3)
Client Web Switch Server A Server B C 1111 3333 D E 6666 F 6667 80 A 80 B GET /title.jpg (349bytes) DATA_R( ) ACK( ) DATA_R( ) ACK( ) title.jpg (16464 bytes) DATA_D( ) ACK( ) DATA_D( ) ACK( ) ACK( ) ACK( ) Incoming Outgoing Flag Saddr Sport Daddr Dport 1111 3333 6666 80 1 6667 成功大學資訊工程系 CIAL實驗室
26
Implement FPS FPS extends and modifies the TCPSP (TCP splicing) project from LVS (linux virtual server) 成功大學資訊工程系 CIAL實驗室
27
FPS architecture 成功大學資訊工程系 CIAL實驗室
28
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
29
Benchmark WebBench 5.0 VeriTest developed WebBench is a licensed PC Magazine benchmark program that measures the performance of web servers. WebBench calculated two overall server scores requests per second bytes per second 成功大學資訊工程系 CIAL實驗室
30
Experiment 1 Setup To show the overhead of HTTP header parsing in TCPSP. The workload were for static files. 成功大學資訊工程系 CIAL實驗室
31
Experiment 1 Result Requests per second 成功大學資訊工程系 CIAL實驗室
32
Experiment 1 Result cont.
Bytes per second 成功大學資訊工程系 CIAL實驗室
33
Experiment 2 Setup To compare FPS with TCPSP in distributing every request based on MCRR. The workload was dynamic cgi request with CPU intensive. 成功大學資訊工程系 CIAL實驗室
34
Experiment 2 Result – TCPSP FPS 成功大學資訊工程系 CIAL實驗室
35
Experiment 2 Result – TCPSP FPS 成功大學資訊工程系 CIAL實驗室
36
Experiment 2 Result – TCPSP FPS 成功大學資訊工程系 CIAL實驗室
37
Experiment 2 Result TCPSP FPS 10 reqs/sec 202 ms/req 41 reqs/sec
成功大學資訊工程系 CIAL實驗室
38
Experiment 2 Result cont.
Define a “diff” value to evaluate the load balancing trends. 成功大學資訊工程系 CIAL實驗室
39
Experiment 3 Setup To compare SSA with FPS in measuring swapping overhead. The workload was developed in WebBench for accessing a simple dynamic cgi file in one minute. 成功大學資訊工程系 CIAL實驗室
40
Experiment 3 Setup Workload: 76 requests per second
Normal TCP splicing which represents no overhead in swapping. TCP splicing with getting the connections from available connection list in and out. 成功大學資訊工程系 CIAL實驗室
41
Experiment 3 Result 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. In the first experiments, the average latency time 1.5 ms 成功大學資訊工程系 CIAL實驗室
42
Outline 1. Introduction 2. Related work 3. Proposed FPS architecture
2017/4/17 Outline 1. Introduction 2. Related work 3. Proposed FPS architecture 4. Performance Evaluation 5. Conclusion & Future work 成功大學資訊工程系 CIAL實驗室 CSIE CIAL Lab
43
Conclusion 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 content-blind to content-aware. FPS diminishes the swapping overhead in SSA. 成功大學資訊工程系 CIAL實驗室
44
Future work For the integrity of FPS, there are several parts should be improved: 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. QoS (quality of service), TCP tapping, high availability, and fault tolerance etc. 成功大學資訊工程系 CIAL實驗室
45
Thank for your patience.
成功大學資訊工程系 CIAL實驗室
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.