Packet processed storage in a software defined world Ash Young fd.io Foundation1.

Slides:



Advertisements
Similar presentations
Categories of I/O Devices
Advertisements

System Area Network Abhiram Shandilya 12/06/01. Overview Introduction to System Area Networks SAN Design and Examples SAN Applications.
Priority Research Direction (I/O Models, Abstractions and Software) Key challenges What will you do to address the challenges? – Develop newer I/O models.
Bart Miller. Outline Definition and goals Paravirtualization System Architecture The Virtual Machine Interface Memory Management CPU Device I/O Network,
Multi-Layer Switching Layers 1, 2, and 3. Cisco Hierarchical Model Access Layer –Workgroup –Access layer aggregation and L3/L4 services Distribution Layer.
Lecture 12 Page 1 CS 111 Online Devices and Device Drivers CS 111 On-Line MS Program Operating Systems Peter Reiher.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
Introduction to Operating Systems CS-2301 B-term Introduction to Operating Systems CS-2301, System Programming for Non-majors (Slides include materials.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
What's inside a router? We have yet to consider the switching function of a router - the actual transfer of datagrams from a router's incoming links to.
1 Version 3 Module 8 Ethernet Switching. 2 Version 3 Ethernet Switching Ethernet is a shared media –One node can transmit data at a time More nodes increases.
OS Spring’03 Introduction Operating Systems Spring 2003.
1 Netprog 2002 Network Terminology Motivation, Terminology, Layered systems (and other random stuff)
ECE 526 – Network Processing Systems Design
1 Today I/O Systems Storage. 2 I/O Devices Many different kinds of I/O devices Software that controls them: device drivers.
1 What is an operating system? CSC330Patricia Van Hise.
COM S 614 Advanced Systems Novel Communications U-Net and Active Messages.
Introduction. Why Study OS? Understand model of operation –Easier to see how to use the system –Enables you to write efficient code Learn to design an.
Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access memory.
Revisiting Network Interface Cards as First-Class Citizens Wu-chun Feng (Virginia Tech) Pavan Balaji (Argonne National Lab) Ajeet Singh (Virginia Tech)
Chapter 3.1:Operating Systems Concepts 1. A Computer Model An operating system has to deal with the fact that a computer is made up of a CPU, random access.
Computer System Architectures Computer System Software
Virtualization. Virtualization  In computing, virtualization is a broad term that refers to the abstraction of computer resources  It is "a technique.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
M.A.Doman Short video intro Model for enabling the delivery of computing as a SERVICE.
Improving Network I/O Virtualization for Cloud Computing.
HPC USER FORUM I/O PANEL April 2009 Roanoke, VA Panel questions: 1 response per question Limit length to 1 slide.
 Network Segments  NICs  Repeaters  Hubs  Bridges  Switches  Routers and Brouters  Gateways 2.
Low-Latency Datacenters John Ousterhout Platform Lab Retreat May 29, 2015.
Computer Networks with Internet Technology William Stallings
1 © 2008 DataCore Software Corp. — All rights reserved © 2009 DataCore Software Corp DataCore Company Private Information Subject to change without notice.
1 Public DAFS Storage for High Performance Computing using MPI-I/O: Design and Experience Arkady Kanevsky & Peter Corbett Network Appliance Vijay Velusamy.
ECE 526 – Network Processing Systems Design Computer Architecture: traditional network processing systems implementation Chapter 4: D. E. Comer.
Hyper-V Performance, Scale & Architecture Changes Benjamin Armstrong Senior Program Manager Lead Microsoft Corporation VIR413.
We will focus on operating system concepts What does it do? How is it implemented? Apply to Windows, Linux, Unix, Solaris, Mac OS X. Will discuss differences.
1 Computer Systems II Introduction to Processes. 2 First Two Major Computer System Evolution Steps Led to the idea of multiprogramming (multiple concurrent.
LRPC Firefly RPC, Lightweight RPC, Winsock Direct and VIA.
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.
Lecture 4 Page 1 CS 111 Online Modularity and Virtualization CS 111 On-Line MS Program Operating Systems Peter Reiher.
Parallel IO for Cluster Computing Tran, Van Hoai.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Advisor: Hung Shi-Hao Presenter: Chen Yu-Jen
Decibel: Isolation and Sharing in Disaggregated Rack-Scale Storage
Computer System Structures
Shaopeng, Ho Architect of Chinac Group
Mohit Aron Peter Druschel Presenter: Christopher Head
/csit CSIT Readout to FD.io Board 08 February 2017
/csit CSIT Readout to FD.io Board 09 February 2017
Memory COMPUTER ARCHITECTURE
Advanced Computer Networks
Containers Topics of Interest
2016 Citrix presentation.
Using non-volatile memory (NVDIMM-N) as block storage in Windows Server 2016 Tobias Klima Program Manager.
CSE451 I/O Systems and the Full I/O Path Autumn 2002
Microsoft Build /12/2018 5:05 AM Using non-volatile memory (NVDIMM-N) as byte-addressable storage in Windows Server 2016 Tobias Klima Program Manager.
Introduction to Networks
Storage Virtualization
Enabling the NVMe™ CMB and PMR Ecosystem
Woojoong Kim Dept. of CSE, POSTECH
Peng Liu Lecture 14 I/O Peng Liu
Integrating DPDK/SPDK with storage application
Lecture Topics: 11/1 General Operating System Concepts Processes
Specialized Cloud Architectures
Lecture 1 Runtime environments.
CS703 – Advanced Operating Systems
Chapter 13: I/O Systems.
CS 295: Modern Systems Organizing Storage Devices
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

packet processed storage in a software defined world Ash Young fd.io Foundation1

Intro fd.io Foundation2

Abstract The storage arena has strived to significantly improve its storage capabilities over the years via technologies such as FCoE and NVMe. Simply reducing where the protocol sits in terms of the OSI model has proven to not be the solution. Similarly, eliminating the CPU from being the bottleneck for local storage I/O is also not the answer. Instead, we must assume that storage blocks or objects must ultimately be exchanged over a network; and if storage ultimately goes over the network, then we must re-think storage as packet processing. fd.io Foundation3

Evolution of storage– data types 1.We started with simply accessing blocks because it was fast and cheap 2.We added added embedded file systems to make content sharing a lot easier 3.And now we’re migrating to objects because it allows us to make the data more intelligent– especially in light of rapid growth fd.io Foundation4 BlocksFilesObjects 1 2 3

Evolution of storage– access modes DASSANNAS Scale out 1.Changed data access paradigm to a shared model for amortization 2.Added multiple protocols and networking for easier access 3.Decided it was time to deal with concurrency and latency 4.And now we’re back to DAS!!! fd.io Foundation

So, what’s the issue? What goes around comes around… NVMe depends on PCIe Not so shareable → amortization is a tradeoff # of lanes forces additional tradeoffs in # of devices vs I/O Media is so fast that traditional async block I/O access is driving up CPU utilization Disk latency NVMe Direct Attached fd.io Foundation6

The bottom line… This isn’t about access models Nor is about data or access types Faster media is highlighting our root issue in our endeavor for fast storage Our problem is unnecessary context switching between user space and kernel space! fd.io Foundation7

Keeping Fast Data Fast… fd.io Foundation8

At some point, we have to terminate There is a high degree of interest in optimizing the forwarding plane, for networking But unless our data never has to be persistent, we must also address how we terminate at the end points Could be reading data from storage Could be writing data to persistent storage Today’s server packet processing techniques presume we’re avoiding crossing the kernel/user space boundary fd.io Foundation9

Keeping it moving… We have fast NICs with drivers that can aggregate lots of packets from user space apps (e.g., Vector PMD for Intel’s IXGBE) We have blazingly fast user space switching via FD.io’s Vector Packet Processing (VPP) to get the packets from A to BVPP And we have ways of getting these packets back off of the switch and into end node But we need to do this without creating a queueing issue fd.io Foundation10

Ahh… but we have some building blocks VPP as the virtual switch for our VMs and containers Poll Mode Drivers (PMD) vs Async Block I/O kernel driver IXGBE driver Data Plane Developer Kit (DPDK) Storage Performance Developer Kit (SPDK) We might have to do some additional file system tweaks (TBD) Also, need to look into the impact with object storage But block storage just got a whole lot sweeter!!! fd.io Foundation11

Let’s whet the appetite… fd.io Foundation12

Example of polling on random reads fd.io Foundation13 1 Yang, J., Minturn, D., & Hady, F. (n.d.). When Poll is Better than Interrupt Polling Interrupt

What else is there? Once we start thinking of storage in terms of packets, it opens up new avenues for us We can start to think of how to dynamically route the traffic We can perhaps give content type different priority levels Perhaps we can re-model how we think of high-availability or even distributed storage Perhaps the switch can be a storage device or vice versa fd.io Foundation14

Next steps Get involved at wiki.fd.iowiki.fd.io Currently scoping out a storage sub-project Looking for some collaboration from all communities OPNFV OpenStack Minio Others Reach out to me via at fd.io Foundation15