SlideShare una empresa de Scribd logo
1 de 63
Out of the Box Network Developers
SDN and Switching
SF Bay OpenStack
05/17/2016
Sujata Tibrewala
Network Developer Evangelist
Intel Developer Zone, Networking
Software.intel.com/networking
@intelsoftware
#sdnnfv
Upcoming events
OPNFV summit June 21st -23rd , Berlin, Germany
Red Hat Summit June 27th -30th , SFO, CA
DPDK summit August 10-11 www.dpdksummit.com, San Jose, CA
Intel developer Forum August
DPDK deep dive July 2016
Intel Team
Edwin Verplanke: Principle Engineer
Rashmin Patel : Software Architect
Priya V Autee: Software Engineer
Google Team
Jayant Kolhe: Director of Engineering
Abhishek Kumar : Engineering Lead & Manager at Google
Introductions
How RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients: DPDK, IntelⓇRDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients: DPDK, IntelⓇRDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
SDI/SDN/NFV/OPENSTACK
RDT
gRPC/
EPA
SDN
Open Flow , ODP and ForCES (Forwarding and Control Element
Separation)
all perform similar functions High Level
● Separation of control and data plane
● Centralized management
● Programmable network behavior via well-defined interfaces
gRPC
DPDK, RDT, Quick
Assist etc
gRPC
NFV
RDT gRPC
How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients: DPDK, IntelⓇRDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
Software Defined Infrastructure
10000
feet
Enterprise
Cloud Service
Providers
Interconnect /
Switch
Processor
Crypto /
Compression
DRAM
Last Level Cache
Soft switch, Packet Processing
SW Optimizations
Interconnect /
Switch
Communication Infrastructure Cloud
Comms. Service
Providers
▪ Optimized I/O Access (Data Plane Development Kit)
▪ Intel® QuickAssist Technology for Crypto and
Compression Acceleration
▪ Virtualization Technology Enhancements
(Posted Interrupts, Page-Modification Logging)
▪ Intel® Resource Director Technology (CMT,
CAT, CDP, MBM)
3*2*
Services Deployment on SDI
Service
x
Intel® Xeon® Processor E5 v4
Service
1
Service
2
Service
3
Service
1
Intel® Xeon® Processor E5 v4
Service
2
Service
3
Service
y
Call
Service
Call
Service
Call
Service
Call
Service
Call
Service
Call
Service
Call
Service
Call
Service Call
Service
Call
Service
Flexibility, Scalability, Service Agility, Resource Utilization
1* 4*
Call
Service
5000
feet
*can be a Process/Container/Pod/VM using a CPU core
NFV - Packet Pipeline on IA
100
feet
How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients: DPDK, IntelⓇRDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
Orchestration Support
Service/API Support
Security Policy
Scheduler Policy
SW/FW Compatibility
Threading Model
Quality of Service
Shared Memory Access
Optimized I/O Access
SDI Platform Ingredients
Intel® Xeon® Processor E5 v4
VT RDT Memory
Controller
Cores NIC Crypto
HT
Platform SW/FW Ingredients
DPDK QAT OS Kernel
Optimizations
Standard Service Semantics
openssl libcrypto
OVS Hyperscan
.
.
.
.
.
.
.
.
DPDK – Data Plane Development Kit, QAT – Quick Assist Technology, RDT – Resource Director Technology, VT- Virtualization Technology, HT – Hyper Threading Technology, OVS – Open vSwitch, NFV – Network
Function Virtualization, SFC – Service Function Chaining
Orchestrator
Optimized Packet I/O API
Software solution for accelerating Packet
Processing
workloads on Intel® Architecture
• Delivers 25X performance jump over Linux*
• Comprehensive Virtualization support
• Enjoys vibrant community support
• Free, Open Source, BSD License
Disclaimer: Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems,
components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases,
including the performance of that product when combined with other products.
Packet Processing Performance
Data Plane Development Kit (DPDK)
Process a bunch of packets during each software
iteration and amortize the access cost over
multiple packets
For memory access, use HW or SW controlled
prefetching. For PCIe access, use Data Direct
IO to write data directly into cache
Use access schemes that reduce the amount of
sharing (e.g. lockless queues for message
passing)
Page tables are constantly evicted (DTLB
Thrashing) – Allow Linux to use Huge Pages
(2MB, 1GB)
DPDK - Data Plane Development Kit
DPDK Overview
Multi-Architecture/NIC Support (dpdk.org)
DPDK Example Apps
Bond
QoS
Sched
Link
Status
Interrupt
L3fwd
Load
Balancer
KNI
IPv4
Multicast
L2fwd
Keep
Alive
Packet
Distrib
IP
Pipeline
Hello
World
Exceptio
n Path
L2fwd
Jobstats
L2fwd
IVSHME
M
Timer
IP Reass
VMDq
DCB
PTP
Client
Packet
OrderingCLI
DPDK
Multi
Process
Ethtool
L3fwd
VF
IP Frag
QoS
Meter
L2fwd
Perf
Thread
L2fwd
Crypto
RxTx
Callback
s
Quota &
W’mark
Skeleton
TEP
Term
Vhost
VM
Power
Manager
VMDq
L3fwd
Power
L3fwd
ACL
Netmap
Vhost
Xen
QAT
L2fwd
CAT
IPsec
Sec GW
A fully open source (BSD licensed) software project with a strong dev community
Website: http://dpdk.org Git: http://dpdk.org/browse/dpdk/
Current Infrastructure Support
Intel® Ethernet Network Adapter
* driver patch available
Xen
Virtual Machine
DPDK
Grant Table
e1000 dev mod
Enq / Deq shm
E1000_eth_pmd
Qemu DM
Shared
Memory
DPDK
vmexit()
VF_pmd
SRIOV
KVM
Virtual Machine
DPDK
ivshmem
vhost
E1000 dev mod
DPDK
Virtio_pmd
Qemu DM
E1000_eth_pmd
Enq/Deq shm
Shared
Memory
vmexit()
VF_pmd
SRIOV
VMware ESXi
Virtual Machine
DPDK
VMXNET3
e1000 dev mod
ESXi DM
VMware
vSwitch
VMXNET3_pmd
E1000_eth_pmd
Para Virtual
Interface
VF_pmd
SRIOV
vmexit()
Microsoft Hyper-V
Virtual Machine
Linux Drivers
Synthetic NIC
DEC 21140 dev mod
Hyper-V DM
Extensible
vSwitch
DEC 21140 Driver
Para Virtual
Interface
DPDK*
Synthetic NIC Driver
VF_Driver
SRIOV
vmexit()
Shared Resource Contention
• Last Level Cache is shared to make
best use of the resources in the
platform
• However certain types of applications
can cause noise and slow down others
• Applications streaming in nature can
cause excessive LLC evictions and
lead up to 51% of throughput
degradation of Network Workloads
Intel® Xeon® Processor E5 v4
Virtual Machine Monitor
Last Level Cache
Memory
Network IO
Crypto IO
Solution: IntelⓇ Resource Director Technology
Building on a rich and growing portfolio of technologies embedded in Intel silicon
LPHP
IntelⓇ Resource Director Technology (IntelⓇ RDT)
Core
app
Core
app
Last
Level
Cache
Core
DRAM
app
• Identify misbehaving
applications and
reschedule according to
priority
• Cache Occupancy
reported on a per
Resource Monitoring ID
(RMID) basis – Advanced
Telemetry
Cache Monitoring Technology
(CMT)
Core
app
Core
app
Last
Level
Cache
Core
DRAM
app
Cache Allocation Technology
(CAT)
• Last Level Cache
partitioning mechanism
enabling separation
and prioritization of
apps or VMs
• Misbehaving threads
can be isolated to
increase determinism
Core
app
Core
app
Last
Level
Cache
Core
app
Memory Bandwidth Monitoring
(MBM)
• Monitors Memory Bandwidth
consumption on per
thread/core/app basis
• Shares common RMID
architecture -- Telemetry
• Provides insight into second
order of shared resource
contention
DRAM
IntelⓇ RDT - University of California, Berkeley
http://span.cs.berkeley.edu
Load Generator
Intel® Xeon® processor
E5-2695 v4
Ethernet
Virtual
Machine Monitor Qemu
Virtual
Machine
EndRE
EthernetEthernet
…
Virtual
Machine
IPSec
Virtual
Machine
MazuNA
T
Virtual
Machine
SNORT
LLC
• UCB has been researching the applicability of Intel®
Resource Director Technology in Edge Device.
• Research focus on maintaining Quality of Service
while consolidating a variety of network centric
workloads
Core (ASIC-based, MPLS-like)
Handles scalable basic connectivity
(resilience, load balancing, anycast,
mcast,…)
SDN Controller
Support for 3rd party services
Partially at edge, partially in cloud
Edge Devices (x86, hybrid)
Handles all complex processing
(NFV, NetVirt, …)
Edge
Devic
es
Edge
Devic
es
Edge
Devic
es
Intel® Resource
Director Technology
IntelⓇ RDT - University of California, Berkeley
Load Generator
Intel® Xeon® processor
E5-2695 v4
Ethernet
Virtual
Machine Monitor Qemu
Virtual
Machine
EndRE
EthernetEthernet
…
Virtual
Machine
IPSec
Virtual
Machine
MazuNA
T
Virtual
Machine
SNORT
LLC
• Network functions are executing simultaneously on isolated core’s,
throughput of each Virtual Machines is measured
• Min packet size (64 bytes), 100K flows, uniformly distributed
• LLC contention causes up to 51% performance degradation in
throughput
Max.% throughput degradation, normalizedhttp://span.cs.berkeley.edu
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components,
software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your
contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit
http://www.intel.com/performance/datacenter.
IntelⓇ RDT - University of California, Berkeley
Load Generator
Intel® Xeon® processor
E5-2695 v4 Ethernet
Virtual
Machine Monitor Qemu
Virtual
Machine
EndRE
EthernetEthernet
…
Virtual
Machine
IPSec
Virtual
Machine
MazuNA
T
Virtual
Machine
SNORT
LLC
Max.% throughput degradation, normalized
• Network functions are executing simultaneously on isolated core’s,
throughput of each Virtual Machines is measured
• Min packet size (64 bytes), 100K flows, uniformly distributed
• VM under test is isolated utilizing CAT, 2 Ways of LLC are associated
with the Network function. Isolation only causes ~2% variation
http://span.cs.berkeley.edu
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components,
software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your
contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit
http://www.intel.com/performance/datacenter.
IntelⓇ RDT - University of California, Berkeley
Load Generator
Intel® Xeon® processor
E5-2695 v4
Ethernet
Virtual
Machine Monitor Qemu
Virtual
Machine
EndRE
EthernetEthernet
…
Virtual
Machine
IPSec
Virtual
Machine
MazuNA
T
Virtual
Machine
SNORT
LLC
• Network functions are executing simultaneously on isolated
core’s, throughput of each Virtual Machines is measured
• Min packet size (64 bytes), 100K flows, uniformly distributed
LLC
LatencyinMicroseconds(logscale)
http://span.cs.berkeley.edu
Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components,
software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your
contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit
http://www.intel.com/performance/datacenter.
Threads
cgroup fs
/sys/fs/cgroup/intel_rdt
Perf /
syscall(perf_event_open)
User interface
Cache Allocation Cache/Memory
Monitoring (Perf)
Intel® RDT support
Kernel Space
Hardware
MSR/
CPUID
Driver
Configure
bitmask per
CLOS
Set
CLOS/RMID
for thread
During ctx
switch
Allocation
configuration
Read
Event
counter
Read Monitored
data
Standalone PQoS
library
Intel® Xeon® Processor E5 v4 with Intel® RDT
IntelⓇ RDT Software Enabling Approaches
Broad Platform Awareness Enabling
• Linux cgroup/perf/libvirt enabling
cgroup: https://github.com/fyu1/linux/tree/cat16.1/
Perf: CMT mainstream(v4.1) and MBM mainstream(v4.6-rc1)
Libvirt patches: https://www.redhat.com/archives/libvir-list/2016-January/msg01264.html
• Standalone Intel® RDT API available (01.org)
https://github.com/01org/intel-cmt-cat
• DPDK API (dpdk.org) Intel® RDT enabling
examples/l2fwd-cat: RDT CAT and CDP, example of libpqos usage
How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients DPDK/RDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
Google confidential │ Do not
distribute
Google confidential │ Do not
distribute
gRPC:
A multi-platform RPC system
Abhishek Kumar
@grpcio
Mobile first
Software Defined Everything
Microservices Architecture
Everything as a service
Public Cloud
Internet of Things
gRPC touches and influences each of these areas.
High level trends
Google confidential │ Do not
distribute
Microservices at Google:
O(1010) RPCs per second.
Images by Connie
Zhou
Open source on Github for C, C++, Java, Node.js,
Python, Ruby, Go, C#, PHP, Objective-C
Introduction to RPC
Hello, world!
service Greeter {
rpc SayHello (HelloRequest) returns (HelloReply);
}
message HelloRequest {
string name = 1;
}
message HelloReply {
string message = 1;
}
Example (IDL)
// Create shareable virtual connection (may have 0-to-many actual connections; auto-reconnects)
ManagedChannel channel = ManagedChannelBuilder.forAddress(host, port).build();
GreeterBlockingStub blockingStub = GreeterGrpc.newBlockingStub(channel);
HelloRequest request = HelloRequest.newBuilder().setName("world").build();
HelloReply response = blockingStub.sayHello(request);
// To release resources, as necessary
channel.shutdown();
Example (Client)
Server server = ServerBuilder.forPort(port)
.addService(new GreeterImpl())
.build()
.start();
server.awaitTermination();
class GreeterImpl extends GreeterGrpc.AbstractGreeter {
@Override
public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) {
HelloReply reply = HelloReply.newBuilder().setMessage("Hello, " + req.getName()).build();
responseObserver.onNext(reply);
responseObserver.onCompleted();
}
}
Example (Server)
Overview
@grpcio
Decomposing Monolithic apps
A B
C D
@grpcio
Decomposing Monolithic apps
A B
C
D
@grpcio
Decomposing Monolithic apps
A B
C
D
@grpcio
Polyglot Microservices Architecture
C++ Service
gRPC server
Golang Service
gRPC server
gRPC
Stub
Java Service
gRPC
Stub
Python Service
gRPC server
gRPC
Stub
Use Cases
Google confidential │ Do not
distribute
Client-server
communication
Access Google Cloud
Services
Build distributed
applications
Images by Connie
Zhou
• In data-centers
• In public/private cloud
• HIgh performance
• Streaming
• Millions of
outstanding RPCs
• Cross-language API
framework
• Clients and servers
across:
• Mobile
• Web
• Cloud
• Also
• Embedded systems,
IoT
• From GCP
• From Android and iOS
devices
• From everywhere else
Some of the adopters
Microservices: in data centres
Streaming telemetry from network devices
Client Server communication
Client Server communication
@grpcio
MicroServices using gRPC
10 languages, Android and iOS platforms.Idiomatic, language-specific APIs
Ease of use and Scalability
Simple programming model. Protocol buffers for interface definition, data model
and wire encoding.
Multi-language
Streaming and High Performance
HTTP/2 framing and multiplexing with flow control. QUIC support.
Layered and Pluggable Architecture
Integrated load balancing, health checking, tracing across services
Support for different transports (HTTP/2-over-TCP, QUIC, etc.)
Plugin APIs for naming, stats, auth. etc.
Architecture
Three complete stacks: C/C++, Java and Go.
Other language implementations wrap C-Runtime libraries.
Library API surface defined language-idiomatic way and hand-implemented on
top of wrapped C-Runtime libraries.
Initial choice of wrapping C Runtime gives us scale, performance in different
languages and ease of maintenance.
Implementation across languages
gRPC Core
Http 2.0
SSL
Code Generated API
Planned in:
C/C++, Java, GoApplication Layer
Framework Layer
Transport Adapter Layer
Architecture: Native Implementation in Language
TCP (Sockets)
Transport Layer
Generic Low Level API in C
Python
Code-Generated Language Idiomatic API
Obj-C, C#, C++,
...
Ruby PHPPython
gRPC Core in C
Http 2.0
SSL
Language Bindings
Code Generated
Ruby PHP
Obj-C, C#,
C++,...
Application Layer
Framework Layer
Transport Layer
Architecture: Derived Stack
Wire Implementation across languages
gRPC Core
Http 2.0
TLS/SSL
Code Generated API
Auth Architecture and API
Credentials API
Auth-Credentials
Implementation
AuthPluginAPI
Generic mechanism for attaching metadata to requests and responses
Built into the gRPC protocol - always available
Plugin API to attach “bearer tokens” to requests for Auth
OAuth2 access tokens
OIDC Id Tokens
Session state for specific Auth mechanisms is encapsulated in an Auth-
credentials object
Metadata Mechanism can be used for signaling up and down the stack
Metadata and Auth
How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack
Key Platform Requirements for SDI
SDI Platform Ingredients DPDK/RDT
gRPC Service Framework
IntelⓇ RDT and gRPC service framework
SDI - Software Defined Infrastructure, NFV - Network Function Virtualization
Agenda
Platform Exposure to gRPC Endpoints
gRPCStub
gRPC Core
Http 2.0
SSL
Code Generated API
TCP (Sockets)
Java Service
gRPCserver
gRPC Core
Http 2.0
SSL
Code Generated API
TCP (Sockets)
Golang Service
gRPCStub
Intel® Xeon® Processor E5 v4
Golang Service
gRPC server
Intel® Xeon® Processor E5 v4
Java Service
gRPC server
C++ Service
gRPC server
Intel® Xeon® Processor E5 v4
gRPC Core
Code Generated API
Application Layer
Framework Layer
Transport Adapter Layer
gRPC stack supporting IntelⓇ Resource Director Technology
Transport Layer
RDT
Set in Metadata
Extract RDT options
from metadata
Http 2.0
SSL
TCP (Sockets)
cgroup-perf
Http 2.0
SSL
TCP (Sockets)
RDT Mgr
DPDK +
IntelⓇ RDT +
Packet*
I/O Mgr
Set RDT options on
the socket
gRPC Core
Http 2.0
SSL
Code Generated API
Application Layer
Framework Layer
Transport Adapter Layer
gRPC Enhanced stack using DPDK
TCP (Sockets)
Transport Layer
DPDK-Crypto/
QAT Session
DPDKDPDK Sockets
DPDK Packet I/O Mgr
Contacts
DPDK:
Site: dpdk.org
Mailing List: http://dpdk.org/ml/listinfo/dev
IntelⓇ RDT APIs:
Site: https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-allocation-technology-
code-and-data
gRPC:
DPDK provides high performance I/O for SDN/NFV based workloads, has a
vibrant developers’ community and yields 25x performance over standard
Linux Network Stack
IntelⓇ Resource Director Technology enables developers and system admins
to monitor and control shared resources
gRPC a multi-platform RPC system with multi-language support and a high
performance pluggable architecture for services
Summary
Site: grpc.io
Mailing List: grpc-io@googlegroups.com
Twitter Handle: @grpcio
Question?
Backup
IntelⓇ Resource Director Technology (IntelⓇ RDT)
Virtual
Machine Monitor Qemu
Intel® Xeon® processor
E5-2695 v4
Ethernet Ethernet Ethernet Ethernet
Virtual
Machine
“Noisy
Neighbor”
Virtual
Machine
“Noisy
Neighbor”
4 VNFs (VMs) with Simple Packet Pipeline
VNF – Virtual Network Function
Prioritizing Important Apps Without Cache
Allocation Technology LLC contention causes 38%
performance degradation, performance is restored
utilizing CAT
Another Benefit Average Latency is reduced from
36usec to 7usec after isolation of the noisy neighbors
Container Workload: A security sandbox performing DPI on a suspected packet stream
CAT Application on Containers
CAT - Cache Allocation Technology (IntelⓇ RDT Feature)
Number of Active Containers at
time t: 50/100/150
Each Container processing a
stream of packets/messages
from suspected packet dump
store
Containers’ Cache Pollution
Avg: 35-40MB
Max: 44MB

Más contenido relacionado

La actualidad más candente

P4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and ControlP4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and Control
Open-NFP
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
Sim Janghoon
 

La actualidad más candente (20)

Apache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open SourceApache Deep Learning 201 - Philly Open Source
Apache Deep Learning 201 - Philly Open Source
 
Linux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network SecurityLinux Native, HTTP Aware Network Security
Linux Native, HTTP Aware Network Security
 
Ingress overview
Ingress overviewIngress overview
Ingress overview
 
gRPC on .NET Core - NDC Oslo 2020
gRPC on .NET Core - NDC Oslo 2020gRPC on .NET Core - NDC Oslo 2020
gRPC on .NET Core - NDC Oslo 2020
 
Coap based application for android phones
Coap based application for android phonesCoap based application for android phones
Coap based application for android phones
 
Cilium - BPF & XDP for containers
 Cilium - BPF & XDP for containers Cilium - BPF & XDP for containers
Cilium - BPF & XDP for containers
 
Cilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPFCilium - API-aware Networking and Security for Containers based on BPF
Cilium - API-aware Networking and Security for Containers based on BPF
 
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
What's New in Apache Pulsar 2.9- Pulsar Summit Asia 2021
 
IoT Coap
IoT Coap IoT Coap
IoT Coap
 
P4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and ControlP4 for Custom Identification, Flow Tagging, Monitoring and Control
P4 for Custom Identification, Flow Tagging, Monitoring and Control
 
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and SecurityCilium - Bringing the BPF Revolution to Kubernetes Networking and Security
Cilium - Bringing the BPF Revolution to Kubernetes Networking and Security
 
ARM CoAP Tutorial
ARM CoAP TutorialARM CoAP Tutorial
ARM CoAP Tutorial
 
Open stack networking vlan, gre
Open stack networking   vlan, greOpen stack networking   vlan, gre
Open stack networking vlan, gre
 
Transparent eBPF Offload: Playing Nice with the Linux Kernel
Transparent eBPF Offload: Playing Nice with the Linux KernelTransparent eBPF Offload: Playing Nice with the Linux Kernel
Transparent eBPF Offload: Playing Nice with the Linux Kernel
 
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
MoP(MQTT on Pulsar) - a Powerful Tool for Apache Pulsar in IoT - Pulsar Summi...
 
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server AdaptersP4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
P4-based VNF and Micro-VNF Chaining for Servers With Intelligent Server Adapters
 
gRPC
gRPCgRPC
gRPC
 
Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)Network Automation (Bay Area Juniper Networks Meetup)
Network Automation (Bay Area Juniper Networks Meetup)
 
Hands on with CoAP and Californium
Hands on with CoAP and CaliforniumHands on with CoAP and Californium
Hands on with CoAP and Californium
 
Stacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStackStacks and Layers: Integrating P4, C, OVS and OpenStack
Stacks and Layers: Integrating P4, C, OVS and OpenStack
 

Destacado

Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
Abdelrahman Al-Ogail
 

Destacado (10)

Go debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFxGo debugging and troubleshooting tips - from real life lessons at SignalFx
Go debugging and troubleshooting tips - from real life lessons at SignalFx
 
Der Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a NutshellDer Cloud Native Stack in a Nutshell
Der Cloud Native Stack in a Nutshell
 
Building Cloud Native Applications
Building Cloud Native Applications Building Cloud Native Applications
Building Cloud Native Applications
 
Intro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS CloudIntro to High Performance Computing in the AWS Cloud
Intro to High Performance Computing in the AWS Cloud
 
Introduction to Remote Procedure Call
Introduction to Remote Procedure CallIntroduction to Remote Procedure Call
Introduction to Remote Procedure Call
 
RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개RPC에서 REST까지 간단한 개념소개
RPC에서 REST까지 간단한 개념소개
 
Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)Cloud Native Landscape (CNCF and OCI)
Cloud Native Landscape (CNCF and OCI)
 
'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015'Cloud-Native' Ecosystem - Aug 2015
'Cloud-Native' Ecosystem - Aug 2015
 
Oracle: Building Cloud Native Applications
Oracle: Building Cloud Native ApplicationsOracle: Building Cloud Native Applications
Oracle: Building Cloud Native Applications
 
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
머신 러닝 입문 #1-머신러닝 소개와 kNN 소개
 

Similar a G rpc talk with intel (3)

Similar a G rpc talk with intel (3) (20)

NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) ArchitectureNFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
NFV and SDN: 4G LTE and 5G Wireless Networks on Intel(r) Architecture
 
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for EnterprisesEnabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
Enabling Multi-access Edge Computing (MEC) Platform-as-a-Service for Enterprises
 
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...Seminar Accelerating Business Using Microservices Architecture in Digital Age...
Seminar Accelerating Business Using Microservices Architecture in Digital Age...
 
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
Safer Commutes & Streaming Data | George Padavick, Ohio Department of Transpo...
 
Summit 16: Deploying Virtualized Mobile Infrastructures on Openstack
Summit 16: Deploying Virtualized Mobile Infrastructures on OpenstackSummit 16: Deploying Virtualized Mobile Infrastructures on Openstack
Summit 16: Deploying Virtualized Mobile Infrastructures on Openstack
 
DPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith WilesDPDK Summit 2015 - Intel - Keith Wiles
DPDK Summit 2015 - Intel - Keith Wiles
 
Netsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfvNetsft2017 day in_life_of_nfv
Netsft2017 day in_life_of_nfv
 
guna_2015.DOC
guna_2015.DOCguna_2015.DOC
guna_2015.DOC
 
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
Ceph Day Seoul - AFCeph: SKT Scale Out Storage Ceph
 
Optimized HPC/AI cloud with OpenStack acceleration service and composable har...
Optimized HPC/AI cloud with OpenStack acceleration service and composable har...Optimized HPC/AI cloud with OpenStack acceleration service and composable har...
Optimized HPC/AI cloud with OpenStack acceleration service and composable har...
 
Enabling NFV features in kubernetes
Enabling NFV features in kubernetesEnabling NFV features in kubernetes
Enabling NFV features in kubernetes
 
Building the SD-Branch using uCPE
Building the SD-Branch using uCPEBuilding the SD-Branch using uCPE
Building the SD-Branch using uCPE
 
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
DPDK summit 2015: It's kind of fun  to do the impossible with DPDKDPDK summit 2015: It's kind of fun  to do the impossible with DPDK
DPDK summit 2015: It's kind of fun to do the impossible with DPDK
 
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro NakajimaDPDK Summit 2015 - NTT - Yoshihiro Nakajima
DPDK Summit 2015 - NTT - Yoshihiro Nakajima
 
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined InfrastructureRed Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
Red Hat® Ceph Storage and Network Solutions for Software Defined Infrastructure
 
Introduction to Fog
Introduction to FogIntroduction to Fog
Introduction to Fog
 
Cisco Multi-Service FAN Solution
Cisco Multi-Service FAN SolutionCisco Multi-Service FAN Solution
Cisco Multi-Service FAN Solution
 
Resume
ResumeResume
Resume
 
Virtual firewall framework
Virtual firewall frameworkVirtual firewall framework
Virtual firewall framework
 
Accelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to CloudAccelerating Innovation from Edge to Cloud
Accelerating Innovation from Edge to Cloud
 

Último

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 

G rpc talk with intel (3)

  • 1. Out of the Box Network Developers SDN and Switching SF Bay OpenStack 05/17/2016 Sujata Tibrewala Network Developer Evangelist Intel Developer Zone, Networking Software.intel.com/networking @intelsoftware #sdnnfv
  • 2. Upcoming events OPNFV summit June 21st -23rd , Berlin, Germany Red Hat Summit June 27th -30th , SFO, CA DPDK summit August 10-11 www.dpdksummit.com, San Jose, CA Intel developer Forum August DPDK deep dive July 2016
  • 3. Intel Team Edwin Verplanke: Principle Engineer Rashmin Patel : Software Architect Priya V Autee: Software Engineer Google Team Jayant Kolhe: Director of Engineering Abhishek Kumar : Engineering Lead & Manager at Google Introductions
  • 4. How RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients: DPDK, IntelⓇRDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 5. How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients: DPDK, IntelⓇRDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 7. SDN Open Flow , ODP and ForCES (Forwarding and Control Element Separation) all perform similar functions High Level ● Separation of control and data plane ● Centralized management ● Programmable network behavior via well-defined interfaces gRPC DPDK, RDT, Quick Assist etc gRPC
  • 9. How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients: DPDK, IntelⓇRDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 10. Software Defined Infrastructure 10000 feet Enterprise Cloud Service Providers Interconnect / Switch Processor Crypto / Compression DRAM Last Level Cache Soft switch, Packet Processing SW Optimizations Interconnect / Switch Communication Infrastructure Cloud Comms. Service Providers ▪ Optimized I/O Access (Data Plane Development Kit) ▪ Intel® QuickAssist Technology for Crypto and Compression Acceleration ▪ Virtualization Technology Enhancements (Posted Interrupts, Page-Modification Logging) ▪ Intel® Resource Director Technology (CMT, CAT, CDP, MBM)
  • 11. 3*2* Services Deployment on SDI Service x Intel® Xeon® Processor E5 v4 Service 1 Service 2 Service 3 Service 1 Intel® Xeon® Processor E5 v4 Service 2 Service 3 Service y Call Service Call Service Call Service Call Service Call Service Call Service Call Service Call Service Call Service Call Service Flexibility, Scalability, Service Agility, Resource Utilization 1* 4* Call Service 5000 feet *can be a Process/Container/Pod/VM using a CPU core
  • 12. NFV - Packet Pipeline on IA 100 feet
  • 13. How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients: DPDK, IntelⓇRDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 14. Orchestration Support Service/API Support Security Policy Scheduler Policy SW/FW Compatibility Threading Model Quality of Service Shared Memory Access Optimized I/O Access SDI Platform Ingredients Intel® Xeon® Processor E5 v4 VT RDT Memory Controller Cores NIC Crypto HT Platform SW/FW Ingredients DPDK QAT OS Kernel Optimizations Standard Service Semantics openssl libcrypto OVS Hyperscan . . . . . . . . DPDK – Data Plane Development Kit, QAT – Quick Assist Technology, RDT – Resource Director Technology, VT- Virtualization Technology, HT – Hyper Threading Technology, OVS – Open vSwitch, NFV – Network Function Virtualization, SFC – Service Function Chaining Orchestrator
  • 15. Optimized Packet I/O API Software solution for accelerating Packet Processing workloads on Intel® Architecture • Delivers 25X performance jump over Linux* • Comprehensive Virtualization support • Enjoys vibrant community support • Free, Open Source, BSD License Disclaimer: Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests, such as SYSmark* and MobileMark*, are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Packet Processing Performance Data Plane Development Kit (DPDK)
  • 16. Process a bunch of packets during each software iteration and amortize the access cost over multiple packets For memory access, use HW or SW controlled prefetching. For PCIe access, use Data Direct IO to write data directly into cache Use access schemes that reduce the amount of sharing (e.g. lockless queues for message passing) Page tables are constantly evicted (DTLB Thrashing) – Allow Linux to use Huge Pages (2MB, 1GB) DPDK - Data Plane Development Kit DPDK Overview
  • 18. DPDK Example Apps Bond QoS Sched Link Status Interrupt L3fwd Load Balancer KNI IPv4 Multicast L2fwd Keep Alive Packet Distrib IP Pipeline Hello World Exceptio n Path L2fwd Jobstats L2fwd IVSHME M Timer IP Reass VMDq DCB PTP Client Packet OrderingCLI DPDK Multi Process Ethtool L3fwd VF IP Frag QoS Meter L2fwd Perf Thread L2fwd Crypto RxTx Callback s Quota & W’mark Skeleton TEP Term Vhost VM Power Manager VMDq L3fwd Power L3fwd ACL Netmap Vhost Xen QAT L2fwd CAT IPsec Sec GW A fully open source (BSD licensed) software project with a strong dev community Website: http://dpdk.org Git: http://dpdk.org/browse/dpdk/
  • 19. Current Infrastructure Support Intel® Ethernet Network Adapter * driver patch available Xen Virtual Machine DPDK Grant Table e1000 dev mod Enq / Deq shm E1000_eth_pmd Qemu DM Shared Memory DPDK vmexit() VF_pmd SRIOV KVM Virtual Machine DPDK ivshmem vhost E1000 dev mod DPDK Virtio_pmd Qemu DM E1000_eth_pmd Enq/Deq shm Shared Memory vmexit() VF_pmd SRIOV VMware ESXi Virtual Machine DPDK VMXNET3 e1000 dev mod ESXi DM VMware vSwitch VMXNET3_pmd E1000_eth_pmd Para Virtual Interface VF_pmd SRIOV vmexit() Microsoft Hyper-V Virtual Machine Linux Drivers Synthetic NIC DEC 21140 dev mod Hyper-V DM Extensible vSwitch DEC 21140 Driver Para Virtual Interface DPDK* Synthetic NIC Driver VF_Driver SRIOV vmexit()
  • 20. Shared Resource Contention • Last Level Cache is shared to make best use of the resources in the platform • However certain types of applications can cause noise and slow down others • Applications streaming in nature can cause excessive LLC evictions and lead up to 51% of throughput degradation of Network Workloads Intel® Xeon® Processor E5 v4 Virtual Machine Monitor Last Level Cache Memory Network IO Crypto IO
  • 21. Solution: IntelⓇ Resource Director Technology Building on a rich and growing portfolio of technologies embedded in Intel silicon LPHP
  • 22. IntelⓇ Resource Director Technology (IntelⓇ RDT) Core app Core app Last Level Cache Core DRAM app • Identify misbehaving applications and reschedule according to priority • Cache Occupancy reported on a per Resource Monitoring ID (RMID) basis – Advanced Telemetry Cache Monitoring Technology (CMT) Core app Core app Last Level Cache Core DRAM app Cache Allocation Technology (CAT) • Last Level Cache partitioning mechanism enabling separation and prioritization of apps or VMs • Misbehaving threads can be isolated to increase determinism Core app Core app Last Level Cache Core app Memory Bandwidth Monitoring (MBM) • Monitors Memory Bandwidth consumption on per thread/core/app basis • Shares common RMID architecture -- Telemetry • Provides insight into second order of shared resource contention DRAM
  • 23. IntelⓇ RDT - University of California, Berkeley http://span.cs.berkeley.edu Load Generator Intel® Xeon® processor E5-2695 v4 Ethernet Virtual Machine Monitor Qemu Virtual Machine EndRE EthernetEthernet … Virtual Machine IPSec Virtual Machine MazuNA T Virtual Machine SNORT LLC • UCB has been researching the applicability of Intel® Resource Director Technology in Edge Device. • Research focus on maintaining Quality of Service while consolidating a variety of network centric workloads Core (ASIC-based, MPLS-like) Handles scalable basic connectivity (resilience, load balancing, anycast, mcast,…) SDN Controller Support for 3rd party services Partially at edge, partially in cloud Edge Devices (x86, hybrid) Handles all complex processing (NFV, NetVirt, …) Edge Devic es Edge Devic es Edge Devic es Intel® Resource Director Technology
  • 24. IntelⓇ RDT - University of California, Berkeley Load Generator Intel® Xeon® processor E5-2695 v4 Ethernet Virtual Machine Monitor Qemu Virtual Machine EndRE EthernetEthernet … Virtual Machine IPSec Virtual Machine MazuNA T Virtual Machine SNORT LLC • Network functions are executing simultaneously on isolated core’s, throughput of each Virtual Machines is measured • Min packet size (64 bytes), 100K flows, uniformly distributed • LLC contention causes up to 51% performance degradation in throughput Max.% throughput degradation, normalizedhttp://span.cs.berkeley.edu Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit http://www.intel.com/performance/datacenter.
  • 25. IntelⓇ RDT - University of California, Berkeley Load Generator Intel® Xeon® processor E5-2695 v4 Ethernet Virtual Machine Monitor Qemu Virtual Machine EndRE EthernetEthernet … Virtual Machine IPSec Virtual Machine MazuNA T Virtual Machine SNORT LLC Max.% throughput degradation, normalized • Network functions are executing simultaneously on isolated core’s, throughput of each Virtual Machines is measured • Min packet size (64 bytes), 100K flows, uniformly distributed • VM under test is isolated utilizing CAT, 2 Ways of LLC are associated with the Network function. Isolation only causes ~2% variation http://span.cs.berkeley.edu Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit http://www.intel.com/performance/datacenter.
  • 26. IntelⓇ RDT - University of California, Berkeley Load Generator Intel® Xeon® processor E5-2695 v4 Ethernet Virtual Machine Monitor Qemu Virtual Machine EndRE EthernetEthernet … Virtual Machine IPSec Virtual Machine MazuNA T Virtual Machine SNORT LLC • Network functions are executing simultaneously on isolated core’s, throughput of each Virtual Machines is measured • Min packet size (64 bytes), 100K flows, uniformly distributed LLC LatencyinMicroseconds(logscale) http://span.cs.berkeley.edu Software and workloads used in performance tests may have been optimized for performance only on Intel microprocessors. Performance tests are measured using specific computer systems, components, software, operations and functions. Any change to any of those factors may cause the results to vary. You should consult other information and performance tests to assist you in fully evaluating your contemplated purchases, including the performance of that product when combined with other products. Configurations: see slide 28. For more complete information, visit http://www.intel.com/performance/datacenter.
  • 27. Threads cgroup fs /sys/fs/cgroup/intel_rdt Perf / syscall(perf_event_open) User interface Cache Allocation Cache/Memory Monitoring (Perf) Intel® RDT support Kernel Space Hardware MSR/ CPUID Driver Configure bitmask per CLOS Set CLOS/RMID for thread During ctx switch Allocation configuration Read Event counter Read Monitored data Standalone PQoS library Intel® Xeon® Processor E5 v4 with Intel® RDT IntelⓇ RDT Software Enabling Approaches
  • 28. Broad Platform Awareness Enabling • Linux cgroup/perf/libvirt enabling cgroup: https://github.com/fyu1/linux/tree/cat16.1/ Perf: CMT mainstream(v4.1) and MBM mainstream(v4.6-rc1) Libvirt patches: https://www.redhat.com/archives/libvir-list/2016-January/msg01264.html • Standalone Intel® RDT API available (01.org) https://github.com/01org/intel-cmt-cat • DPDK API (dpdk.org) Intel® RDT enabling examples/l2fwd-cat: RDT CAT and CDP, example of libpqos usage
  • 29. How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients DPDK/RDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 30. Google confidential │ Do not distribute Google confidential │ Do not distribute gRPC: A multi-platform RPC system Abhishek Kumar
  • 31. @grpcio Mobile first Software Defined Everything Microservices Architecture Everything as a service Public Cloud Internet of Things gRPC touches and influences each of these areas. High level trends
  • 32. Google confidential │ Do not distribute Microservices at Google: O(1010) RPCs per second. Images by Connie Zhou
  • 33. Open source on Github for C, C++, Java, Node.js, Python, Ruby, Go, C#, PHP, Objective-C
  • 35. service Greeter { rpc SayHello (HelloRequest) returns (HelloReply); } message HelloRequest { string name = 1; } message HelloReply { string message = 1; } Example (IDL)
  • 36. // Create shareable virtual connection (may have 0-to-many actual connections; auto-reconnects) ManagedChannel channel = ManagedChannelBuilder.forAddress(host, port).build(); GreeterBlockingStub blockingStub = GreeterGrpc.newBlockingStub(channel); HelloRequest request = HelloRequest.newBuilder().setName("world").build(); HelloReply response = blockingStub.sayHello(request); // To release resources, as necessary channel.shutdown(); Example (Client)
  • 37. Server server = ServerBuilder.forPort(port) .addService(new GreeterImpl()) .build() .start(); server.awaitTermination(); class GreeterImpl extends GreeterGrpc.AbstractGreeter { @Override public void sayHello(HelloRequest req, StreamObserver<HelloReply> responseObserver) { HelloReply reply = HelloReply.newBuilder().setMessage("Hello, " + req.getName()).build(); responseObserver.onNext(reply); responseObserver.onCompleted(); } } Example (Server)
  • 42. @grpcio Polyglot Microservices Architecture C++ Service gRPC server Golang Service gRPC server gRPC Stub Java Service gRPC Stub Python Service gRPC server gRPC Stub
  • 44. Google confidential │ Do not distribute Client-server communication Access Google Cloud Services Build distributed applications Images by Connie Zhou • In data-centers • In public/private cloud • HIgh performance • Streaming • Millions of outstanding RPCs • Cross-language API framework • Clients and servers across: • Mobile • Web • Cloud • Also • Embedded systems, IoT • From GCP • From Android and iOS devices • From everywhere else
  • 45. Some of the adopters Microservices: in data centres Streaming telemetry from network devices Client Server communication Client Server communication
  • 46. @grpcio MicroServices using gRPC 10 languages, Android and iOS platforms.Idiomatic, language-specific APIs Ease of use and Scalability Simple programming model. Protocol buffers for interface definition, data model and wire encoding. Multi-language Streaming and High Performance HTTP/2 framing and multiplexing with flow control. QUIC support. Layered and Pluggable Architecture Integrated load balancing, health checking, tracing across services Support for different transports (HTTP/2-over-TCP, QUIC, etc.) Plugin APIs for naming, stats, auth. etc.
  • 48. Three complete stacks: C/C++, Java and Go. Other language implementations wrap C-Runtime libraries. Library API surface defined language-idiomatic way and hand-implemented on top of wrapped C-Runtime libraries. Initial choice of wrapping C Runtime gives us scale, performance in different languages and ease of maintenance. Implementation across languages
  • 49. gRPC Core Http 2.0 SSL Code Generated API Planned in: C/C++, Java, GoApplication Layer Framework Layer Transport Adapter Layer Architecture: Native Implementation in Language TCP (Sockets) Transport Layer
  • 50. Generic Low Level API in C Python Code-Generated Language Idiomatic API Obj-C, C#, C++, ... Ruby PHPPython gRPC Core in C Http 2.0 SSL Language Bindings Code Generated Ruby PHP Obj-C, C#, C++,... Application Layer Framework Layer Transport Layer Architecture: Derived Stack
  • 51. Wire Implementation across languages gRPC Core Http 2.0 TLS/SSL Code Generated API Auth Architecture and API Credentials API Auth-Credentials Implementation AuthPluginAPI
  • 52. Generic mechanism for attaching metadata to requests and responses Built into the gRPC protocol - always available Plugin API to attach “bearer tokens” to requests for Auth OAuth2 access tokens OIDC Id Tokens Session state for specific Auth mechanisms is encapsulated in an Auth- credentials object Metadata Mechanism can be used for signaling up and down the stack Metadata and Auth
  • 53. How DPDK, RDT and gRPC fit into SDI/SDN, NFV and OpenStack Key Platform Requirements for SDI SDI Platform Ingredients DPDK/RDT gRPC Service Framework IntelⓇ RDT and gRPC service framework SDI - Software Defined Infrastructure, NFV - Network Function Virtualization Agenda
  • 54. Platform Exposure to gRPC Endpoints gRPCStub gRPC Core Http 2.0 SSL Code Generated API TCP (Sockets) Java Service gRPCserver gRPC Core Http 2.0 SSL Code Generated API TCP (Sockets) Golang Service gRPCStub Intel® Xeon® Processor E5 v4 Golang Service gRPC server Intel® Xeon® Processor E5 v4 Java Service gRPC server C++ Service gRPC server Intel® Xeon® Processor E5 v4
  • 55. gRPC Core Code Generated API Application Layer Framework Layer Transport Adapter Layer gRPC stack supporting IntelⓇ Resource Director Technology Transport Layer RDT Set in Metadata Extract RDT options from metadata Http 2.0 SSL TCP (Sockets) cgroup-perf Http 2.0 SSL TCP (Sockets) RDT Mgr DPDK + IntelⓇ RDT + Packet* I/O Mgr Set RDT options on the socket
  • 56. gRPC Core Http 2.0 SSL Code Generated API Application Layer Framework Layer Transport Adapter Layer gRPC Enhanced stack using DPDK TCP (Sockets) Transport Layer DPDK-Crypto/ QAT Session DPDKDPDK Sockets DPDK Packet I/O Mgr
  • 57. Contacts DPDK: Site: dpdk.org Mailing List: http://dpdk.org/ml/listinfo/dev IntelⓇ RDT APIs: Site: https://01.org/packet-processing/cache-monitoring-technology-memory-bandwidth-monitoring-cache-allocation-technology- code-and-data gRPC:
  • 58. DPDK provides high performance I/O for SDN/NFV based workloads, has a vibrant developers’ community and yields 25x performance over standard Linux Network Stack IntelⓇ Resource Director Technology enables developers and system admins to monitor and control shared resources gRPC a multi-platform RPC system with multi-language support and a high performance pluggable architecture for services Summary
  • 59. Site: grpc.io Mailing List: grpc-io@googlegroups.com Twitter Handle: @grpcio
  • 62. IntelⓇ Resource Director Technology (IntelⓇ RDT) Virtual Machine Monitor Qemu Intel® Xeon® processor E5-2695 v4 Ethernet Ethernet Ethernet Ethernet Virtual Machine “Noisy Neighbor” Virtual Machine “Noisy Neighbor” 4 VNFs (VMs) with Simple Packet Pipeline VNF – Virtual Network Function Prioritizing Important Apps Without Cache Allocation Technology LLC contention causes 38% performance degradation, performance is restored utilizing CAT Another Benefit Average Latency is reduced from 36usec to 7usec after isolation of the noisy neighbors
  • 63. Container Workload: A security sandbox performing DPI on a suspected packet stream CAT Application on Containers CAT - Cache Allocation Technology (IntelⓇ RDT Feature) Number of Active Containers at time t: 50/100/150 Each Container processing a stream of packets/messages from suspected packet dump store Containers’ Cache Pollution Avg: 35-40MB Max: 44MB