Computation locality utilization based on an application instruction set
An information handling system includes a memory and an embedded controller. The memory stores a hardware selection machine learning model. The embedded controller communicates with the memory and executes the hardware selection machine learning model. During the runtime of the information handling system, the embedded controller determines an application to be executed within the information handling system and determines a characterization of the application. Based on the characterization of the application, the embedded controller determines a different normalized mutual information score for each hardware class within the information handling system. The embedded controller determines a different maximum score for each of the hardware classes and migrates the application to a component of a hardware class having a highest score.
1 . An information handling system comprising:
a memory configured to store a hardware selection machine learning model; and
an embedded controller configured to communicate with the memory, the embedded controller configured to execute the hardware selection machine learning model, and during a runtime of the information handling system the embedded controller configured to:
determine an application to be executed within the information handling system;
determine a characterization of the application;
based on the characterization of the application, determine a different normalized mutual information score for each hardware class within the information handling system;
determine a different maximum score for each of the hardware classes; and
migrate the application to a component of a hardware class having a highest score; and
during training of the hardware selection machine learning model, the embedded controller configured to:
determine features associated with running the application on each of the hardware classes;
determine metrics for each of the hardware classes;
train an unsupervised auto-encoder based on a feature set; and
map the auto-encoder to best metrics of each of the hardware classes.
2 . The information handling system of claim 1 , wherein the embedded controller further configured to:
track variables for the application for a predetermined amount of time; and
generate a feature matrix for the application based on the tracked variables.
3 . The information handling system of claim 2 , wherein the embedded controller further configured to:
determine an inference for the application based on an auto-encoder within the hardware selection machine learning model, wherein each of the different normalized mutual information scores are determined based on both the feature matrix and the determined inference.
4 . The information handling system of claim 1 , wherein each of the different maximum scores for the hardware classes are different efficiency scores for the hardware classes.
5 . The information handling system of claim 4 , wherein an efficiency score for one of the hardware classes indicates a relationship between performance of the application and power usage of the one of the hardware classes when executing the application.
6 . The information handling system of claim 1 , wherein the determined features include child process dependencies for the application, a number of instructions executed per second for the application, and power usage of a hardware class when executing the application.
7 . The information handling system of claim 1 , wherein the different hardware classes includes a graphics processing unit class, an integrated graphics processing unit class, an integrated central processing unit class, a large core class of a processor, and a small core class of the processor.
8 . A method during a runtime of an information handling system, the method comprising:
determining, by an embedded controller of the information handling system, an application to be executed within the information handling system;
tracking variables for the application for a predetermined amount of time;
generating a feature matrix for the application based on the tracked variables;
determining an inference for the application based on an auto-encoder within a hardware selection machine learning model;
based on a characterization of the application, determining a different normalized mutual information score for each hardware class within the information handling system, wherein each of the different normalized mutual information scores are determined based on both the feature matrix and the determined inference;
determining a different maximum score for each of the hardware classes; and
migrating, by the embedded controller, the application to a component of a hardware class having a highest score.
9 . The method of claim 8 , wherein each of the different maximum scores for the hardware classes are different efficiency scores for the hardware classes.
10 . The method of claim 9 , wherein an efficiency score for one of the hardware classes indicates a relationship between performance of the application and power usage of the one of the hardware classes when executing the application.
11 . The method of claim 8 , wherein during training of the hardware selection machine learning model, the method further comprises:
determining features associated with running the application on each of the hardware classes;
determining metrics for each of the hardware classes;
training an unsupervised auto-encoder based on a feature set; and
mapping the auto-encoder to best metrics of each of the hardware classes.
12 . The method of claim 11 , wherein the determined features include child process dependencies for the application, a number of instructions executed per second for the application, and power usage of a hardware class when executing the application.
13 . The method of claim 8 , wherein the different hardware classes includes a graphics processing unit class, an integrated graphics processing unit class, an integrated central processing unit class, a large core class of a processor, and a small core class of the processor.
14 . An information handling system comprising:
a memory configured to store a hardware selection machine learning model; and
an embedded controller configured to execute the hardware selection machine learning model, and during a runtime of the information handling system the embedded controller configured to:
determine an application to be executed within the information handling system;
track variables for the application for a predetermined amount of time;
generate a feature matrix for the application based on the tracked variables;
determine an inference for the application based on an auto-encoder within the hardware selection machine learning model;
based on both the feature matrix and the determined inference, determine a different normalized mutual information score for each hardware class within the information handling system;
determine a different maximum score for each of the hardware classes, wherein each of the different maximum scores for the hardware classes are different efficiency scores for the hardware classes; and
migrate the application to a component of a hardware class having a highest score.
15 . The information handling system of claim 14 , wherein during training of the hardware selection machine learning model, the embedded controller configured to:
determine features associated with running the application on each of the hardware classes;
determine metrics for each of the hardware classes;
train an unsupervised auto-encoder based on a feature set; and
map the auto-encoder to best metrics of each of the hardware classes.
16 . The information handling system of claim 15 , wherein the determined features include child process dependencies for the application, a number of instructions executed per second for the application, and power usage of a hardware class when executing the application.
17 . The information handling system of claim 14 , wherein the different hardware classes includes a graphics processing unit class, an integrated graphics processing unit class, an integrated central processing unit class, a large core class of a processor, and a small core class of the processor.