august 2015 enabling fpgas in hyperscale data …fpgas as a service acceleration as a service...

18
© 2015 IBM Corporation Enabling FPGAs in Hyperscale Data Centers J. Weerasinghe 1 , F. Abel 1 , C. Hagleitner 1 , A. Herkersdorf 2 1 IBM Research Zurich Laboratory 2 Technical University of Munich J. Weerasinghe; IEEE CBDCom 2015, Beijing; 13 th August 2015

Upload: others

Post on 21-Jul-2020

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Enabling FPGAs in Hyperscale Data Centers

J. Weerasinghe1, F. Abel1, C. Hagleitner1, A. Herkersdorf2

1IBM Research – Zurich Laboratory2Technical University of Munich

J. Weerasinghe; IEEE CBDCom 2015, Beijing; 13th August 2015

Page 2: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Background

Motivation

Hyperscale Data Center

Network-attached FPGAs

OpenStack Integration

Conclusion

Outline

2

Page 3: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Background

3

Cloud(Public/Private)

Heterogeneous workloads are

moving into the cloud.

How do we accelerate them?

Page 4: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Motivation

4

IaaS PaaS SaaS

FPGAs as a Service Acceleration as a Service

Cloud(Public/Private)

Accelerate Workload Processing in the Cloud

• Research

• Educational

• Testing

• FPGA-

accelerated

APIs

• Improved user

experience

(e.g. BING)

Page 5: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

FPGA Deployment Challenges

5

Fail-in-Place

Workload Migration

Optimal Utilization

Scalability

Page 6: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Server/Cloud Data Center Trends

6

Time

Sca

lab

ility

, E

ffic

ien

cy

Software-defined Servers [2]

(disaggregated resources)

[1] Cray and X-ES Microserver

[2] Network support for resource disaggregation in next-generation datacenters (UC Berkeley & Huawei, 2013)

Traditional Servers

(not virtualized)

Hyperscale Servers [1]

Virtualized Servers

Page 7: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

8K Compute modules & 400TB DRAM in 4 racks

7

Compute module with up to 48GB DRAM

128 Compute modules in a 2U chassis

133 mm

55 mmFPGA

Hyperscale Data Center (e.g. IBM DOME uServer)

Page 8: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation8

CPU Node

CPU FPGA

FPGA Node

PCIe

CPU Node

CPU FPGA

CPU Node

CPU FPGA

FPGA Node

DC Network

FPGA-CPU Attachment Options

FPGA as a co-processor FPGA as a peer-processor

Page 9: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation9

PRR: Partially Reconfigurable Region, FDB: Forwarding DB,

OVN: Overlay Virtual Network, TEP: Tunnel Endpoint

Network-attached FPGA

FPGA Module

FPGA

Memory

Network Service Layer (NSL)

Management Layer (ML)

User Logic (vFPGA)

Data Center Network

FPGA Module

FPGA

Network Service Layer (NSL)

Ethernet Media Access Controller (MAC)

Application Interface

Buffer Buffer Buffer

Memory vFPGA2 MemoryvFPGA1 Memory

Buffer Buffer

Management Layer (ML)

Network and Transport Stack

FDB

L3-L4 Protocol

Data Plane

OVN TEP

Memory Access

User Logic(vFPGA1)

User Logic(vFPGA2)

Memory Controller

Memory Virtualizer

ManagementStack

(On-/Off-FPGA)

MemoryManager

Page 10: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation10

Hyperscale Data Center w/ Network-attached FPGAs

Rack-1

6363

Chassis-1

00

6363

Chassis-16

00

Rack-1

6363

Chassis-1

00

6363

Chassis-16

00

Rack-1

6363

Chassis-1

00

6363

Chassis-16

00

Rack-1

6363

Chassis-1

00

00

6363

Chassis-16

00

00

Compute Module Storage Module

Networking Module Top-of-Rack Switch

FPGA Module Other Modules

Page 11: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation11

Nova(compute)

Cinder(block storage)

Neutron(network)

volume storage(iSCSI etc)

(OS images, VM images, FPGA bitstreams))

Horizon(dashboard)

Swift(object

storage)

Network Manager

API

Apps

Virtualization

SDN Controller

SDN-enabled FPGA Module

SDN-enabled Network Switch

SDN-enabledNetwork Switch

SDN-enabledFPGA Module

User

OpenStack

Centralized Network Management

HW

scheduler

SDNplug-in

Accelerator Service

API

Glance(Image Service) queue

worker

FPGAplug-in

GPUplug-in

FPGA resource

pool

DB

Apps

OpenStack Integration

Page 12: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

vFPGA: Rent Your FPGA in the Cloud

12

CPU

vFGPA

VM

IP Address: 10.10.1.9Memory Capacity: 8GBResources:

CLB: 100000DSP: 800BRAM: 400

IP Address: 10.10.1.8Memory Capacity: 8GBCPU Cores: 4

Cloud(Public/Private)

FPGA

Page 13: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation13

FPGA Fabrics: Create Your Own FPGA Topology

FPGA

Resource

Pool

Streaming?

MapReduce? Neural Networks?

Page 14: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation14

FPGA Fabric Description

Network Manager

FPGA

FPGA

FPGA

FPGA

FPGA

OpenStack Accelerator Service

SDN-enabledDC Network

FPGA Fabric Deployment

Page 15: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation15

Compute Module

SW Application

Library

FPGA Fabric

(1)init()

(2)s

end()

(3)r

ece

ive

()

(4)c

lose()

(1)-

a-c

onnect

(1)-

b-c

onnect

(4)-

a-d

isconnect

(4)-

b-d

isconnect

…..

FPGA Fabric Handle

Programming Model

Page 16: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Outlook

16

Per Rack Compute Performance

Per Rack Hyperscale Server [1] Hyperscale FPGA [2]

Modules 2048 2048

Cores 24586 4096

CLBs(10^6) - 71

Memory(TB) 100 100

TFLOPS(32 bit) 442 958

[1] FreeScale T4240 SoC-based

[2] Xilinx Zynq 7100 SoC-based

Page 17: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

Conclusion

17

Make the FPGA Free from CPU

and

Go Large Scale

FPGAs must be deployed in data centers

FPGAs must be made available to the cloud users

Large-scale deployment requirements–A scalable infrastructure

–A change in the CPU-FPGA interface

–A management framework

We propose –Network-attached FPGAs in hyperscale data centers

–OpenStack accelerator service to provision FPGAs in the cloud

Page 18: August 2015 Enabling FPGAs in Hyperscale Data …FPGAs as a Service Acceleration as a Service Cloud(Public/Private) Accelerate Workload Processing in the Cloud •Research •Educational

© 2015 IBM Corporation

THANKS

18