Resource-capability-and-connectivity-based workload performance system
The present disclosure describes a system that includes a resource management system that is coupled to a plurality of processing systems and a plurality of memory systems. The resource management system determines resource capabilities provided by each of the plurality of processing systems, each of the plurality of memory systems, and connectivity between the plurality of processing systems and the plurality of memory systems. When the resource management system receives a workload request to perform a first workload, it identifies a first Directed Acyclic Graph (DAG) that includes a plurality of functions for performing the first workload and, for each of the plurality of functions, determines a processing system/memory system/connectivity combination based on the resource capabilities that provides a function performance capability that satisfies a function requirement for that function, and configures that respective processing system/memory system/connectivity combination to perform that function.
1 . A resource-capability-and-connectivity-based workload performance system, comprising:
a plurality of processing systems;
a plurality of memory systems; and
a resource management device that is coupled to the plurality of processing systems and the plurality of memory systems, wherein the resource management device is configured to:
determine processing system capabilities provided by each of the plurality of processing systems, memory system capabilities provided by each of the plurality of memory systems, and a physical connectivity between the plurality of processing systems and the plurality of memory systems that identifies at least one of:
a physical proximity of each of the plurality of processing systems and each of the plurality of memory systems, or
a latency or bandwidth between each of the plurality of processing systems and each of the plurality of memory systems;
receive a workload request to perform a first workload; and
identify a first Directed Acyclic Graph (DAG) that includes a plurality of functions for performing the first workload and, for each of the plurality of functions:
determine, based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a respective processing system-memory system-connectivity combination that includes a respective one of the plurality of processing systems physically connected to at least one of the plurality of memory systems, and that provides a function performance capability that satisfies a function requirement for that function; and
configure the respective one of the plurality of processing systems and the at least one of the plurality of memory systems included in that respective processing system-memory system-connectivity combination to perform that function, wherein each respective one of the plurality of processing systems is configured to:
execute, with the at least one of the plurality of memory systems included in the respective processing system-memory system-connectivity combination with that processing system, that function in the first DAG.
2 . The system of claim 1 , wherein the resource management device is configured to:
discover each of the plurality of processing systems, each of the plurality of memory systems, and the physical connectivity between the plurality of processing systems and the plurality of memory systems.
3 . The system of claim 1 , wherein the first DAG is included in a plurality of DAGs that were previously defined to perform respective workloads prior to receiving the workload request, and wherein the first DAG was previously defined to perform a second workload that is different than the first workload.
4 . The system of claim 1 , wherein the function performance capability of each respective processing system-memory system-connectivity combination identifies data transfer characteristics between the respective processing system and the at least one memory system included in that processing system-memory system-connectivity combination that is based on the physical connectivity between that processing system and that at least one memory system.
5 . The system of claim 1 , wherein the determining the respective processing system-memory system-connectivity combination that provides the function performance capability that satisfies the function requirement for each of the plurality of functions includes, for a first function included in the plurality of functions:
determining, based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a first processing system-memory system-connectivity combination that provides a first function performance capability that satisfies a first function requirement for the first function;
determining, based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a second processing system-memory system-connectivity combination that provides a second function performance capability that satisfies the first function requirement for the first function; and
determining that the second function performance capability is more efficient than the first function performance capability and, in response, selecting the second processing system/memory system/connectivity combination for performing the first function.
6 . The system of claim 5 , wherein the determining that the second function performance capability is more efficient that the first function performance capability includes determining that a second physical connectivity between a second processing system and a second memory system included in the second processing system-memory system-connectivity combination provides a higher speed data connection than a first connectivity between a first processing system and a first memory system included in the first processing system-memory system-connectivity combination.
7 . An Information Handling System (IHS), comprising:
a resource management processing system; and
a resource management memory system that is coupled to the resource management processing system and that includes instructions that, when executed by the resource management processing system, cause the resource management processing system to provide a resource management engine that is configured to:
determine resource processing system capabilities provided by each of a plurality of resource processing systems, resource memory system capabilities provided by each of a plurality of resource memory systems, and a physical connectivity between the plurality of resource processing systems and the plurality of resource memory systems that identifies at least one of:
a physical proximity of each of the plurality of processing systems and each of the plurality of memory systems, or
a latency or bandwidth between each of the plurality of processing systems and each of the plurality of memory systems;
receive a workload request to perform a first workload; and
identify a first Directed Acyclic Graph (DAG) that includes a plurality of functions for performing the first workload and, for each of the plurality of functions:
determine, based on the resource processing system capabilities, the resource memory system capabilities, and the physical connectivity between the plurality of resource processing systems and the plurality of resource memory systems, a respective resource processing system-resource memory system-connectivity combination that includes a respective one of the plurality of resource processing systems physically connected to at least one of the plurality of resource memory systems, and that provides a function performance capability that satisfies a function requirement for that function; and
configure the respective one of the plurality of resource processing systems and the at least one of the plurality of resource memory systems included in that respective resource processing system-resource memory system-connectivity combination to perform that function, wherein each respective one of the plurality of resource processing systems is configured to:
execute, with the at least one of the plurality of resource memory systems included in the respective resource processing system-resource memory system-connectivity combination with that resource processing system, that function in the first DAG.
8 . The IHS of claim 7 , wherein the resource management engine is configured to:
discover each of the plurality of resource processing systems, each of the plurality of resource memory systems, and the physical connectivity between the plurality of resource processing systems and the plurality of resource memory systems.
9 . The IHS of claim 7 , wherein the first DAG is included in a plurality of DAGs that were previously defined to perform respective workloads prior to receiving the workload request, and wherein the first DAG was previously defined to perform a second workload that is different than the first workload.
10 . The IHS of claim 7 , wherein the function performance capability of each respective resource processing system-resource memory system-connectivity combination identifies data transfer characteristics between the respective resource processing system and the at least one resource memory system included in the that resource processing system-resource memory system-connectivity combination that is based on the physical connectivity between that resource processing system and that at least one resource memory system.
11 . The IHS of claim 7 , wherein the determining the respective resource processing system-resource memory system-connectivity combination that provides the function performance capability that satisfies the function requirement for each of the plurality of functions includes, for a first function included in the plurality of functions:
determining, based on the resource processing system capabilities, the resource memory system capabilities, and the physical connectivity between the plurality of resource processing systems and the plurality of resource memory systems, a first resource processing system-resource memory system-connectivity combination that provides a first function performance capability that satisfies a first function requirement for the first function;
determining, based on the resource processing system capabilities, the resource memory system capabilities, and the physical connectivity between the plurality of resource processing systems and the plurality of resource memory systems, a second resource processing system-resource memory system-connectivity combination that provides a second function performance capability that satisfies the first function requirement for the first function; and
determining that the second function performance capability is more efficient than the first function performance capability and, in response, selecting the second resource processing system-resource memory system-connectivity combination for performing the first function.
12 . The IHS of claim 11 , wherein the determining that the second function performance capability is more efficient that the first function performance capability includes determining that a second physical connectivity between a second resource processing system and a second resource memory system included in the second resource processing system-resource memory system-connectivity combination provides a higher speed data connection than a first connectivity between a first resource processing system and a first resource memory system included in the first resource processing system-resource memory system-connectivity combination.
13 . The IHS of claim 7 , wherein the first DAG includes a DAG blueprint identifying a plurality of resource parameters, and wherein the resource management engine is configured to:
configure at least one of the resource processing system and the resource memory system in at least one of the respective resource processing system-resource memory system-connectivity combinations using one or more of the plurality of resource parameters.
14 . A method for performing workloads based on resource capabilities and connectivity, comprising:
determining, by a resource management device, processing system capabilities provided by each of a plurality of processing systems, memory system capabilities provided by each of a plurality of memory systems, and a physical connectivity between the plurality of processing systems and the plurality of memory systems that identifies at least one of:
a physical proximity of each of the plurality of processing systems and each of the plurality of memory systems, or
a latency or bandwidth between each of the plurality of processing systems and each of the plurality of memory systems;
receiving, by the resource management device, a workload request to perform a first workload; and
identifying, by the resource management device, a first Directed Acyclic Graph (DAG) that includes a plurality of functions for performing the first workload and, for each of the plurality of functions:
determining, by the resource management device based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a respective processing system-memory system-connectivity combination that includes a respective one of the plurality of processing systems physically connected to at least one of the plurality of memory systems, and that provides a function performance capability that satisfies a function requirement for that function;
configuring, by the resource management device, the respective one of the plurality of processing systems and the at least one of the plurality of memory systems included in that respective processing system-memory system-connectivity combination to perform that function;
executing, by each respective one of the plurality of processing systems with the at least one of the plurality of memory systems included in the respective processing system-memory system-connectivity combination with that processing system, that function in the first DAG.
15 . The method of claim 14 , further comprising:
discovering, by the resource management device, each of the plurality of processing systems, each of the plurality of memory systems, and the physical connectivity between the plurality of processing systems and the plurality of memory systems.
16 . The method of claim 14 , wherein the first DAG is included in a plurality of DAGs that were previously defined to perform respective workloads prior to receiving the workload request, and wherein the first DAG was previously defined to perform a second workload that is different than the first workload.
17 . The method of claim 14 , wherein the function performance capability of each respective the processing system-memory system-connectivity combination identifies data transfer characteristics between the respective processing system and the at least one memory system included in the that processing system-memory system-connectivity combination that is based on the physical connectivity between that processing system and that at least one memory system.
18 . The method of claim 14 , wherein the determining the respective processing system-memory system-connectivity combination that provides the function performance capability that satisfies the function requirement for each of the plurality of functions includes, for a first function included in the plurality of functions:
determining, by the resource management device based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a first processing system-memory system-connectivity combination that provides a first function performance capability that satisfies a first function requirement for the first function;
determining, by the resource management device based on the processing system capabilities, the memory system capabilities, and the physical connectivity between the plurality of processing systems and the plurality of memory systems, a second processing system-memory system-connectivity combination that provides a second function performance capability that satisfies the first function requirement for the first function; and
determining, by the resource management device, that the second function performance capability is more efficient than the first function performance capability and, in response, selecting the second processing system-memory system-connectivity combination for performing the first function.
19 . The method of claim 18 , wherein the determining that the second function performance capability is more efficient that the first function performance capability includes determining that a second physical connectivity between a second processing system and a second memory system included in the second processing system-memory system-connectivity combination provides a higher speed data connection than a first connectivity between a first processing system and a first memory system included in the first processing system/memory system-connectivity combination.
20 . The method of claim 14 , wherein the first DAG includes a DAG blueprint identifying a plurality of resource parameters, and wherein the method further includes:
configuring, by the resource management device, at least one of the processing system and the memory system in at least one of the respective resource processing system-resource memory system-connectivity combinations using one or more of the plurality of resource parameters.