august 2015 enabling fpgas in hyperscale data …fpgas as a service acceleration as a service...
TRANSCRIPT
© 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
© 2015 IBM Corporation
Background
Motivation
Hyperscale Data Center
Network-attached FPGAs
OpenStack Integration
Conclusion
Outline
2
© 2015 IBM Corporation
Background
3
Cloud(Public/Private)
Heterogeneous workloads are
moving into the cloud.
How do we accelerate them?
© 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)
© 2015 IBM Corporation
FPGA Deployment Challenges
5
Fail-in-Place
Workload Migration
Optimal Utilization
Scalability
© 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
© 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)
© 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
© 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
© 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
© 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
© 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
© 2015 IBM Corporation13
FPGA Fabrics: Create Your Own FPGA Topology
FPGA
Resource
Pool
Streaming?
MapReduce? Neural Networks?
© 2015 IBM Corporation14
FPGA Fabric Description
Network Manager
FPGA
FPGA
FPGA
FPGA
FPGA
OpenStack Accelerator Service
SDN-enabledDC Network
FPGA Fabric Deployment
© 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
© 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
© 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
© 2015 IBM Corporation
THANKS
18