Forecast Model for Scheduling an HPC Application on CPU and GPU Architecture

Chandrashekhar B N, Mohan M, Geetha V · 2023

Process scheduling is an essential part of multiprogramming operating systems. Scheduling is a process that allows one process to use the processing unit while the execution of another process is on hold (in a waiting state) due to the unavailability of any resource like I/O, thereby making full use of CPU or GPU. The major issue of scheduling is to make the system efficient, fast, and fair. This work focuses on developing a Forecast model and constructing scheduling strategies to schedule parallel applications on CPU and GPU. During the design of the Forecast model, we will consider the history of the actual execution time set of processes, then we compute the average time of individual sets of processes by considering parameters such as complete execution time, the sum of processes, and the number of threads assigned to individual processes. Then we will evaluate the Prediction time of CPU and GPU for individual sets of processes. By considering parameters such as the average time of the previous set of processes, the weight of processes, and the number of processes. Then based on the prediction time we will develop a scheduling strategy. As the minimum prediction time required set of process resources is assigned to the CPU and the GPU is assigned by the maximum predicted timed resource of the process. In this work we utilized the CPU and GPU resources effectively for stream benchmark application, our experiment shows that less than 20% average percentage prediction error in all cases.

Read the paper · More papers on PaperTik