M. S. Thesis Defense, 09/24/20011 Migratory TCP (MTCP) Transport Layer Support for Highly- Available Network Services Kiran Srinivasan DisCoLab Division.

Slides:



Advertisements
Similar presentations
Umut Girit  One of the core members of the Internet Protocol Suite, the set of network protocols used for the Internet. With UDP, computer.
Advertisements

Web Server Benchmarking Using the Internet Protocol Traffic and Network Emulator Carey Williamson, Rob Simmonds, Martin Arlitt et al. University of Calgary.
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic CS740 Project Presentation by N. Gupta, S. Kumar, R. Rajamani.
Camarillo / Schulzrinne / Kantola November 26th, 2001 SIP over SCTP performance analysis
RivuS Stream Control Transmission Protocol (SCTP) on BSD By- Jayesh Rane Nitin Kumbhar Kedar Sovani PICT. Guides: Prof. Rajesh B. Ingle, PICT. Mr. Adityashankar.
Lecture 7 Transport Layer
1 Atiquzzaman, “SCTP: State of the art” Oct SCTP: State of the art in Research, Products, and Technical Challenges Mohammed Atiquzzaman School of.
The War Between Mice and Elephants LIANG GUO, IBRAHIM MATTA Computer Science Department Boston University ICNP (International Conference on Network Protocols)
Transparent TCP Connection Failover 2003 IEEE Dependable Systems and Networks UC Department of Electrical and Computer Engineering R. R. Koch, S. Hortikar,
Distributed components
Adaptive Video Streaming in Vertical Handoff: A Case Study Ling-Jyh Chen, Guang Yang, Tony Sun, M. Y. Sanadidi, Mario Gerla Computer Science Department,
CStream: Neighborhood Bandwidth Aggregation For Better Video Streaming Thangam Vedagiri Seenivasan Advisor: Mark Claypool Reader: Robert Kinicki 1 M.S.
1 Migratory TCP: Connection Migration for Service Continuity in the Internet* Florin Sultan, Kiran Srinivasan, Deepa Iyer, Liviu Iftode Department of Computer.
A Distributed Proxy Server for Wireless Mobile Web Service Kisup Kim, Hyukjoon Lee, and Kwangsue Chung Information Network 2001, 15 th Conference.
FTMP: A Fault-Tolerant Multicast Protocol Louise E. Moser Department of Electrical and Computer Engineering University of California, Santa Barbara.
Federated DAFS: Scalable Cluster-based Direct Access File Servers Murali Rangarajan, Suresh Gopalakrishnan Ashok Arumugam, Rabita Sarker Rutgers University.
Department of Electronic Engineering City University of Hong Kong EE3900 Computer Networks Transport Protocols Slide 1 Transport Protocols.
16: Distributed Systems1 DISTRIBUTED SYSTEM STRUCTURES NETWORK OPERATING SYSTEMS The users are aware of the physical structure of the network. Each site.
WXES2106 Network Technology Semester /2005 Chapter 8 Intermediate TCP CCNA2: Module 10.
Installing and Maintaining ISA Server. Planning an ISA Server Deployment Understand the current network infrastructure Review company security policies.
Gursharan Singh Tatla Transport Layer 16-May
Review: –What is AS? –What is the routing algorithm in BGP? –How does it work? –Where is “policy” reflected in BGP (policy based routing)? –Give examples.
1 Semester 2 Module 10 Intermediate TCP/IP Yuda college of business James Chen
Adaptive Failover Mechanism Motivation End-to-end connectivity can suffer during net failures Internet path outage detection and recovery is slow (shown.
Jaringan Komputer Dasar OSI Transport Layer Aurelio Rahmadian.
© 2008 Cisco Systems, Inc. All rights reserved.Cisco ConfidentialPresentation_ID 1 Chapter 7: Transport Layer Introduction to Networking.
Mobile Communications: Mobile Transport Layer Mobile Communications Chapter 10: Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping.
Asstt. Professor Adeel Akram.  Motivation  TCP mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing.
Prof. Dr.-Ing. Jochen Schiller, SS029.1 Mobile Communications Chapter 9: Mobile Transport Layer  Motivation  TCP-mechanisms.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_a Transport Protocols - UDP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
Sharing Information across Congestion Windows CSE222A Project Presentation March 15, 2005 Apurva Sharma.
Transport Layer Natawut Nupairoj, Ph.D. Department of Computer Engineering Chulalongkorn University.
TCP1 Transmission Control Protocol (TCP). TCP2 Outline Transmission Control Protocol.
Chapter 12 Transmission Control Protocol (TCP)
CCNA 1 v3.0 Module 11 TCP/IP Transport and Application Layers.
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.
Transport Layer COM211 Communications and Networks CDA College Theodoros Christophides
4/19/20021 TCPSplitter: A Reconfigurable Hardware Based TCP Flow Monitor David V. Schuehler.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Fine-Grained Failover Using Connection Migration Alex C. Snoeren, David G. Andersen, Hari Balakrishnan MIT Laboratory for Computer Science.
Measuring the Capacity of a Web Server USENIX Sympo. on Internet Tech. and Sys. ‘ Koo-Min Ahn.
SCTP: A new networking protocol for super-computing Mohammed Atiquzzaman Shaojian Fu Department of Computer Science University of Oklahoma.
Ασύρματες και Κινητές Επικοινωνίες Ενότητα # 11: Mobile Transport Layer Διδάσκων: Βασίλειος Σύρης Τμήμα: Πληροφορικής.
CATNIP – Context Aware Transport/Network Internet Protocol Carey Williamson Qian Wu Department of Computer Science University of Calgary.
Transport Layer: Sliding Window Reliability
Computer Network Architecture Lecture 6: OSI Model Layers Examples 1 20/12/2012.
1 Transport Layer: Basics Outline Intro to transport UDP Congestion control basics.
Ryan Bickhart Transparent TCP-to-SCTP Translation Shim Layer EuroBSDCon 2007 / Copenhagen, Denmark Ryan Bickhart
4343 X2 – The Transport Layer Tanenbaum Ch.6.
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
Operating Systems Distributed-System Structures. Topics –Network-Operating Systems –Distributed-Operating Systems –Remote Services –Robustness –Design.
Mobile Transport Layer  Motivation  TCP-mechanisms  Indirect TCP  Snooping TCP  Mobile TCP  Fast retransmit/recovery  Transmission freezing  Selective.
Ch23 Ameera Almasoud 1 Based on Data Communications and Networking, 4th Edition. by Behrouz A. Forouzan, McGraw-Hill Companies, Inc., 2007.
NAT、DHCP、Firewall、FTP、Proxy
Chapter 9: Transport Layer
Instructor Materials Chapter 9: Transport Layer
SCTP Handoff for Cluster Servers
Reliable Sockets: A Foundation for Mobile Communications
Transport Protocols over Circuits/VCs
SCTP v/s TCP – A Comparison of Transport Protocols for Web Traffic
Transport Layer Unit 5.
Transport Layer Our goals:
Transport Protocols Relates to Lab 5. An overview of the transport protocols of the TCP/IP protocol suite. Also, a short discussion of UDP.
SPEAKER: Yu-Shan Chou ADVISOR: DR. Kai-Wei Ke
IT351: Mobile & Wireless Computing
TCP for Wireless Networks
Chapter 5 Transport Layer Introduction
Transport Layer 9/22/2019.
Presentation transcript:

M. S. Thesis Defense, 09/24/20011 Migratory TCP (MTCP) Transport Layer Support for Highly- Available Network Services Kiran Srinivasan DisCoLab Division of Computer and Information Sciences Rutgers University Advisor: Liviu Iftode

M. S. Thesis Defense, 09/24/20012 Services Rather Than Servers Client oblivious to a given server’s location Client is interested only in the content provided and QoS A Service -> set of equivalent servers Internet services Most services are based on TCP Clients demand both high-availability and performance

M. S. Thesis Defense, 09/24/20013 TCP-based Internet Services Adverse conditions Core network congestion, overloaded servers, failed servers or under DoS attack TCP response Network delays => packet loss => retransmission TCP limitations Creates an implicit binding of service to a server ! Clients cannot change to another server for sustained service

M. S. Thesis Defense, 09/24/20014 Migratory TCP Transport layer protocol that supports dynamic connection migration Extension to TCP A client connection can transparently migrate to different servers during its lifetime Modified server applications cooperate to support the handoff Client applications do not change Servers can be geographically distributed Does not depend on application-specific info

M. S. Thesis Defense, 09/24/20015 Contributions Designed a transport layer protocol that enables dynamic connection migration Implemented a prototype on FreeBSD Demonstrated the utilization of our protocol in building highly-available services Conducted preliminary performance evaluation F. Sultan, K. Srinivasan, L. Iftode - “Transport Layer Support for Highly-Available Network Services ”, HotOS 2001

M. S. Thesis Defense, 09/24/20016 Outline Motivation Protocol Design Prototype Implementation Preliminary Performance Evaluation Protocol Utilization Related Work Conclusions and Future Work

M. S. Thesis Defense, 09/24/20017 The Migration Model Client Server 1 - overloaded Server 2 congestion

M. S. Thesis Defense, 09/24/20018 Triggers and Initiators Client Server 1 Server 2 MIGRATE_TRIGGER MIGRATE_INITIATE

M. S. Thesis Defense, 09/24/20019 Design Issues How to resume the service at the new server? Without the involvement of the client application Without full migration of the server application With low overhead What is the state that needs to be transferred? Application state Protocol state

M. S. Thesis Defense, 09/24/ Contract Between Server Application and MTCP Application Define fine-grained per-connection application state Export per-connection application state snapshot periodically to the kernel After migration, import per-connection state to resume service MTCP Transfer the per-connection state Synchronize the application state with the protocol state

M. S. Thesis Defense, 09/24/ Server Application Interface export_state Export the state snapshot at the origin server Many times periodically import_state Import the state snapshot at the destination server Enables the destination server to resume from the last snapshot Only once at the destination server Light-weight connection migration

M. S. Thesis Defense, 09/24/ Server Application Example while ((s = accept(ssock)) != -1) { if (import_state(s, &state)) num = state else num = 0 recv(s, &buf) state = ++ num export_state(s, &state) recv(s, &buf) state = ++ num export_state(s, &state)... }

M. S. Thesis Defense, 09/24/ Contract Between Server Application and MTCP Application Define fine-grained per-connection application state Export per-connection application state snapshot periodically After migration, import per-connection state to resume service MTCP Transfer the per-connection state Synchronize the application state with the protocol state

M. S. Thesis Defense, 09/24/ MTCP Protocol Server 1Server 2 Application Protocol Connections

M. S. Thesis Defense, 09/24/ State Synchronization Example while ((s = accept(ssock)) != -1) { if (import_state(s, &state)) num = state else num = 0 recv(s, &buf) state = ++ num export_state(s, &state) recv(s, &buf) state = ++ num export_state(s, &state)... }

M. S. Thesis Defense, 09/24/ State Synchronization Example while ((s=accept(ssock)) != -1) { if (import_state(s, &state)) num = state else num = 0 recv(s, &buf) state = ++num export_state(s, &state) recv(s, &buf) state = ++num export_state(s, &state)... }

M. S. Thesis Defense, 09/24/ State Synchronization Example

M. S. Thesis Defense, 09/24/ Log-Based State Synchronization Logs are maintained in the protocol At export time, protocol discards logs (sync-ed) Logs form part of the state to be transferred during migration Resumption of service starts from the last state snapshot

M. S. Thesis Defense, 09/24/ Implementation Modified the TCP/IP stack in FreeBSD kernel Lazy connection migration mechanism Evaluation on synthetic benchmarks Target applications HTTP server PostgreSQL front-end

M. S. Thesis Defense, 09/24/ Lazy Connection Migration C (0) C’C’ (2) (3) Client Server 1 Server 2 (1) (4)

M. S. Thesis Defense, 09/24/ Implementation: Per-Connection State snap not ack’ed Write Buffer Application Write Application Protocol

M. S. Thesis Defense, 09/24/ Implementation: Per-Connection State X From network Read pointer Read since snap Read before snap ack’ed Application Protocol Read Buffer snap

M. S. Thesis Defense, 09/24/ Preliminary Performance Evaluation Experimental setup Two servers and a client: P III 233MHz, 256 MB RAM Servers are connected by a dedicated network link Benchmarks Microbenchmark Simple web server like application

M. S. Thesis Defense, 09/24/ Microbenchmark One migration averaged over 200 runs for each state size All times are in microseconds The state size is in bytes

M. S. Thesis Defense, 09/24/ Microbenchmark The time for migration varies linearly with state size

M. S. Thesis Defense, 09/24/ Stream Server Experiment Server application sends a stream of 256K bytes in chunks of 1K each Server performance degrades after a threshold Degradation is emulated by means of delays in the server Migration policy module inserted into kernel at the client Smoothed rate estimator Migration occurs when the estimated rate drops to 70% of max. observed rate

M. S. Thesis Defense, 09/24/ Stream Server Experiment Results Effective rate is almost equal to the best rate from the server

M. S. Thesis Defense, 09/24/ Implementation Summary Addition of ~5000 lines of kernel code Changes to TCP finite state machine Addition of two logical TCP states: Migrating and Blackhole Time spent on the design and implementation was 9 months

M. S. Thesis Defense, 09/24/ Protocol Utilization For high availability For performance through load balancing schemes Servers trigger migrations based on a load balancing policy Fault tolerance Eager transfer of connection state information

M. S. Thesis Defense, 09/24/ Related Work Classes of related work TCP Fault tolerance Process migration

M. S. Thesis Defense, 09/24/ TCP Related Works HTTP server fail-over by connection migration [Snoeren ‘00] soft TCP and HTTP state maintained at back-up server Fault-tolerant TCP [Alvisi ‘00] failure masking persistent connections across server crashes Stream Control Transmission Protocol (SCTP) - RFC 2960 multi-homing (many IP addresses / endpoint) ensures connectivity in the face of network failure

M. S. Thesis Defense, 09/24/ TCP Related Works (cont’d) MSOCKS [Bhagwat `98] Proxy based “TCP splicing” for mobile clients with multiple interfaces Indirect TCP [Bakre ‘95] Connection handoffs between MSRs allow mobile hosts to maintain open connections with a fixed host

M. S. Thesis Defense, 09/24/ Fault Tolerance Related Works Log-based rollback recovery The NonStop kernel [Bartlett ’81]

M. S. Thesis Defense, 09/24/ Process Migration Related Works Condor [Litzkow ‘88] Locus [Popek ‘81] MOSIX [Barak ‘85] Sprite [Ousterhout ‘88]

M. S. Thesis Defense, 09/24/ Conclusions We provide a transport layer protocol that enables building of highly-available services The transport layer protocol allows dynamic server endpoint connection migration We implemented a prototype in a FreeBSD kernel We designed an API for the server applications Preliminary performance evaluation on a web server- like application achieved constant rate in the presence of server degradation

M. S. Thesis Defense, 09/24/ Future Work Investigate migration policies Alternate state transfer implementations Recursive connection migration mechanism Future applications

M. S. Thesis Defense, 09/24/ Acknowledgment Florin – for contributing to the design and implementation of the project Other members of DisCo Lab

M. S. Thesis Defense, 09/24/ Thank You Demo in CoRE 336 !