Presentation is loading. Please wait.

Presentation is loading. Please wait.

Design and Implementation of Web Switch

Similar presentations


Presentation on theme: "Design and Implementation of Web Switch"— Presentation transcript:

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實驗室


Download ppt "Design and Implementation of Web Switch"

Similar presentations


Ads by Google