the fungible dpu™

25
The Fungible DPU™: A New Category of Microprocessor for the Data-Centric Era Hot Chips 2020

Upload: others

Post on 02-Nov-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: The Fungible DPU™

The Fungible DPU™:A New Category of Microprocessor for the Data-Centric Era

Hot Chips 2020

Page 2: The Fungible DPU™

Our Mission

2

Revolutionize the performance, economics, reliability and security of all scale-out data centers

Core Technology: a new category of microprocessor called the Fungible DPU™, associated software, and systems

Page 3: The Fungible DPU™

Context

Page 4: The Fungible DPU™

Problems Facing Data Centers

4

Large footprint (power and space)•Inability to pool expensive resources•Inefficient execution of Data-Centric Computations

Scaling challenges (very small & very large)

Increasing complexity (technology limits)

Security vulnerabilities

Page 5: The Fungible DPU™

Headwinds

5

1945 TIME1957 1969 1981 1993 2005 2017 2020

Log (Mbits/cc)

Log (Mbits/s)

Log (Minstructions/s)

Mainframes Minis PCs InternetScale-Out

Data-Centric

DEV

ICE

PER

FOR

MAN

CE

Network and storage speeds are increasing faster than compute

Applications need to access ever larger data sets

Moore’s Law slowing and will likely plateau

Security attacks increasing in frequency and sophistication

Page 6: The Fungible DPU™

6

Data-Centricity Will Drive the Architecture

1957 1969 1981 1993 2005 2017 2020 TIME

EARLY-MID COMPUTE-CENTRIC ERA

Multiple CPU Types to Single CPU Type

DATA-CENTRIC ERA

Scale-out ofHyperconverged

X86 Servers

Scale-out of Hyperdisaggregated Servers Powered by the

Fungible DPU™

X86

LATE COMPUTE-CENTRIC ERA

X86 … …

… …

… …

… …

X86 Servers

GPU Servers

SSD Servers

HDD Servers

… … …

… … …

X86

X86

X86

Page 7: The Fungible DPU™

Our Approach:Clean Sheet, Fundamentals Based Design

Page 8: The Fungible DPU™

Confront the Root Causes

8

Inefficient data interchange between nodes

Inefficient data interchange between nodes

Inefficient execution of data-centric1 computations

inside nodes

Inefficient execution of data-centric1 computations

inside nodes

Per-context state

Packets

UnreliabilityUnreliability InflexibilityInflexibility

InsecurityInsecurity

1 Data-Centric Computations:

• All work arrives as packets• Require frequent context switching • Involve modification of state• I/O dominates arithmetic and logic

1 Data-Centric Computations:

• All work arrives as packets• Require frequent context switching • Involve modification of state• I/O dominates arithmetic and logic

Page 9: The Fungible DPU™

Fungible DPU™ Addresses all Five Root Causes

Efficient interactions

between nodes

Efficient interactions

between nodes

9

Full data-path programmabilityFull data-path

programmabilityEfficient execution of

data-centric computations

Efficient execution of data-centric

computations

Fundamental improvements to

infrastructure reliability

Fundamental improvements to

infrastructure reliability

Strong security with no compromise to

performance

Strong security with no compromise to

performance

Page 10: The Fungible DPU™

SSDSSD

Where does the Fungible DPU™ sit?

10

Fungible DPUTM in each node• Connects node to network• Functions as intra-node hub

Programmable data and control planesHandles data-centric computationsEnd point of TrueFabric™

Provides: Full flexibility with high performance Strong end-to-end security Pooling of resources Reliable low-jitter, low latency fabric Observability and telemetry

SSD Storage Node

HDD Storage Node

X86 Compute Node

GPU ML/Analytics Node

HDDHDD

HDD

HDD

SSDSSD

SSDSSDSSDSSD

SSDSSDSSD

SSD

DPU

TrueFabricTM

DPU

DPU

DPU

DPU

DPU

DPU

DPU

DPU

DPUDPU

DPU

DPU

DPU

DPU

DPU

Page 11: The Fungible DPU™

The Fungible F1 DPU™

Page 12: The Fungible DPU™

Fungible F1 DPU™ Architecture

12

8 Data Clusters•192 processor threads•Full cache coherency•Tightly integrated accelerators

On Chip Network•High performance•Low latency•Any unit to any unit

Control Cluster•8 processor threads•Secure complex

•HSM•Root-of-trust

•Work scheduler

Memory & I/O Interfaces

•800 Gbps network unit•4x16 G3/G4 PCIe unit•DDR4•HBM4x100GE 4x100GE

Data Cluster 1 Data Cluster 8

On Chip Network

DDR 4DDR 4

HBMHBM

NetworkUnit

NetworkUnit

X16G3/G4

HostUnit

X16G3/G4

HostUnit

X16G3/G4

HostUnit

X16G3/G4

HostUnit

Control Cluster

WorkScheduler

Page 13: The Fungible DPU™

Data Cluster

13

Runs the Data Plane

6 Cores * 4 Threads

Multi-Threaded Accelerators•Data movement

•Data lookup

•Data security

•Data reduction

•Data protection

•Data analytics

Core 1 Core 2 Core 3 Core 4 Core 5 Core 6

Cluster Cache & Memory Manager

DME DLE DSE DRE DPE DAE

On Chip Fabric

Page 14: The Fungible DPU™

Control Cluster

14

Runs the Control Plane on Linux

4 cores * 2 threads

Secure Enclave•Secure Boot

•Secure Key Vault

•Binary Signing and Authentication

Public Key Crypto Engines•RSA

•Elliptic Curve

True Random Number Generator

Physically Unclonable Function

Core 1 Core 2 Core 3 Core 4

Cluster Cache & Memory Manager

SBP PUF PKE TRNG

On Chip Fabric

Page 15: The Fungible DPU™

CPUs, Caches, External Memory

15

CPUs•MIPS-64, 9-stage, dual-issue, 4xSMT, FPU/SIMD unit•IPC on data-centric workload close to CPU-max•Full hardware virtualization•Large I+D L1$, shared L2$, full system-wide coherency

High Bandwidth HBM2 Memory•8GB, 4Tbits/sec•Integrated in the package

High Capacity DDR4 Memory•2xDDR4 controllers, ECC enabled, up to 2666 MHz•Up to 512GB•Support of RDIMM, NVDIMM-N

• Fully general programmability• All code in ANSI-C• Fast thread switching• Tight coupling with accelerators• No performance compromises

• Fully general programmability• All code in ANSI-C• Fast thread switching• Tight coupling with accelerators• No performance compromises

Page 16: The Fungible DPU™

• Low, deterministic latency

• Full cross-section bandwidth

• End-to-end congestion control

• End-to-end error control

• End-to-end encryption

• Network virtualization

• Granular QoS

• Enables disaggregation at scale

• Low, deterministic latency

• Full cross-section bandwidth

• End-to-end congestion control

• End-to-end error control

• End-to-end encryption

• Network virtualization

• Granular QoS

• Enables disaggregation at scale

High-Performance (800G) Flexible Network Engine

Implements TrueFabricTM end point

Low latency Ethernet MAC with FEC

Integrated L2/L3/L4 forwarding

Low latency transit switching

Support of general virtualization protocols

Tight integration with data clusters

P4-like language controls•Parsing, encapsulation, decapsulation•Rx/Tx acceleration•Lookup acceleration

All packets are AES-GCM encrypted

Precision time protocol

16

Page 17: The Fungible DPU™

High-Performance (512G) Flexible Host Engine

Includes 16 independent dual-mode controllers•EP/RC in any combination (4x16 to 16x4)

End point for X86 or ARM CPUs•Hardware virtualization

•SR-IOV with 64 PFs, 1024 VFs•Fine-grain QoS support

•Software flexibility•Full network, storage, and security

virtualizationRoot complex

•High performance abstraction layer•Fully flexible data and control planes•Connects to and abstracts SSDs, GPUs, FPGAs

17

Data Cluster 1 Data Cluster 8

On Chip Network

DDR 4DDR 4

HBMHBM

NetworkUnit

NetworkUnit

Control Cluster

WorkScheduler

HostUnit(EP)

HostUnit(EP)

HostUnit(RC)

HostUnit(RC)

x86 ARM SSD GPU

Page 18: The Fungible DPU™

18

Data Path Programming Model

HostEngine

NetworkEngine

High-Performance Any-to-Any “Call-Continue” Fabric

MIPS-64 Hardware Threads Execute Run-To-Completion C-Code

Heterogeneous Accelerator Threads

Page 19: The Fungible DPU™

Fungible DPU™ Software

Data Plane (FunOS)

Linux

FunVisor

ControlPlane Network

•IPoE•Fabric•Full TCP•Full RDMA•Full TLS•VXLAN•Stateless Offload•Encryption•Granular QoS

FunOS Nucleus (scheduling, timer, memory management)

Storage•NVME-o-FCP•NVME-o-TCP•Initiator + Target for Block Store KV Store File Store•Erasure Coding•Compression•Encryption•Pooling

Security•PUF•Secure Enclave•Key-Gen•Key-Store•TLS•Regex•Hash•DLP•Stateful Firewall

DPUDPU

Analytics•Sort•Filter•Join•Select•Map•Reduce•Lambda-o-FCP•Lambda-o-TCP

CPU (X86)CPU (X86)

Hypervisor / OS

VM OS

Drivers

Drivers

PCIe VFs Agents

Agents

Cluster ServicesTopology, Configuration,

Monitoring, Telemetry, Policy

Cluster ServicesTopology, Configuration,

Monitoring, Telemetry, Policy

NorthboundRest APIs

SouthboundAPIs

Virtualization•VXLAN•V-Router•V-Switch•Per VF QoS•Full BMV•Full RPC OffloadAll Accelerators exposed via PCIE VF’s

19

Page 20: The Fungible DPU™

Multiple Levels of Programmability

Software running on the DPU•DPU control plane•DPU data plane

Software running on a PCIe connected X86 Host•OS drivers and Agents•Data path code execution via eBPF

Cluster Services for management and control of multiple DPU systems•Northbound APIs for orchestration systems

20

Page 21: The Fungible DPU™

1 Full chip dedicated to service2 All measurements are full-duplex

Infrastructure Services Performance

Service Measured Performance Estimated1 Performance

TCP2 (Single Flow, Multi Flow) 50Gbps, 250Gbps 70Gbps, 400Gbps

TLS2 Session Setup Rate 32,000/sec 100,000/sec

IPSEC2 (Single Flow, Multi Flow) - 10Gbps, 250Gbps

Stateful Firewall2 - 370Gbps

OVS - 400Gbps

Load Balancer 256Gbps 300Gbps

Block Store (4K IOPS) 8M 10M

Video Streaming 256Gbps 300Gbps

TPC-H Benchmark (relative to X86) 3X-100X -

21

Page 22: The Fungible DPU™

TrueFabric Performance

Traffic Pattern 1024 * (Node to Node) 1024 Node to 1024 Node 1024 Nodes to 1 NodeFabric Utilization 90.7% 93% 90%Latency Mean 1.84ms 2.10ms 1.71msLatency Variance 0.13ms 0.32ms 0.12msLatency P99 2.14ms 3.30ms 1.75ms

Network Configuration:•1024 Nodes•200Gbps/Node•Two-tier leaf-spine•Leaf ZLL: 500ns•Spine ZLL: 500ns•iMix packet profile

22

TM

Latency (ms) Latency (ms) Latency (ms)

Page 23: The Fungible DPU™

General-purpose Vector floating point

CPU Fungible DPU™

Data-centric

GPU

A New Category of MicroprocessorPurpose-built for the data-centric era

Multi-core, MIMDHigh IPC for single threadsFine-grain memory sharingClassical cache coherencyBased on locality of referenceIdeal for low to medium I/O

Multi-core, SIMDHigh throughput for vector processingCoarse-grain memory sharingRelaxed coherencyBased on data >> instructionsIdeal for graphics, ML training

Multi-core, MIMD + tightly-coupled acceleratorsHigh throughput for multiplexed workloads TrueFabricTM enables disaggregation and poolingSpecialized memory system and on-chip fabricIdeal for network, storage, security, virtualizationData-centric computations run >10X more efficiently

23

Page 24: The Fungible DPU™

Announcing the Fungible F1 and S1 DPUsCommon Architecture and Programming Model

• Storage target• AI Server• Security appliance• Analytics

• Bare-metal virtualization• Storage initiator, local instance storage• NFV applications• Node security

24

Page 25: The Fungible DPU™

THANK YOU