Patent · US10990309B2 · B2 · US
Technologies for coordinating disaggregated accelerator device resources
- (11) Publication number
- US10990309B2
- (21) Application number
- 15/721,833
- (22) Filing date
- 2017-09-30
- (30) Priority date
- 2016-11-29
- (43) Publication date
- 2021-04-27
- (45) Date of grant
- 2021-04-27
- (51) IPC
- G06F 9/38; G06F 9/50; G06F 9/54; H04L 47/20; G06F 11/07; G06F 11/30; G06F 11/34; G06F 12/02; G06F 12/06; G06F 13/16; G06F 16/174; G06F 21/57; G06F 21/62; G06F 21/73; G06F 21/76; G06F 3/06; G06F 7/06; G06F 8/65; G06F 8/654; G06F 8/656; G06F 8/658; G06F 9/4401; G06F 9/46; G06F 9/48; G06T 1/20; G06T 1/60; G06T 9/00; H01R 13/453; H01R 13/631; H03K 19/173; H03M 7/30; H03M 7/40; H03M 7/42; H04L 12/28; H04L 12/46; H04L 9/08; H05K 7/14
- (52) CPC
- G06F Electric digital data processing: 9/5005, 11/0709, 11/0751, 11/079, 11/1453, 11/3006, 11/3034, 11/3055, 11/3079, 11/3409, 12/023, 12/0284, 12/0692, 13/1652, 13/4022, 13/4027, 15/161, 15/80, 16/1744, 21/44, 21/57, 21/6218, 21/70, 21/73, 21/76, 2212/401, 2212/402, 2221/2107, 3/0604, 3/0608, 3/0611, 3/0613, 3/0617, 3/0641, 3/0647, 3/065, 3/0653, 3/067, 7/06, 8/65, 8/654, 8/656, 8/658, 9/3851, 9/3891, 9/4401, 9/4843, 9/4881, 9/5038, 9/5044, 9/505, 9/5083, 9/544
- G06T Image data processing or generation, in general: 1/20, 1/60, 9/005
- H01R Electrically-conductive connections; structural associations of a plurality of mutually-insulated electrical connecting elements; coupling devices; current collectors: 13/453, 13/4536, 13/4538, 13/631
- H03K Pulse technique: 19/1731
- H03M Coding; decoding; code conversion in general: 7/3084, 7/40, 7/42, 7/60, 7/6011, 7/6017, 7/6029
- H04L Transmission of digital information, e.g. telegraphic communication: 12/2881, 12/4633, 41/044, 41/046, 41/0816, 41/0853, 41/0895, 41/0896, 41/12, 41/142, 41/40, 43/04, 43/06, 43/08, 43/0894, 47/20, 47/2441, 47/78, 47/83, 49/104, 61/2007, 63/1425, 67/10, 67/1014, 67/327, 67/36, 9/0822
- H05K Printed circuits; casings or constructional details of electric apparatus; manufacture of assemblages of electrical components: 7/1452, 7/1487, 7/1492
- (73) Assignee
- Intel Corp
- (72) Inventors
- Francesc Guim Bernat; Evan Custodio; Susanne M. Balle; Joe Grecco; Henry Mitchel; Slawomir PUTYRSKI
- (54) Title
- Technologies for coordinating disaggregated accelerator device resources
- (57) Abstract
A compute device to manage workflow to disaggregated computing resources is provided. The compute device comprises a compute engine receive a workload processing request, the workload processing request defined by at least one request parameter, determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter, transmit a workload to the at least one accelerator device, receive a work product produced by the at least one accelerator device from the workload, and provide the work product to an application.
- Full text
- View on Google Patents
Claims (28)
- A compute device to manage workflow to disaggregated computing resources, the compute device comprising: a compute engine to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.
- The compute device of claim 1, wherein the compute engine comprises a pooled system management engine (PSME), wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.
- The compute device of claim 2, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.
- The compute device of claim 1, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.
- The compute device of claim 1, wherein the compute device is to parse the workload processing request for the at least one request parameter, wherein the at least one request parameter corresponds to a service-level agreement (SLA) requirement.
- The compute device of claim 1, wherein the compute engine is further to generate an accelerator device directory, wherein the accelerator device directory stores an accelerator device identifier identifying the at least one accelerator device in correlation with configuration data and the accelerator sled identifier for the at least one accelerator device, and wherein the configuration data is indicative of a number of operations per second that the at least one accelerator device is capable of performing, a function that the at least one accelerator device is capable of accelerating, and a present utilization of the at least one accelerator device.
- The compute device of claim 6, wherein the compute engine is further to: identify a configuration parameter of the at least one accelerator device from the accelerator device directory; and determine that the configuration parameter represents a capability of the at least one accelerator device to process the workload.
- The compute device of claim 1, wherein the compute engine is further to receive the work product from the orchestrator, the work product representing a completion of processing of the workload by the at least one accelerator device.
- The compute device of claim 1, wherein to transmit the workload to the at least one accelerator device comprises to transmit the workload through a secure and authenticated channel.
- The compute device of claim 1, wherein to determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter comprises to determine, based on an accelerator device directory, the at least one accelerator device capable of processing a workload in accordance with the at least one request parameter.
- The compute device of claim 1, wherein the determined at least one accelerator device is hosted on a remote device different from the compute device.
- The compute device of claim 1, wherein to determine the at least one accelerator device capable of processing a workload in accordance with the at least one request parameter comprises to: send the workload processing request to an orchestrator server; and receive, from the orchestrator server, an identification of the at least one accelerator device capable of processing the workload.
- One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute device to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.
- The one or more non-transitory machine-readable storage media of claim 13, wherein the compute device comprises a pooled system management engine (PSME) wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.
- The one or more non-transitory machine-readable storage media of claim 14, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.
- The one or more non-transitory machine-readable storage media of claim 13, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.
- The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to parse the workload processing request for the at least one request parameter, and wherein the at least one request parameter corresponds to a service-level agreement (SLA) requirement.
- The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to generate an accelerator device directory, wherein the accelerator device directory stores an accelerator device identifier identifying the at least one accelerator device in correlation with configuration data and the accelerator sled identifier for the at least one accelerator device, and wherein the configuration data is indicative of a number of operations per second that the at least one accelerator device is capable of performing, a function that the at least one accelerator device is capable of accelerating, and a present utilization of the at least one accelerator device.
- The one or more non-transitory machine-readable storage media of claim 18, wherein the plurality of instructions further cause the compute device to: identify a configuration parameter of the at least one accelerator device from the accelerator device directory; and determine that the configuration parameter represents a capability of the at least one accelerator device to process the workload.
- The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to receive the work product from the orchestrator, the work product representing a completion of processing of the workload by the at least one accelerator device.
- A compute device comprising: manager circuitry to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; and transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.
- The compute device of claim 21, wherein the compute device includes a pooled system management engine (PSME), and wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.
- The compute device of claim 22, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.
- The compute device of claim 21, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.
- A method for managing workflow to disaggregated computing resources, the method comprising: receiving, by a compute device, a workload processing request, the workload processing request defined by at least one request parameter; determining, by the compute device, at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieving, by the compute device, an accelerator sled identifier for the at least one accelerator device; transmitting, by the compute device, an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmitting, by the compute device and in response to receiving approval from the orchestrator to transmit the workload, the a workload to the at least one accelerator device; receiving, by the compute device, a work product produced by the at least one accelerator device from the workload; and providing, by the compute device, the work product to an application.
- The method of claim 25, wherein the compute device includes a pooled system management engine (PSME), wherein: receiving the workload processing request comprises receiving the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, determining the at least one accelerator device capable of processing the workload comprises determining the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, transmitting the workload to the at least one accelerator device comprises transmitting the workload without utilizing the host processor and without utilizing the host operating system of the compute device, receiving the work product produced by the at least one accelerator device comprises receiving the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and providing the work product to the application comprises providing the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.
- The method of claim 26, wherein determining the at least one accelerator device capable of processing the workload comprises determining at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.
- The method of claim 25, wherein receiving the workload processing request comprises receiving the workload processing request from an application executing on the compute device.
Description
In modern cloud environments, compute devices (sometimes referred to as compute sleds) host many computer applications (e.g., workloads) that each perform specific functions. Each application requires processing power to complete various application tasks (e.g., functions, processes, operations within a workload), such as data processing but also input and output tasks such as displaying data, receiving data, or the like. Many of the abovementioned tasks are processed using computer programs that embody complex logic sequences. Such logic sequences often execute faster when carried out by a specialized component, such as a field programmable gate array, an application specific integrated circuit (ASIC), or other device specifically configured for performing such computation (e.g., an accelerator device). An accelerator device may be configured using, for example, a hardware definition language, to perform tasks assigned by a computer application.
Given that accelerator devices typically specialize in executing a particular type of task (e.g., encryption, compression, etc.), an operating system of the compute device, or the application executing on the compute device, typically must identify the available features of the accelerator device(s) and manage communications with the accelerator device(s), taking away from compute resources (e.g., processor cycles) that could otherwise be spent on executing the application.
The concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures.
Citations (17)
- US20100191823A1
- US20120054770A1
- US20130179485A1
- US20130232495A1
- US9026765B1
- US20150007182A1
- US20170046179A1
- US20170116004A1
- US20170317945A1
- US10034407B2
- US10045098B2
- US10085358B2
- US20180077235A1
- US20180150299A1
- US20180150298A1
- US20180150330A1
- US20190065281A1
Record as JSON
{
"publication_number": "US10990309B2",
"country": "US",
"kind": "B2",
"title": "Technologies for coordinating disaggregated accelerator device resources",
"abstract": "A compute device to manage workflow to disaggregated computing resources is provided. The compute device comprises a compute engine receive a workload processing request, the workload processing request defined by at least one request parameter, determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter, transmit a workload to the at least one accelerator device, receive a work product produced by the at least one accelerator device from the workload, and provide the work product to an application.",
"claims": [
"1. A compute device to manage workflow to disaggregated computing resources, the compute device comprising: a compute engine to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.",
"2. The compute device of claim 1, wherein the compute engine comprises a pooled system management engine (PSME), wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.",
"3. The compute device of claim 2, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.",
"4. The compute device of claim 1, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.",
"5. The compute device of claim 1, wherein the compute device is to parse the workload processing request for the at least one request parameter, wherein the at least one request parameter corresponds to a service-level agreement (SLA) requirement.",
"6. The compute device of claim 1, wherein the compute engine is further to generate an accelerator device directory, wherein the accelerator device directory stores an accelerator device identifier identifying the at least one accelerator device in correlation with configuration data and the accelerator sled identifier for the at least one accelerator device, and wherein the configuration data is indicative of a number of operations per second that the at least one accelerator device is capable of performing, a function that the at least one accelerator device is capable of accelerating, and a present utilization of the at least one accelerator device.",
"7. The compute device of claim 6, wherein the compute engine is further to: identify a configuration parameter of the at least one accelerator device from the accelerator device directory; and determine that the configuration parameter represents a capability of the at least one accelerator device to process the workload.",
"8. The compute device of claim 1, wherein the compute engine is further to receive the work product from the orchestrator, the work product representing a completion of processing of the workload by the at least one accelerator device.",
"9. The compute device of claim 1, wherein to transmit the workload to the at least one accelerator device comprises to transmit the workload through a secure and authenticated channel.",
"10. The compute device of claim 1, wherein to determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter comprises to determine, based on an accelerator device directory, the at least one accelerator device capable of processing a workload in accordance with the at least one request parameter.",
"11. The compute device of claim 1, wherein the determined at least one accelerator device is hosted on a remote device different from the compute device.",
"12. The compute device of claim 1, wherein to determine the at least one accelerator device capable of processing a workload in accordance with the at least one request parameter comprises to: send the workload processing request to an orchestrator server; and receive, from the orchestrator server, an identification of the at least one accelerator device capable of processing the workload.",
"13. One or more non-transitory machine-readable storage media comprising a plurality of instructions stored thereon that, in response to being executed, cause a compute device to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.",
"14. The one or more non-transitory machine-readable storage media of claim 13, wherein the compute device comprises a pooled system management engine (PSME) wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.",
"15. The one or more non-transitory machine-readable storage media of claim 14, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.",
"16. The one or more non-transitory machine-readable storage media of claim 13, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.",
"17. The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to parse the workload processing request for the at least one request parameter, and wherein the at least one request parameter corresponds to a service-level agreement (SLA) requirement.",
"18. The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to generate an accelerator device directory, wherein the accelerator device directory stores an accelerator device identifier identifying the at least one accelerator device in correlation with configuration data and the accelerator sled identifier for the at least one accelerator device, and wherein the configuration data is indicative of a number of operations per second that the at least one accelerator device is capable of performing, a function that the at least one accelerator device is capable of accelerating, and a present utilization of the at least one accelerator device.",
"19. The one or more non-transitory machine-readable storage media of claim 18, wherein the plurality of instructions further cause the compute device to: identify a configuration parameter of the at least one accelerator device from the accelerator device directory; and determine that the configuration parameter represents a capability of the at least one accelerator device to process the workload.",
"20. The one or more non-transitory machine-readable storage media of claim 13, wherein the plurality of instructions further cause the compute device to receive the work product from the orchestrator, the work product representing a completion of processing of the workload by the at least one accelerator device.",
"21. A compute device comprising: manager circuitry to: receive a workload processing request, the workload processing request defined by at least one request parameter; determine at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieve an accelerator sled identifier for the at least one accelerator device; and transmit an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmit, in response to receiving approval from the orchestrator to transmit the workload, the workload to the at least one accelerator device; receive a work product produced by the at least one accelerator device from the workload; and provide the work product to an application.",
"22. The compute device of claim 21, wherein the compute device includes a pooled system management engine (PSME), and wherein: to receive the workload processing request comprises to receive the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, to determine the at least one accelerator device capable of processing the workload comprises to determine the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, to transmit the workload to the at least one accelerator device comprises to transmit the workload without utilizing the host processor and without utilizing the host operating system of the compute device, to receive the work product produced by the at least one accelerator device comprises to receive the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and to provide the work product to the application comprises to provide the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.",
"23. The compute device of claim 22, wherein to determine the at least one accelerator device capable of processing the workload comprises to determine at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.",
"24. The compute device of claim 21, wherein to receive the workload processing request comprises to receive the workload processing request from an application executed on the compute device.",
"25. A method for managing workflow to disaggregated computing resources, the method comprising: receiving, by a compute device, a workload processing request, the workload processing request defined by at least one request parameter; determining, by the compute device, at least one accelerator device capable of processing a workload in accordance with the at least one request parameter; retrieving, by the compute device, an accelerator sled identifier for the at least one accelerator device; transmitting, by the compute device, an accelerator device request to an orchestrator, wherein the accelerator device request includes a request to transmit the workload to the at least one accelerator device associated with the accelerator sled identifier; transmitting, by the compute device and in response to receiving approval from the orchestrator to transmit the workload, the a workload to the at least one accelerator device; receiving, by the compute device, a work product produced by the at least one accelerator device from the workload; and providing, by the compute device, the work product to an application.",
"26. The method of claim 25, wherein the compute device includes a pooled system management engine (PSME), wherein: receiving the workload processing request comprises receiving the workload processing request without utilizing a host processor and without utilizing a host operating system of the compute device, determining the at least one accelerator device capable of processing the workload comprises determining the at least one accelerator device without utilizing the host processor and without utilizing the host operating system of the compute device, transmitting the workload to the at least one accelerator device comprises transmitting the workload without utilizing the host processor and without utilizing the host operating system of the compute device, receiving the work product produced by the at least one accelerator device comprises receiving the work product without utilizing the host processor and without utilizing the host operating system of the compute device, and providing the work product to the application comprises providing the work product to the application without utilizing the host processor and without utilizing the host operating system of the compute device.",
"27. The method of claim 26, wherein determining the at least one accelerator device capable of processing the workload comprises determining at least one other accelerator device, the at least one other accelerator device being hosted on the compute device that also hosts the PSME.",
"28. The method of claim 25, wherein receiving the workload processing request comprises receiving the workload processing request from an application executing on the compute device."
],
"description_excerpt": "In modern cloud environments, compute devices (sometimes referred to as compute sleds) host many computer applications (e.g., workloads) that each perform specific functions. Each application requires processing power to complete various application tasks (e.g., functions, processes, operations within a workload), such as data processing but also input and output tasks such as displaying data, receiving data, or the like. Many of the abovementioned tasks are processed using computer programs that embody complex logic sequences. Such logic sequences often execute faster when carried out by a specialized component, such as a field programmable gate array, an application specific integrated circuit (ASIC), or other device specifically configured for performing such computation (e.g., an accelerator device). An accelerator device may be configured using, for example, a hardware definition language, to perform tasks assigned by a computer application.\n\nGiven that accelerator devices typically specialize in executing a particular type of task (e.g., encryption, compression, etc.), an operating system of the compute device, or the application executing on the compute device, typically must identify the available features of the accelerator device(s) and manage communications with the accelerator device(s), taking away from compute resources (e.g., processor cycles) that could otherwise be spent on executing the application.\n\nThe concepts described herein are illustrated by way of example and not by way of limitation in the accompanying figures.",
"cpc": [
"G06F 9/5005",
"G06F 11/0709",
"G06F 11/0751",
"G06F 11/079",
"G06F 11/1453",
"G06F 11/3006",
"G06F 11/3034",
"G06F 11/3055",
"G06F 11/3079",
"G06F 11/3409",
"G06F 12/023",
"G06F 12/0284",
"G06F 12/0692",
"G06F 13/1652",
"G06F 13/4022",
"G06F 13/4027",
"G06F 15/161",
"G06F 15/80",
"G06F 16/1744",
"G06F 21/44",
"G06F 21/57",
"G06F 21/6218",
"G06F 21/70",
"G06F 21/73",
"G06F 21/76",
"G06F 2212/401",
"G06F 2212/402",
"G06F 2221/2107",
"G06F 3/0604",
"G06F 3/0608",
"G06F 3/0611",
"G06F 3/0613",
"G06F 3/0617",
"G06F 3/0641",
"G06F 3/0647",
"G06F 3/065",
"G06F 3/0653",
"G06F 3/067",
"G06F 7/06",
"G06F 8/65",
"G06F 8/654",
"G06F 8/656",
"G06F 8/658",
"G06F 9/3851",
"G06F 9/3891",
"G06F 9/4401",
"G06F 9/4843",
"G06F 9/4881",
"G06F 9/5038",
"G06F 9/5044",
"G06F 9/505",
"G06F 9/5083",
"G06F 9/544",
"G06T 1/20",
"G06T 1/60",
"G06T 9/005",
"H01R 13/453",
"H01R 13/4536",
"H01R 13/4538",
"H01R 13/631",
"H03K 19/1731",
"H03M 7/3084",
"H03M 7/40",
"H03M 7/42",
"H03M 7/60",
"H03M 7/6011",
"H03M 7/6017",
"H03M 7/6029",
"H04L 12/2881",
"H04L 12/4633",
"H04L 41/044",
"H04L 41/046",
"H04L 41/0816",
"H04L 41/0853",
"H04L 41/0895",
"H04L 41/0896",
"H04L 41/12",
"H04L 41/142",
"H04L 41/40",
"H04L 43/04",
"H04L 43/06",
"H04L 43/08",
"H04L 43/0894",
"H04L 47/20",
"H04L 47/2441",
"H04L 47/78",
"H04L 47/83",
"H04L 49/104",
"H04L 61/2007",
"H04L 63/1425",
"H04L 67/10",
"H04L 67/1014",
"H04L 67/327",
"H04L 67/36",
"H04L 9/0822",
"H05K 7/1452",
"H05K 7/1487",
"H05K 7/1492"
],
"ipc": [
"G06F 9/38",
"G06F 9/50",
"G06F 9/54",
"H04L 47/20",
"G06F 11/07",
"G06F 11/30",
"G06F 11/34",
"G06F 12/02",
"G06F 12/06",
"G06F 13/16",
"G06F 16/174",
"G06F 21/57",
"G06F 21/62",
"G06F 21/73",
"G06F 21/76",
"G06F 3/06",
"G06F 7/06",
"G06F 8/65",
"G06F 8/654",
"G06F 8/656",
"G06F 8/658",
"G06F 9/4401",
"G06F 9/46",
"G06F 9/48",
"G06T 1/20",
"G06T 1/60",
"G06T 9/00",
"H01R 13/453",
"H01R 13/631",
"H03K 19/173",
"H03M 7/30",
"H03M 7/40",
"H03M 7/42",
"H04L 12/28",
"H04L 12/46",
"H04L 9/08",
"H05K 7/14"
],
"assignees": [
"Intel Corp"
],
"inventors": [
"Francesc Guim Bernat",
"Evan Custodio",
"Susanne M. Balle",
"Joe Grecco",
"Henry Mitchel",
"Slawomir PUTYRSKI"
],
"filing_date": "2017-09-30",
"publication_date": "2021-04-27",
"grant_date": "2021-04-27",
"priority_date": "2016-11-29",
"application_number": "US-201715721833-A",
"family_id": "62190163",
"cited_by_count": 14,
"citations": [
"US20100191823A1",
"US20120054770A1",
"US20130179485A1",
"US20130232495A1",
"US9026765B1",
"US20150007182A1",
"US20170046179A1",
"US20170116004A1",
"US20170317945A1",
"US10034407B2",
"US10045098B2",
"US10085358B2",
"US20180077235A1",
"US20180150299A1",
"US20180150298A1",
"US20180150330A1",
"US20190065281A1"
]
}
Record 1,658 of 8,000 in Patents full text (MLC-0201). Request the full dataset.