Prediction Models for Estimating the Efficiency of Distributed Multi-Core Systems
Abstract
The efficiency of a multi-core architecture is directly related to the mechanisms that
map the threads (processes in execution) to the cores. Determining the resource
availability (CPU and main memory) of the multi-core architecture based on the
characteristics of the threads that are in execution is the art of system performance
prediction. In this dissertation we develop several prediction models for multi-core
architectures and perform empirical evaluations to demonstrate the accuracy of these
models.
Prediction of resource availability is important in the context of making process
assignment, load balancing, and scheduling decisions. In distributed infrastructure,
resources are allocated on demand on a chosen set of compute nodes. The nodes
chosen to perform the computations dictate the efficiency by which the jobs assigned
to them will be executed. The prediction models allows us to estimate the resource
availability without explicitly querying the individual nodes. With the model in hand
and knowledge of the jobs (such as peak memory requirement and CPU execution
profile), we can determine the appropriate compute nodes for each of the jobs in
such a way that it will improve resource utilization and speed job execution.
More specially, we have accomplished the following as part of this dissertation:
(a) Develop mathematical models to estimate the upper- and lower-limits of CPU
and memory availability for single- and multi-core architectures.
(b) Perform empirical evaluation in a heterogeneous environment to validate the
accuracy of the models.
(c) Introduce two task assignment policies that are capable of dispatching tasks to
distributed compute nodes intelligently by utilizing composite prediction and
CPU usage models.
(d) Propose a technique and introduce models to identify combinations of parameters
for efficiency usage of GPU devices to obtain optimal performance.
Collections
- OU - Dissertations [9321]