Presentation is loading. Please wait.

Presentation is loading. Please wait.

Introduction to Content-aware Switch Presented by Li Zhao.

Similar presentations


Presentation on theme: "Introduction to Content-aware Switch Presented by Li Zhao."— Presentation transcript:

1 Introduction to Content-aware Switch Presented by Li Zhao

2 Content-aware Switch (CS) Switch Image Server Application Server HTML Server www.yahoo.com Internet GET /cgi-bin/form HTTP/1.1 Host: www.yahoo.com… APP. DATATCPIP Front-end of a web cluster Route packets based on layer 5/7 (content) information

3 Why use CS Servers can be specialized for certain types of request –Content segregation Exploit locality –Affinity-based routing –Increase the performance because of the improved hit rate Partial replication of server file set –Partition the server’s file set over different nodes

4 Content-aware Switch Architecture Two way architecture Server returns the response to the switch One way architecture Server returns the response to the client serverswitchclient

5 Layer 7 Two-way Architecture

6 Layer-7 Two-way Mechanisms TCP gateway An application level proxy running on the web switch mediates the communication between the client and the server TCP splicing reduce the overhead in TCP gateway. Packet forwarding occurs at network level between the network interface driver and the TCP/IP stack, is carried out directly by OS kernel user kernel user

7 TCP Splicing client content switch server step1 step2 SYN(CSEQ) SYN(DSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(DSEQ+1) step3 step7 step8 step4 step5 step6 SYN(CSEQ) SYN(SSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(SSEQ+1) DATA(SSEQ+1) ACK(CSEQ+lenR+1) DATA(DSEQ+1) ACK(CSEQ+LenR+1) ACK(DSEQ+lenD+1) ACK(SSEQ+lenD+1) lenR: size of http request. lenD: size of return document.

8 TCP Splicing w/ Pre-forked Connections client switch server step1 step2 SYN(CSEQ) SYN(DSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(DSEQ+1) step3 step7 step8 step4 step5 step6 DATA(PSEQ+1) ACK(SSEQ+1) DATA(SSEQ+1) ACK(PSEQ+lenR+1) DATA(DSEQ+1) ACK(CSEQ+LenR+1) ACK(DSEQ+lenD+1) ACK(SSEQ+lenD+1) lenR: size of http request. lenD: size of return document. SYN(PSEQ) SYN(SSEQ) ACK(PSEQ+1) ACK(SSEQ+1) step9

9 Pre-Allocate Server Scheme client content switch Pre-allocated server step1 step2 SYN(CSEQ) SYN(SSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(SSEQ+1) step3 step4 step5 SYN(CSEQ) SYN(SSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(SSEQ+1) DATA(SSEQ+1) ACK(CSEQ+lenR+1) DATA(SSEQ+1) ACK(CSEQ+LenR+1) ACK(SSEQ+ lenD+1) ACK(SSEQ+lenD+1) Use a guess routing decision based on IP/Port#/History Advantage: Faster than TCP splicing. Reduce session processing overhead no need to convert server sequence #

10 Degenerated to TCP Splicing If Guess Wrong client content switch Pre-allocated server step1 step2 SYN(CSEQ) SYN(SSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(SSEQ+1) step3 SYN(CSEQ) SYN(SSEQ) ACK(CSEQ+1) step4 step5 DATA(RSEQ+1) ACK(CSEQ+lenR+1) DATA(SSEQ+1) ACK(CSEQ+LenR+1) ACK(DSEQ+ lenD+1) ACK(SSEQ+lenD+1) FIN(CSEQ+1) step4 step5 step6 SYN(CSEQ) SYN(RSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(SSEQ+1) Right server Sequence # conversion needed

11 Case Study Linux-based content aware switch [Yang99] IBM Layer 5 [Pradhan00]

12 Functional Overview of Content- aware Distributor

13 Results Overhead of the switch 89usec reduced  pre-forked connections CS vs. Layer 4 switch Affinity-based routing vs. WRR Content-segregation vs. WRR CGI: 27% Static: 36%

14 IBM Switch Architecture Switch core Port controller: –Identify packets (layer 5) and send them to CPU –Processing all other packets CPU: PowerPC 603e –Parse http request –URL based routing

15 Flow Diagram on Layer 5 System Client ports vs. server ports Classifier: Identify packets

16 Results CS vs. Layer 4 switch –Entire set of files are replicated –Some servers share files by NFS –Partitioned file set

17 Layer-7 one-way architecture

18 Layer-7 one-way mechanisms TCP handoff The switch hands off the TCP connection endpoint to the server TCP connection hop –Software-based proprietary solution –encapsulating the IP packet in an RPX packet and sending it to the server.

19 TCP Handoff client content switch server step1 step2 SYN(CSEQ) SYN(DSEQ) ACK(CSEQ+1) DATA(CSEQ+1) ACK(DSEQ+1) step3 step4 step5 step6 DATA(DSEQ+1) ACK(CSEQ+lenR+1) ACK(DSEQ+lenD+1) ACK(DSEQ+lenD+1) Migrate (Data, CSEQ, DSEQ) Migrate the created TCP connection from the switch to the back-end sever –Create a TCP connection at the back-end without going through the TCP three-way handshake –Retrieve the state of an established connection and destroy the connection without going through the normal message handshake required to close a TCP connection Once the connection is handed off to the back-end server, the switch must forward packets from the client to the appropriate back-end server

20 References [Pradhan00] G.Apostolopoulos, et. al, Design, Implementation and Performance of a Content-Based Switch, proceedings of IEEE INFOCOM-2000 [Pai98] V.S. Pai, et. al, Locality-Aware Request Distribution in Cluster- based Network Servers. In Proceedings of the 8th Conference on Architectural Support for Programming Languages and Operating Systems, San Jose, CA, Oct.1998 [Aron00] Mohit Aron et. al, Scalable Content-aware Request Distribution in Cluster-based Network Servers, Proc. of the 2000 Annual Usenix Technical Conference, June 2000 [Edward] C. Edward Chow Chow, Introduction to content switch [Valeria01] Valeria Cardellini, et. al, The state of the Art in Locally Distributed Web-server Systems, IBM research report [Yang99] Chu-Sing Yang, et. Al, Efficient support for content-based rouging in web server clusters, Proc. Of USITS’ 99


Download ppt "Introduction to Content-aware Switch Presented by Li Zhao."

Similar presentations


Ads by Google