Introduction to Content-aware Switch Presented by Li Zhao.

Slides:



Advertisements
Similar presentations
Scheduling in Web Server Clusters CS 260 LECTURE 3 From: IBM Technical Report.
Advertisements

CCNA – Network Fundamentals
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
Implementing a Load-balanced Web Server System. Architecture of A Cluster-based Web System Courtesy: IBM Research Report, The state of the art in the.
(4.4) Internet Protocols Layered approach to Internet Software 1.
Scalable Content-aware Request Distribution in Cluster-based Network Servers Jianbin Wei 10/4/2001.
1 Routing and Scheduling in Web Server Clusters. 2 Reference The State of the Art in Locally Distributed Web-server Systems Valeria Cardellini, Emiliano.
Introduction to Content-aware Switch Presented by Li Zhao.
CCNA 1 v3.1 Module 11 Review.
Introduction to Content Switch C. Edward Chow Department of Computer Science University of Colorado at Colorado Springs.
Technical Architectures
Page: 1 Director 1.0 TECHNION Department of Computer Science The Computer Communication Lab (236340) Summer 2002 Submitted by: David Schwartz Idan Zak.
1 Design and Implementation of A Content-aware Switch using A Network Processor Li Zhao, Yan Luo, Laxmi Bhuyan University of California, Riverside Ravi.
Load Balancing in Web Clusters CS 213 LECTURE 15 From: IBM Technical Report.
1 Improving Web Servers performance Objectives:  Scalable Web server System  Locally distributed architectures  Cluster-based Web systems  Distributed.
Networks: HTTP and DNS1 The Internet and HTTP and DNS Examples.
Locality-Aware Request Distribution in Cluster-based Network Servers 1. Introduction and Motivation --- Why have this idea? 2. Strategies --- How to implement?
Networks: HTTP and DNS 1 The Internet and HTTP and DNS Examples.
TCP Splicing for URL-aware Redirection
Understanding Networks. Objectives Compare client and network operating systems Learn about local area network technologies, including Ethernet, Token.
Introduction To Networking
Design and Implementation of Web Switch
Networks: HTTP and DNS1 The Internet and HTTP and DNS Examples.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
COS 420 Day 16. Agenda Assignment 3 Corrected Poor results 1 C and 2 Ds Spring Break?? Assignment 4 Posted Chap Due April 6 Individual Project Presentations.
Locality-Aware Request Distribution in Cluster-based Network Servers Presented by: Kevin Boos Authors: Vivek S. Pai, Mohit Aron, et al. Rice University.
Understanding Networks Charles Zangla. Network Models Before I can explain how connections are made from across the country, I would like to provide you.
Web Server Load Balancing/Scheduling Asima Silva Tim Sutherland.
Mobile Computing Lecture: 4.
IST 228\Ch3\IP Addressing1 TCP/IP and DoD Model (TCP/IP Model)
1 Content Distribution Networks. 2 Replication Issues Request distribution: how to transparently distribute requests for content among replication servers.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
70-291: MCSE Guide to Managing a Microsoft Windows Server 2003 Network Chapter 3: TCP/IP Architecture.
DNS (Domain Name System) Protocol On the Internet, the DNS associates various sorts of information with domain names. A domain name is a meaningful and.
Characteristics of Communication Systems
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
INTERNET DATA FLOW Created by David Whitchurch for ISDS 4120 Louisiana State University.
COMT 429 The Internet Protocols COMT 429. History 1969First version of a 4 node store and forward network, the ARPAnet 1972Formal demonstration of ARPAnet.
Huda AL_Omairl - Network 71 Protocols and Network Software.
ITIS 1210 Introduction to Web-Based Information Systems Chapter 23 How Web Host Servers Work.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 Network Services Networking for Home and Small Businesses – Chapter 6.
Othman Othman M.M., Koji Okamura Kyushu University 1.
SpliceNP: A TCP Splicer using a Network Processor Li Zhao +, Yan Luo*, Laxmi Bhuyan University of California Riverside Ravi Iyer Intel Corporation + Now.
Scalable Web Server on Heterogeneous Cluster CHEN Ge.
Geneva, Switzerland, 11 June 2012 Switching and routing in Future Network John Grant Nine Tiles
On the Performance of TCP Splicing for URL-aware Redirection Ariel Cohen, Sampath Rangarajan, and Hamilton Slye The 2 nd USENIX Symposium on Internet Technologies.
Architecture for Caching Responses with Multiple Dynamic Dependencies in Multi-Tier Data- Centers over InfiniBand S. Narravula, P. Balaji, K. Vaidyanathan,
Othman Othman M.M., Koji Okamura Kyushu University 1.
Content-oriented Networking Platform: A Focus on DDoS Countermeasure ( In incremental deployment perspective) Authors: Junho Suh, Hoon-gyu Choi, Wonjun.
Lab Assignment 15/ INF5060: Multimedia data communication using network processors.
Networking Basics CCNA 1 Chapter 11.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
CMSC Presentation An End-to-End Approach to Host Mobility An End-to-End Approach to Host Mobility Alex C. Snoeren and Hari Balakrishnan Alex C. Snoeren.
1. Layered Architecture of Communication Networks: TCP/IP Model
Renesas Electronics America Inc. © 2010 Renesas Electronics America Inc. All rights reserved. Overview of Ethernet Networking A Rev /31/2011.
Voice Over Internet Protocol (VoIP) Copyright © 2006 Heathkit Company, Inc. All Rights Reserved Presentation 5 – VoIP and the OSI Model.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
J. Liebeher (modified by M. Veeraraghavan) 1 Introduction Complexity of networking: An example Layered communications The TCP/IP protocol suite.
/ Fast Web Content Delivery An Introduction to Related Techniques by Paper Survey B Li, Chien-chang R Sung, Chih-kuei.
Communication Networks NETW 501 Tutorial 2
Presentation on Distributed Web Based Systems Submitted by WWW
A quick intro to networking
Affinity Depending on the application and client requirements of your Network Load Balancing cluster, you can be required to select an Affinity setting.
SCTP Handoff for Cluster Servers
Processes The most important processes used in Web-based systems and their internal organization.
Network Architecture Introductory material
Enhance Features and Performance of Content Switches
How Data Flows through the Internet
Review of Important Networking Concepts
Transport Layer 9/22/2019.
Presentation transcript:

Introduction to Content-aware Switch Presented by Li Zhao

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

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

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 [Valeria01]

Layer 7 Two-way Architecture

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

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.

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 Ref [Yang99]

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 # Ref [Edward]

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

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

Functional Overview of Content- aware Distributor Ref [Yang99]

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%

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 Ref [Pradhan99]

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

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

Layer-7 one-way architecture

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.

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 [Pai98]

Case Study Scalable content-aware request distribution in cluster-based network servers [Aron00]

TCP Handoff (1) a client connects to the front-end (2) the dispatcher at the front-end accepts the connection and hands it off to a back-end server using the handoff protocol (3) the back-end takes over the established connection received by the handoff protocol (4) the server at the back-end accepts the created connection (5) the server at the back-end sends replies directly to the client

Scalability of a single Front-end

Scalable Cluster Design Switch Dispatcher component Implement the request distribution: decide which server should handle request 0.8usec Distributor component Distribute the client requests to the server (handoff or splicing) 300usec for handoff, >750usec for splicing

Cluster Operation (1) The layer 4 switch receives a SYN packet, choose the least loaded distributor (2) the distributor accepts the TCP connection and parses the client request (3) the distributor contacts the dispatcher for the assignment of the request to a server (4) the distributor hands off the connection using TCP handoff protocol to the server (5) the server takes over the connection using its handoff protocol (6) the server application at the server node accepts the connection (7) The server sends the response directly to the client (8) (not shown) the switch forward TCP acknowledgments to the corresponding server

Results The proposed cluster architecture scales far better than the one with a single front-end node.

Our Current Research on CS Host CPU MAC IX Bus PCI Bus StrongARM MEME MEME MEME MEME MEME MEME IXP MHz Microengine(6) IXP MHz Microengines(8)

Our Design

Using TCP Splicing

Results

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