BPF meets UVM Michael Stolarchuk LISA 2001 Dec 6, 2001 BPF meets UVM.

Slides:



Advertisements
Similar presentations
Device Virtualization Architecture
Advertisements

Categories of I/O Devices
Device Drivers. Linux Device Drivers Linux supports three types of hardware device: character, block and network –character devices: R/W without buffering.
More on File Management
More on Processes Chapter 3. Process image _the physical representation of a process in the OS _an address space consisting of code, data and stack segments.
Slide 2-1 Copyright © 2004 Pearson Education, Inc. Operating Systems: A Modern Perspective, Chapter 2 Using the Operating System 2.
Deadlocks, Message Passing Brief refresh from last week Tore Larsen Oct
Presented By Srinivas Sundaravaradan. MACH µ-Kernel system based on message passing Over 5000 cycles to transfer a short message Buffering IPC L3 Similar.
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
G Robert Grimm New York University Extensibility: SPIN and exokernels.
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)
CS 333 Introduction to Operating Systems Class 18 - File System Performance Jonathan Walpole Computer Science Portland State University.
Chapter 12 File Management Systems
© 2004, D. J. Foreman 2-1 Concurrency, Processes and Threads.
Check Disk. Disk Defragmenter Using Disk Defragmenter Effectively Run Disk Defragmenter when the computer will receive the least usage. Educate users.
File System. NET+OS 6 File System Architecture Design Goals File System Layer Design Storage Services Layer Design RAM Services Layer Design Flash Services.
Computerized Train Control System by: Shawn Lord Christian Thompson.
Device Management. Serial Port Serial Device Serial Device Memory CPU Printer Terminal Modem Mouse etc.
Windows audio architecture Win MM Application DirectSound Application SysAudio.SYS Kmixer.SYS WinMM.DLLDSound.DLL Device Drive Container USB Device Driver.
Operating System Program 5 I/O System DMA Device Driver.
Palm OS Jeremy Etzkorn Paul Rutschky Adam Lee Amit Bhatia Tony Picarazzi.
CSC 322 Operating Systems Concepts Lecture - 25: by Ahmed Mumtaz Mustehsan Special Thanks To: Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall,
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
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.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
I/O Management and Disk Structure Introduction to Operating Systems: Module 14.
1 Processes, Threads, Race Conditions & Deadlocks Operating Systems Review.
UNIX Files File organization and a few primitives.
Events in General. Agenda Post/wait technique I/O multiplexing Asynchronous I/O Signal-driven I/O Database events Publish/subscribe model Local vs. distributed.
4P13 Week 12 Talking Points Device Drivers 1.Auto-configuration and initialization routines 2.Routines for servicing I/O requests (the top half)
Operating Systems COMP 4850/CISG 5550 Interprocess Communication, Part II Dr. James Money.
Fall 2000M.B. Ibáñez Lecture 26 I/O Systems II. Fall 2000M.B. Ibáñez Application I/O Interface I/O system calls encapsulate device behaviors in generic.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
CITA 171 Section 1 DOS/Windows Introduction. DOS Disk operating system (DOS) –Term most often associated with MS-DOS –Single-tasking operating system.
1 Chapter 11 I/O Management and Disk Scheduling Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and.
Input/Output (I/O) Important OS function – control I/O
Chapter 13: I/O Systems.
Translation Lookaside Buffer
Interprocess Communication Race Conditions
Module 12: I/O Systems I/O hardware Application I/O Interface
Jonathan Walpole Computer Science Portland State University
Reddy Mainampati Udit Parikh Alex Kardomateas
Chapter 9: Virtual Memory
Crash Dump Analysis - Santosh Kumar Singh.
EE-587 Spring FEB 08 William Mullins
CSC 4250 Computer Architectures
CSE451 I/O Systems and the Full I/O Path Autumn 2002
I/O system.
Real-time Software Design
Introduction to the Kernel and Device Drivers
ECE 544 Protocol Design Project 2016
Java Byte IPC: Part 6-Summary
CSCI 315 Operating Systems Design
Chapter 2: The Linux System Part 2
I/O Systems I/O Hardware Application I/O Interface
Operating System Concepts
13: I/O Systems I/O hardwared Application I/O Interface
CS703 - Advanced Operating Systems
Translation Lookaside Buffer
Improving IPC by Kernel Design
Morgan Kaufmann Publishers Memory Hierarchy: Cache Basics
Concurrency, Processes and Threads
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Update : about 8~16% are writes
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Concurrency, Processes and Threads
Last Class: Communication in Distributed Systems
Mr. M. D. Jamadar Assistant Professor
Module 12: I/O Systems I/O hardwared Application I/O Interface
Presentation transcript:

BPF meets UVM Michael Stolarchuk LISA 2001 Dec 6, 2001 BPF meets UVM

Executive Summary BPF can be improved UVM can help BPF meets UVM

Current BPF Model BPF BPF buffers User Process MBUF Device Drivers BPF meets UVM

BPF Copies copies BPF BPF buffers User Process MBUF Device Drivers BPF meets UVM

BPF Copies Mbufs into BPF buffer User process copies by issuing read BPF meets UVM

1 Copy Model Mbuf to BPF buffer copy BPF buffer mapped into user address space Mapped region READ-ONLY Allow REASONABLE sized buffers BPF meets UVM

1 Copy Breaks Semantics Packet Data Region Can’t be written Checksum generation Encryption Read no longer returns packets Returns state of active buffers BPF meets UVM

Multiple Buffers New BPF allows multiple buffers Of process configured sizes BPF meets UVM

State Changes Each buffer has an associated state Null, Empty, Data, Data-Time-Out, Hold Read returns when state transitions occur Not all transitions awaken read Ioctl’s control some of the read-wakeups Ioctl’s manage user process release of buffers BPF meets UVM

Example Bpf filling hold data mt hold 1 2 3 4 User process owns BPF meets UVM

More work to set up Describes number of buffers, size of buffers Requests memory mapping Allows bpf to be backwards compatable Requests features supported Sets features desired BPF meets UVM

But WAIT… Improve semantics time-out FIONREAD packet loss Select/Poll/Kqueue BPF meets UVM

Time Out Starts when data appears in a Buffer Provides Non-blocking to co-exist with timeout Simple threading implementations work BPF meets UVM

FIONREAD Returns when data is available to read Allows user process to check for data Old version returns chars in buffer, but NOT whether a read would block BPF meets UVM

Packet Loss Inline description of packet loss No longer need to `poll’ to see if data is lost Locates missing data in the data stream Allows damaged sessions to be marked BPF meets UVM

Poll/Select/Kqueue Implements Timeout BPF meets UVM

Bpf “Messages” Compatable format improvement Allows abstract information to be encoded Device checksums Packet loss Capture counts Filter counts BPF meets UVM

Next Improvements Process `owned’ buffers 0-Copy BPF BPF meets UVM