{'fraction_non_alphanumeric': 0.0289193302891933, 'fraction_numerical': 0.0015220700152207, 'mean_word_length': 4.923423423423423, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
CPU Burst-Time Estimation using Machine Learning

The execution of traditional CPU scheduling algorithms like shortest job first (SJF), multi-level queue requires prior knowledge of the burst time. Real-Time schedulers also require the execution time of a task to be known beforehand. If the processor implementing a scheduling algorithm can estimate the run time of an incoming process accurately, then CPU resource allocation can be done efficiently. In this paper, a Machine Learning (ML) based approach is proposed to estimate the execution time of an incoming process. The traditional usage of the Exponential Averaging (EA) method to predict the next burst time may not give reliable and accurate figures. The objective is the compare the performance of various non-linear ensemble ML techniques like Random Forests (RF), XGBoost (XGB), K-nearest neighbors (KNN) and Decision Tree (DTree) for the predictions using multiple attributes like wait time, required memory and time etc. The dataset named “GWA-T-1 DAS2” has been used. ML models can prove to be an effective medium in order to make the process scheduling much more efficient than before. The experiments show that RF performs better than all other models being evaluated and there is a strong dependence of burst time with used CPU time and memory.