Presentation given by Dirk Koch (University of Manchester) at the LEGaTO Final Event: Low-Energy Heterogeneous Computing Workshop on 4 September 2020
This event was collocated with FPL 2020
3. 3
FOS – the FPGA Operating System
ZUCL: pre-built Shells
for Zynq Ultrascale+
with middleware for
running OpenCL
Comes with compile
scripts (RTL/HLS
relocatable bitstream
UltraZed, Ultra96, ZCU 102
4. 4
Resource Elastic FPGA Virtualization (for OpenCL)
Using aggressive reconfiguration to keep utilization high
Virtualization in the space-domain
(time-domain fallback, if needed)
FOS – the FPGA Operating System
5. 5
How to deploy FPGAs in datacenters?
Several commercial settings:
6. 6
How to deploy FPGAs in datacenters
Different development tools, tool versions, progr. models
(HLS or RTL likely not portable)
Different shell infrastructures
(even if cloud vendors use same
FPGA, memory, or board)
Different HALs and middleware
No real abstraction (shell updates accelerator updates)
No real cloud principles (elasticity? resource pooling?)
Hardware security? (applies to single and multi-tenancy)
7. 7
How NOT to deploy FPGAs in a datacenter!
Example AWS:
Shell interface
Logical interface is fixed
(AXI buses)
Physical is not fixed
(exact layout of the shell
and routing
Creates dependency
Modules run only with a
specific shell
Requires shell management
shell
memory
memorymemory
memory
die1
die2
die3
8. 8
How to deploy FPGAs in datacenters!
Example PCIeHLS [FSP 2017]:
Shell with shared memory
and all I/O interfaces
Fixed internal AXI interfaces
(clock-domain crossing)
Modules of different size
Module bitstream relocation
BitMan [DATE 2017]
Module replication
Independence of shell and
accelerator modules
Can share memory, I/O
bandwidth, FPGA resources
PCIe
&
2x
DDR3
slot1
slot2
slot3
slot4
slotX
9. 9
How to deploy FPGAs in datacenters!
shell
memorymemory
memory
memory
die1
die2
die3
PCIe
PCIe
&
2x
DDR3
slot1
slot2
slot3
slot4
slotX
Alveoshell
10. 10
Resource Elasticity
In a networked system
Load balancing and
load distribution
System keeps track
about input data and
committed results
Implements a distributed
checkpointing scheme
(tailored to OpenCL)
resilience
Also useful for
maintenance/updates
Live Migration
11. 11
11
FPGAs for Datacenters (H2020 ECOSCALE)
ECOSCALE demonstrator fully-populated 1u blade with
32 x Zynq UltraScale+ (ZU9EG with 16GB/node or 512 GB/blade)
www.ecoscale.eu
12. 12
12
FPGAs for Datacenters (H2020 ECOSCALE)
Partial reconfiguration allows moving
compute to data huge energy savings
13. 13
13
FPGAs for Datacenters (H2020 EuroEXA)
• 2-D integr. chips with custom ASIC (64b-ARM) and 2xVU9P FPGAs
• 300+ VU9Ps (will provide ~1B LUTs, 2M DSPs) www.euroexa.eu
14. 14
FPGADefender Virus Scanning for FPGAs
Detects probably any kind of self-oscillating circuit
Scans bitstream encoding (short circuits), high fan-out nets,
wire tapping, module bounding boxes, glitch-amplification,
interfaces to the shell, … (all at bitstream (netlist) level)
15. 15
People:
Tuan Minh La {tuan.la@postgrad.manchester.ac.uk}
Anuj Vaishnav {anuj.vaishnav@manchester.ac.uk}
Khoa Dang Pham {khoa.pham@manchester.ac.uk}
Kaspar Matas {kaspar.matas@manchester.ac.uk}
Nikola Grunchevski {nikola.grunchevski@manchester.ac.uk}
Dirk Koch {dirk.koch@manchester.ac.uk}
FPGADefenderFPGADefender
Secure and Virtualized FPGA Management for FPGAs