FPGA as a Service (FaaS) provides instances that are equipped with field-programmable gate arrays (FPGAs). These instances are known as FPGA-accelerated instances. FPGA hardware and acceleration applications can be reconfigured to obtain low-latency hardware and elastic resources.

FaaS platform

Conventional FPGA hardware is time-consuming and difficult to develop. In addition, high-level protection is required for the release and deployment of hardware acceleration algorithms. The FaaS platform provides a unified hardware platform and middleware in the cloud to reduce the costs for developing and deploying accelerators. You can develop and deploy your own accelerators without the need to understand the underlying hardware. You can also use the acceleration services provided by accelerator providers.

The FaaS platform consists of the following components:
  • Hardware infrastructure: FPGA-accelerated instances, and hardware acceleration development and deployment platforms such as Intel and Xilinx.
  • Cloud-based development environment: software from providers such as Quartus and Vivado, and third-party electronic design automation (EDA) software for emulation and simulation.
  • FPGA-accelerated intellectual property (IP) development ecosystem: image transcoding, genetic computation, data encryption, video compression, hardware emulation design, and deep learning (prediction or training).

Alibaba Cloud provides FPGA-accelerated instances based on the FaaS platform to offer FPGA acceleration capabilities and maintain the same user experience as that provided by common Elastic Compute Service (ECS) instances. To create an FPGA-accelerated instance in the ECS console, you can select an enterprise-level heterogeneous computing instance type. For more information about instance types, see Instance family.

Features

  • Unity

    FPGA-accelerated instances are more reliable and easier to transplant and develop. FPGA-accelerated instances are compatible with a variety of FPGA devices such as Intel and Xilinx devices, and support the Multiboot feature that implements hardware burning by using Shell scripts.

  • FPGA virtualization

    The FPGA software and hardware virtualization solution developed by Alibaba Cloud can meet the requirements for security isolation in the cloud. Hot upgrades are supported to allow online re-configuration of user logic without service interruption.

  • Joint simulation platform

    Intel and Xilinx devices are supported so that you can perform joint simulation of software and hardware to provide cost-efficient computing capabilities without the need to change original designs.

  • Dynamically configurable interconnection topology

    FPGA-accelerated instances support interconnection topologies of one, two, or four FPGAs. These topologies can be dynamically configured to provide the optimal cost efficiency. Express Connect is used between FPGAs of the same accelerator card to implement real-time transfer of a large amount of data without a bandwidth bottleneck.

Toolkits

The FaaS platform provides hardware development kits (HDKs) and SDKs to build a more efficient and unified development and deployment platform. FaaS platform architecture
  • An HDK uses the combination of Shell and Role to ensure the lightweightness and stability of Shell without compromising convenience and flexibility.
  • An SDK consists of the following components:
    • Host drivers and libraries that correspond to HDK Shell and Role, and provide unified and flexible software support.
    • faascmd, the FPGA management toolkit that provides cloud-based FPGA management services. faascmd offers features such as security verification of BIT or DCP files, FPGA image generation, download, and management, and FPGA accelerator card status query.

    FaaS-based image operations are dependent on Alibaba Cloud Object Storage Service (OSS). Therefore, you must activate OSS before you can use FPGA-accelerated instances. For more information about how to activate OSS, see Activate OSS.

Billing

FPGA-accelerated instances are billed in the same ways as ECS instances. Computing resources (vCPUs and memory), images, Elastic Block Storage (EBS) devices, public bandwidth, and snapshots are billable resources in FaaS.

The following common billing methods are supported:
  • Subscription: You pay for resources upfront and use them over a period of time.
  • Pay-as-you-go: You pay for resources after you use them. Resources can be purchased and released as needed.
  • Preemptible instance: You can bid for available computing resources to create preemptible instances. Preemptible instances offer discounts compared with pay-as-you-go instances. However, preemptible instances can be reclaimed.
  • Reserved instance: Reserved instances are discount coupons that are used together with pay-as-you-go instances. When you purchase a reserved instance, you make a commitment to use instances that have specified configurations such as instance type, region, and zone to receive discounted billing. Reserved instances are applied to offset the bills of computing resources.
  • Savings plan: Savings plans are discount plans that are used together with pay-as-you-go instances. When you purchase a savings plan, you make a commitment to use a consistent amount (measured in USD/hour) of resources to receive discounted billing. Saving plans are applied to offset the bills of computing resources and system disks.
  • Storage capacity unit (SCU): SCUs are storage resource plans provided for use with pay-as-you-go storage resources. When you purchase an SCU, you make a commitment to use storage resources of specific capacity to receive discounted billing. SCUs are applied to offset the bills of various storage resources such as EBS devices, Apsara File Storage NAS file systems, and OSS buckets.

For more information about the billing methods of ECS instances, see Billing overview and the Pricing tab of the Elastic Compute Service product page.