Eliminating Receive Livelock in an Interrupt-Driven Kernel J. C. Mogul and K. K. Ramakrishnana Presented by I. Kim, 01/04/13.

Slides:



Advertisements
Similar presentations
Measuring IP Performance Geoff Huston Telstra. What are you trying to measure? User experience –Responsiveness –Sustained Throughput –Application performance.
Advertisements

1 CONGESTION CONTROL. 2 Congestion Control When one part of the subnet (e.g. one or more routers in an area) becomes overloaded, congestion results. Because.
1.  Congestion Control Congestion Control  Factors that Cause Congestion Factors that Cause Congestion  Congestion Control vs Flow Control Congestion.
Doc.: IEEE /0604r1 Submission May 2014 Slide 1 Modeling and Evaluating Variable Bit rate Video Steaming for ax Date: Authors:
Improving TCP Performance over Mobile Ad Hoc Networks by Exploiting Cross- Layer Information Awareness Xin Yu Department Of Computer Science New York University,
CS 268: Lecture 8 Router Support for Congestion Control Ion Stoica Computer Science Division Department of Electrical Engineering and Computer Sciences.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem.
Introduction Future wireless systems will be characterized by their heterogeneity - availability of multiple access systems in the same physical space.
Chapter 8 – Processor Scheduling Outline 8.1 Introduction 8.2Scheduling Levels 8.3Preemptive vs. Nonpreemptive Scheduling 8.4Priorities 8.5Scheduling Objectives.
1 Controlling High Bandwidth Aggregates in the Network.
Precept 3 COS 461. Concurrency is Useful Multi Processor/Core Multiple Inputs Don’t wait on slow devices.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Jonathan.
Analysis and Simulation of a Fair Queuing Algorithm
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Eliminating Receive Livelock in an Interrupt-driven Kernel Jeffrey C. Mogul K. K. Ramakrishnan AT&T Bell Laboratories
I/O Systems CS 3100 I/O Hardware1. I/O Hardware Incredible variety of I/O devices Common concepts ◦Port ◦Bus (daisy chain or shared direct access) ◦Controller.
Preemptive Minithreads Tom Roeder CS sp. Multi-level Feedback Queues Quantum = 2 Quantum = 4 Quantum = 8 Quantum = 16 Lowest priority Highest priority.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Evaluating System Performance in Gigabit Networks King Fahd University of Petroleum and Minerals (KFUPM) INFORMATION AND COMPUTER SCIENCE DEPARTMENT Dr.
Computer Networking Lecture 17 – Queue Management As usual: Thanks to Srini Seshan and Dave Anderson.
G Robert Grimm New York University Receiver Livelock.
FreeBSD Network Stack Performance Srinivas Krishnan University of North Carolina at Chapel Hill.
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
Institute for Media Communication How To Do High Speed Multicast Right!
Chapter 4 Queuing, Datagrams, and Addressing
Chapter 3 Operating Systems Introduction to CS 1 st Semester, 2015 Sanghyun Park.
General What is an OS? What do you get when you buy an OS? What does the OS do? What are the parts of an OS? What is the kernel? What is a device.
Interrupts Signal that causes the CPU to alter its normal flow on instruction execution ◦ frees CPU from waiting for events ◦ provides control for external.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
CS 153 Design of Operating Systems Spring 2015 Lecture 11: Scheduling & Deadlock.
Operating Systems Lecture Notes CPU Scheduling Matthew Dailey Some material © Silberschatz, Galvin, and Gagne, 2002.
1 Lecture 14 High-speed TCP connections Wraparound Keeping the pipeline full Estimating RTT Fairness of TCP congestion control Internet resource allocation.
1 Scheduling The part of the OS that makes the choice of which process to run next is called the scheduler and the algorithm it uses is called the scheduling.
Chapter 13: I/O Systems. 13.2/34 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware.
Scheduling Lecture 6. What is Scheduling? An O/S often has many pending tasks. –Threads, async callbacks, device input. The order may matter. –Policy,
Process Scheduling 1 Chapter 5. Process Scheduling Clock interrupt handling Scheduler goal Traditional UNIX scheduling SVR4 scheduler Solaris 2.x scheduling.
RSVP and implementation Details for the lab. RSVP messages PATH, RESV –To setup the LSP PATHtear, RESVtear –To tear down an LSP PATHerr, RESVerr –For.
CS640: Introduction to Computer Networks Aditya Akella Lecture 20 - Queuing and Basics of QoS.
Networking Basics CCNA 1 Chapter 11.
1 Soft Timers: Efficient Microsecond Software Timer Support For Network Processing Mohit Aron and Peter Druschel Rice University Presented By Oindrila.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CONGESTION CONTROL.
© 2004, D. J. Foreman 1 Device Mgmt. © 2004, D. J. Foreman 2 Device Management Organization  Multiple layers ■ Application ■ Operating System ■ Driver.
Lecture 12 Page 1 CS 111 Online Using Devices and Their Drivers Practical use issues Achieving good performance in driver use.
© 2006 Cisco Systems, Inc. All rights reserved. 3.2: Implementing QoS.
Spring Computer Networks1 Congestion Control Sections 6.1 – 6.4 Outline Preliminaries Queuing Discipline Reacting to Congestion Avoiding Congestion.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O.
1 Sheer volume and dynamic nature of video stresses network resources PIE: A lightweight latency control to address the buffer problem issue Rong Pan,
1.  System Characteristics  Features of Real-Time Systems  Implementing Real-Time Operating Systems  Real-Time CPU Scheduling  An Example: VxWorks5.x.
Univ. of TehranIntroduction to Computer Network1 An Introduction Computer Networks An Introduction to Computer Networks University of Tehran Dept. of EE.
Soft Timers : Efficient Microsecond Software Timer Support for Network Processing - Mohit Aron & Peter Druschel CS533 Winter 2007.
Chapter 13: I/O Systems.
Module 12: I/O Systems I/O hardware Application I/O Interface
Topics discussed in this section:
Input/Output Devices ENCE 360
Top-Down Network Design Chapter Thirteen Optimizing Your Network Design Copyright 2010 Cisco Press & Priscilla Oppenheimer.
Chapter 4: Network Layer
Transport Layer Unit 5.
Lecture 21: Introduction to Process Scheduling
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
Direct Memory Access Disk and Network transfers: awkward timing:
Operating systems Process scheduling.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Lecture 21: Introduction to Process Scheduling
Uniprocessor scheduling
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
CSE 153 Design of Operating Systems Winter 2019
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

Eliminating Receive Livelock in an Interrupt-Driven Kernel J. C. Mogul and K. K. Ramakrishnana Presented by I. Kim, 01/04/13

Introduction Interrupt vs. Polling –Interrupts are designed for relatively slow I/O devices Target applications –Host-based routing, Passive network monitoring, Network file system –High event rates and protocols without flow control mechanism Receive Livelock –Interrupt handlers eats up all system resources to handle input events –Starvation of normal kernel/user threads

Requirements High throughput –Maximum Loss Free Receive Rate (MLFRR) Low latency and jitter Fair allocation of resources –Packet reception, protocol processing, transmission, and other tasks Overall Stability

Traditional Interrupt-Driven System (4.2 BSD) Packet arrival -> interrupt -> device driver (buffer mgmt + DL) -> S/W interrupt Several queues among steps –Overload => queue overflow => drop Batch processing of burst traffics Receive livelock, longer latency, and starvation of transmission processing

Latency induced by interrupt and batch processing

Avoiding Livelock Limiting interrupt (adaptation bt. poll) –Packet drop upon reception Disable interrupt temporarily and re-enable later –High/low watermark on CPU occupancy Polling –Round-robin through registered devices No preemption while processing a packet already received –Ensure work conservation –Do nothing in receiving interrupt handler –Removing almost queues in IP processing chain

Measurements Methodology –IP packet router configuration –DEC 3000/300 Alpha based Digital UNIX 3.2 (OSF/1) : rather slow –3000/400 as a packet generator –10,000 UDP packets with 4 bytes payload –Count netstat output (Opkts) –With and without screend (user level PF)

Receive Livelock Example

Other Scheduling Heuristics Quota on packet burst Feedback from full queue Cycle-limit on device driver

Other performance results End-system transport protocols –Benefits user level delivery performance Promiscuous network monitor

Concluding Remarks Related and future works –Clocked interrupts –4.3 BSD terminal I/O –Lazy Receiver Processing –Feedback-based scheduling algorithm –Early packet drop –Extension to Multiprocessor Kernels This research provided improved performance in Click project