TLDK Overview. Transport Layer Development Kit Keith Wiles April Contributions from Ray Kinsella & Konstantin Ananyev

Similar documents
TLDK Overview. Transport Layer Development Kit Ray Kinsella February ray.kinsella [at] intel.com IRC: mortderire

NVMe Over Fabrics: Scaling Up With The Storage Performance Development Kit

Ed Warnicke, Cisco. Tomasz Zawadzki, Intel

Disclaimer This presentation may contain product features that are currently under development. This overview of new technology represents no commitme

Scaling Internet TV Content Delivery ALEX GUTARIN DIRECTOR OF ENGINEERING, NETFLIX

URDMA: RDMA VERBS OVER DPDK

DPDK Performance Report Release Test Date: Nov 16 th 2016

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

SPDK China Summit Ziye Yang. Senior Software Engineer. Network Platforms Group, Intel Corporation

Intel Network Builders Solution Brief. Etisalat* and Intel Virtualizing the Internet. Flexibility

Introduction to TCP/IP Offload Engine (TOE)

Virtual Switch Acceleration with OVS-TC

Ben Walker Data Center Group Intel Corporation

Bridging the gap between hardware functionality in DPDK applications and vendor neutrality in the open source community

DPDK Intel NIC Performance Report Release 18.02

THE STORAGE PERFORMANCE DEVELOPMENT KIT AND NVME-OF

ASPERA HIGH-SPEED TRANSFER. Moving the world s data at maximum speed

Interrupt Swizzling Solution for Intel 5000 Chipset Series based Platforms

The Myricom ARC Series with DBL

PDP : A Flexible and Programmable Data Plane. Massimo Gallo et al.

DPDK Intel NIC Performance Report Release 18.05

Extremely Fast Distributed Storage for Cloud Service Providers

Session based high bandwidth throughput testing

DPDK Intel NIC Performance Report Release 17.08

Munara Tolubaeva Technical Consulting Engineer. 3D XPoint is a trademark of Intel Corporation in the U.S. and/or other countries.

Intel PRO/1000 PT and PF Quad Port Bypass Server Adapters for In-line Server Appliances

The Myricom ARC Series of Network Adapters with DBL

6WINDGate. White Paper. Packet Processing Software for Wireless Infrastructure

Evaluation of the Chelsio T580-CR iscsi Offload adapter

Use of the Internet SCSI (iscsi) protocol

An In-depth Study of LTE: Effect of Network Protocol and Application Behavior on Performance

Accelerating 4G Network Performance

Supra-linear Packet Processing Performance with Intel Multi-core Processors

Light: A Scalable, High-performance and Fully-compatible User-level TCP Stack. Dan Li ( 李丹 ) Tsinghua University

Advanced Computer Networks. End Host Optimization

Microsoft SQL Server 2012 Fast Track Reference Configuration Using PowerEdge R720 and EqualLogic PS6110XV Arrays

Evolution of the netmap architecture

OPENSHMEM AND OFI: BETTER TOGETHER

Introduction to OpenOnload Building Application Transparency and Protocol Conformance into Application Acceleration Middleware

MoonGen. A Scriptable High-Speed Packet Generator. Paul Emmerich. January 31st, 2016 FOSDEM Chair for Network Architectures and Services

Spark Over RDMA: Accelerate Big Data SC Asia 2018 Ido Shamay Mellanox Technologies

Optimizing Performance: Intel Network Adapters User Guide

Parallelizing IPsec: switching SMP to On is not even half the way

OpenOnload. Dave Parry VP of Engineering Steve Pope CTO Dave Riddoch Chief Software Architect

Fast packet processing in linux with af_xdp

Total Cost of Ownership Analysis for a Wireless Access Gateway

Accelerating NVMe-oF* for VMs with the Storage Performance Development Kit

Re-Architecting Cloud Storage with Intel 3D XPoint Technology and Intel 3D NAND SSDs

DPDK Vhost/Virtio Performance Report Release 18.11

High bandwidth, Long distance. Where is my throughput? Robin Tasker CCLRC, Daresbury Laboratory, UK

The Path to DPDK Speeds for AF XDP

Application Acceleration Beyond Flash Storage

DPDK Vhost/Virtio Performance Report Release 18.05

Network Design Considerations for Grid Computing

VALE: a switched ethernet for virtual machines

What is Network Acceleration?

Arrakis: The Operating System is the Control Plane

Avi Networks Technical Reference (16.3)

Gateware Defined Networking (GDN) for Ultra Low Latency Trading and Compliance

Accelerating NVMe I/Os in Virtual Machine via SPDK vhost* Solution Ziye Yang, Changpeng Liu Senior software Engineer Intel

Best Practices for Deploying a Mixed 1Gb/10Gb Ethernet SAN using Dell EqualLogic Storage Arrays

Fast packet processing in the cloud. Dániel Géhberger Ericsson Research

Intel Speed Select Technology Base Frequency - Enhancing Performance

Accelerate Cloud Native with FD.io

Stream Control Transmission Protocol (SCTP)

SD-WAN. Model Specifications: SteelHead SD Series. Specification Sheet

IBM MQ Appliance HA and DR Performance Report Model: M2001 Version 3.0 September 2018

521262S Computer Networks 2 (fall 2007) Laboratory exercise #4: Multimedia, QoS and testing

Chelsio Communications. Meeting Today s Datacenter Challenges. Produced by Tabor Custom Publishing in conjunction with: CUSTOM PUBLISHING

McAfee Network Security Platform 9.2

QuickSpecs. HP Z 10GbE Dual Port Module. Models

Changpeng Liu. Cloud Storage Software Engineer. Intel Data Center Group

Changpeng Liu. Senior Storage Software Engineer. Intel Data Center Group

PLEASE READ CAREFULLY BEFORE YOU START

TALK THUNDER SOFTWARE FOR BARE METAL HIGH-PERFORMANCE SOFTWARE FOR THE MODERN DATA CENTER WITH A10 DATASHEET YOUR CHOICE OF HARDWARE

Optimizing TCP Receive Performance

Networking for Data Acquisition Systems. Fabrice Le Goff - 14/02/ ISOTDAQ

Mobile Transport Layer

Improve Performance of Kube-proxy and GTP-U using VPP

Achieve Low Latency NFV with Openstack*

Linux Network Tuning Guide for AMD EPYC Processor Based Servers

To Grant or Not to Grant

Extreme Networks Session Director

Improving Reliable Transport and Handoff Performance in Cellular Wireless Networks

Chapter 2 - Part 1. The TCP/IP Protocol: The Language of the Internet

Agenda. Introduction Network functions virtualization (NFV) promise and mission cloud native approach Where do we want to go with NFV?

DPDK-in-a-Box. David Hunt - Intel DPDK US Summit - San Jose

Implementation and Analysis of Large Receive Offload in a Virtualized System

Chapter 13 TRANSPORT. Mobile Computing Winter 2005 / Overview. TCP Overview. TCP slow-start. Motivation Simple analysis Various TCP mechanisms

10GE network tests with UDP. Janusz Szuba European XFEL

TCP Tuning for the Web

Outline 9.2. TCP for 2.5G/3G wireless

LTE system performance optimization by RED based PDCP buffer management

DPDK Load Balancers RSS H/W LOAD BALANCER DPDK S/W LOAD BALANCER L4 LOAD BALANCERS L7 LOAD BALANCERS NOV 2018

Yahoo Traffic Server -a Powerful Cloud Gatekeeper

Jim Harris Principal Software Engineer Intel Data Center Group

Open Source Traffic Analyzer

Mobile Communications Chapter 9: Mobile Transport Layer

Does current Internet Transport work over Wireless? Reviewing the status of IETF work in this area

SCALE AND SECURE MOBILE / IOT MQTT TRAFFIC

Transcription:

TLDK Overview Transport Layer Development Kit Keith Wiles April 2017 Contributions from Ray Kinsella & Konstantin Ananyev

Notices and Disclaimers 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. 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. Copyright 2017 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. 2

Why TCP Performance matters? In the Cellular Network 1. TCP is 95.7% of downlink traffic, UDP is 4.1%. HTTP/HTTPS account for 77.6% of all downstream bytes. Most TCP flows are small. On average 60.6% of the flows are smaller than 4 KB and only 9.5% of flows are larger than 32 KB. In the Wired Network 2. HTTP traffic dominates making up 60% of all traffic by bytes. Non-P2P lines pre-dominantly use HTTP, for which it contributes 72% of their traffic volume. TCP connection establishment rate is as important as throughput. 3

Evaluating TCP Stacks Performance Optimization Connections setup/teardown rate Throughput RR Latency Core locality Eliminating Mode Switching Lock reduction RFC Compliance RFC 793 (TCP v4) RFC 1948 (Defending Against Sequence Number Attacks) RFC 2018 (TCP Selective Acknowledgment Options) RFC 5681 (TCP Congestion Control) API Compatibility Maintenance BSD Socks API Total cost of ownership 4

What is TLDK (Transport Layer Development Kit)? TLDK is a high performance L4 protocol library with termination support for applications built using DPDK. Support for UDP &TCP in client & server modes. Support for common TCP options; MSS, timestamp, wnd scaling, s/ack. Support for common TCP features; ddos protection, delayed ack, congestion control. Support for common TCP HW offloads; TSO Code examples demonstrating a number of use cases. TLDK implements core DPDK design concepts, such as Bulk packet processing Non-blocking API No-mode switching Cache optimization Memory locality etc. 5

What is TLDK (deeper dive) TDLK provides a socket-like API with familiar semantics (where possible). TLDK is application driven, protocols are driven by the application needing the data. Instead of data rx/tx events driving the application. Core TLDK Concepts Context (tle_ctx) Device (tle_dev) Stream (tle_*_stream) represents an 'independent copy of the stack, each owns set of <tle_*_stream> and <dev>. abstracts the underlying device that RX/TX packets, understands the available transport protocols and hardware offloads. represents an L4(UDP/TCP, etc.) endpoint address, and is an analogy to socket entity. belongs to particular <tle_ctx> but is visible globally across all threads (is multi-process safe). 6

How to write a TLDK TCP Application? TLDK Frontend tle_tcp_stream_accept(tle_stream * tle_tcp_reject(tle_stream * tle_tcp_stream_close_bulk( tle_stream *ts[]) tle_tcp_stream_send(tle_stream * tle_tcp_stream_recv(tle_stream * Front-end TLDK Context TLDK Context Front-end TLDK Backend tle_ctx_create tle_add_dev(tle_context* tle_tcp_tx_bulk(tle_ctx *ctx rte_eth_rx_burst tle_tcp_rx_bulk(tle_ctx *ctx rte_eth_tx_burst Back-end Back-end CORE 0 CORE 1 CORE 2 7

TLDK Performance (non-optimized code) CPU: Intel Xeon Processor E5-2699 v3 @ 2.30GHz 64G Ram, Dual socket system, 2x400GB SSD, 2x1TB drives NIC: Intel Ethernet Controller XL710 for 40GbE QSFP+ Firmware: 5.04 0x80002505 0.0.0 DPDK: 16.07 Linux: Ubuntu* 15.10 (GNU/Linux 4.2.0-16-generic x86_64) TLDK: Current release (2016-09-15) UDP Packet size used is 64 bytes, 5 cores we max out the PCI #Physical Cores #Queues Frame Rate Mpps 1 1 7.4 2 2 14.8 3 3 22.2 4 4 29.5 TCP/UDP Echo Application TLDK DPDK 40Gbit port IXIA* 5 5 36.4 (max for PCI) 8

Some possible use-cases for TLDK TCP Transparent Proxy Common middle box in the cellular network, deployed in the Gi-LAN enodeb Edge Network S-GW Serving Gateway P-GW Packet Gateway Network Services (Gi-LAN) Proxy Transparent TCP Proxy Internet Observes & passes-through the 3-way hand-shake and setups a shadow flow. Sends ACK s on behalf of Client, caches TCP packets close to the network. Benefits are latency splitting, reduction in retransmission and buffer-bloat. Common middle box in the data-centre, deployed between the Front-end (IDS/FW) and webservers. Typically supports features; server fault detection, session persistence. Typically supports distribution algorithms; round-robin, ip-hash and least-connected. Benefits are optimizing resource utilization, maximizing throughput, reducing latency, and ensuring faulttolerant configurations. Reverse Proxy & Load-balancer Clients Front End HTTP Load Balancing Server Server Server Server 9

Summary Network operators, data centres are optimizing TCP workloads to reduce impedance mismatch, improve overall utilization, UX Userspace TCP/UCP stack s are growing in popularity for reasons of performance and ease of upgrade. TLDK is a grounds up based on core DPDK design concepts designed to achieve Network Node performance requirements. TLDK v1 is now available @ wiki.fd.io/view/tldk ML: tldk-dev@lists.fd.io E-mail: keith.wiles [at] intel.com Please come and join us! 10

References 1. Comparison of Caching Strategies in Modern Cellular Backhaul Networks. S Woo et al., 2013 2. On Dominant Characteristics of Residential Broadband Internet Traffic, Maier et al., 2009 12