Mellanox Rivermax - Circle B · Unleash your Video Flows Video Streaming library for the...
Transcript of Mellanox Rivermax - Circle B · Unleash your Video Flows Video Streaming library for the...
1© 2018 Mellanox Technologies
March 2018
Mellanox RivermaxUnleash your Video Flows
2© 2018 Mellanox Technologies
Maximizing Efficiency of Software Video Streaming
Mellanox
* Comparing to Kernel based application performance
Highest Throughput
& Quality
100Gb/sPER PORT
Compliance2110-21
Packet Pa c e d
Lower CPU Utilization
80%LessCORES*
Less Servers & Network
40%Less*
Lower Power, Cooling & Space
30%Less*
0%PacketLO S S
in NIC hardware
3© 2018 Mellanox Technologies
Background
4© 2018 Mellanox Technologies
Move from Old SDI format to all-IP based Streams
Expensive & Proprietary
Low Efficiency
Current-Gen Serial Digital Interface (SDI)-Studio
Next-Gen IP-Studio
Off-the-shelf hardware
Flexible - multi-purposed network
Surveyed SDI to IP Conversion
of Broadcasters will transition to IP within 5 Years61% of Broadcasters will transition to IP within 2 Years20%
Source: Link
5© 2018 Mellanox Technologies
Migration to IP comes with Demanding IP-Standards
Non-Paced Bursty Streams Packet Paced Streams
Defines send side packet delivery timing characteristics of frame-based video RTP streams. A.k.a Packet Pacing
SMPTE ST 2110-21 – “Traffic Shaping and Delivery Timing for Video”
Packet Pacing
SMPTE ST 2110-21Packet Pacing at Sender
6© 2018 Mellanox Technologies
Ultra HD Resolution Demands Hardware Performance
Raw uncompressed video bandwidth requirement exceeds 100Gb/s Bandwidth for 1 video stream with 8K UHD high frame rate
Packet pacing in software is not SMPTE 2110-21 compliant Sub 1us Inter Packet Gap (IPG) is not achievable with software based solutions
2.523.8
143.3
0
20
40
60
80
100
120
140
160
Full HD1920 x 1080
4K UHD3840 x 2160
8K UHD7680 x 4320
RAW (Uncompressed) Video Bandwidth [Gb/s]RAW (Uncompressed) Video Bandwidth [Gb/s]
Cannot be achieved with Software packet pacing
Cannot be achieved with Software packet pacing
Can be achieved with software packet pacing
Cannot be achieved with Software packet pacing
20bpp
24bpp
20bpp
36bpp
4K UHD
4K UHD
Full HD
8K UHD
60fps
120fps
25fps
60fps
IPG1,150 nSec
IPG469 nSec
IPG11,000 nSec
IPG156 nSec
Inter Packet Gap (IPG) Requirements for UHD Bandwidth Requirements for UHD
7© 2018 Mellanox Technologies
Introducing
8© 2018 Mellanox Technologies
Unleash your Video Flows
Video Streaming library for the Broadcasting industry SMPTE 2110-21 compliance with packet pacing even at 100GbE Offloads packet handling – keeps application at frame/line(s) level Kernel bypass technology – no bottlenecks, low latency, deterministic performance Cloud ready (VM / VF / SRIOV etc.)
Compatible with Mellanox best in breed network Adapters ConnectX-5 25GbE ConnectX-5 Ex 100GbE
Supports Linux and Windows
User
Spa
ce
NIC
Broadcasting
Application
Kernel
Bypass
Kern
el
Don’t Compromise on Quality
1 CPU COREHD Streams64 =
COMPLIANCE2110-21
1 CPU CORE8K UHD =
Unblock your BottleneckSave CAPEX and OPEX
Free your CPU
9© 2018 Mellanox Technologies
Rivermax Key Features
Packet Pacing Kernel Bypass Packet Aggregation
Leverages ConnectX-5 hardware based Packet Pacing
SMPTE ST 2110-21 compliance at any bit rate
No dependency on CPU Strength, OS interrupt level or Application
Reduced Kernel overhead with direct network adapter access
Selective bypass – enables to select traffic bypasses and which flows to kernel
Reduced latency Reduced CPU utilization Increased throughput
Application at Frame/Line(s) level
Receive: fully assembled frame/lines(s) in memory
Transmit: synchronously transmit packet pacedfull frames/lines (/chunks)
Packets vs Frames
Based on ConnectX-5 Technology
10© 2018 Mellanox Technologies
Rivermax Saves CPU
Rivermax reduces CPU utilization compared to applications running on kernel by more than 26X Rivermax implements hardware-based packet pacing using ConnectX-5 accelerations
0
5
10
15
20
25
64 streamsFull HD (96Gb/s)
1920x108030fps
(4:2:2 12bpp)
# C
PU
co
res
CPU Utilization for 64 x Full HD StreamsKernel vs Rivermax based application
Rivermax Kernel
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
4K UHD (5.13Gb/s)3840X2160
30fps(4:2:2 12bpp)
Sin
gle
CP
U c
ore
uti
liza
tio
n
CPU Utilization for 4K UHD StreamKernel vs Rivermax based application
Rivermax Kernel
Rivermax Transmitting 4K UHD Packet Pacing with 2% CPU Core Utilization
0.53
0.02
Kernel Transmitting 4K UHD no Packet Pacing with 53% CPU Core Utilization
21
0.83
26
X
30
XRivermax Transmitting 64 Full HD Streams with packet pacing utilizing 83% of one Core
Kernel Transmitting 64 Full HD no Packet Pacing utilizing 21 CPU Cores
11© 2018 Mellanox Technologies
Rivermax Enables Scale
With software based solutions, high video resolution relies on more servers / cores ConnectX-5 and Rivermax allow solutions to scale with no need for additional servers Allows higher ROI
Video Resolution Number of Servers
Full HD
4K UHD
8K UHD
10K UHDNETWORK INFRA
SPACE
COOLING
POWER
12© 2018 Mellanox Technologies
Rivermax License
Licensed Software Closed source SDK library License to use and/or create derivative work License is per Mellanox NIC License is sold as a perpetual license with coupling to Mellanox NIC serial number Rivermax License Agreement to be signed by customer and Mellanox
13© 2018 Mellanox Technologies
Rivermax Key Features
14© 2018 Mellanox Technologies
Packet Pacing in ConnectX-5
ConnectX-5 adapter enables hardware-based Packet Pacing at any resolution Enabling compliance with SMPTE ST 2110-21 without dependency on CPU, OS or Application Cloud ready adapter - VM/Container support, SRIOV and more network offloads Supported by ConnectX-5 25GbE and ConnectX-5 Ex 100GbE
Non-Paced Bursty Streams Packet Paced Streams
15© 2018 Mellanox Technologies
Rivermax Kernel Bypass
Reduce Kernel overhead with direct network adapter access Selective bypass
Application may select to divert non accelerated data traffic to kernel (eg ARP)
Translates in additional streaming performance Reduces latency Increases throughput Reduces CPU utilization
No context switching, less memory copies Frees CPU to run more application
User
Space
NIC
Broadcasting
Application
Kernel
Bypass
Kern
el
16© 2018 Mellanox Technologies
Keeping Application at line(s)/frames level
Rivermax enables offloading packet handling to ConnectX-5 On receive (RX network to application)
Application receives fully assembled frame/lines(s) in memory RTP Headers stripped to separate buffer Notification to application at full frame/line(s)
On transmit (TX application to network) Synchronously transmit packet paced SMPTE ST 2110-21
full frames or line(s) (or chunks) First packet aligned to SMPTE 2059-1 alignment point (SMPTE EPOCH) All packets paced in hardware according to ST 2110-21 specification
UHD IP Camera
Ap
p M
em
ory
App Receive App Transmit
Packets
- - - - - -
Pa
cket
s
Frame/Line(s) Arrived
Frame/Line(s) Frame/Line(s)
Server
Application
Send Frame/LineSynced to EPOCPacket Paced 2110-21
RTP
Hea
der
RTP
Hea
der
RTP
Hea
der
RTP
Hea
der
RTP
Hea
der
s
RTPHeaders
2110-21offloaded
inside
17© 2018 Mellanox Technologies
Rivermax Performance
18© 2018 Mellanox Technologies
0
10
20
30
40
50
60
70
80
90
100
0
10
20
30
40
50
60
70
80
90
100
Full HD1920X1080
30fps(4:2:2 12bpp)
Full HD1920X1080
60fps(4:2:2 12bpp)
4K UHD3840X2160
30fps(4:2:2 12bpp)
4K UHD3840X2160
60fps(4:2:2 12bpp)
8K UHD7680X4320
30fps(4:2:2 12bpp)
8K UHD7680X4320
60fps(4:2:2 12bpp)
8K UHD7680X4320
50fps(4:4:4 12bpp)
Lin
es
-M
ea
su
red
Co
re L
oad
[%
]
Bars
-M
ea
su
red
Th
rou
gh
pu
t [G
bp
s]
Throughput vs CPU Usage - Single Video Stream via 1 CPU Core
Kernel Throughput [Gbps] Rivermax Throughput [Gbps]
Kernel CPU [%] Rivermax CPU [%]
Utilizing a single coreRivermax Linux vs. Kernel Application Receive Performance
Kernel running @ >85% CPUFor all resolutions
Kernel fails to deliver the required throughput
Rivermax @ 4K UHD <10% of 1 CPU Core10.5 Gb/s with No packet loss
Theoretical Throughput [Gbps]
19© 2018 Mellanox Technologies
Rivermax Linux vs Kernel Application Transmit Performance
Rivermax transmitting with Packet Pacing according to SMPTE ST 2110-21 Note: Kernel is without special optimizations
0
10
20
30
40
50
60
70
80
90
100
0
10
20
30
40
50
60
70
80
90
100
Full HD1920X1080
30fps(4:2:2 12bpp)
Full HD1920X1080
60fps(4:2:2 12bpp)
4K UHD3840X2160
30fps(4:2:2 12bpp)
4K UHD3840X2160
60fps(4:2:2 12bpp)
8K UHD7680X4320
30fps(4:2:2 12bpp)
8K UHD7680X4320
60fps(4:2:2 12bpp)
8K UHD7680X4320
50fps(4:4:4 12bpp)
Lin
es
-M
ea
su
red
Co
re L
oad
[%
]
Bars
-M
ea
su
red
Th
rou
gh
pu
t [G
b/s
]
Throughput vs CPU Usage - Single Video Stream via 1 CPU Core
Kernel Throughput [Gbps] Rivermax Throughput [Gbps]
Kernel CPU [%] Rivermax CPU [%]
Kernel fails to deliver throughputRunning @ 100% CPU Utilization12.2Gb/s out of 20.5Gb/sRivermax Transmitting 4K UHD
Packet Pacing 2110-2110.5Gb/s with 5% CPU Core Utilization
Rivermax CPU Util.
Kernel based Application
CPU Util.
Utilizing a single core
Theoretical Throughput [Gbps]
20© 2018 Mellanox Technologies
Rivermax Windows Transmit Performance vs Kernel Application
Note: Kernel is without special optimizations
Kernel capped with 12.2Gb/s with 100% CPU Util.
0
10
20
30
40
50
60
70
80
90
Full HD1920X1080
30fps(4:2:2 12bpp)
Full HD1920X1080
60fps(4:2:2 12bpp)
4K UHD3840X2160
30fps(4:2:2 12bpp)
4K UHD3840X2160
60fps(4:2:2 12bpp)
8K UHD7680X4320
30fps(4:2:2 12bpp)
8K UHD7680X4320
60fps(4:2:2 12bpp)
8K UHD7680X4320
50fps(4:4:4 12bpp)
Me
as
ure
d T
hro
ug
hp
ut
[Gb
/s]
Throughput - Single Video Stream via 1 CPU Core
Kernel Throughput [Gbps] Rivermax Throughput [Gbps]
Rivermax for Windows Transmitting up to 8K UHD 82.2 Gb/s with 1 CPU Coreand no packet loss
Windows Kernel fails to deliver the required throughput
Utilizing a single core
Theoretical Throughput [Gbps]
21© 2018 Mellanox Technologies
21
Core
s
31
Core
s
0.68 Core 0.89 Core0
5
10
15
20
25
30
35
Kernel Patched Kernel Mellanox Rivermax Mellanox Rivermaxover Patched Kernel
CP
U C
ore
s
Mellanox Rivermax Video Streaming Performance vs Patched Kernel[64 Full HD Streams = 96Gb/s]
Low
er is
Bet
ter
Application over Kernel Streaming Performance Application over Mellanox Rivermax Streaming
Performancehit44%
Meltdown and Spectre Meltdown and Spectre hit on performance is over 44% for video applications over kernel Rivermax can improve performance with 30 LESS cores even after patches applied
22© 2018 Mellanox Technologies
Thank You