Sonoma Feb 6, 2006 Reliable Datagram Sockets (RDS) Ranjit Pandit SilverStorm Technologies

Slides:



Advertisements
Similar presentations
Nonblocking I/O Blocking vs. non-blocking I/O
Advertisements

Middleware Support for RDMA-based Data Transfer in Cloud Computing Yufei Ren, Tan Li, Dantong Yu, Shudong Jin, Thomas Robertazzi Department of Electrical.
Transport Layer3-1 Transport Overview and UDP. Transport Layer3-2 Goals r Understand transport services m Multiplexing and Demultiplexing m Reliable data.
RDS and Oracle 10g RAC Update Paul Tsien, Oracle.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
UDP and Multi-thread Socket Programming
Chapter 3: Transport Layer
Socket Programming.
4-1 Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving side, delivers.
10 - Network Layer. Network layer r transport segment from sending to receiving host r on sending side encapsulates segments into datagrams r on rcving.
Transport Layer3-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
1 Generic Transport Service Primitives Listen –notify Transport layer a call is expected Connect –establish Transport layer connection Send (or Write)
Lecture 8 Chapter 3 Transport Layer
CSE/EE 461 Getting Started with Networking. Basic Concepts  A PROCESS is an executing program somewhere.  Eg, “./a.out”  A MESSAGE contains information.
TCP/IP Protocol Suite 1 Chapter 11 Upon completion you will be able to: User Datagram Protocol Be able to explain process-to-process communication Know.
1 CCNA 2 v3.1 Module Intermediate TCP/IP CCNA 2 Module 10.
Some slides are in courtesy of J. Kurose and K. Ross Review of Previous Lecture Electronic Mail: SMTP, POP3, IMAP DNS Socket programming with TCP.
3-1 Transport services and protocols r provide logical communication between app processes running on different hosts r transport protocols run in end.
8-1 Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer m flow.
Gursharan Singh Tatla Transport Layer 16-May
Process-to-Process Delivery:
Socket Programming References: redKlyde ’ s tutorial set Winsock2 for games (gamedev.net)
University of Calgary – CPSC 441.  UDP stands for User Datagram Protocol.  A protocol for the Transport Layer in the protocol Stack.  Alternative to.
Chapter 17 Networking Dave Bremer Otago Polytechnic, N.Z. ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings.
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.
Architecture of Parallel Computers CSC / ECE 506 OpenFabrics Alliance Lecture 18 7/17/2006 Dr Steve Hunter.
Jon Maloy, Ericsson Steven Blake, Ericsson Maarten Koning, WindRiver draft-maloy-tipc-00.txt Transparent Inter Process Communication TIPC.
© 2007 Cisco Systems, Inc. All rights reserved.Cisco Public 1 Version 4.0 OSI Transport Layer Network Fundamentals – Chapter 4.
Data Communications and Computer Networks Chapter 3 CS 3830 Lecture 12 Omar Meqdadi Department of Computer Science and Software Engineering University.
CS 1652 The slides are adapted from the publisher’s material All material copyright J.F Kurose and K.W. Ross, All Rights Reserved Jack Lange.
ICOM 6115©Manuel Rodriguez-Martinez ICOM 6115 – Computer Networks and the WWW Manuel Rodriguez-Martinez, Ph.D. Lecture 26.
2006 Sonoma Workshop February 2006Page 1 Sockets Direct Protocol (SDP) for Windows - Motivation and Plans Gilad Shainer Mellanox Technologies Inc.
Transport Layer1 Ram Dantu (compiled from various text books)
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Lecture91 Administrative Things r Return homework # 1 r Review some problems in homework # 1 r Questions about grading? Yona r WebCT for CSE245 is working!
Chapter 15 – Part 2 Networks The Internal Operating System The Architecture of Computer Hardware and Systems Software: An Information Technology Approach.
August 22, 2005Page 1 of (#) Datacenter Fabric Workshop Open MPI Overview and Current Status Tim Woodall - LANL Galen Shipman - LANL/UNM.
Chapter 2 Applications and Layered Architectures Sockets.
Application Block Diagram III. SOFTWARE PLATFORM Figure above shows a network protocol stack for a computer that connects to an Ethernet network and.
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
TELE 402 Lecture 10: Unix domain … 1 Overview Last Lecture –Daemon processes and advanced I/O functions This Lecture –Unix domain protocols and non-blocking.
Transport Layer 3-1 Chapter 3 Outline r 3.1 Transport-layer services r 3.2 Multiplexing and demultiplexing r 3.3 Connectionless transport: UDP.
Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable data transfer.
Reliable Server Pooling Sockets API Presenter: Aron Silverton IETF 61 Washington, D.C
CSE/EE 461 Getting Started with Networking. 2 Basic Concepts A PROCESS is an executing program somewhere. –Eg, “./a.out” A MESSAGE contains information.
Chapter 27 Socket API Interface The interface between an application program and the communication protocols in an operating system is known as the Application.
Socket Programming Introduction. Socket Definition A network socket is one endpoint in a two-way communication flow between two programs running over.
The Client-Server Model And the Socket API. Client-Server (1) The datagram service does not require cooperation between the peer applications but such.
Part 4: Network Applications Client-server interaction, example applications.
Socket Programming.
Inter-domain Socket Communications Supporting High Performance and Full Binary Compatibility on Xen March 5, 2008 Kangho Kim System Software Team Internet.
© 2002, Cisco Systems, Inc. All rights reserved..
Transport Layer3-1 Chapter 3: Transport Layer Our goals: r understand principles behind transport layer services: m multiplexing/demultipl exing m reliable.
Cisco I Introduction to Networks Semester 1 Chapter 7 JEOPADY.
Process-to-Process Delivery:
1 Socket Interface. 2 Basic Sockets API Review Socket Library TCPUDP IP EthernetPPP ARP DHCP, Mail, WWW, TELNET, FTP... Network cardCom Layer 4 / Transport.
SOCKET PROGRAMMING Presented By : Divya Sharma.
UDP Socket Programming
Chapter 3 Transport Layer
Chapter 3 outline 3.1 Transport-layer services
06- Transport Layer Transport Layer.
Reliable Sockets: A Foundation for Mobile Communications
CS 1652 Jack Lange University of Pittsburgh
Subject Name: Computer Communication Networks Subject Code: 10EC71
Transport Layer Our goals:
September 19th, 2013 CS1652 Jack Lange University of Pittsburgh
Process-to-Process Delivery:
CPEG514 Advanced Computer Networkst
Transport Layer Our goals:
Presentation transcript:

Sonoma Feb 6, 2006 Reliable Datagram Sockets (RDS) Ranjit Pandit SilverStorm Technologies

Sonoma Feb 6, 2006Page 1 Agenda Goals High Level Design Current status Preliminary performance data Future work

Sonoma Feb 6, 2006Page 2 Goals Provide reliable datagram service –performance –scalability –high availability –simplify application code Maintain sockets API –application code portability –faster time-to-market Keep It Simple !!!

Sonoma Feb 6, 2006Page 3 Stack Overview Host Channel Adapter Openib Access Layer IPoIB IP Oracle 10g Socket Applications TCPUDP SDP RDS Kernel User UDP Applications

Sonoma Feb 6, 2006Page 4 High Level Design RDS registers with the kernel as driver for Address Family PF_INET_OFFLOAD and Type SOCK_DGRAM Application creates a RDS socket with socket(2) –arg1 = PF = PF_INET_OFFLOAD –arg 2 = Type = SOCK_DGRAM socket(2) API supported –socket, bind, ioctl, sendmsg, recvmsg, poll, getsockopt/setsockopt

Sonoma Feb 6, 2006Page 5 Connection model Application connectionless Rds maintains node-to-node connection IP addressing Uses CMA on-demand connection setup –connect on first sendmsg() or data recv –disconnect on error or policy like inactivity Connection setup/teardown transparent to applications Application connectionless

Sonoma Feb 6, 2006Page 6 Data and Control Channel Uses RC QP for node level connections Data and Control QPs per session Selectable MTU b-copy send/recv h/w flow control

Sonoma Feb 6, 2006Page 7 P2 Kernel User Node 1 P1 sendmsg(node2) … Pn Node 2 RC QP s1 s2 sn P1 S1 recvmsg() Rds

Sonoma Feb 6, 2006Page 8 Send Connection established on first send sendmsg() –allows send pipelining ENOBUF returned if insufficient send buffers, application retries

Sonoma Feb 6, 2006Page 9 Receive Identical to UDP recvmsg() –similar blocking/non-blocking behavior “Slow” receiver ports are stalled at sender side –combination of activity (LRU) and memory utilization used to detect slow receivers –sendmsg() to stalled destination port returns EWOULDBLOCK, application can retry Blocking socket can wait for unblock –recvmsg() on a stalled port un-stalls it

Sonoma Feb 6, 2006Page 10 High Availability (failover) Use of RC and on-demand connection setup allows HA –connection setup/teardown transparent to applications –every sendmsg() could “potentially” result in a connection setup –if a path fails, connection is torn down, next send can connect on an alternate path (different port or different HCA)

Sonoma Feb 6, 2006Page 11 Preliminary performance Rds on Openib *Dual 2.4GHz Xeon 2G memory 4x PCI-X HCA **Sdp ~3700Mb/sec TCP_STREAM

Sonoma Feb 6, 2006Page 12 Preliminary performance Rds on OpenIB *Dual 2.4GHz Xeon 2G memory 4x PCI-X HCA **Sdp ~3700Mb/sec TCP_STREAM

Sonoma Feb 6, 2006Page 13 Preliminary performance Rds on OpenIB

Sonoma Feb 6, 2006Page 14 Status in OpenIB Z-copy Functionally 98% complete Running Netperf Running Oracle unit test (crload) stable today Code checked into contrib/silverstorm/ / /

Sonoma Feb 6, 2006Page 15 Future AIO Z-copy Shared recv queue

Sonoma Feb 6, 2006Page 16 Q&A