Design and Implementation of Web Switch

Slides:



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

IPv6 – IPv4 Network Address, Port & Protocol Translation & Multithreaded DNS Gateway Navpreet Singh, Abhinav Singh, Udit Gupta, Vinay Bajpai, Toshu Malhotra.
IST 201 Chapter 9. TCP/IP Model Application Transport Internet Network Access.
國立台灣大學 資訊工程學系 Chapter 4: Threads. 資工系網媒所 NEWS 實驗室 Objectives To introduce the notion of a thread — a fundamental unit of CPU utilization that forms the.
Introduction to Content-aware Switch Presented by Li Zhao.
1 A Spam Mail-based Solution for Botnet Detection and Network Bandwidth Protection 許富皓 資訊工程學系 中央大學 1.
Module 8: Concepts of a Network Load Balancing Cluster
Content Switch Design Introduce Linux networking source code. IP Masquerade techniques. LVS(Linux Virtual Server). Design of the Content Switch.
Dynamic Process Allocation in Apache Server Yu Cai.
11/2/2000Weihong Wang/Content Switch Page 1 Content Switch. Introduction of content web switch.. Some content switch products in the market.. Design of.
Content Switch. Introduction of content web switch.. Some content switch products in the market.. Design of a content switch.
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.
Adaptive Web Caching: Towards a New Caching Architecture Authors and Institutions: Scott Michel, Khoi Nguyen, Adam Rosenstein and Lixia Zhang UCLA Computer.
TCP Splicing for URL-aware Redirection
張 燕 光 資訊工程學系 Dept. of Computer Science & Information Engineering,
Web Prefetch 張燕光 資訊工程系 成功大學
Adaptive Content Delivery for Scalable Web Servers Authors: Rahul Pradhan and Mark Claypool Presented by: David Finkel Computer Science Department Worcester.
Design and Implementation of a Server Director Project for the LCCN Lab at the Technion.
Chapter 4 Internet Addressing and Operation Part 1: Data Communications in the Information Age.
12/9/2002Packet Rewrite Techniques1 Aparna Srikanta Swamy Reena Hans CS526 Semester Project 12/9/02.
CN2668 Routers and Switches Kemtis Kunanuraksapong MSIS with Distinction MCTS, MCDST, MCP, A+
1 Proceeding the Second Exercises on Computer and Systems Engineering Professor OKAMURA Laboratory. Othman Othman M.M.
Achieving Load Balance and Effective Caching in Clustered Web Servers Richard B. Bunt Derek L. Eager Gregory M. Oster Carey L. Williamson Department of.
Professor OKAMURA Laboratory. Othman Othman M.M. 1.
A Novel Adaptive Distributed Load Balancing Strategy for Cluster CHENG Bin and JIN Hai Cluster.
Copyright © 2010, OpenFlow - Innovate in Your Network 指導教授:王國禎 學生:洪維藩 國立交通大學資訊科學與工程研究所 行動計算與寬頻網路實驗室.
Chapter 1: Introduction to Web Applications. This chapter gives an overview of the Internet, and where the World Wide Web fits in. It then outlines the.
Enabling Embedded Systems to access Internet Resources.
Examining TCP/IP.
Link Layer 5-1 Link layer, LAN s: outline 5.1 introduction, services 5.2 error detection, correction 5.3 multiple access protocols 5.4 LANs  addressing,
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.
Copyright © 2011, Resource allocation for MMOG based on AFK players in the cloud 指導教授:王國禎 博士 學生:陳治豪 國立交通大學網路工程研究所 行動計算與寬頻網路實驗室.
Transmission Control Protocol TCP. Transport layer function.
1 © 2004, Cisco Systems, Inc. All rights reserved. Chapter 9 Intermediate TCP/IP/ Access Control Lists (ACLs)
The Inter-network is a big network of networks.. The five-layer networking model for the internet.
A Measurement Based Memory Performance Evaluation of High Throughput Servers Garba Isa Yau Department of Computer Engineering King Fahd University of Petroleum.
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.
Heavy and lightweight dynamic network services: challenges and experiments for designing intelligent solutions in evolvable next generation networks Laurent.
Clustering and Load Balancing. Outline Introduction Linux Virtual Server Microsoft load balancing solution.
Othman Othman M.M., Koji Okamura Kyushu University 1.
輔大資工所 在職研一 報告人:林煥銘 學號: Public Access Mobility LAN: Extending The Wireless Internet into The LAN Environment Jun Li, Stephen B. Weinstein, Junbiao.
Multimedia and Networks. Protocols (rules) Rules governing the exchange of data over networks Conceptually organized into stacked layers – Application-oriented.
DYNAMIC LOAD BALANCING ON WEB-SERVER SYSTEMS by Valeria Cardellini Michele Colajanni Philip S. Yu.
The LSAM Proxy Cache - a Multicast Distributed Virtual Cache Joe Touch USC / Information Sciences Institute 元智大學 資訊工程研究所 系統實驗室 陳桂慧
CFTP - A Caching FTP Server Mark Russell and Tim Hopkins Computing Laboratory University of Kent Canterbury, CT2 7NF Kent, UK 元智大學 資訊工程研究所 系統實驗室 陳桂慧.
1 Interview Questions - What is the difference between TCP and UDP? - What is Nagle's Algorithm? - Describe the TCP handshaking process. - What is Slow.
Chapter 5 Link Layer Computer Networking: A Top Down Approach 6 th edition Jim Kurose, Keith Ross Addison-Wesley March 2012 A note on the use of these.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
09/13/04 CDA 6506 Network Architecture and Client/Server Computing Peer-to-Peer Computing and Content Distribution Networks by Zornitza Genova Prodanoff.
Introduction to Content-aware Switch Presented by Li Zhao.
Copyright © 2010, Install OpenFlow Mininet 指導教授:王國禎 學生:洪維藩 國立交通大學資訊科學與工程研究所 行動計算與寬頻網路實驗室.
Improving the WWW: Caching or Multicast? Pablo RodriguezErnst W. BiersackKeith W. Ross Institut EURECOM 2229, route des Cretes. BP , Sophia Antipolis.
Communication Networks NETW 501 Tutorial 2
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI transport layer CCNA Exploration Semester 1 – Chapter 4.
SOCKET PROGRAMMING Presented By : Divya Sharma.
義守大學資訊工程學系 作者:郭東黌, 張佑康 報告人:徐碩利 Date: 2006/11/01
Gijeong Kim ,Junho Kim ,Sungwon Lee Kyunghee University
A Typical Connection Scenario
SCTP Handoff for Cluster Servers
CS 280: Summary: A day in the life of a web request
Enhance Features and Performance of Content Switches
Chapter 6 The Data Link layer
CSE 461 HTTP and the Web.
TCP/IP Networking An Example
Synthesis A day in the life of a web request
Presentation transcript:

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

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

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

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

Single Server Architecture Request GET /cial.html Response cial.html Web Server 成功大學資訊工程系 CIAL實驗室

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

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

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

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

Proxy Client Web Switch Server A B user space kernel space C S 成功大學資訊工程系 CIAL實驗室

TCP Splicing Client Web Switch Server user space kernel space A B C S 成功大學資訊工程系 CIAL實驗室

Scalable Server Architecture (SSA) Client Web Switch Server user space kernel space A B C S pre-forked connection 成功大學資訊工程系 CIAL實驗室

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

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

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

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

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

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

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

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

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

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

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(1923828202) SYN(627567432) ACK(1923828203) ACK(627567433) Incoming Outgoing Flag Saddr Sport Daddr Dport 1 140.116.82.11 1111 140.116.82.18 3333 10.0.0.1 6666 10.0.0.10 80 6667 10.0.0.11 SYN(4073346099) SYN(625561648) ACK(4073346100) ACK(625561649) SYN(2481257401) SYN(250437722) ACK(2481257402) ACK(250437723) DATA_R(2481257402) ACK(250437723) GET /cial.html (350bytes) 成功大學資訊工程系 CIAL實驗室

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(1923828203) ACK(627567433) DATA_D(250437723) ACK(2481257752) DATA_D(627567433) ACK(1923828553) cial.html 2894 bytes ACK(250440617) ACK(627570327) Incoming Outgoing Flag Saddr Sport Daddr Dport 1 140.116.82.11 1111 140.116.82.18 3333 10.0.0.1 6666 10.0.0.10 80 6667 10.0.0.11 成功大學資訊工程系 CIAL實驗室

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(2481257752) ACK(250440617) DATA_R(4073346100) ACK(625561649) title.jpg (16464 bytes) DATA_D(250440617) ACK(2481258101) DATA_D(625561649) ACK(4073346449) ACK(250457081) ACK(625578113) Incoming Outgoing Flag Saddr Sport Daddr Dport 140.116.82.11 1111 140.116.82.18 3333 10.0.0.1 6666 10.0.0.10 80 1 6667 10.0.0.11 成功大學資訊工程系 CIAL實驗室

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

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

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

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

Experiment 1 Setup To show the overhead of HTTP header parsing in TCPSP. The workload were for static files. 成功大學資訊工程系 CIAL實驗室

Experiment 1 Result Requests per second 成功大學資訊工程系 CIAL實驗室

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

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

Experiment 2 Result – 10.0.0.10 TCPSP FPS 成功大學資訊工程系 CIAL實驗室

Experiment 2 Result – 10.0.0.11 TCPSP FPS 成功大學資訊工程系 CIAL實驗室

Experiment 2 Result – 10.0.0.12 TCPSP FPS 成功大學資訊工程系 CIAL實驗室

Experiment 2 Result TCPSP FPS 10 reqs/sec 202 ms/req 41 reqs/sec 成功大學資訊工程系 CIAL實驗室

Experiment 2 Result cont. Define a “diff” value to evaluate the load balancing trends. 成功大學資訊工程系 CIAL實驗室

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

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

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

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

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

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

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