TLDK Transport Layer Development Kit

Slides:



Advertisements
Similar presentations
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
Advertisements

Keith Wiles DPACC vNF Overview and Proposed methods Keith Wiles – v0.5.
Accelerating the Path to the Guest
A Move Toward Agile APM: Application Performance Management Frank Ober, Performance Engineer June 2012.
Intel® Solid-State Drive Data Center TCO Calculator The data in this presentation is based on your analysis and business assumptions when using the Intel®
1 Chapter Client-Server Interaction. 2 Functionality  Transport layer and layers below  Basic communication  Reliability  Application layer.
LWIP TCP/IP Stack 김백규.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
Legal Notices and Important Information Intel processor numbers are not a measure of performance. Processor numbers differentiate features within each.
Windows 2000 Course Summary Computing Department, Lancaster University, UK.
1. I NTRODUCTION TO N ETWORKS Network programming is surprisingly easy in Java ◦ Most of the classes relevant to network programming are in the java.net.
Recognizing Potential Parallelism Introduction to Parallel Programming Part 1.
Programs of the Intel® Education Initiative are funded by the Intel Foundation and Intel Corporation. Copyright © 2007, Intel Corporation. All rights reserved.
CHAPTER 5 TCP/IP PROTOCOLS. P ROTOCOL STANDARDS Protocols are formal rules of behavior When computers communicate, it is necessary to define a set of.
Next Generation Operating Systems Zeljko Susnjar, Cisco CTG June 2015.
Virtual Private Networks: An Overview with Performance Evaluation Shashank Khanvilkar and Ashfaq Khokhar, University of Illinois at Chicago Presented by:
Intel Research & Development ETA: Experience with an IA processor as a Packet Processing Engine HP Labs Computer Systems Colloquium August 2003 Greg Regnier.
Firewalls2 By using a firewall: We can disable a service by throwing out packets whose source or destination port is the port number for that service.
CCSDS SOIS Working Group Meeting – Berlin, Germany 14th of October 2008 Prototyping of CCSDS SOIS services on 1553 Bus Sev Gunes-Lasnet, Olivier Notebaert.
Technical Overview of Microsoft’s NetDMA Architecture Rade Trimceski Program Manager Windows Networking & Devices Microsoft Corporation.
Tuning Threaded Code with Intel® Parallel Amplifier.
Opnfv Summit 2016 (Berlin) DPACC and DPDK solving NFV acceleration
An open source user space fast path TCP/IP stack and more…
HIP-Based NAT Traversal in P2P-Environments
Scope/Goals of TLDK What is the scope of TLDK? High performance TCP/UDP Testing via CSIT needs to have a set of unit tests for validation Centralized or.
Introduction to Operating Systems Concepts
Only Use FD.io VPP to Achieve high performance service function chaining Yi Intel.
ODP-VPP Integration updates
Virtualization.
TLDK overview Konstantin Ananyev 05/08/2016.
DDC 2223 SYSTEM SOFTWARE DDC2223 SYSTEM SOFTWARE.
Prototyping of CCSDS SOIS services on 1553 Bus
LWIP TCP/IP Stack 김백규.
IzoT™ Device Stacks March 2014.
6WIND MWC IPsec Demo Scalable Virtual IPsec Aggregation with DPDK for Road Warriors and Branch Offices Changed original subtitle. Original subtitle:
Application Layer Security Mike Pajevski (NASA/JPL) April 2009
OPERATING SYSTEMS CS3502 Fall 2017
DPDK overview / APIs Keith Wiles July 11, 2016.
BLIS optimized for EPYCTM Processors
Next Gen Infrastructure Core (NGIC) Hands-On Demo
CS 286 Computer Organization and Architecture
Understanding the OSI Reference Model
Intel® vPro™ Technology
Many-core Software Development Platforms
Networking overview Sujata
Direct Attached Storage and Introduction to SCSI
Understanding Wi-Fi Direct in Windows 8
Chapter 3: Windows7 Part 2.
I. Basic Network Concepts
Module 2.2 COP4600 – Operating Systems Richard Newman
Chapter 2: System Structures
Chapter 2: The Linux System Part 1
Virtio Keith Wiles July 11, 2016.
Chapter 3: Windows7 Part 2.
12/26/2018 5:07 AM Leap forward with fast, agile & trusted solutions from Intel & Microsoft* Eman Yarlagadda (for Christine McMonigal) Hybrid Cloud – Product.
Ideas for adding FPGA Accelerators to DPDK
Virtio/Vhost Status Quo and Near-term Plan
Software models - Software Architecture Design Patterns
Chapter 15 – Part 2 Networks The Internal Operating System
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Enabling TSO in OvS-DPDK
Lecture 2: Overview of TCP/IP protocol
By Vipin Varghese Application Engineer (NCSD)
Md. Mojahidul Islam Lecturer Dept. of Computer Science & Engineering
Windows Virtual PC / Hyper-V
SERVER INNOVATION ACCELERATES IT TRANSFORMATION
A Scalable Approach to Virtual Switching
Zephyr 真正的开源软件(Linux Foundation),宽松自由的许可证(Apache 2.0)
Exceptions and networking
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:

TLDK Transport Layer Development Kit Keith Wiles Principal Engineer @ Intel

Legal Disclaimer General Disclaimer: © Copyright 2016 Intel Corporation. All rights reserved. Intel, the Intel logo, Intel Inside, the Intel Inside logo, Intel. Experience What’s Inside are trademarks of Intel. Corporation in the U.S. and/or other countries. *Other names and brands may be claimed as the property of others. Technology Disclaimer: Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service activation. Performance varies depending on system configuration. No computer system can be absolutely secure. Check with your system manufacturer or retailer or learn more at [intel.com]. Performance Disclaimers: Cost reduction scenarios described are intended as examples of how a given Intel- based product, in the specified circumstances and configurations, may affect future costs and provide cost savings. Circumstances will vary. Intel does not guarantee any costs or cost reduction. Results have been estimated or simulated using internal Intel analysis or architecture simulation or modeling, and provided to you for informational purposes. Any differences in your system hardware, software or configuration may affect your actual performance.

TLDK (Transport Layer Development Kit) TLDK is to provide a clean set of ‘C’ libraries to enable network protocol handling at the application layer TLDK will provide IPv4/v6 and TCP/UDP protocols along with others as required for normal network operation Goal is to provide a very high performance network stack with termination support for applications using VPP and DPDK TLDK will provide a set of libraries to allow for applications to build a complete network stack support Including a high performance non-socket type application interface Including a socket layer for applications linked with the application Including a LD_PRELOAD socket layer to run native Linux applications

TLDK (Transport Layer Development Kit) TLDK is not a normal network designed stack! TLDK has turned the network stack upside down for better performance Network protocols stack is driven by the application needs Normal network stack designs drive packet into the protocols, then to the application In TLDK the packets are per-filtered to a given DPDK core/thread The application then drives the packets into the stack when it needs the data not before The design attempts to keep the CPU cache warm and only consume processor cycles when needed The goal is to move multiple packets thru the stack at a time similar to DPDK and VPP vector like processing of packets to utilize the cache correctly Normal stacks drive data from the bottom up and TLDK drives the data from the top down Vector packet processing method reduces cycle overhead per packet

TLDK Uses case with VPP Application Layer TLDK Control Plane VPP DPDK Handles packet I/O and protocol processing of packets Application sets up the UDP/TCP protocol contexts and then calls I/O routines in TLDK to start processing packets VPP Fastpath Using VPP as the first layer for packet processing before packets are sent to the application layer Physical Layer: Ports and other devices like crypto, compression, … DPDK: DPDK provides the I/O abstraction to the physical layer for the network devices. The DPDK could be optional here only if some other I/O layer is used. Application Layer TLDK VPP Control Plane DPDK Physical Layer Control or non-TLDK pkts TLDK pkts

TLDK Application Layer break down The application layer utilizes the TLDK library to process packets for UDP and TCP Purpose Built Application: A purpose built application is one that uses TLDK APIs directly and is built to use these APIs Highest performance is expected with this design BSD Socket Layer: A standard BSD socket layer for applications using sockets in its design A lower performance is expected, but allows for current socket type applications to be ported to the system LD_PRELOAD Socket Layer: LD_PRELOAD is used to allow a ‘native binary Linux’ application to use the accelerated path of VPP/DPDK The performance should be a bit better, but does allow these native binary applications to work without any change Purpose built TLDK Application Socket Application Native Linux Application LD_PRELOAD Socket layer BSD Socket layer TLDK VPP optional DPDK Physical Layer Control or non-TLDK pkts TLDK pkts

Current Status of TLDK The project is under the FD.io a Linux Foundation project FD.io Wiki Page (https://wiki.fd.io/view/Main_Page) TLDK is located at: https://wiki.fd.io/view/TLDK Source Code at: git clone https://gerrit.fd.io/r/tldk Current code base includes an optimized UDP implementation Currently working on TCP implementation Each Wednesday at 10am CST is the TLDK community meeting Meeting info: https://wiki.fd.io/view/TLDK/Meeting Additional ideas and contributions welcomed!

TLDK - Status Update Thank you for attending, any questions?