Academy & Industry Research Collaboration Center (AIRCC)

Volume 10, Number 05, May 2020

A Semi-supervised Learning Approach to Forecast CPU Usages under Peak
Load in an Enterprise Environment


Nitin Khosla1 and Dharmendra Sharma2, 1Assistant Director – Performance Engineering, Dept. of Home Affairs, Austrlia, 2University of Canberra, Austrlia


The aim of a semi-supervised neural net learning approach in this paper is to apply and improve the supervised classifiers and to develop a model to predict CPU usages under unpredictable peak load (under stress conditions) in a large enterprise applications environment with several hundred applications hosted and with large number of concurrent users. This method forecasts the likelihood of extreme use of CPU because of a burst in web traffic mainly due to web-traffic from large number of concurrent users. This model predicts the CPU utilization under extreme load (stress) conditions. Large number of applications run simultaneously in a real time system in an enterprise large IT system. This model extracts features by analysing the work-load patterns of the user demand which are mainly hidden in the data related to key transactions of core IT applications. This method creates synthetic workload profiles by simulating synthetic concurrent users, then executes the key scenarios in a test environment and use our model to predict the excessive CPU utilization under peak load (stress) conditions. We have used Expectation Maximization method with different dimensionality and regularization, attempting to extract and analyse the parameters that improves the likelihood of the model by maximizing and after marginalizing out the unknown labels. With the outcome of this research, risk mitigation strategies were implemented at very short duration of time (3 to 4 hours) compared to one week taken in the current practice. Workload demand prediction with semi-supervised learning has tremendous potential tin capacity planning to optimize and manage IT infrastructure at a lower risk.


Semi-supervised learning, Performance Engineering, Stress testing, Neural Nets, Machine learning applications.