ATM and Fast Ethernet Network Interfaces for User-level Communication Presented by Sagwon Seo 2000/4/13 Matt Welsh, Anindya Basu, and Thorsten von Eicken.

Slides:



Advertisements
Similar presentations
Computer Organization, Bus Structure
Advertisements

Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
Threads, SMP, and Microkernels
System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 U-Net: A User-Level Network Interface for Parallel and Distributed Computing T. von Eicken, A. Basu,
CS 443 Advanced OS Fabián E. Bustamante, Spring 2005 Supporting Parallel Applications on Clusters of Workstations: The Intelligent Network Interface Approach.
Institute of Computer Science Foundation for Research and Technology – Hellas Greece Computer Architecture and VLSI Systems Laboratory Exploiting Spatial.
Chapter 4 Threads, SMP, and Microkernels Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design.
Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, and Henry M. Levy Presented by Alana Sweat.
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
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.
Haoyuan Li CS 6410 Fall /15/2009.  U-Net: A User-Level Network Interface for Parallel and Distributed Computing ◦ Thorsten von Eicken, Anindya.
Faster! Vidhyashankar Venkataraman CS614 Presentation.
Active Messages: a Mechanism for Integrated Communication and Computation von Eicken et. al. Brian Kazian CS258 Spring 2008.
Chapter 10 Introduction to Wide Area Networks Data Communications and Computer Networks: A Business User’s Approach.
Figure 1.1 Interaction between applications and the operating system.
CS 505: Thu D. Nguyen Rutgers University, Spring CS 505: Computer Structures Networks Thu D. Nguyen Spring 2005 Computer Science Rutgers University.
Review on Networking Technologies Linda Wu (CMPT )
Realizing the Performance Potential of the Virtual Interface Architecture Evan Speight, Hazim Abdel-Shafi, and John K. Bennett Rice University, Dep. Of.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
Ethan Kao CS 6410 Oct. 18 th  Active Messages: A Mechanism for Integrated Communication and Control, Thorsten von Eicken, David E. Culler, Seth.
Router Architectures An overview of router architectures.
MULTICOMPUTER 1. MULTICOMPUTER, YANG DIPELAJARI Multiprocessors vs multicomputers Interconnection topologies Switching schemes Communication with messages.
Scheduling of Tiled Nested Loops onto a Cluster with a Fixed Number of SMP Nodes Maria Athanasaki, Evangelos Koukis, Nectarios Koziris National Technical.
Optimizing RPC “Lightweight Remote Procedure Call” (1990) Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy (University of Washington)
1 Lightweight Remote Procedure Call Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska and Henry M. Levy Presented by: Karthika Kothapally.
1 Lecture 7: Part 2: Message Passing Multicomputers (Distributed Memory Machines)
Performance Tradeoffs for Static Allocation of Zero-Copy Buffers Pål Halvorsen, Espen Jorde, Karl-André Skevik, Vera Goebel, and Thomas Plagemann Institute.
1/29/2002 CS Distributed Systems 1 Infiniband Architecture Aniruddha Bohra.
High Performance User-Level Sockets over Gigabit Ethernet Pavan Balaji Ohio State University Piyush Shivam Ohio State University.
Lecture 3 Review of Internet Protocols Transport Layer.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
ATM Network Connection Management Using Mobile Agents S. Lazar, S. Kodeswaran, R. Varadharaj, and D. Sidhu.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
Data and Computer Communications Circuit Switching and Packet Switching.
High Performance Cluster Computing Architectures and Systems Hai Jin Internet and Cluster Computing Center.
Unconventional Networking Makoto Bentz October 13, 2010 CS 6410.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
CSE 661 PAPER PRESENTATION
Chapter 2 Applications and Layered Architectures Sockets.
Chapter 8-2 : Multicomputers Multiprocessors vs multicomputers Multiprocessors vs multicomputers Interconnection topologies Interconnection topologies.
Latency Reduction Techniques for Remote Memory Access in ANEMONE Mark Lewandowski Department of Computer Science Florida State University.
Forwarding.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 April 11, 2006 Session 23.
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
1 Networking. 2 Network “... communication system for connecting end-systems” End-systems a.k.a. “hosts” PCs, workstations dedicated computers network.
The Mach System Silberschatz et al Presented By Anjana Venkat.
1Thu D. NguyenCS 545: Distributed Systems CS 545: Distributed Systems Spring 2002 Communication Medium Thu D. Nguyen
By Chi-Chang Chen.  Cluster computing is a technique of linking two or more computers into a network (usually through a local area network) in order.
CS440 Computer Networks 1 Packet Switching Neil Tang 10/6/2008.
Processes. Process Concept Process Scheduling Operations on Processes Interprocess Communication Communication in Client-Server Systems.
HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS Moontae Lee (Nov 20, 2014)Part 1 CS6410.
Brian Bershad, Thomas Anderson, Edward Lazowska, and Henry Levy Presented by: Byron Marohn Published: 1991.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Cluster Computers. Introduction Cluster computing –Standard PCs or workstations connected by a fast network –Good price/performance ratio –Exploit existing.
UDP: User Datagram Protocol Chapter 12. Introduction Multiple application programs can execute simultaneously on a given computer and can send and receive.
Low Overhead Real-Time Computing General Purpose OS’s can be highly unpredictable Linux response times seen in the 100’s of milliseconds Work around this.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
CSCI/CMPE 4334 Operating Systems Review: Exam 1 1.
Computer Science and Engineering Copyright by Hesham El-Rewini Advanced Computer Architecture CSE 8383 April 6, 2006 Session 22.
Process Management Process Concept Why only the global variables?
Infiniband Architecture
Distributed Systems.
High Performance Messaging on Workstations
CS 258 Reading Assignment 4 Discussion Exploiting Two-Case Delivery for Fast Protected Messages Bill Kramer February 13, 2002 #
Packet Switch Architectures
Cluster Computers.
Presentation transcript:

ATM and Fast Ethernet Network Interfaces for User-level Communication Presented by Sagwon Seo 2000/4/13 Matt Welsh, Anindya Basu, and Thorsten von Eicken Cornell University

Introduction Interconnecting workstation clusters for parallel and distributed computing U-Net communication architecture to provide low-latency and high-bandwidth communication Detailed performance analysis of U-Net for Fast Ethernet and ATM

What is U-Net architecture? A user-level network interface architecture Provides low-latency and high-bandwidth communication over commodity networks for workstations and PCs. Virtualizing the network interface such that every aplication can send and receive messages without operating system intervention

Main Idea Remove the kernel from the critical path of sending and receiving messages –Kernel overhead - System call, buffer management –Require message mux/demux device for the purpose of enforcing protection boundaries Incorporate mux/demux directly into the NI Move all buffer management and protocol processing to user-level

U-Net building blocks(1/2) End points- application ’ s handle into the network Buffer area- hold message data Message queues- hold descriptors for messages that are to be sent or that have been received.

U-Net building blocks(2/2)

U-Net communication(1/3) Each process that wishes to access the network first creates one or more endpoints. Communication between endpoints occurs through communication channels. An application registers message tags with U- Net when it creates a communication channel.

U-Net communication(2/3) To send a message 1.A user process composes the data in the endpoint buffer area and pushes a descriptor for the message onto the send queue. 2.The NI then transmits the message after marking it with the appropriate message tag.

U-Net communication(3/3) To receive a message 1.Incoming messages are demultiplexed based on the message tag. 2.The data is then transferred into one or more free buffers provided by the application. 3.A message descriptor with pointers to the buffers is pushed onto the appropriate receive queue.

ATM vs. Fast Ethernet The size and granularity of network data units Multiplexing Connection-oriented vs. connection-less Switched vs. shared medium

Experimental Setup U-Net/ATM –NI; Fore Systems PCA-200(25MHz intel i960, 256KB memory, a DMA-capable PCI-bus interface) –Switch; Fore Systems ASX-200 U-Net/FE –NI; DECchip Fast Ethernet controller –Switch; Bay Networks 100BaseTX hub, Bay Networks port switch, Cabletron FN100 8-port switch

U-Net/ATM Implementation Use custom firmware to implement U-Net Main memory- buffer areas, receive queues PCA-200 memory- send and free queues

U-Net/FE Implementation Due to the lack of a programmable co- processor, the U-Net implementation is placed in the kernel. Send a message; User processes can issue a fast trap into Kernel space. Receive a message; An interrupt is generated by the DC21140