Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS...
Transcript of Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS...
![Page 1: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/1.jpg)
Enabling Programmable Logic in the Cloud
Kimon Karras
27/10/2015
![Page 2: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/2.jpg)
Overcoming the scaling wall
• Performance improvements through HW has all but stalled.
• Multiple ways out of this have been proposed:• Heterogeneity is always a key element.
• Programmable logic shows impressive performance & power consumption benefits in a multitude of applications.
![Page 3: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/3.jpg)
FPGA Performance Benefits
• Microsoft Catapult
• Baidu DNN acceleration
![Page 4: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/4.jpg)
Hurdles & Caveats
• FPGAs can yield impressive performance benefits for many workloads but…
• Long and difficult development• Lack of appropriate binding into the existing cloud infrastructure
• Goal: Enable users to leverage programmable logic to speed up their application in a cloud environment
![Page 5: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/5.jpg)
Making FPGAs Cloud-ready
FPGA SoC
Embedded Linux
OpenStackWorker
Static Area
PCAP
AXI DMA
DevC Modifiedlibvirt
Processing System
HW VM(Dynamic Area)
HW Monitoring
HW VMAXI Interconnet
Network I/F
Monitoring Component
• Development time reduction: Provide a ready-made, configurable platform (also know as the doughnut)
• Cloud integration: Through our Openstack platform
![Page 6: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/6.jpg)
FPGA 101
6
![Page 7: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/7.jpg)
FPGA Realities & Challenges
7
• FPGAs are fundamentally different than processors:– No hypervisor exists.– Programmed by “bitstreams”.
• Bitstreams are different than SW binaries in fundamental ways:1. They are completely device dependent.2. They are immutable in space.3. They take time to generate (several hours is the norm)
• This creates significant limitations when deploying a “VM” on an FPGA.
Full Configuration Partial Configuration
Static Area
DynamicArea
![Page 8: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/8.jpg)
HW Platform Overview
FPGA SoC
SDN Controller
Cloud Controller
OpenStack Neutron
VIMProcessing System
Linux
Static Area
OpenStackWorker HW
VM
SW stack consists of a Linux OS running a
modified OpenStack Agent
Static Area consists of the necessary infrastructure to
receive the image & perform PR
Dynamic area is where the VNFC
is deployed
Network data goes directly into the PS
• Design decisions:• FPGA is “single-tenant”• Only “pure” HW VNFCs are supported
![Page 9: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/9.jpg)
HW Platform Deep Dive
FPGA SoC
SDN Controller
Cloud Controller
OpenStack Neutron
VIM
Embedded Linux
OpenStackWorker
Static Area
PCAP
AXI DMA
DevC Modifiedlibvirt
Processing System
HW VM(Dynamic Area)
HW Monitoring
HW VMAXI Interconnet
Network I/F
Monitoring Component
Connection to other VNFCs
HW/SW monitoring component
High-performance AXI interconnect infrastructure
OpenStack Sub-system
DevC is the linux driver for PCAP which access the actual reconfiguration
memory
![Page 10: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/10.jpg)
HW VNFC Deployment
FPGA SoC
SDN Controller
Cloud Controller
OpenStack Neutron
VIM
Embedded Linux
OpenStackWorker
Static Area
PCAP
AXI DMA
DevC Modifiedlibvirt
Processing System
HW VM(Dynamic Area)
HW Monitoring
HW VMAXI Interconnet
Network I/F
Monitoring Component
Connection to other VNFCs
![Page 11: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/11.jpg)
OpenStack Integration
• FPGA works as a compute node• Deploy Worker-only services
• Absence of supported hypervisor → modified nova-compute and scheduler services expose FPGA resources
• Scheduler modified to query & identify FPGA resources.
• Glance image service is used to store the bitstream implementing various „flavors“ of the VNFC.
![Page 12: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/12.jpg)
Orchestration Integration
• Enabling FPGAs as IaaS means enabling their use in Orchestration platforms
• This work is currently being done in the FP7 T-Nova project.
• This work involves providing the appropriates API in the FPGA & adding descriptor support as needed.
![Page 13: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/13.jpg)
Current Status & Future Steps
• First working FPGA SoC-based prototype on a Xilinx Zynqdevoplment board.
• Demonstrates system functionality and performance.
• Engaging with potential customers & looking for additional funding to further development:
1. Design custom system board2. Extend platform capabilities (more peripheral support)
L167.65mm x H68.90mmm
![Page 14: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/14.jpg)
Demo Plan
• Two-pronged approach to demonstrate value proposition:• Stand-alone deployment of a service to the FPGA SoC over OpenStack
• Complete integration with Orchestration framework in a data centerenvironment
FPGA SoC
VIM
Processing System
Linux
Static Area
OpenStackAgent
HW
VM
OrchestratorVNF
Image Repository
Integrated Demo
VIM
Processing System
Linux
Static Area
OpenStackAgent
HW
VM
Stand-alone Demo
• FPGA-compatible
VNFD• Supported
image format
• Maintain I/F compatibility
when adapting OpenStack
• Correct resource identification
• Middeware API
![Page 15: Enabling Programmable Logic in the CloudOpenStack Worker HW VM SW stack consists of a Linux OS running a modified OpenStack ... •Design decisions: •FPGA is single-tenant _ •Only](https://reader034.fdocuments.us/reader034/viewer/2022042313/5edd86cfad6a402d6668a655/html5/thumbnails/15.jpg)
Summary
• Programmable logic can help overcome current performance issues.
• However, considerable issues exist.
• Programmable Cloud Platform addresses these issues by exposing an FPGA as one more compute resource in a standard cloud environment.