+ All Categories
Home > Documents > An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for...

An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for...

Date post: 03-Aug-2020
Category:
Upload: others
View: 9 times
Download: 0 times
Share this document with a friend
38
An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss, Christoph Hagleitner and Bernard Metzler IBM Research - Zurich 2020 OFA Virtual Workshop
Transcript
Page 1: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

An FPGA platform for Reconfigurable Heterogeneous HPC and

Cloud ComputingFrancois Abel, Burkhard Ringlein, Beat Weiss, Christoph Hagleitner and Bernard Metzler

IBM Research - Zurich

2020 OFA Virtual Workshop

Page 2: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Agenda

▪ The advent of accelerators

▪ The cloudFPGA platform from 10’000 feet

▪ Architecture and design choices

• Hardware: Boards, SLEDs, chassis

• Software: Shell, Role, Management Core

• Data Center: Resource Manager

▪ Deployment @ ZYC2

▪ Network Stack

• Data path

• RDMA/Fabric choices

• NVM integration

▪ Summary & Outlook & Call for contributions

2 © OpenFabrics Alliance

Page 3: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Computing Efficiency: 40 Years in a Minute

▪ Memory capacities are scaling directly with

Moore’s law.

▪ So did the clock speeds until the very early 2000s.

▪ Then physical effects limited the clock speeds to

~ 4Ghz.

▪ To take profit from a still increasing number of

transistors, specialization seems to be a

promising path.

▪ System specialization using accelerators:

Architectures designed with a specific class of

computations in mind.

3 © OpenFabrics Alliance

J. Hennessy, D. Patterson, Computer Architecture: A Quantitative Approach (6th Edition, 2019)

Inspired by Bernd Klauer. The convey hybrid-core architecture.High-Performance Computing Using FPGAs, Springer, New York, 2013

Age ofspecialization

Page 4: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Silicon Alternatives for rapid enterprise-ready Specialization

▪ A GPU is effective at processing the same set of operations in parallel – single instruction, multiple data (SIMD).

▪ A GPU has a well-defined instruction-set, and fixed word sizes – for example single, double, or half-precision integer and floating-point values.

4 © OpenFabrics Alliance

▪ An FPGA is effective at processingthe same or different operations in parallel –multiple instructions, multiple data (MIMD).

▪ An FPGA does not have a predefined instruction-set, or a fixed data width.

Flexibility Efficiency

ASIC

Figu

res

sou

rce:

AW

S -

An

no

un

cin

g A

maz

on

EC

2 F

1 In

stan

ces

wit

h C

ust

om

FP

GA

s,

Bri

ngi

ng

Har

dw

are

Acc

eler

atio

n c

lose

r to

th

e p

rogr

amm

er,

Eco

scal

e-Ex

aNes

tw

ork

sho

p, 2

01

7

Not covered

here

Page 5: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Goals

Goal → Deploy FPGAs at large scale in hyperscale Data Centers

1-10s of thousands per DC

▪ Cloud driven requirements

✓ Server commodity & homogeneity

✓ Decrease in cost and power

✓ Easy to manage and to deploy

✓ On-demand acceleration

✓ High utilization + workload migration

✓ Security, virtualization, orchestration

✓ Hybrid → public & private

✓ Flexible → IaaS, PaaS, FaaS

✓ Clusters → #accelerators per server

✓ Community → # of APPs, # of developers

5 © OpenFabrics Alliance

Page 6: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA in a few Words

▪ End of CPU slavery• FPGA becomes the compute node

▪ Standalone Operation• Disaggregate from CPU servers

• Independent scaling of compute

• Fast, independent operation (power on/off)

▪ Network attached• TCP/UDP/IP/Ethernet (today 10 .. 40GbE)

• Leaf-spine topology

▪ Hyperscale infrastructure• Focus on cost, energy, density, scalability

• Promotes usage of mid-range FPGAs

6 © OpenFabrics Alliance

Credit: UPS

Credit: Ford

Credit: Amazon

Page 7: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

© OpenFabrics AllianceThis work (cloudFPGA)

FPGAs to become 1st class citizens in DC Cloud

DCNetwork

CPU

FPGA

Server

CPU

FPGA

Server

CPU

FPGA

Server

CPU

FPGA

Server

FPGA

CPU

Server

FPGA

FPGA

FPGA

FPGA

FPGA

FPGA as a Co-Processor FPGA as a Peer-Processor

CPU-Centric Deployment FPGA-Centric Deployment

7

Page 8: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

DC Vision = Hyperscale Infrastructure

8 © OpenFabrics Alliance

10 Tb/s full-duplex

64/chassis 1024/rack Plentiful/DC

StandaloneNetwork-attached

FPGAs overTCP/IP/Ethernet

The FPGA platform

Rack-1

63

63

Chassis-1

00

63

63

Chassis-16

00

Rack-1

63

63

Chassis-1

00

63

63

Chassis-16

00

Rack-1

63

63

Chassis-1

00

63

63

Chassis-16

00

Rack-1

00

31

00

31

00

31

00

31

Chassis-16Chassis-1

Page 9: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Cloud Vision = IaaS, PaaS, FaaS

9 © OpenFabrics Alliance

VM

SourceCode

1 FPGA

DC Backbone

1

FPGA-based

Serverless

Functions and

Microservices

IBM Cloud Services(e.g. Watson-VR, -NLU, -D)

IBM Cloud Functions

Blockchain4

DNNDNNDNNDNN

1000+ FPGAs

3

IaaS PaaS FaaS

2

100+ FPGAs

Page 10: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Architecture & Design choices

HW: Boards, SLEDs, chassis

10 © OpenFabrics Alliance

Page 11: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Standalone → The FPGA becomes the Node

11 © OpenFabrics Alliance

Bare Metal VM

Container

FPGA

IP Address: 10.10.1.50DRAM: 32GB, Cores: 4

IP Address: 10.10.1.9DRAM: 8GB, BRAM: 38MBCLBs: 660.000. DSPs: 2760

Disaggregate FPGA from the server

Page 12: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Standalone network-attached FPGA

1. Replace PCIe I/F with

integrated NIC (iNIC)

2. Turn FPGA card into a

standalone resource

3. Replace transceivers with

backplane connectivity

12 © OpenFabrics Alliance

Page 13: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

One carrier SLED (a.k.a PoD) = 32 FPGA modules

13 © OpenFabrics Alliance

Page 14: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

The cloudFPGA Platform (19”x2U w/64 FPGAs)

14 © OpenFabrics Alliance

Page 15: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Architecture & Design choices

SW: Shell, Role, Management core

15 © OpenFabrics Alliance

Page 16: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Hardware Abstraction → Shell Role Architecture (SRA)

16 © OpenFabrics Alliance

ROLE (non-privileged)Embeds user’s application logic. Partially reconfigured over the network. (typically HLS)

SHELL (privileged logic)Abstracts hardware components of FPGA and exposes standard AXI(S) interface to user

Page 17: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Development Kit (cFDK)

17 © OpenFabrics Alliance

Typical HLS flow

Page 18: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

FPGA Management Core

The FMC understands REST API calls:

▪ POST /configure Submits a partial bitfile and triggers the PR of the Role region.

▪ GET /status Returns some application-specific status information.

▪ PUT /node_id Sets the node-id register of the Role.

▪ POST /routing Sends the routing information of a cluster to the FPGA. © OpenFabrics Alliance18

There is one management core per FPGA (FMC):

▪ The FMC contains a simplified

HTTP server which provides

support for the REST API calls

issued by the Data Center

Resource Manager (DCRM).

Page 19: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Architecture & Design choices

DC: Resource manager

19 © OpenFabrics Alliance

Page 20: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Cloud Service Architecture for FPGAs (1/2)

20 © OpenFabrics Alliance

▪ Instance = CPU + Image

▪ Cluster = N * Instance

A typical cloud service hosting VMs has three components:

▪ A pool of compute resources

▪ A database of VM images

▪ A management service

Page 21: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Cloud Service Architecture for FPGAs (2/2)

21 © OpenFabrics Alliance

▪ Instance = FPGA + Bitstream

▪ Cluster = N * Instance

Page 22: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

RESTful Web API Based

22 © OpenFabrics Alliance

Page 23: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Deployment @ ZYC2

23 © OpenFabrics Alliance

Page 24: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

IaaS - “Hello, World!” with a single FPGA

▪ Download the cFDK to work remotely on your desktop or use a VM @ ZYC2

▪ Setup a VPN client, create an OpenStack project and a private network for it

▪ Develop and simulate

▪ Place and route

▪ Upload your bitstream

▪ You’ll receive an image-id

▪ Request an instance to be launched with your image-id

▪ You’ll get back an image-IP and an instance-id

▪ Ping the image-IP

▪ You are ready to communicate with your FPGA via network sockets with TCP or UDP protocol!

24 © OpenFabrics Alliance

VM

SourceCode

1 FPGA

Page 25: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

PaaS - ZRLMPI Framework

© OpenFabrics Alliance

$ ZRLMPIrun new udp 10.0.47.11 0ddb12b2-8459-4843-b339-236b2b92b59f 8 ./stencil_SW 0 using udpsetting up cluster…verify network… start MPI… ....

{“node”: {

“cpu” : [0]“fpga”: “1–8”

}}

▪MPI is the de-facto standard for HPC• ZRLPMI → Bring MPI to Reconfigurable Heterogeneous HPC clusters

• ZRLMIPrun → One-click deployment

MPI CZRLMPIcc(cross-compiler)

HSL

HLS Library

+

Message

Passing Engine

FPGA

partial

bitstream

ZRLMPIlib.so

CPU runtime

CPU

software

binary

host IPpartial bitstream id

# of FPGAs

software binary

software rank

C

Page 26: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Networking

26 © OpenFabrics Alliance

Page 27: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Network topology per chassis = 64 FPGAs + 2 Switches

27 © OpenFabrics Alliance

▪ Legend (per slice):

[==] x8 40GbE up links (320 Gb/s)

[––] x32 10GbE FPGA-to-Switch links (320 Gb/s)

[––] x32 10GbE redundant links

[––] x32 10GbE FPGA-to-FPGA links

[██] x16 PCIe x8 Gen3

SP x1 Service Processor

Balanced (i.e. no over-subscription) between north and south links of Ethernet switch

Page 28: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Networking per Card

▪ Ethernet 10 Gb/s

▪ TCP/IP and UDP/IP stack

(+ ICMP, ARP…)

▪ 10k simultaneous

connections

▪ Active and passive

connection establishment

▪ Network stack: 15% of

FPGA logic

28 © OpenFabrics Alliance

Communication Stack

Page 29: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Networking: RX/TX path

▪ Application interface• Socket API

• Asynchronous RX:

• TOE receives

• TOE signals app reception

• App reads/copies data

• Asynchronous TX:

• App signals buffer

• TOE copies data

▪ Data path (example RX)• IP receive, TOE places into memory

• TOE signals data reception and buffer location

• Socket receive copies data

• Path-through optimization for small # connections and immediate consume by application

▪ Architecture ready for RDMA operations• RoCEv2 or iWarp implementation needed

• libfabrics or libibverbs application library needed

• Feel free to contribute! 29 © OpenFabrics Alliance

Page 30: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

cloudFPGA Networking: Performance

30 © OpenFabrics Alliance

Latency (RTT)

• FPGA/FPGA

• UDP: 2 μs

• TCP: 7 μs

• FPGA/Host

• UDP: 20 μs

Throughput

• FPGA/FPGA

• UDP: max

• TCP: 80%

Comparison with bare-metal servers, VMs and Linux containers @ 10 Gb/s Ethernet

Page 31: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Non-volatile Memory Integration

31 © OpenFabrics Alliance

▪ 2 options for NVM integration:

• Replacing FPGA with NVMeF target possible

• Adding NVMe resource to FPGA preferred

▪ NVMe-oF target (TCP based)

▪ Remote (peer FPGA or CPU) + local access

▪ Very dense NVM integration

▪ Flexible ‘near storage compute’

[fig

ura

tive

pic

ture

on

ly]

Page 32: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Summary

▪ FPGAs are eligible to become 1st class citizens

• Standalone approach sets the FPGA free from the CPU

• Large scale deployment of FPGAs independent of #servers

• Significantly lowers the entry barrier

• Promotes the use of medium and low-cost FPGAs

▪ The network-attachment model

• Makes FPGAs IP-addressable and scalable in DCs

• Users can rent and link them in any type of topology

• Opens the path to use FPGAs in large scale applications

• Serverless computing, HPC, DNN inference,

Signal Processing, ...

▪ The hyperscale infrastructure

• Integrates FPGAs at the chassis (aka drawer) level

• Combines passive and active water cooling

• Key enabler for FPGAs to become plentiful in DCs

32 © OpenFabrics Alliance

Page 33: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

Future Work

▪ Open-source the cloudFPGA Development Kit (cFDK)

• Give the research community access to cloudFPGA platform

▪ Walking up the application stack

• Lower-precision inference and autoML

• Support for Vitis accelerated libraries

• Large-scale distributed applications

• Support popular programming languages and frameworks

▪ Walking up the systems stack

• Integration with Function-as-a-Service (aka Serverless computing)

• Add composable and disaggregated storage (NVMe-oF)

• Lighter and faster data center network protocols

• Adding RDMA protocols and API’s

▪ Expand the numbers of Xilinx-based modules & support other FPGA vendors

▪ Share the cloudFPGA platform design (e.g. à la OCP)

33 © OpenFabrics Alliance

Page 34: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

THANK YOUBernard Metzler

IBM Research - Zurich

2020 OFA Virtual Workshop

Page 35: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

BACKUP

© OpenFabrics Alliance35

Page 36: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

From top-of-rack down to SLED/PoD switch

36 © OpenFabrics Alliance

48 x 10GbE + 4 x 40GbE

32 x 10GbE + 8 x 40GbE

Switch Module SM6000

From 7938 cm3 …(41x44x4.4cm)

…to 378 cm3

(14x6x4.5cm)

1/2

1th

Page 37: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

How does it compare w/ PCIe cards?

▪ For comparison: ALPHA DATA ADM-PCIE-9H3, 1/2 Length, low profile, x16 PCIe form Factor

37 © OpenFabrics Alliance

Page 38: An FPGA platform for Reconfigurable Heterogeneous HPC and ... · An FPGA platform for Reconfigurable Heterogeneous HPC and Cloud Computing Francois Abel, Burkhard Ringlein, Beat Weiss,

How to disaggregate 4PB per rack with NVMe-over-TCP

© OpenFabrics Alliance

+

=


Recommended