Inter-domain Socket Communications Supporting High Performance and Full Binary Compatibility on Xen March 5, 2008 Kangho Kim System Software Team Internet.

Slides:



Advertisements
Similar presentations
Florida State UniversityCOP Advanced Unix Programming Raw Sockets Datalink Access Chapters 25, 26.
Advertisements

Live migration of Virtual Machines Nour Stefan, SCPD.
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Nonblocking I/O Blocking vs. non-blocking I/O
Virtual Switching Without a Hypervisor for a More Secure Cloud Xin Jin Princeton University Joint work with Eric Keller(UPenn) and Jennifer Rexford(Princeton)
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Resource Containers: A new Facility for Resource Management in Server Systems G. Banga, P. Druschel,
Notes to the presenter. I would like to thank Jim Waldo, Jon Bostrom, and Dennis Govoni. They helped me put this presentation together for the field.
CS335 Networking & Network Administration Tuesday, May 25, 2010.
VIA and Its Extension To TCP/IP Network Yingping Lu Based on Paper “Queue Pair IP, …” by Philip Buonadonna.
Socket Programming.
A Comparative Study of Network Protocols & Interconnect for Cluster Computing Performance Evaluation of Fast Ethernet, Gigabit Ethernet and Myrinet.
Linux Networking Overview COMS W Spring 2010.
© 2007 Pearson Education Inc., Upper Saddle River, NJ. All rights reserved.1 Computer Networks and Internets with Internet Applications, 4e By Douglas.
Spring EE4272 Switch vs. Router Switch:  Def. 1: A network node that forwards packets from inputs to outputs based on header information in each.
Networks 1 CS502 Spring 2006 Network Input & Output CS-502 Operating Systems Spring 2006.
© Lethbridge/Laganière 2001 Chap. 3: Basing Development on Reusable Technology 1 Let’s get started. Let’s start by selecting an architecture from among.
Embedded Transport Acceleration Intel Xeon Processor as a Packet Processing Engine Abhishek Mitra Professor: Dr. Bhuyan.
An overview of Infiniband Reykjavik, June 24th 2008 R E Y K J A V I K U N I V E R S I T Y Dept. Computer Science Center for Analysis and Design of Intelligent.
1 Application Presentation Session Transport Network Datalink Physical OSI model Application IPv4, IPv6 Device Driver Hardware TCPUDP Internet.
Socket options A way for network applications to ‘tweak’ the processing done at lower-levels of the TCP/IP stack.
I NTRODUCTION OF S OCKET P ROGRAMMING L.Aseel AlTurki King Saud University.
Introduction to Linux Network 劉德懿
1 Networking (Stack and Sockets API). 2 Topic Overview Introduction –Protocol Models –Linux Kernel Support TCP/IP Sockets –Usage –Attributes –Example.
DSock – DOS TCP/IP by ICOP / DMP Group DSock – DOS TCP/IP by ICOP / DMP Group.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
Prioritizing Local Inter-Domain Communication in Xen Sisu Xi, Chong Li, Chenyang Lu, and Christopher Gill Cyber-Physical Systems Laboratory Washington.
1 XenSocket: VM-to-VM IPC John Linwood Griffin Jagged Technology virtual machine inter-process communication Suzanne McIntosh, Pankaj Rohatgi, Xiaolan.
Socket Swapping for efficient distributed communication between migrating processes MS Final Defense Praveen Ramanan 12 th Dec 2002.
High Performance Computing & Communication Research Laboratory 12/11/1997 [1] Hyok Kim Performance Analysis of TCP/IP Data.
IT COOKBOOK Windows Network Programming. Chapter 01. Intro. to Network and Socket Programming.
Sockets API Overview Sockets with UDP Sockets with TCP Fast Sockets (Fast UDP) IP Multicasting.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
2006 Sonoma Workshop February 2006Page 1 Sockets Direct Protocol (SDP) for Windows - Motivation and Plans Gilad Shainer Mellanox Technologies Inc.
Chapter 2 Applications and Layered Architectures Sockets.
The Socket Interface Chapter 22. Introduction This chapter reviews one example of an Application Program Interface (API) which is the interface between.
Networking in Windows NT Layered Network Architecture Network Interface Card Network Adapter Card Drivers NDIS InterfaceStreams Transport Protocols.
Linux Architecture Overview 1. Initialization Uboot – hardware init, loads kernel Kernel – remaining initialization, calls “init” Init – 1 st process,
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
Remote Shell CS230 Project #4 Assigned : Due date :
Page 1 Jan 5, 1998 CMPN 369 CPSC441 Sockets Module Sockets Application Programming Interface (API)
Datacenter Fabric Workshop August 22, 2005 Reliable Datagram Sockets (RDS) Ranjit Pandit SilverStorm Technologies
4061 Session 25 (4/17). Today Briefly: Select and Poll Layered Protocols and the Internets Intro to Network Programming.
Sonoma Feb 6, 2006 Reliable Datagram Sockets (RDS) Ranjit Pandit SilverStorm Technologies
An Architecture and Prototype Implementation for TCP/IP Hardware Support Mirko Benz Dresden University of Technology, Germany TERENA 2001.
1 Chapter 34 Internet Applications (Telnet, FTP).
Advanced Java Session 4 New York University School of Continuing and Professional Studies.
Socket Programming.
Advanced UNIX programming Fall 2002, lecture 16 Instructor: Ashok Srinivasan Acknowledgements: The syllabus and power point presentations are modified.
1.4 Open source implement. Open source implement Open vs. Closed Software Architecture in Linux Systems Linux Kernel Clients and Daemon Servers Interface.
Berkeley Socket Abstraction
Ryu Overview 2014/11/25 晁鍾義 Tony. What is Ryu ? Component and Ryu What is component ? Component and libraries in the Ryu and description Ryu Architecture.
Simple Socket Server m Yumiko Kimezawa September 19, 20121RPS.
Using Uncacheable Memory to Improve Unity Linux Performance
Linux Architecture Overview.
Inter-Process Communication 9.1 Unix Sockets You may regard a socket as being a communication endpoint. –For two processes to communicate, both must create.
Client-server communication Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
1 Socket Interface. 2 Client-Server Architecture The client is the one who speaks first Typical client-server situations  Client and server on the same.
CIT 140: Introduction to ITSlide #1 CSC 140: Introduction to IT Operating Systems.
IST 201 Chapter 11 Lecture 2. Ports Used by TCP & UDP Keep track of different types of transmissions crossing the network simultaneously. Combination.
Advisor: Hung Shi-Hao Presenter: Chen Yu-Jen
Network architecture model What is an “architecture model”? An architecture model offers a general frame of reference for the problems connected to the.
Microsoft enterprise concepts
Two FTP connections from different hosts
Reliable Sockets: A Foundation for Mobile Communications
Interacting With Protocol Software
شبکه های کامپیوتری پیشرفته
Linux Networks TCP/IP Networking Layers BSD Socket Interface
Chapter 2: The Linux System Part 1
Linux Architecture Overview.
Internet Applications (Telnet, FTP)
Presentation transcript:

Inter-domain Socket Communications Supporting High Performance and Full Binary Compatibility on Xen March 5, 2008 Kangho Kim System Software Team Internet Server Group VEE ‘08

Outline  Motivation  Design & Implementation –Socket creation –Connect –Accept –Send/recv –Close –Live migration  Evaluation results  Conclusion

Motivation  Low bandwidth (Xen 3.0.3) We need XWAY!!

Motivation(cont’d)  Low latency (Xen 3.0.3)  Existing socket applications

Design & Implementation

Shared memory  Direct communication  TCP/IP bypass  Direct data copy  Shared memory Hardware VM Kernel User Domain 0Domain U XWAY Shared memory TCP

XWAY channel HeadTail SQ HeadTail RQ HeadTail RQ Event channel HeadTail SQ Shared memory for one XWAY channel Domain ADomain B

XWAY architecture socket application library VFS INET UNIXX25 … XWAY switch TCP IP XWAY protocol Network device driverXWAY driver BSD socket user kernel UDP

Dual channel  XWAY channel for data  TCP/IP channel for socket options and socket state socket application XWAY socket socket application XWAY socket TCP/IP channel XWAY channel

xway_sock Socket data structure for XWAY llseek: no_llseek poll: sock_poll open: sock_no_open release: sock_close readv: sock_readv writev: sock_writev sendpage: sock_sendpage release: inet_release bind: inet_bind connect: xsw_stream_connect accept: xsw_accept poll: xsw_poll listen: inet_listen shutdown: inet_shutdown sendmsg: inet_sendmsg recvmsg: sock_common_recvmsg sendpage: inet_sendpage close: xsw_close connect: xsw_v4_connect disconnect: xsw_disconnect accept: xsw_csk_accept ioctl: tcp_ioctl init: xsw_v4_init_sock shutdown: xsw_shutdown setsockopt: tcp_setsockopt getsockopt: tcp_getsockopt remote_dom_id eventchn_port eventchn_irq xring_send xring_recv xring_send_h xring_send_t xring_recv_h xring_recv_t … inode socket sock

Create Sock

Connect TCP channel Sock Connection helper XWAY channel SQ RQ SQ RQ

Accept TCP channel XWAY channel Sock XWAY channel

Send/Recv TCP channel Sock XWAY channel SQ RQ SQ RQ

Close Sock TCP channel XWAY channel SQ RQ SQ RQ XWAY channel

Poll TCP session XWAY session Sock

Live migration  Cut XWAY channels underneath XWAY socket –Redirect all data send/receive calls to TCP channels  Ready to live migration Hardware VM Kernel User Domain 0Domain U TCP/IP Hardware VM Domain 0

Live migration (cont’d) TCP channel Sock XWAY channel SQ RQ SQ RQ

Evaluation

Bandwidth  Netperf TCP_STREAM

Latency  Netperf (TCP_RR)

Application performance

DBT-1 performance

Execution time of API

Binary compatibility  Scp  Ssh  Apache – TCP_DEFER_ACCEPT  Vsftpd – connect, accept, MSG_PEEK  Proftpd – shutdown, connect, SO_LINGER  Telnet  MySQL  Netperf

Conclusion  XWAY design and implementation –Full binary compatibility for socket interface –High performance –Live migration support  Remaining work –UDP, … –Domain crash resiliency –Reducing CPU usage  Code release –April 20, 2007: xway ver 0.6 –June 4, 2007: xway ver –By the end of March, 2008: xway ver 0.7 (live migration included)  Download –

Questions or Comments  Kangho Kim  Cheiyol Kim  Hyun-Sup Shin