FPGA Accelerator Virtualization in an OpenPOWER cloud Fei Chen, Yonghua Lin IBM China Research Lab
Trend of Acceleration Technology ��������� ��������������������� ����������������������������������� � TB scale problem � PB scale problem • Used FPGA to accelerate � Acceleration � Architecture for Bing search on 1632 servers architecture for single thousands of nodes • A 6*8 2D-torus design for node high throughput network topology � Dedicate acceleration � Shared acceleration resource resources � Proprietary accelerator � Open framework to • Storage >2000PB, framework enable accelerator sharing processing 10~100PB/day, & integration log 100TB~1PB/day • Using FPGA for storage controller � Close innovation model � Open innovation model • Used GPU for Deep through eco-system Learning �������������������� Acceleration programming becomes hot topics • Scalable acceleration fabric • Open framework for accelerator integration and sharing • Accelerator resource abstraction, re-configuration and scheduling in cloud OpenCL, Sumatra (Oracle), LiMe (IBM), … • Modeling & advisory tool for dynamic acceleration system composition 2
Resources on FPGA are huge � Resources on FPGA � Programmable resources � Logic cells (LCs) � DSP slices: Fixed/floating-point � On-chip memory blocks � Clock resources � Miscellaneous periphrals (Xilinx Virtex as an example) � DDR3 controllers � PCIe Gen3 interfaces � 10G Ethernet controllers � ... � Hard processor core � PowerPC: Xilinx Virtex-5 FXT �������������������� � ARM: Xilinx Zynq-7000 � Atom: Intel + Altera E600C ������������� ����� ���� !!"�#$%�&��'���������( ������#$%������'��)�����������������*"+!&������������� ,�����'���! ,���������������������-.��/0 �������'����'��&�)������1�����������*2" �3 � ��4����������������&����2*" ��56����������������0� 3
FPGA on Cloud – Double Win � Cloud benefits from FPGA � Performance � Power consumption � FPGA benefits from cloud � Lower the cost � Tenants need not purchase and maintain FPGAs. � Tenants pay for accelerators only when using them. � More applications � High FPGA utilization � Ecosystem � Grow with the cloud ecosystem 4
Motivation of Accelerator/FPGA as Service in Cloud 3��1����'��,������1����4� ��������4���,����� 9�)������������4���,�������'����'��'����� #$%�� ����#$%��-����/�1��,������ �������� �����������,����������������&��5�&�����������7 ������7 ���0 �5 ��������� �8&���������&���( ���0 �5 ��������� ��������� ���0 �5 �������������&� ������,����&����0 ���������������������������������������� ������������4,������,������4 9�)�������'������� #$%�:���������������������� <�����'��'������������������������������ )��'��5&����)�������������������������������4&� ��������������'���������������������7 ������)�������������)�������������� �7 '��� ��������� ;��)��� �5 ������ 2
FPGA Ecosystem in Cloud ��������������� ��������� ���������������!��$������� %�������& ���,���������� ����������� ����������������� ���!�� ���������������� �$�4������'����������������������&� �'���������������� ������� ���'����'���������������'���)��� � ������������,������������ �'����'�,������ )��������'���������4����� �%����'�����������������������������( ������-�0�0���� �����������&��'����'� ��������)�4 �������������'������������4��� ����$�?3�/ ������'���������93������'��������� )��'����������������� ��������'��'��)�������������4,���� ��,�������� )��'������������&������'���)��'� ������'�������������&� ��,����&����)���&������������0 ��,��������&�����&�������������� ������������������)����1������� �������,�����)�40 ���� ������������ ������������ ��#������� "��#������(���� ����"��� ��'��������� $��������������� $������������������#��� ������������������������)���� #$%� ���#����������� ��,���� ;��)��� ������ ����������� 1�4��'��=����������>� ����������������,����������� ��������������� ���������'�� ��������������4� ����#$%�������������&����� ���������'������������������ ����� ����� ���!��"��#�������#����
Accelerator as Service on SuperVessel Fig.2 Cloud users could apply � Accelerator MarketPlace for developers to accelerator when creating VM upload and compile the accelerators for SuperVessel POWER cloud � Allow user to request different size of cluster Fig.1 Accelerator MarketPlace for SuperVessel Cloud 7
FPGA Implementation $����:���$� 9��'�<���)���'��:� �������.���� ��������� � 8 A�1�B���� � A�1� �'������ ��������� < ���������� 85��3����� #$%���'�� ������������������ 3�' )���' 8��5 Computer ������4����������� …… � Apps � � � � � � < � 8 � � � � � ) � ! � OS " ����� �1��4��������@� '�����#$%���������� � ) � � ! � " � # � * � ������� �1��4����@�A�1�B����&� )���'&� … � � " Hardware � $ � � $������,� �1��4���@�8��5&�$���&����$&� … � � The FPGA subsystem is designed as a computer system. 8
System Implementation 3. VM request (with accelerator) Compute Iode 1. Accelerator source Compiler Scheduler code package 5. Launch VM Dashboard Control Iode Compute 2. image_file 4. acc_file Glance Compiler � Control Iode: Iova, Glance, Horizon, Ieutron, Swift � Compute Iode: Iova Compute � Compiler: FPGA incremental compiler environment 9
Recommend
More recommend