Integrated circuits as a service
First Claim
1. A method for providing a programmable integrated circuit (IC) as a service, the method comprising:
- receiving a programmable IC design package at a data center;
adding a management payload to the IC design package;
creating a user key associated with the IC design package, wherein the user key matches the management payload;
providing selective access to the programmable IC through one or more virtual machines of the data center by employing the user key, wherein the one or more virtual machines communicate with the programmable IC using the user key and employ a custom hardware accelerator uploaded by a user associated with the IC design package;
enabling a launch of the one or more virtual machines, wherein the one or more virtual machines communicate with the programmable IC through a controller managing the programmable IC;
executing the IC design package at the programmable IC;
providing at least one of a billing tracking service and a provisioning management service associated with execution of the IC design package at the programmable IC; and
tracking a usage of the programmable IC based on a billing metric which includes a deployed time and a consumed power.
5 Assignments
0 Petitions
Accused Products
Abstract
Technologies are generally described for provisioning and managing access to FPGAs as a service. In some examples, a system for allowing provisioning management for shared FPGA use and access control to enable a user'"'"'s processes to access their custom programmed FPGA may accept user packages for compilation to an FPGA in communication with datacenter servers. The user packages may be imaged to the FPGA with an added management payload, and a driver and user key may be employed to allow selective access to the FPGA as a service for datacenter virtual machines. Together these elements allow a datacenter to provision rentable integrated circuits as a service (ICaaS). Additional services such as billing tracking, provision management, and access control may be provided to users allowing them to realize lower cost while the datacenter realizes greater return.
47 Citations
18 Claims
-
1. A method for providing a programmable integrated circuit (IC) as a service, the method comprising:
-
receiving a programmable IC design package at a data center;
adding a management payload to the IC design package;creating a user key associated with the IC design package, wherein the user key matches the management payload; providing selective access to the programmable IC through one or more virtual machines of the data center by employing the user key, wherein the one or more virtual machines communicate with the programmable IC using the user key and employ a custom hardware accelerator uploaded by a user associated with the IC design package; enabling a launch of the one or more virtual machines, wherein the one or more virtual machines communicate with the programmable IC through a controller managing the programmable IC; executing the IC design package at the programmable IC; providing at least one of a billing tracking service and a provisioning management service associated with execution of the IC design package at the programmable IC; and tracking a usage of the programmable IC based on a billing metric which includes a deployed time and a consumed power. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computing device providing a programmable integrated circuit (IC) as a service, the computing device comprising:
-
a memory; a processor coupled to the memory, the processor configured to execute an application, the application configured to; receive a programmable IC design package at a data center; add a management payload to the IC design package; create a user key associated with the IC design package, wherein the user key matches the management payload; provide selective access to the programmable IC through one or more virtual machines of the data center by employing the user key, wherein the one or more virtual machines communicate with the programmable IC using the user key and employ a custom hardware accelerator uploaded by a user associated with the IC design package; enable a launch of the one or more virtual machines, wherein the one or more virtual machines communicate with the programmable IC through a controller managing the programmable IC; execute the IC design package at the programmable IC; provide at least one of a billing tracking service and a provisioning management service associated with execution of the IC design package at the programmable IC; and track a usage of the programmable IC based on a billing metric which includes a deployed time and a consumed power. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computer-readable memory device having instructions stored thereon for providing Field Programmable Gate Array (FPGA) as a service, the instructions comprising:
-
receiving a programmable integrated circuit (IC) design package at a data center; adding a management payload to the IC design package; creating a user key associated with the IC design package, wherein the user key matches the management payload; providing selective access to the FPGA through one or more virtual machines of the data center by employing the user key, wherein the one or more virtual machines communicate with the FPGA using the user key and employ a custom hardware accelerator uploaded by a user associated with the IC design package; enabling a launch of the one or more virtual machines, wherein the one or more virtual machines communicate with the FPGA through a controller managing the FPGA; executing the IC design package at the FPGA; providing at least one of a billing tracking service and a provisioning management service associated with execution of the IC design package at the FPGA; and tracking a usage of the FPGA based on a billing metric which includes a deployed time and a consumed power. - View Dependent Claims (16, 17, 18)
-
Specification