Switch l Layer2 Switch MAC address l Layer3

  • Slides: 45
Download presentation

Switch l Layer-2 Switch: MAC address l Layer-3 Switch: IP address l Layer-4 Switch:

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.

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.

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

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)

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

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

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.

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 成功大學資訊

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

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

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

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

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

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.

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.

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.

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

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

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

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:

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

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 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

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

Implement FPS l FPS extends and modifies the TCPSP (TCP splicing) project from LVS (linux virtual server) 成功大學資訊 程系 CIAL實驗室 26

FPS architecture 成功大學資訊 程系 CIAL實驗室 27

FPS architecture 成功大學資訊 程系 CIAL實驗室 27

Outline l l l 1. Introduction 2. Related work 3. Proposed FPS architecture 4.

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

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

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 l Requests per second 成功大學資訊 程系 CIAL實驗室 31

Experiment 1 Result cont. l Bytes per second 成功大學資訊 程系 CIAL實驗室 32

Experiment 1 Result cont. l Bytes per second 成功大學資訊 程系 CIAL實驗室 32

Experiment 2 Setup l l To compare FPS with TCPSP in distributing every request

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. 10 TCPSP FPS 成功大學資訊 程系 CIAL實驗室 34

Experiment 2 Result – 10. 0. 0. 11 TCPSP FPS 成功大學資訊 程系 CIAL實驗室 35

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 – 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 成功大學資訊

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

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.

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

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)

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.

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

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

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

Thank for your patience. 成功大學資訊 程系 CIAL實驗室 45