Disaggregated Accelerator Sled Orchestration for Kernel-Matched Tasks
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In data centers, accelerator devices often go unused because they are localized to general-purpose processors and can only provide acceleration for specific tasks, leading to wasted resources since applications that do not utilize their capabilities are executed at standard speeds.
Innovation Solution
The implementation of a system where an orchestrator server dynamically assigns tasks to accelerator sleds with matching kernels, allowing any compute sled to utilize available acceleration resources across the network, even if they are not locally present, by configuring and reconfiguring kernels as needed.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If accelerator devices are localized to general-purpose processors, then the structure is simple and management is easy, but the accelerator devices go unused when applications do not require their specific acceleration capabilities
Solution Approach 1:
The system segments accelerator devices from general-purpose processors into independent accelerator sleds that can be dynamically allocated. Each accelerator function is separated into discrete units (e.g., encryption accelerators, compression accelerators) that can be independently assigned to different applications based on demand, rather than being permanently bound to specific processors.
Solution Approach 2:
The accelerator pool creates a universal resource that can serve multiple general-purpose processors and diverse applications. The same accelerator device can be dynamically assigned to different applications requiring different acceleration capabilities, making the accelerator infrastructure multi-functional and adaptable to various workload requirements.
2Productivity
If accelerator devices are dedicated to specific general-purpose processors, then the assignment is straightforward, but resources are wasted when the application does not utilize the acceleration capabilities
Solution Approach 1:
The system implements dynamic accelerator assignment where accelerators are not statically bound to processors but are allocated on-demand based on application requirements. The orchestration layer continuously monitors workload characteristics and reassigns accelerators dynamically, ensuring that acceleration resources are actively utilized only when needed and can be reassigned to other uses when idle.
Solution Approach 2:
Applications can request specific acceleration capabilities through the orchestration interface, and the system automatically matches and assigns appropriate accelerators from the pool. The workload itself effectively selects the acceleration resources it needs without manual configuration, enabling acceleration to be applied only when and where beneficial.
3Adaptability or versatility
If a pool of accelerator devices is created and dynamically assigned, then resource utilization is maximized, but the system architecture and management complexity increases
Solution Approach 1:
The orchestration layer serves as an intermediary between applications and the accelerator pool, abstracting the complexity of accelerator management. It handles accelerator selection, assignment, configuration, and monitoring automatically, allowing applications to request acceleration without needing to understand the underlying accelerator infrastructure or management complexities.
Solution Approach 2:
The system implements feedback mechanisms where the orchestration layer monitors accelerator utilization, performance metrics, and workload characteristics. Based on this feedback, it dynamically adjusts accelerator assignments to optimize resource utilization, automatically reassigning accelerators when workloads change or when accelerators become idle, thereby simplifying management through automated decision-making.
Data Source
AI summary
Technologies for providing accelerated functions as a service in a disaggregated architecture include a compute device that is to receive a request for an accelerated task. The task is associated with a kernel usable by an accelerator sled communicatively coupled to the compute device to execute the task. The compute device is further to determine, in response to the request and with a database indicative of kernels and associated accelerator sleds, an accelerator sled that includes an accelerator device configured with the kernel associated with the request. Additionally, the compute device is to assign the task to the determined accelerator sled for execution. Other embodiments are also described and claimed.


