<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.2 20190208//EN" "http://jats.nlm.nih.gov/publishing/1.2/JATS-journalpublishing1.dtd"><article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.2" xml:lang="en">
    <front>
        <journal-meta>
            <journal-id journal-id-type="pmc">F1000Research</journal-id>
            <journal-title-group>
                <journal-title>F1000Research</journal-title>
            </journal-title-group>
            <issn pub-type="epub">2046-1402</issn>
            <publisher>
                <publisher-name>F1000 Research Limited</publisher-name>
                <publisher-loc>London, UK</publisher-loc>
            </publisher>
        </journal-meta>
        <article-meta>
            <article-id pub-id-type="doi">10.12688/f1000research.177203.1</article-id>
            <article-categories>
                <subj-group subj-group-type="heading">
                    <subject>Research Article</subject>
                </subj-group>
                <subj-group>
                    <subject>Articles</subject>
                </subj-group>
            </article-categories>
            <title-group>
                <article-title>Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence</article-title>
                <fn-group content-type="pub-status">
                    <fn>
                        <p>[version 1; peer review: 1 approved, 1 not approved]</p>
                    </fn>
                </fn-group>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Mohammed Lateef</surname>
                        <given-names>Huda</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Data Curation</role>
                    <role content-type="http://credit.niso.org/">Investigation</role>
                    <role content-type="http://credit.niso.org/">Validation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>Abduljawad Al-Shibly</surname>
                        <given-names>Mohammed</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Formal Analysis</role>
                    <role content-type="http://credit.niso.org/">Methodology</role>
                    <role content-type="http://credit.niso.org/">Project Administration</role>
                    <role content-type="http://credit.niso.org/">Supervision</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <uri content-type="orcid">https://orcid.org/0009-0002-6717-7364</uri>
                    <xref ref-type="corresp" rid="c1">a</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Hadi Ali AL-Jumaili</surname>
                        <given-names>Ahmed</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Resources</role>
                    <role content-type="http://credit.niso.org/">Software</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0003-3878-1271</uri>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>D. Madeeh</surname>
                        <given-names>Omar</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Data Curation</role>
                    <role content-type="http://credit.niso.org/">Validation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0000-0001-5392-5291</uri>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="yes">
                    <name>
                        <surname>A.S. Al-Hitawi</surname>
                        <given-names>Mohammed</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Conceptualization</role>
                    <role content-type="http://credit.niso.org/">Methodology</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Original Draft Preparation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <uri content-type="orcid">https://orcid.org/0009-0009-7905-0978</uri>
                    <xref ref-type="corresp" rid="c2">b</xref>
                    <xref ref-type="aff" rid="a1">1</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Arrova Dewi</surname>
                        <given-names>Deshinta</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Funding Acquisition</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="aff" rid="a2">2</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Zakree bin Ahmad Nazri</surname>
                        <given-names>Mohd</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Investigation</role>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="aff" rid="a3">3</xref>
                </contrib>
                <contrib contrib-type="author" corresp="no">
                    <name>
                        <surname>Nasir Kadhim</surname>
                        <given-names>Shaima</given-names>
                    </name>
                    <role content-type="http://credit.niso.org/">Writing &#x2013; Review &amp; Editing</role>
                    <xref ref-type="aff" rid="a4">4</xref>
                </contrib>
                <aff id="a1">
                    <label>1</label>University of Fallujah, Al-Fallujah, Al Anbar Governorate, Iraq</aff>
                <aff id="a2">
                    <label>2</label>INTI International University &amp; Colleges, Nilai, Negeri Sembilan, Malaysia</aff>
                <aff id="a3">
                    <label>3</label>Faculty of Data Science and Information Technology, Universiti Kebangsaan Malaysia, Bangi, Selangor, Malaysia</aff>
                <aff id="a4">
                    <label>4</label>University of Diyala, Baqubah, Diyala Governorate, Iraq</aff>
            </contrib-group>
            <author-notes>
                <corresp id="c1">
                    <label>a</label>
                    <email xlink:href="mailto:dr.alshibly@uofallujah.edu.iq">dr.alshibly@uofallujah.edu.iq</email>
                </corresp>
                <corresp id="c2">
                    <label>b</label>
                    <email xlink:href="mailto:al_hitawe@uofallujah.edu.iq">al_hitawe@uofallujah.edu.iq</email>
                </corresp>
                <fn fn-type="conflict">
                    <p>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>5</day>
                <month>3</month>
                <year>2026</year>
            </pub-date>
            <pub-date pub-type="collection">
                <year>2026</year>
            </pub-date>
            <volume>15</volume>
            <elocation-id>366</elocation-id>
            <history>
                <date date-type="accepted">
                    <day>19</day>
                    <month>2</month>
                    <year>2026</year>
                </date>
            </history>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Mohammed Lateef H et al.</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access article distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <self-uri content-type="pdf" xlink:href="https://f1000research.com/articles/15-366/pdf"/>
            <abstract>
                <sec>
                    <title>Background</title>
                    <p>The high variability of workloads makes it very difficult for cloud datacenters to efficiently schedule their tasks and resource allocation. The correct forecasting of future resource utilization allows us to proactively scale and implement more sophisticated scheduling policies, which eventually results in improved resource utilization and fewer failures.</p>
                </sec>
                <sec>
                    <title>Methods</title>
                    <p>This study uses the Google Cluster Trace v3 dataset, which contains a wealth of job and task data (start and end times, CPU and memory usage, scheduling class, and priority) to create supervised machine-learning models that can predict future CPU usage.</p>
                </sec>
                <sec>
                    <title>Conclusions</title>
                    <p>In this study the regression algorithms evaluated were Linear Regression, Support Vector Regression, Random Forest, which were evaluated using a confusion matrix. Our results show that higher-order models, especially neural network models, are quite successful in predicting computer usage (94% validation accuracy and R
                        <sup>2</sup> of 0.90). These results underscore the potential of machine learning-based CPU demand predictions as valuable tools for cloud schedulers, improving resource management, and reducing operational costs. Also discuss the feasibility of deploying the proposed solution on distributed platforms such as Spark and Google Cloud and outline future research directions to integrate predictive models with real-time cloud resource management.</p>
                </sec>
            </abstract>
            <kwd-group kwd-group-type="author">
                <kwd>Cloud Resource Utilization</kwd>
                <kwd>Scheduling</kwd>
                <kwd>Resource Management</kwd>
                <kwd>Machine Learning (ML)</kwd>
                <kwd>Deep Learning</kwd>
                <kwd>Google Cluster.</kwd>
            </kwd-group>
            <funding-group>
                <funding-statement>The author(s) declared that no grants were involved in supporting this work.</funding-statement>
            </funding-group>
        </article-meta>
    </front>
    <body>
        <sec id="sec4" sec-type="intro">
            <title>1. Introduction</title>
            <p>Cloud computing has become a basic infrastructure for modern information technology services that provide on-demand access to scale-based computational services. The essential properties of elasticity, resource pooling, and measurable services of cloud computing were outlined in a seminal exposition by 
                <xref ref-type="bibr" rid="ref3">Armbrust et al. (2010)</xref>. In modern cloud data centers, resource and task scheduling are essential for ensuring performance and cost-effectiveness. The dynamic quality of cloud workloads, which is inherently defined by the presence of tasks with dissimilar and stochastic CPU and memory demands, makes it suboptimal to employ static or rule-based scheduling frameworks. Therefore, predictive resource allocation has become an attractive paradigm to alleviate this predicament. Cloud systems can predict the future utilization of resources using artificial intelligence (AI) and machine learning (ML) technologies, which can be used to proactively modify scheduling policies to prevent over-provisioning and bottlenecks, thus improving overall operational effectiveness. Experimental research studies have revealed that the intersection of AI and big data analytics in cloud operations is a significant addition to forecasting accuracy and operational effectiveness.</p>
            <p>The Borg system is a large-scale cluster manager on Google, which is an example of a complex scheduler that coordinates thousands of jobs on many machines. Even though such systems use sophisticated heuristics, machine learning predictions can still be used to further optimize the scheduling performance. In 2019, Google published the Google Cluster Trace (v3) dataset, which provides a complete dataset of real-world cloud workload data to be studied. The trace contains approximately 2.4TiB of data sampled between eight datacenter clusters over a period of one month, including detailed entries of job identifiers, task identifiers, submission and completion times, resource usage measures (CPU, memory), priority, scheduling classes, and other auxiliary information. The results of the analysis of this dataset show that the variability of task phenomenology and resource consumption is strong, and that the correlations between the attributes, including priority or constraints, and the scheduling outcomes can be identified. Workloads, which are heterogeneous (some tasks are short and low-priority, while others are long-lasting and high-priority services) pose insurmountable obstacles to homogeneous scheduling policies. In this regard, the deployment of learning-based predictive models, which can identify intricate patterns hidden in historical traces and forecast future resource needs of incoming tasks, is highly encouraged.</p>
            <p>In this paper, we describe a thorough exploration of the prediction of CPU utilization of cloud tasks using supervised machine-learning schemes. Our most important goal is to improve cloud resource management by allowing predictive task scheduling by predicting the future CPU demand of a task, thus allowing the scheduler to schedule resources or make placement decisions. We compare a collection of regression algorithms, such as linear regression, support-vector regression, random forests, gradient-boosting machines, and custom neural networks, and suggest hybrid ensemble approaches to improve predictive accuracy. Two specific hybrid methods are discussed: (1) a voting ensemble, which combines the predictions of several constituent models, and (2) a clustering-based ensemble, which first divides tasks with similar properties and then builds specialized predictors on each cluster. In contrast to these approaches, we attempted to find the most correct and generalizable approach to this predictive undertaking.</p>
            <p>The contributions of this research include providing an in-depth evaluation of traditional and modern machine-learning models on a large-scale cloud trace dataset to the CPU prediction problem. In addition, we performed a detailed examination of empirical results such as model performance statistics (MAE and RMSE) and training behavior to explain the stability and generalization properties of the learned models. The best model achieves a large predictive accuracy (with R
                <sup>2</sup> near 0.90 and very low error rates), a result that, as far as we can discern, is comparable to or better than most existing models applied to similar data. We also address real-world deployment scenarios, such as the use of distributed systems such as Hadoop/Spark or cloud-native services, to support real-time scheduling in clusters of production. All experiments were publicly available at the AlgoEval-GCD repo
                <xref ref-type="fn" rid="fn1">
                    <sup>1</sup>
                </xref> and were reproducible.</p>
        </sec>
        <sec id="sec5">
            <title>2. Related work</title>
            <p>The scheduling of cloud computing resources continues to be a persistent research topic, particularly owing to the dynamic characteristics of cloud workloads. Conventional approaches, mainly heuristic or rule-based algorithms, find it challenging to accommodate the extensive scale and variety of workloads. Recent breakthroughs in artificial intelligence and machine learning have facilitated the development of more adaptive and efficient systems, enabling the prediction of future resource demands and dynamic allocation of resources. AI-driven methodologies, including reinforcement learning (RL), offer a framework for autonomously identifying optimal scheduling strategies through interactions with cloud environments and data-driven learning.</p>
            <p>Numerous pivotal studies have investigated the use of machine learning in resource allocation and workload forecasting. This section examines these studies, focusing on their contributions to job scheduling, resource allocation, and the incorporation of AI in cloud environments, specifically within the Google Cluster design framework.</p>
            <sec id="sec6">
                <title>2.1 Analysis of production trace data for scheduling optimization</title>
                <p>
                    <xref ref-type="bibr" rid="ref4">Zarour et al. (2024)</xref> conducted an early study analyzing the Google Cluster Trace dataset to examine the influence of task variables such as CPU and memory needs, scheduling priority, and task limitations on job scheduling efficiency. Their findings indicated that specific criteria, such as memory availability, significantly influenced execution time and rescheduling frequency, whereas others, such as stringent job requirements, had a diminished impact. This study did not offer an AI-based solution; instead, it established a basis for AI-driven scheduling models by identifying essential scheduling parameters to be integrated into machine learning models. This study substantially advanced feature engineering for cloud scheduling systems by identifying the most influential aspects affecting task performance.</p>
            </sec>
            <sec id="sec7">
                <title>2.2 Machine learning models for workload prediction and resource allocation</title>
                <p>
                    <xref ref-type="bibr" rid="ref9">Gao et al. (2020)</xref> proposed a workload prediction system that categorizes workloads prior to employing a singular machine learning model for each category. Their research utilizing Google Cluster data revealed that categorizing clustering jobs by their attributes resulted in markedly enhanced prediction accuracy (approximately 90%) compared to individual models. This discovery underscores the advantage of considering workload homogeneity through the aggregation of analogous jobs, enabling models to specialize in correctly predicting specific workload categories.</p>
                <p>
                    <xref ref-type="bibr" rid="ref8">Karpagam and Kanniappan (2025)</xref> introduced an innovative model for forecasting cloud resource time series using a symmetry-aware multidimensional attention spiking neural network (SNN). Spiking Neural Networks (SNNs) are recognized for their capacity to efficiently process temporal data while utilizing minimum energy, rendering them appropriate for time-series forecasting in cloud settings. The research employed attention processes to emphasize significant traits and utilized optimization methods, such as Secretary Bird Optimization (SBOA), to improve prediction accuracy. This approach substantially surpasses conventional recurrent neural networks (RNNs), such as Long Short-Term Memory (LSTM) and Gated Recurrent Units (GRU), in terms of efficiency and precision.</p>
                <p>Although our methodology does not utilize spiking neural networks, it is influenced by the research of Karpagam et al., specifically with the application of attention processes to emphasize the most pertinent aspects. Similar to Karpagam et al., we investigated the efficacy of deep learning models, including feed-forward networks, for forecasting CPU loads in cloud environments, illustrating that tailored deep learning models can enhance prediction accuracy compared to conventional methods.</p>
            </sec>
            <sec id="sec8">
                <title>2.3 Predicting failures and resource usage in cloud environments</title>
                <p>
                    <xref ref-type="bibr" rid="ref5">Chen et al. (2014)</xref> investigated the failure patterns of tasks within Google clusters, emphasizing the capability of predictive models to proactively identify errors. Their emphasis on failure prediction highlighted the significance of proactive forecasting in cloud operations. Anticipating peak demand or possible resource utilization issues enables cloud systems to implement remedial measures such as job rescheduling or additional resource supply prior to the emergence of problems.</p>
                <p>
                    <xref ref-type="bibr" rid="ref6">Mishra et al. (2010)</xref> examined resource usage variability and task inter-arrival time in Google Cloud backends. Scientists have found that cloud workloads exhibit a great deal of diversity, which is problematic in terms of resource allocation and scheduling. Predictive models should have the ability to generalize between different workloads to eliminate this unpredictability.</p>
            </sec>
            <sec id="sec9">
                <title>2.4 Hybrid approaches and combining domain knowledge with AI models</title>
                <p>The existing literature highlights several important results on how to optimize the process of cloud resource scheduling and workload prediction, among which the nature of tasks such as task priority and resource requests plays an important role in determining the scheduling results. Clustering-based models, deep neural networks, and reinforcement learning methods of machine learning have shown promise for improving the management of cloud resources.</p>
                <p>These insights were synthesized in our research to create an ensemble methodology in which a large number of models (e.g., Random Forest (RF), Gradient Boosting (GB), and predicted Neural Networks (NNs)) are combined to increase the precision of the predictions. Moreover, our investigations will be based on previous research by providing an in-depth analysis of the model training dynamics and generalization properties, which ensures that our models are accurate and stable under different workload conditions.</p>
                <p>
                    <xref ref-type="table" rid="T1">
Table 1</xref> highlights exemplary studies regarding scheduling strategies, failure prediction, and cloud burden analysis, emphasising the emergence of predictive modelling techniques as well as the contributions they have made.</p>
                <table-wrap id="T1" orientation="portrait" position="float">
                    <label>
Table 1. </label>
                    <caption>
                        <title>Summary table of related work.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Study</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Focus</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Contribution</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref6">Mishra et al. (2010)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Resource usage and task inter-arrival times in Google clusters</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Explores the heterogeneity of cloud workloads and the need for generalizable predictive models to handle various workload regimes.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref5">Chen et al. (2014)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Predicting failures in cloud clusters</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Identifies the potential of predictive models for early failure detection in cloud clusters, supporting proactive resource management.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref9">Gao et al. (2020)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Workload prediction with task clustering</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Demonstrates the benefits of clustering tasks based on workload characteristics to improve prediction accuracy (90% accuracy).</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref7">Li et al. (2021)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Dynamic job scheduling using deep reinforcement learning (RL)</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Proposes an RL model that learns optimal scheduling policies through interaction with a cloud environment.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref4">Zarour et al. (2024)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Impact of task parameters on scheduling efficiency</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Provides insights into task characteristics (e.g., CPU, memory) that influence scheduling efficiency and rescheduling needs.</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="top">
                                    <xref ref-type="bibr" rid="ref8">Karpagam and Kanniappan (2025)</xref>
                                </td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Workload and resource time-series prediction using SNN</td>
                                <td align="left" colspan="1" rowspan="1" valign="top">Introduces a Symmetry-Aware Multi-Dimensional Attention Spiking Neural Network (SNN) to predict workload time series with high accuracy.</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>In summary, the union of AI and machine learning in the sphere of scheduling cloud resources and predicting workload is a rapidly growing field. We based our work on previous research that combined clustering methods, deep learning types, and the ensemble strategy to enhance the accuracy and stability of the estates. This study expands the existing capacities of cloud task scheduling and helps create a more efficient cloud resource management system based on AI.</p>
            </sec>
        </sec>
        <sec id="sec10">
            <title>3. Dataset description</title>
            <p>This study employed the publicly accessible Google Cluster Trace v3 dataset, which comprises extensive logs from Google's computer clusters. The dataset collected in May 2019 spans millions of task instances executed across thousands of machines. Each record in the dataset included several important features: Job ID and Task ID (identifiers used to group tasks into jobs), timestamps (task submission/start and end times), resource usage metrics (CPU and memory usage throughout a task&#x2019;s lifetime), scheduling class (indicating the task's priority/latency sensitivity), and priority level (an integer assigned by the scheduler). As we can see in 
                <xref ref-type="fig" rid="f1">
Figure 1</xref> a small number of outliers in the dataset were removed so the most of continues distributions are uniforms.</p>
            <fig fig-type="figure" id="f1" orientation="portrait" position="float">
                <label>
Figure 1. </label>
                <caption>
                    <title>Distribution of the dataset after outlier removal.</title>
                </caption>
                <graphic id="gr1" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure1.gif"/>
            </fig>
            <p>
                <xref ref-type="table" rid="T2">
Table 2</xref> shows statistical description for the utilized google cluster benchmark, foreach feature we have short description and how many of samples was used in this study. Mean and standard division and mini max scale measurement in addition to the median.</p>
            <table-wrap id="T2" orientation="portrait" position="float">
                <label>
Table 2. </label>
                <caption>
                    <title>Statistical description for the used dataset.</title>
                </caption>
                <table content-type="article-table" frame="hsides">
                    <thead>
                        <tr>
                            <th align="left" colspan="1" rowspan="1" valign="top">Feature</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
Description</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">Count</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
Mean (&#x00b1; Std)</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
Min &#x2013; Max</th>
                            <th align="left" colspan="1" rowspan="1" valign="top">
Median (IQR)</th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">time</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Event timestamp (ns)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">6.9e13 &#x00b1; 2.5e16</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 9.2e18</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">1.08e12 (2.67e11&#x2013;1.77e12)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">instance_
events_type
</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Type of task event (0&#x2013;10)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">2.95 &#x00b1; 2.04</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 10</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">3 (2&#x2013;5)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">collection_id</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Job/collection identifier</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">3.6e11 &#x00b1; 2.4e11</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">6.8e3 &#x2013; 8.2e11</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">3.1e11 (2.1e11&#x2013;4.9e11)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">scheduling_class</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Scheduling class (0&#x2013;3)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">1.27 &#x00b1; 1.01</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 3</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">1 (0&#x2013;2)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">priority</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Scheduling priority (0&#x2013;450)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">147.9 &#x00b1; 116.7</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 450</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">105 (103&#x2013;200)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">machine_id</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Machine identifier (unique, can be -1)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">8.5e10 &#x00b1; 1.38e11</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">-1 &#x2013; 8.25e11</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">2.0e10 (2.9e9&#x2013;1.3e11)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">resource_
request_cpus
</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Requested CPU cores</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.015 &#x00b1; 0.029</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 0.58</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.008 (0.004&#x2013;0.016)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">resource_
request_memory
</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Requested memory fraction</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.009 &#x00b1; 0.022</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 0.29</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.003 (0.001&#x2013;0.007)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">average_
usage_cpus
</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Average CPU usage fraction</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.007 &#x00b1; 0.019</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 0.54</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.001 (0.0002&#x2013;0.007)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">average_
usage_memory
</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Average memory usage fraction</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.0056 &#x00b1; 0.017</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 0.22</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.001 (0.0002&#x2013;0.004)</td>
                        </tr>
                        <tr>
                            <td align="left" colspan="1" rowspan="1" valign="middle">failed</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">Failure flag (0 = no fail, 1 = fail)</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">405,894</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0.23 &#x00b1; 0.42</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 &#x2013; 1</td>
                            <td align="left" colspan="1" rowspan="1" valign="middle">0 (0&#x2013;0)</td>
                        </tr>
                    </tbody>
                </table>
            </table-wrap>
            <p>
                <xref ref-type="fig" rid="f2">
Figure 2</xref> shows the Correlation Matrix (Cor(x,y)), which represents the strength of the relationship between viables.</p>
            <fig fig-type="figure" id="f2" orientation="portrait" position="float">
                <label>
Figure 2. </label>
                <caption>
                    <title>Show the correlation matrix for the used dataset.</title>
                </caption>
                <graphic id="gr2" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure2.gif"/>
            </fig>
            <p>The 
                <xref ref-type="disp-formula" rid="e1">equation. (1)</xref> represents the analysis of the correlation matrix, the prime above the X and Y variables represents the mean values, 
                <italic toggle="yes">s
                    <sub>x</sub>
                </italic> and 
                <italic toggle="yes">s
                    <sub>y</sub>
                </italic> are the standard divisions of the given variables.
                <disp-formula id="e1">

                    <mml:math display="block">
                        <mml:mi mathvariant="italic">Cor</mml:mi>
                        <mml:mrow>
                            <mml:mo stretchy="true">(</mml:mo>
                            <mml:mi>X</mml:mi>
                            <mml:mo>,</mml:mo>
                            <mml:mi>Y</mml:mi>
                            <mml:mo stretchy="true">)</mml:mo>
                        </mml:mrow>
                        <mml:mo>=</mml:mo>
                        <mml:mfrac>
                            <mml:mrow>
                                <mml:mi mathvariant="italic">Cov</mml:mi>
                                <mml:mrow>
                                    <mml:mo stretchy="true">(</mml:mo>
                                    <mml:mi>X</mml:mi>
                                    <mml:mo>,</mml:mo>
                                    <mml:mi>Y</mml:mi>
                                    <mml:mo stretchy="true">)</mml:mo>
                                </mml:mrow>
                            </mml:mrow>
                            <mml:mrow>
                                <mml:msub>
                                    <mml:mi>s</mml:mi>
                                    <mml:mi>x</mml:mi>
                                </mml:msub>
                                <mml:mo>&#x2217;</mml:mo>
                                <mml:msub>
                                    <mml:mi>s</mml:mi>
                                    <mml:mi>y</mml:mi>
                                </mml:msub>
                            </mml:mrow>
                        </mml:mfrac>
                        <mml:mo>=</mml:mo>
                        <mml:mfrac>
                            <mml:mrow>
                                <mml:mo>&#x2211;</mml:mo>
                                <mml:mrow>
                                    <mml:mo stretchy="true">(</mml:mo>
                                    <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mi>i</mml:mi>
                                    </mml:msub>
                                    <mml:mo>&#x2212;</mml:mo>
                                    <mml:mover accent="true">
                                        <mml:mi>x</mml:mi>
                                        <mml:mo stretchy="true">&#x00af;</mml:mo>
                                    </mml:mover>
                                    <mml:mo stretchy="true">)</mml:mo>
                                </mml:mrow>
                                <mml:mo>&#x2217;</mml:mo>
                                <mml:mrow>
                                    <mml:mo stretchy="true">(</mml:mo>
                                    <mml:msub>
                                        <mml:mi>y</mml:mi>
                                        <mml:mi>i</mml:mi>
                                    </mml:msub>
                                    <mml:mo>&#x2212;</mml:mo>
                                    <mml:mover accent="true">
                                        <mml:mi>y</mml:mi>
                                        <mml:mo stretchy="true">&#x00af;</mml:mo>
                                    </mml:mover>
                                    <mml:mo stretchy="true">)</mml:mo>
                                </mml:mrow>
                            </mml:mrow>
                            <mml:msqrt>
                                <mml:mrow>
                                    <mml:mo>&#x2211;</mml:mo>
                                    <mml:msup>
                                        <mml:mrow>
                                            <mml:mo stretchy="true">(</mml:mo>
                                            <mml:msub>
                                                <mml:mi>x</mml:mi>
                                                <mml:mi>i</mml:mi>
                                            </mml:msub>
                                            <mml:mo>&#x2212;</mml:mo>
                                            <mml:mover accent="true">
                                                <mml:mi>x</mml:mi>
                                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                                            </mml:mover>
                                            <mml:mo stretchy="true">)</mml:mo>
                                        </mml:mrow>
                                        <mml:mn>2</mml:mn>
                                    </mml:msup>
                                    <mml:mo>&#x2217;</mml:mo>
                                    <mml:msup>
                                        <mml:mrow>
                                            <mml:mo stretchy="true">(</mml:mo>
                                            <mml:msub>
                                                <mml:mi>y</mml:mi>
                                                <mml:mi>i</mml:mi>
                                            </mml:msub>
                                            <mml:mo>&#x2212;</mml:mo>
                                            <mml:mover accent="true">
                                                <mml:mi>y</mml:mi>
                                                <mml:mo stretchy="true">&#x00af;</mml:mo>
                                            </mml:mover>
                                            <mml:mo stretchy="true">)</mml:mo>
                                        </mml:mrow>
                                        <mml:mn>2</mml:mn>
                                    </mml:msup>
                                </mml:mrow>
                            </mml:msqrt>
                        </mml:mfrac>
                    </mml:math>

                    <label>(1)</label>
</disp-formula>The value is strongly related when it is close to 
                <bold>

                    <italic toggle="yes">1</italic>
</bold> or 
                <bold>

                    <italic toggle="yes">-1</italic>
</bold> and weak when it is zero or near it.</p>
        </sec>
        <sec id="sec11">
            <title>4. Methodology</title>
            <sec id="sec12">
                <title>4.1 Preprocessing</title>
                <p>For this study, we utilized the publicly available Google Cluster Trace v3 dataset, which contains comprehensive logs from Google&#x2019;s computer clusters. The dataset collected in May 2019 spans millions of task instances executed across thousands of machines. The dataset comprises several critical features: Job ID and Task ID (identifiers for task-job association), timestamps (submission, start, and end times of tasks), resource utilization metrics (CPU and memory consumption during task execution), scheduling class (denoting task priority and latency sensitivity), and priority level (an integer assigned by the scheduler).
                    <disp-formula id="e2">

                        <mml:math display="block">
                            <mml:msub>
                                <mml:mi>x</mml:mi>
                                <mml:mtext mathvariant="italic">scaled</mml:mtext>
                            </mml:msub>
                            <mml:mo>=</mml:mo>
                            <mml:mfrac>
                                <mml:mrow>
                                    <mml:mi>x</mml:mi>
                                    <mml:mo>&#x2212;</mml:mo>
                                    <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mi mathvariant="italic">min</mml:mi>
                                    </mml:msub>
                                </mml:mrow>
                                <mml:mrow>
                                    <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mi mathvariant="italic">max</mml:mi>
                                    </mml:msub>
                                    <mml:mo>&#x2212;</mml:mo>
                                    <mml:msub>
                                        <mml:mi>x</mml:mi>
                                        <mml:mi mathvariant="italic">min</mml:mi>
                                    </mml:msub>
                                </mml:mrow>
                            </mml:mfrac>
                        </mml:math>

                        <label>(2)</label>
</disp-formula>The target variable of our study is future CPU usage, specifically, the maximum CPU consumption during a specific future window (e.g., the upcoming scheduling interval). Our goal is to predict future CPU demand based on the information available at the time of task dispatch.</p>
            </sec>
            <sec id="sec13">
                <title>4.2 Feature engineering</title>
                <p>The feature engineering process involved extracting relevant attributes that are available at the time of task scheduling, which included the requested CPU and the amount of CPU the task requested during submission. Amount of memory requested for the task during submission.</p>
                <p>Class Scheduling is a categorical feature that classifies tasks according to their priority and latency sensitivity. The priority level represents a numeric feature assigned to a task by the scheduler. In addition, the duration estimates the runtime of the task, which can be derived from metadata or calculated by subtracting the start time of the task from its end time.</p>
                <p>The CPU load on the host machine at the time of scheduling, assuming task placement, could account for the current host activity. To facilitate model training and ensure convergence, continuous features such as CPU, memory, and duration were scaled to a range of [0,1] using min-max normalization. Categorical features, such as the scheduling class and priority level, were encoded using one-hot encoding.</p>
                <p>Defining the Target Variable</p>
                <p>The regression model dependent variable was the proportion of CPU core utilization by a job during its execution. This was computed by dividing the CPU usage by the time that the task was being executed, giving a value in the range of 0-1. A value of 1 indicates the full usage of one of the CPU cores, and a value near 0 indicates less work. In a situation where jobs were forcibly displaced or cancelled, the CPU consumption at the time of cancellation was used.</p>
                <p>We also performed binary classification with a continuous regression model to determine high- and low-load jobs (i.e., those that used more than 50 percent of a CPU core) by defining a threshold of 50 percent CPU usage. The given classification method provides real advantages to the person scheduling jobs by identifying the jobs that might require a specific management approach, including dedicated CPU utilization or higher priority in resource allocation.</p>
                <p>Data Volume and Sampling</p>
                <p>Owing to the extensive size of the dataset, which includes millions of tasks, training machine learning models on the complete dataset is computationally prohibitive. Consequently, we used a sampling approach to establish a feasible subset for our tests. We randomly selected a heterogeneous selection of jobs encompassing multiple scheduling classes and priority levels and incorporated all tasks related to those jobs. This sample comprised tens of thousands of task instances, sufficiently large to train robust models, yet compact enough to fit into memory for efficient processing.</p>
                <p>The dataset was divided into three subsets: 70 percent of the data were utilized as the training set for model development, 15 percent were assigned as the validation set for hyperparameter optimization and cross-validation, and the remaining 15 percent were used as the test set to assess the final model performance. The temporal division guaranteed that the validation and test sets comprised tasks from subsequent time intervals, mirroring the actual context of forecasting future unobserved workloads.</p>
                <p>Dealing with Imbalanced Data</p>
                <p>We also performed binary classification with a continuous regression model to determine high- and low-load jobs (i.e., those that used more than 50 percent of a CPU core) by defining a threshold of 50 percent CPU usage. The given classification method provides real advantages to the person scheduling jobs by identifying the jobs that might require a specific management approach, including dedicated CPU utilization or higher priority in resource allocation.</p>
                <p>The dataset was further subdivided into three sub-portions: 70 percent of the data were used as the training data to develop the model, fifteen percent used as the validation data to optimize hyperparameters and cross-validation, and the remaining fifteen percent used as the test data to check the final model performance. The difference in time ensured that the validation and test sets included tasks in future time periods, which reflected the actual situation of predicting future unobservable workloads.</p>
                <p>Model Deployment and Scaling</p>
                <p>Each preprocessing and feature extraction step was performed in Python using the Pandas module. To scale in a production setup, we use distributed data frameworks, such as Apache Spark or Dask, to process the entire dataset. As the subset that we sampled was rather large, our trials allowed us to train our models on a single machine. To scale the solution to real-time prediction, we suggest running the trained models in the framework of Apache Hadoop, Google Cloud Dataflow, or Google AI platform, which will help continuously process the data on the streams of traces and real-time resource demand.</p>
                <p>This methodology employs the dataset of Google Cluster Trace v3 to build prediction models that can be used to make reliable predictions about CPU usage in jobs in cloud environments. The preparation steps, including feature extraction and data normalization, as well as sampling algorithms, ensure that the models are resilient and computationally efficient. Moreover, addressing the issue of data imbalance and ensuring the scalability of the solution to be applied in the real world preconditions the creation of practical AI-mediated cloud resource-scheduling systems.</p>
            </sec>
        </sec>
        <sec id="sec14">
            <title>5. Proposed models</title>
            <sec id="sec15">
                <title>5.1 Linear regression (LR)</title>
                <p>Linear Regression (LR) acts as our baseline model, which provides a simple way of predicting how the CPU will be utilized in the future using a weighted linear combination of the input information. The basic limitation of linear regression is that it does not allow the modelling of non-linear relationships, but it does offer an interpretable framework, which can be used to explain trends, including the relationship between high task priority and high CPU utilization. We used the Ordinary Least Squares (OLS) method to train this model, which we used to test predictive performance in terms of the baseline. Linear regression has the benefit of being simple, which makes it beneficial when interested in comparative analysis and can test more complex models.</p>
            </sec>
            <sec id="sec16">
                <title>5.2 Support vector regression (SVR)</title>
                <p>The Support Vector Regression used a Radial Basis Function (RBF) kernel that enabled the model to approximate complex non-linear correlations between input and CPU utilization. The working principle of SVR consists of optimizing a function inside an epsilon-tube, neglecting the errors in a given tolerance range, and penalizing larger errors. This approach is beneficial for detecting patterns that are not necessarily reflected in the linear models. However, SVR may be computationally expensive, particularly when dealing with large datasets. Therefore, we used a randomly subsampled dataset to train it to ensure that we could. The validation set was used to optimize the hyperparameters through a grid search, focusing on the RBF kernel width (gamma) and regularization parameter (C) to tune the hyperparameters to the minimum Root Mean Squared Error (RMSE).</p>
            </sec>
            <sec id="sec17">
                <title>5.3 Random forest (RF) regression</title>
                <p>Random Forest (RF) regression is a decision-tree-based ensemble method that creates many decision trees and aggregates their estimates, resulting in enhanced accuracy and resistance. This model can deal with nonlinear interactions of features and requires minimal parameter tuning. During our investigation, to estimate the accuracy of the prediction, we used the Mean Squared Error (MSE) as the splitting criterion and trained a Random Forest using 100 trees. We limited the depth of the tree to ten levels to reduce overfitting. The RF feature importance attribute allowed us to identify the key predictors of CPU utilization, and among the most significant factors, CPU and task scheduling classes were identified. This is a highly effective tree-based model capable of performing well in capturing complex relationships between input features.</p>
            </sec>
            <sec id="sec18">
                <title>5.4 Predictive neural network (NN)</title>
                <p>The Predictive Neural Network (NN) is a customized feedforward multilayer perceptron (MLP) designed to predict the future use of the CPU by examining the properties of the tasks. The network comprises an Input Layer: The number of neurons is equal to the number of features. Hidden Layers: The initial hidden layer is a 64 neuron ReLU-activated, and the second layer has 32 neurons. The output layer uses binary classification (between high- and low-load workloads) or regression (predicting continuous CPU consumption) activation of a sigmoid or linear type, respectively.</p>
                <p>The first strategy was to use a binary classification tool to label each job as high- or low-load to maximize the accuracy of the classification. Consequently, the network was adjusted to predict the steady CPU usage. During training, the Adam optimizer was used with a learning rate of 0.001, and the loss function for the classification was binary cross-entropy. Early termination was also used to prevent overfitting at 50 epochs.</p>
                <p>This hybrid technique optimized the classification accuracy while indirectly forecasting CPU use levels. The model's validation accuracy consistently increased, reaching a maximum of almost 95% by epoch 50, signifying robust prediction capability and effective generalization to novel data.</p>
                <p>
                    <xref ref-type="fig" rid="f3">
Figure 3</xref> demonstrates the system's organized pipeline, which starts with data collection and preprocessing and ends with model testing and cloud installation. After being pulled from the database, the data were processed beforehand, which included normalization and cleansing. After the selection of features, different classification techniques, including Logistic Regression (LR), RF, Decision Tree (DT), and Pure Neural Networks (PNN), were used to develop selection models. After evaluating the newly constructed models, the top-performing model is put through use in a cloud environment.</p>
                <fig fig-type="figure" id="f3" orientation="portrait" position="float">
                    <label>
Figure 3. </label>
                    <caption>
                        <title>Workflow of the proposed machine learning model training and deployment process.</title>
                    </caption>
                    <graphic id="gr3" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure3.gif"/>
                </fig>
                <p>The Predictive Neural Network's (PNN) training and validation result are shown in 
                    <xref ref-type="fig" rid="f4">
Figure 4</xref>. According to the consistency graph, both training and validation accuracies gradually increased throughout the epochs, with the verification accuracy eventually far surpassing the training accuracy. Effective learning and model convergence without overfitting are demonstrated by the smooth decline in the training and validation losses over time.</p>
                <fig fig-type="figure" id="f4" orientation="portrait" position="float">
                    <label>
Figure 4. </label>
                    <caption>
                        <title>Training vs. validation accuracy for the Predictive Neural Network (PNN).</title>
                    </caption>
                    <graphic id="gr4" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure4.gif"/>
                </fig>
                <p>Through the training phase, the PNN model demonstrated excellent performance in generalization by gradually increasing accuracy and minimizing loss, as indicated in 
                    <xref ref-type="fig" rid="f4">
Figure 4</xref>.</p>
                <p>Performance Evaluation</p>
                <p>In addition to the regression performance, we also evaluated binary classification metrics, such as accuracy, precision, recall, and F1-score, for detecting high-CPU tasks. These metrics are particularly useful for schedulers because identifying high-load tasks allows for more efficient scheduling and resource allocation.</p>
                <p>In accordance with MAE, RMSE, and R
                    <sup>2</sup> on the test data set, ensemble and models built on neural networks perform better than linear and kernel-related procedures, demonstrated in 
                    <xref ref-type="table" rid="T3">
Table 3</xref>.</p>
                <table-wrap id="T3" orientation="portrait" position="float">
                    <label>
Table 3. </label>
                    <caption>
                        <title>Proposed model summary as cloud resource usage.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Model</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Description</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Key features</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Hyperparameters</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Performance (Validation set)</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="middle">LR</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">A baseline linear model for predicting CPU usage.</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Simple, interpretable coefficients</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">None (OLS)</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">MAE: 0.20, RMSE: 0.30, R
                                    <sup>2</sup>: 0.50</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="middle">SVR</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Non-linear regression using a radial basis function kernel.</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Handles non-linear patterns</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Gamma, Regularization parameter (C)</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">MAE: 0.18, RMSE: 0.28, R
                                    <sup>2</sup>: 0.60</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="middle">RF</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Ensemble of decision trees trained on random data subsets.</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Handles complex interactions</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Number of trees (100), Max depth (10)</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">MAE: 0.12, RMSE: 0.20, R
                                    <sup>2</sup>: 0.85</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="middle">NN</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Custom MLP model for CPU usage prediction, optimized for both classification and regression.</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Hybrid classification-regression approach</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">Learning rate (0.001), Epochs (50), Activation functions</td>
                                <td align="left" colspan="1" rowspan="1" valign="middle">MAE: 0.10, RMSE: 0.15, R
                                    <sup>2</sup>: 0.90</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
            </sec>
            <sec id="sec19">
                <title>5.5 Environment setup</title>
                <p>The training was performed on a machine with an Intel Xeon processor and 64GB RAM. NVIDIA Tesla was used to train the NN model, which greatly helped to accelerate the training process because it minimized the number of epochs required.</p>
                <p>To implement such models on a cloud system, it is possible to apply Python and the framework of Apache Spark to train the model on large-scale data or rely on the Google Cloud AI Platform to provide model training and real-time prediction services on a scale. Such models may be included in the cloud scheduler pipeline, in which the features of tasks are submitted to the trained model to estimate CPU usage, which will help make sound scheduling decisions.</p>
            </sec>
            <sec id="sec20">
                <title>5.6 Evolution matrix</title>
                <p>To evaluate the predictive efficacy of the trained models, we employed various assessment measures including the Mean Absolute Error (MAE) and Root Mean Squared Error (RMSE), as illustrated in 
                    <xref ref-type="disp-formula" rid="e3 e4">
Equations (3) and (4)</xref>.
                    <disp-formula id="e3">

                        <mml:math display="block">
                            <mml:mtext mathvariant="italic">RMSE</mml:mtext>
                            <mml:mo>=</mml:mo>
                            <mml:msqrt>
                                <mml:mfrac>
                                    <mml:mrow>
                                        <mml:mo>&#x2211;</mml:mo>
                                        <mml:msup>
                                            <mml:mrow>
                                                <mml:mo stretchy="true">(</mml:mo>
                                                <mml:msub>
                                                    <mml:mi>y</mml:mi>
                                                    <mml:mi>i</mml:mi>
                                                </mml:msub>
                                                <mml:mo>&#x2212;</mml:mo>
                                                <mml:msub>
                                                    <mml:mover accent="true">
                                                        <mml:mi>y</mml:mi>
                                                        <mml:mo stretchy="true">&#x0302;</mml:mo>
                                                    </mml:mover>
                                                    <mml:mi>i</mml:mi>
                                                </mml:msub>
                                                <mml:mo stretchy="true">)</mml:mo>
                                            </mml:mrow>
                                            <mml:mn>2</mml:mn>
                                        </mml:msup>
                                    </mml:mrow>
                                    <mml:mrow>
                                        <mml:mi>N</mml:mi>
                                        <mml:mo>&#x2212;</mml:mo>
                                        <mml:mi>P</mml:mi>
                                    </mml:mrow>
                                </mml:mfrac>
                            </mml:msqrt>
                        </mml:math>

                        <label>(3)</label>
</disp-formula>

                    <disp-formula id="e4">

                        <mml:math display="block">
                            <mml:mi mathvariant="italic">mAP</mml:mi>
                            <mml:mo>=</mml:mo>
                            <mml:mfrac>
                                <mml:mn>1</mml:mn>
                                <mml:mi>k</mml:mi>
                            </mml:mfrac>
                            <mml:munderover>
                                <mml:mo>&#x2211;</mml:mo>
                                <mml:mi>i</mml:mi>
                                <mml:mi>k</mml:mi>
                            </mml:munderover>
                            <mml:mi>A</mml:mi>
                            <mml:msub>
                                <mml:mi>P</mml:mi>
                                <mml:mi>i</mml:mi>
                            </mml:msub>
                        </mml:math>

                        <label>(4)</label>
</disp-formula>
                </p>
                <p>Precision and Recall are evaluative metrics that assess the true positives (TP) in relation to the sum of true positives and false positives (FP), as shown in 
                    <xref ref-type="disp-formula" rid="e7">
Equations (5)</xref> and 
                    <xref ref-type="disp-formula" rid="e6">(6)</xref>.
                    <disp-formula id="e5">

                        <mml:math display="block">
                            <mml:mtext mathvariant="italic">Preceion</mml:mtext>
                            <mml:mspace width="0.25em"/>
                            <mml:mrow>
                                <mml:mo stretchy="true">(</mml:mo>
                                <mml:mi>P</mml:mi>
                                <mml:mo stretchy="true">)</mml:mo>
                            </mml:mrow>
                            <mml:mo>=</mml:mo>
                            <mml:mfrac>
                                <mml:mi mathvariant="italic">TP</mml:mi>
                                <mml:mrow>
                                    <mml:mi mathvariant="italic">TP</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mi mathvariant="italic">FP</mml:mi>
                                </mml:mrow>
                            </mml:mfrac>
                            <mml:mo>,</mml:mo>
                            <mml:mspace width="0.25em"/>
                            <mml:mtext mathvariant="italic">Recall</mml:mtext>
                            <mml:mrow>
                                <mml:mo stretchy="true">(</mml:mo>
                                <mml:mi>R</mml:mi>
                                <mml:mo stretchy="true">)</mml:mo>
                            </mml:mrow>
                            <mml:mo>=</mml:mo>
                            <mml:mfrac>
                                <mml:mi mathvariant="italic">TP</mml:mi>
                                <mml:mrow>
                                    <mml:mi mathvariant="italic">TP</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mi mathvariant="italic">FN</mml:mi>
                                </mml:mrow>
                            </mml:mfrac>
                        </mml:math>

                        <label>(5)</label>
</disp-formula>

                    <disp-formula id="e6">

                        <mml:math display="block">
                            <mml:mi>F</mml:mi>
                            <mml:mn>1</mml:mn>
                            <mml:mspace width="0.25em"/>
                            <mml:mtext mathvariant="italic">score</mml:mtext>
                            <mml:mo>=</mml:mo>
                            <mml:mfrac>
                                <mml:mrow>
                                    <mml:mn>2</mml:mn>
                                    <mml:mspace width="0.25em"/>
                                    <mml:mo>&#x2217;</mml:mo>
                                    <mml:mspace width="0.25em"/>
                                    <mml:mi>P</mml:mi>
                                    <mml:mspace width="0.25em"/>
                                    <mml:mo>&#x2217;</mml:mo>
                                    <mml:mspace width="0.25em"/>
                                    <mml:mi>R</mml:mi>
                                </mml:mrow>
                                <mml:mrow>
                                    <mml:mi>P</mml:mi>
                                    <mml:mo>+</mml:mo>
                                    <mml:mi>R</mml:mi>
                                </mml:mrow>
                            </mml:mfrac>
                        </mml:math>

                        <label>(6)</label>
</disp-formula>
                </p>
                <p>R
                    <sup>2</sup> score in 
                    <xref ref-type="disp-formula" rid="e7">
Equation (7)</xref>, which indicates the proportion of variance in actual CPU usage explained by the model.
                    <disp-formula id="e7">

                        <mml:math display="block">
                            <mml:msup>
                                <mml:mi>R</mml:mi>
                                <mml:mn>2</mml:mn>
                            </mml:msup>
                            <mml:mo>=</mml:mo>
                            <mml:mn>1</mml:mn>
                            <mml:mo>&#x2212;</mml:mo>
                            <mml:mfrac>
                                <mml:mrow>
                                    <mml:mi>s</mml:mi>
                                    <mml:msub>
                                        <mml:mi>s</mml:mi>
                                        <mml:mtext mathvariant="italic">Regression</mml:mtext>
                                    </mml:msub>
                                </mml:mrow>
                                <mml:msub>
                                    <mml:mi mathvariant="italic">SS</mml:mi>
                                    <mml:mtext mathvariant="italic">Total</mml:mtext>
                                </mml:msub>
                            </mml:mfrac>
                        </mml:math>

                        <label>(7)</label>
</disp-formula>
                </p>
                <p>Where SS 
                    <sub>Regression</sub> is Sum Squared Regression Error, and SS 
                    <sub>Total</sub> is the Sum Squared Total Error</p>
            </sec>
        </sec>
        <sec id="sec21">
            <title>6. Experimental results</title>
            <sec id="sec22">
                <title>6.1 Model performance observations</title>
                <p>LR in 
                    <xref ref-type="table" rid="T4">
Table 4</xref> performed the worst among all models, with an RMSE of 0.30 and an R
                    <sup>2</sup> of only 0.50. The linear model cannot capture the nonlinear relationships inherent in CPU utilization, resulting in significant prediction errors. Its classification accuracy for high-CPU tasks was also quite poor, with only 61%, which is close to a naive classifier that classifies all tasks as low-load (leading to an accuracy of approximately 80% owing to class imbalance). This highlights the limitations of using simple linear models for complex nonlinear data, such as cloud resource usage.</p>
                <table-wrap id="T4" orientation="portrait" position="float">
                    <label>
Table 4. </label>
                    <caption>
                        <title>Shows the classification report for the LR-Model result.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Class</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Precision</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Recall</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">f1-score</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Accuracy</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.84</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.61</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.71</td>
                                <td colspan="1" rowspan="1"/>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.32</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.61</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.42</td>
                                <td colspan="1" rowspan="1"/>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">accuracy</td>
                                <td colspan="1" rowspan="1"/>
                                <td colspan="1" rowspan="1"/>
                                <td colspan="1" rowspan="1"/>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.61</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>Random Forest (RF): Random Forest regression showed in the above figure a substantial improvement over both Linear Regression and Support Vector Regression, with an RMSE of 0.20 and an R
                    <sup>2</sup> of 0.85. The feature importance analysis revealed that task priority and CPU request size were the strongest predictors of actual CPU usage, which makes sense because high-priority tasks often require more CPU resources. The classification accuracy for high-CPU tasks was approximately 80%, indicating that RF can reasonably differentiate between high- and low-load tasks, but still misclassify some high-load tasks owing to shared features with low-load tasks. 
                    <xref ref-type="fig" rid="f5">
Figure 5</xref> highlights the Random Forest (RF) approach's classification efficacy for high-CPU task prediction, including accuracy, precision, recall, and F1-score.</p>
                <fig fig-type="figure" id="f5" orientation="portrait" position="float">
                    <label>
Figure 5. </label>
                    <caption>
                        <title>Classification performance of the RF model for high-CPU task.</title>
                    </caption>
                    <graphic id="gr5" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure5.gif"/>
                </fig>
                <p>NN -Model Result</p>
                <p>The proposed artificial neural networks model showed the best results among the permutation sets of models. As shown in 
                    <xref ref-type="table" rid="T5">
Table 5</xref>, the model started overfitting after 55 epochs; therefore, we employed the early stopping technique to save energy and avoid overfitting.</p>
                <table-wrap id="T5" orientation="portrait" position="float">
                    <label>
Table 5. </label>
                    <caption>
                        <title>Neural networks history over epoch for both training and validation dataset.</title>
                    </caption>
                    <table content-type="article-table" frame="hsides">
                        <thead>
                            <tr>
                                <th align="left" colspan="1" rowspan="1" valign="top">Epoch</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Training loss</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">Val accuracy</th>
                                <th align="left" colspan="1" rowspan="1" valign="top">
Val loss</th>
                            </tr>
                        </thead>
                        <tbody>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">1</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">2.2751</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.2625</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">2.0962</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">5</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">1.1372</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.44</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">1.5946</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">10</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.8885</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.6571</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">1.1133</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">20</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.6454</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.7237</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.9233</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">30</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.5229</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.8791</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.3558</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">40</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.4427</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.9194</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.2482</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">45</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.4184</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.93</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.2244</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">50</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.3898</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.9391</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">
                                    <bold>0.2023</bold>
</td>
                            </tr>
                            <tr>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">55</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">
                                    <bold>0.3897</bold>
</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">
                                    <bold>0.9391</bold>
</td>
                                <td align="left" colspan="1" rowspan="1" valign="bottom">0.2024</td>
                            </tr>
                        </tbody>
                    </table>
                </table-wrap>
                <p>Predictive Neural Network (NN): The NN model was the most successful single model in our experiments, achieving an RMSE of 0.15, which was the lowest error among the models. With an R
                    <sup>2</sup> of 0.90, the NN could explain 90% of the variance in CPU usage, demonstrating its high predictive power. The classification accuracy of the NN for high-CPU tasks was 94%, significantly outperforming the tree-based methods and SVR. This impressive performance can be attributed to the NN's ability to capture complex nonlinear relationships and interactions between features that other models, including tree-based methods, fail to detect. Notably, the NN was trained to maximize the classification accuracy to identify heavy tasks, which aligns well with the requirements of cloud schedulers.</p>
                <p>Analysis for features Important</p>
                <p>Based on the SHAP summary in 
                    <xref ref-type="fig" rid="f6">
Figure 6</xref>, au_memory and time have major effects on the forecasts generated by the model, with higher values typically producing better results. Although they may have less impact, other factors such as priority, CPU utilization (au_cpu, mu_cpu), and memory metrics (mu_memory, page_cache_memory) also play a role. Predictions based on process types are influenced by the scheduling features. In general, the model makes judgements based predominantly on aspects related to memory and space (
                    <xref ref-type="bibr" rid="ref11">Lundberg &amp; Lee, 2017</xref>).</p>
                <fig fig-type="figure" id="f6" orientation="portrait" position="float">
                    <label>
Figure 6. </label>
                    <caption>
                        <title>SHAP algorithm for features important.</title>
                    </caption>
                    <graphic id="gr6" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure6.gif"/>
                </fig>
                <p>The blue bars (-0.07, -0.07, and-0.05) show features that reduce the model product, while the red bar (+0.1) shows a positive influence. Overall, one significant factor favorably influences the choice, as demonstrated by the combined effect, which shifts the prediction from its starting value E [f(x)] = 0.1 toward f(x) &#x2248; 0.2.</p>
            </sec>
        </sec>
        <sec id="sec23">
            <title>7. Conclusion model performance</title>
            <p>The experimental results proved that the use of machine learning to predict CPU utilization is a highly efficient approach. Even the simplest models, such as Random Forest and Gradient Boosting, demonstrated rather low errors, demonstrating the effectiveness of machine learning in managing cloud resources. The Predictive Neural Network (NN) sets a new standard to achieve the lowest occurrence of prediction error and the highest rate of classification. The neural network formed a 0.90, slightly higher than the 0.88-0.89 range reported in previous studies (
                <xref ref-type="bibr" rid="ref9">Gao et al., 2020</xref>) to perform similar tasks, which means that our method, especially with the help of a neural model, can help improve the state-of-the-art performance on this dataset.</p>
            <p>An important observation is that the neural network has generalization capability. This model was consistently performed with training, validation, and test sets and did not overfit because regularization and early stopping strategies were applied. This makes the neural network a robust model that can be used in the implementation of a real-life cloud system to predict CPU utilization and assist in making decisions related to task scheduling.</p>
            <p>In each cluster, a different Random Forest (RF) model was trained to predict CPU usage for the jobs in the cluster. This division enables the models to specialize in smaller features of the feature space, which reduces variation and improves accuracy. An RF model in one cluster worked best in predicting CPU utilization in short- and low-memory workloads, while the other model specialized in long- and high-priority workloads. The cluster-based approach avoids the trade-off between under-and overestimating a few activities, which might occur when a single model attempts to handle a non-homogenous set of responsibilities.</p>
            <p>The accuracy of the classification of high-usage jobs in the Cluster-Based Ensemble was approximately 93, which is very similar to that of the 94 of the neural networks. Compared to the situation with Random Forest alone, the ensemble model had a lower false negative rate (overlooked heavy tasks) because one of the clusters was assigned to high-usage tasks specifically, effectively boosting the detection. The cluster-based Ensemble showed better performance than all the other models, as it showed better stability and accuracy.</p>
            <p>Interestingly, the cluster-based approach was better than the neural network in this instance. Although neural networks, including NN, are identified by their capability to depict difficult relationships, they are more computationally expensive and interpretable. Alternatively, the clustering + RF solution is more efficient than random forests in terms of high-accuracy predictions in limited resource settings, as random forests are more intuitive to interpret and train. This offers a viable alternative to deep learning techniques, especially when interpretability and training time are paramount. Future studies 
                <xref ref-type="bibr" rid="ref10">
Al-Hitawi et al. (2026)</xref> might use two stage methods by employing the attention mechanism to achieve higher model trust.</p>
            <sec id="sec24">
                <title>7.1 Visualization of predictions</title>
                <p>
                    <xref ref-type="fig" rid="f7">
Figure 7</xref> presents a comparison of the expected and actual CPU consumption of the best single model (NN) and the best hybrid model (Cluster-Based Ensemble). This is represented in the graph in which the expected CPU usage (y-axis) versus the measured CPU usage (x-axis) and the ideal prediction are formulated as a diagonal line (y = x).</p>
                <fig fig-type="figure" id="f7" orientation="portrait" position="float">
                    <label>
Figure 7. </label>
                    <caption>
                        <title>Actual vs. predicted value grouped by cluster name (node name).</title>
                    </caption>
                    <graphic id="gr7" orientation="portrait" position="float" xlink:href="https://f1000research-files.f1000.com/manuscripts/195388/0ebb6875-dd0e-4fb7-ae47-7b3a64a5ccd9_figure7.gif"/>
                </fig>
                <p>The NN (green points) correlates well with actual CPU consumption incidentally, whereas a few high-demand tasks (upper-right points) are slightly under-predicted.</p>
                <p>The Cluster-Based Ensemble (blue points) fits better along the diagonal, particularly when the jobs are of high usage, which indicates that it works better in this case.</p>
                <p>The two models have outstanding performance, especially in workloads characterized by low to moderate CPU usage, where the forecasts are almost equal to the actual outcomes. The predicted versus real values Pearson correlation exceeded 0.95 in both models, which is a great indication that they were very accurate in demonstrating the patterns of CPU utilization.</p>
            </sec>
            <sec id="sec25">
                <title>7.2 Stability across time</title>
                <p>The critical evaluation of generalization is the performance of the model on the data of another time context. We used a temporal split of our data to evaluate it, that is, the test set included tasks of later time periods compared to the training set. Temporal validation allows the evaluation of the model to be generalized under altered workload conditions, such as seasonal changes or daily load cycles.</p>
                <p>Our models have high values of R
                    <sup>2</sup> that show good time generalization. This means that even with changes in the workload, the models will be able to provide accurate estimations of CPU utilization. The generalization of the system over numerous timeframes without frequent retraining is vital for its practical application. Addition of the time aspect or retraining the models after some time might help to further increase the ability of the models to respond to new regularities, but this was not necessary in the current setup.</p>
            </sec>
            <sec id="sec26">
                <title>7.3 Practical application: Low prediction error</title>
                <p>The low prediction error observed in our models is an important factor for their applicability. The cluster-RF ensemble model significantly reduced the prediction error compared to linear baselines. Importantly, the models were able to classify high-CPU jobs with a classification accuracy of 93-94% which is far too high compared to the classification accuracy of a naive linear model by approximately 61 %.</p>
                <p>This implies that the predictions of the model are reliable to the schedulers to a large extent. As an example, the model predicts that a task will use up large amounts of CPU resources 90 percent of the time, allowing the scheduler to arrive at preemptive decisions, such as delegating the task to a less loaded server or preemptively allocating resources. Such proactive scheduling can significantly reduce the system overloads and optimize the resources usage, bringing the final outcomes of cost savings and performance improvement.</p>
                <p>The effectiveness of our methodology is strongly supported by experimental evidence. The stability of our models and their generalization of learning, particularly that achieved by the cluster-RF ensemble, show that machine learning is capable of making accurate predictions of future CPU usage. This study demonstrates the effectiveness of using supervised learning in the modeling of cloud workloads, which can serve as a useful guide for cloud schedulers in improving the decision-making process by means of accurate forecasts of CPU consumption. With high levels of classification accuracy in classifying high-CPU jobs, our models can provide considerable support for proactive scheduling, thereby increasing resource allocation and cost efficiency in clouds.</p>
            </sec>
        </sec>
        <sec id="sec27" sec-type="discussion">
            <title>8. Discussion</title>
            <sec id="sec28">
                <title>8.1 Resource management and scheduling impact</title>
                <p>The ability to predict CPU utilization of the CPU has significant implications for the management and scheduling of cloud resources. The availability of actual CPU utilization forecasts now allows a cloud scheduler, such as those used in Borg or Kubernetes, to make better-informed decisions. Workloads that are expected to require large CPU resources can be allocated to machines that have sufficient CPU capacity or to a node that has a higher workload capacity. Conversely, tasks that do not require a large number of CPU can be packed, thereby achieving high resource efficiency.</p>
                <p>It is a predictive methodology that allows scheduling in advance, thereby reducing the need to respond to a system overload by scaling up to more virtual machines or containers. The cost savings that this strategy could provide are the preventive measures of overloading, keeping machines at full capacity, and improving the efficiency of the system by reducing contention and rescheduling.</p>
                <p>The models that are particularly good with this goal are the Predictive Neural Network (NN) and the cluster-based ensemble, which offer sufficient accuracy to support proactive decision-making. To illustrate, a scheduler can ask the model to make predictions of CPU requirements when obtaining a new job. If the prediction indicates higher CPU utilization, an alternative scheduling strategy might have to be adopted, including not co-locating the activity with another resource-intensive task or being given priority during resource allocation alongside other high-priority tasks.</p>
                <p>All these relationships signify that AI-based orchestration of the cloud is progressing, where machine learning solutions improve conventional heuristics in real time in making smarter judgements of scheduling.</p>
            </sec>
            <sec id="sec29">
                <title>8.2. Generalization and robustness</title>
                <p>Cloud infrastructures are inherently dynamic, and the workloads change owing to changes in the parameters, such as new applications, user changes, and system maintenance. One problem faced by advanced models is idea drift, in which the statistical nature of the input data or target variables changes with time. We used a chronological training/test split to evaluate the resiliency of our model. Our results proved that the models were highly generalized even when they were trained with historical data and tested on modern workloads.</p>
                <p>Regular retraining is required to sustain performance levels. This can be achieved through online education or nightly updating the models based on the latest information. Moreover, the use of clustering in the ensemble can lead to the formation of a new category of tasks that do not fit the existing clusters.</p>
                <p>One of the main benefits of our ensemble approach is that it is modular to a certain degree: in situations where the behavior of a specific cluster deviates, only the model of a specific cluster requires retraining, thereby improving computational efficiency. In addition, the domain attributes (e.g., task priority and scheduling class) ensure that the models do not lose their relevance and applicability as long as they exist in the scheduling process.</p>
            </sec>
            <sec id="sec30">
                <title>8.3 Limitations and failure cases</title>
                <p>Despite the excellent performance of our models, some edge cases lead to low predictive accuracy. As an example, jobs with a strong dynamic in terms of CPU usage (e.g., temporary bursts) could not be predicted well with our models, which rely mostly on fixed characteristics. Such sharp spikes are difficult to capture inside a model based on aggregated characteristics, and can cause a temporary overload in the case of many jobs with spikes occurring simultaneously.</p>
                <p>
A second limitation arises when exogenous factors on task behavior that are not found in the training data, such as workloads created by users or circadian rhythm, are considered. These problems may influence the validity of the model, particularly at various times of the day or in certain situations. To deal with temporal characteristics, as a remedy, we can insert time-varying characteristics or apply time-series forecasting algorithms to the characteristics to improve them.</p>
                <p>In addition, even though our models make predictions at the task level of CPU utilization, many cloud workloads still have tasks that share resources within a job (e.g., MapReduce jobs). Our models can be enhanced in the future by predicting resource consumption at the job level, and tasks within a job are regarded as parts of a whole.</p>
                <p>On the other hand, our supervised learning approach is more economical in terms of data usage and transparency and provides practical suggestions. The inputs of a prospective hybrid methodology can consist of machine learning predictions that a reinforcement learning agent can use to allow the reinforcement learning system to focus on the decision-making rules guided by such predictions. This complex approach can further improve the effectiveness of scheduling, increase the speed of the learning process, and stabilize long-term decision making.</p>
            </sec>
        </sec>
        <sec id="sec31" sec-type="conclusion">
            <title>9. Conclusion</title>
            <p>We verified the effectiveness of the data-based prediction approach for the management of cloud resources. We have proactive scheduling in our models as we make accurate predictions of CPU usage, leading to the optimization of resource utilization, cost effectiveness, and system performance. The joint effort of domain expertise, feature engineering, and hybrid machine learning models has been shown to be very effective, and the generalization of our models suggests that they can be effectively applied in practical situations in cloud models. This is where we can continue to optimize further and automate more cloud computing systems as we continue to improve and expand these models.</p>
        </sec>
    </body>
    <back>
        <sec id="sec34" sec-type="data-availability">
            <title>Data availability</title>
            <p>The dataset used in this research is the Google Cluster Trace v3, which is publicly available and released by Google under an open license. The dataset can be accessed via the official Google repository: 
                <ext-link ext-link-type="uri" xlink:href="https://github.com/google/cluster-data">https://github.com/google/cluster-data
</ext-link> (
                <xref ref-type="bibr" rid="ref12">Wilkes, 2019</xref>), The Google Cluster Trace v3 (2019 release) is the individual version exploited in this investigation.
                <list list-type="bullet">
                    <list-item>
                        <label>&#x2022;</label>
                        <p>Source code available from: The model analysis code, feature extraction techniques, and preprocessing procedures used to produce the outcomes offered in this study are all publicly available at: 
                            <ext-link ext-link-type="uri" xlink:href="https://github.com/Mohammed20201991/AlgoEval-GCD">https://github.com/Mohammed20201991/AlgoEval-GCD
</ext-link>.</p>
                    </list-item>
                    <list-item>
                        <label>&#x2022;</label>
                        <p>License: MIT License</p>
                    </list-item>
                    <list-item>
                        <label>&#x2022;</label>
                        <p>Archived source code at time of publication: Zenodo. GCD-CloudAI: Benchmarking intelligent scheduling and workload prediction. 
                            <ext-link ext-link-type="uri" xlink:href="https://doi.org/10.5281/zenodo.18674733">https://doi.org/10.5281/zenodo.18674733</ext-link> (
                            <xref ref-type="bibr" rid="ref13">Al-Hitawi, M. A. S. 2025</xref>)</p>
                    </list-item>
                    <list-item>
                        <label>&#x2022;</label>
                        <p>License: 
                            <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">Creative Commons Attribution 4.0 International license</ext-link>
                        </p>
                    </list-item>
                </list>
            </p>
            <p>Besides the procedures for preprocessing in the Methods paragraph, the values for the statistical calculations and data for tables and graphs came with the Google Cluster Trace v3 series; no other information was applied.</p>
        </sec>
        <ref-list>
            <title>References</title>
            <ref id="ref13">
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Al-Hitawi</surname>
                            <given-names>MAS</given-names>
                        </name>
</person-group>:
                    <article-title>GCD-CloudAI: Benchmarking intelligent scheduling and workload prediction (Version v0) [Software].</article-title>
                    <source>

                        <italic toggle="yes">Zenodo.</italic>
</source>
                    <year>2025</year>.
                    <pub-id pub-id-type="doi">10.5281/zenodo.18674733</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref10">
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Al-Hitawi</surname>
                            <given-names>MAS</given-names>
                        </name>

                        <name name-style="western">
                            <surname>M&#x00e1;t&#x00e9;</surname>
                            <given-names>GN</given-names>
                        </name>
</person-group>:
                    <article-title>Enhancing Transformer-Based Language Models for Hungarian Handwritten Text Recognition [version 1; peer review: awaiting peer review].</article-title>
                    <source>

                        <italic toggle="yes">F1000Res.</italic>
</source>
                    <year>2026</year>;<volume>15</volume>:<fpage>181</fpage>.
                    <pub-id pub-id-type="doi">10.12688/f1000research.176408.1</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref3">
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Armbrust</surname>
                            <given-names>M</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Fox</surname>
                            <given-names>A</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Griffith</surname>
                            <given-names>R</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>A view of cloud computing.</article-title>
                    <source>

                        <italic toggle="yes">Commun. ACM.</italic>
</source>
                    <year>2010</year>;<volume>53</volume>(<issue>4</issue>):<fpage>50</fpage>&#x2013;<lpage>58</lpage>.
                    <pub-id pub-id-type="doi">10.1145/1721654.1721672</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref4">
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Zarour</surname>
                            <given-names>H</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <source>

                        <italic toggle="yes">Analyzing the impact of various parameters on job scheduling in the Google cluster dataset.</italic>
</source>
                    <publisher-name>ORBilu, University of Luxembourg</publisher-name>;<year>2024</year>.</mixed-citation>
            </ref>
            <ref id="ref5">
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Chen</surname>
                            <given-names>X</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Lu</surname>
                            <given-names>CD</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Pattabiraman</surname>
                            <given-names>K</given-names>
                        </name>
</person-group>:
                    <chapter-title>Failure analysis of jobs in compute clouds: a Google cluster case study.</chapter-title>
                    <source>

                        <italic toggle="yes">2014 IEEE 25th International Symposium on Software Reliability Engineering (ISSRE).</italic>
</source>
                    <publisher-name>IEEE</publisher-name>;<year>2014, November</year>; pp.<fpage>167</fpage>&#x2013;<lpage>177</lpage>.</mixed-citation>
            </ref>
            <ref id="ref6">
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Mishra</surname>
                            <given-names>AK</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Hellerstein</surname>
                            <given-names>JL</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Cirne</surname>
                            <given-names>W</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Towards characterizing cloud backend workloads: insights from Google compute clusters.</article-title>
                    <source>

                        <italic toggle="yes">ACM SIGMETRICS Performance Evaluation Review.</italic>
</source>
                    <year>2010</year>;<volume>37</volume>(<issue>4</issue>):<fpage>34</fpage>&#x2013;<lpage>41</lpage>.
                    <pub-id pub-id-type="doi">10.1145/1773394.1773400</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref7">
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Li</surname>
                            <given-names>X</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Li</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Cui</surname>
                            <given-names>Z</given-names>
                        </name>

                        <etal/>
</person-group>:
                    <article-title>Deep reinforcement learning for job scheduling in cloud computing.</article-title>
                    <source>

                        <italic toggle="yes">Clust. Comput.</italic>
</source>
                    <year>2021</year>;<volume>24</volume>:<fpage>2901</fpage>&#x2013;<lpage>2915</lpage>.</mixed-citation>
            </ref>
            <ref id="ref8">
                <mixed-citation publication-type="journal">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Karpagam</surname>
                            <given-names>T</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Kanniappan</surname>
                            <given-names>J</given-names>
                        </name>
</person-group>:
                    <article-title>Symmetry-aware multi-dimensional attention spiking neural network with optimization techniques for accurate workload and resource time series prediction in cloud computing systems.</article-title>
                    <source>

                        <italic toggle="yes">Symmetry.</italic>
</source>
                    <year>2025</year>;<volume>17</volume>(<issue>3</issue>):<fpage>383</fpage>.
                    <pub-id pub-id-type="doi">10.3390/sym17030383</pub-id>
                </mixed-citation>
            </ref>
            <ref id="ref9">
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Gao</surname>
                            <given-names>J</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Wang</surname>
                            <given-names>H</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Shen</surname>
                            <given-names>H</given-names>
                        </name>
</person-group>:
                    <chapter-title>Machine learning based workload prediction in cloud computing.</chapter-title>
                    <source>

                        <italic toggle="yes">2020 29th International Conference on Computer Communications and Networks (ICCCN).</italic>
</source>
                    <publisher-name>IEEE</publisher-name>;<year>2020</year>; pp.<fpage>1</fpage>&#x2013;<lpage>9</lpage>.</mixed-citation>
            </ref>
            <ref id="ref11">
                <mixed-citation publication-type="other">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Lundberg</surname>
                            <given-names>SM</given-names>
                        </name>

                        <name name-style="western">
                            <surname>Lee</surname>
                            <given-names>S-I</given-names>
                        </name>
</person-group>:
                    <chapter-title>A Unified Approach to Interpreting Model Predictions.</chapter-title>
                    <source>

                        <italic toggle="yes">Advances in Neural Information Processing Systems (NeurIPS).</italic>
</source>
                    <year>2017</year>;<fpage>30</fpage>.</mixed-citation>
            </ref>
            <ref id="ref12">
                <mixed-citation publication-type="book">
                    <person-group person-group-type="author">

                        <name name-style="western">
                            <surname>Wilkes</surname>
                            <given-names>J</given-names>
                        </name>
</person-group>:
                    <source>

                        <italic toggle="yes">Google Cluster Trace v3.</italic>
</source>
                    <publisher-name>Google</publisher-name>;<year>2019</year>.
                    <ext-link ext-link-type="uri" xlink:href="https://github.com/google/cluster-data">Reference Source</ext-link>
                </mixed-citation>
            </ref>
        </ref-list>
        <fn-group content-type="footnotes">
            <fn id="fn1">
                <label>1</label>
                <p>

                    <ext-link ext-link-type="uri" xlink:href="https://github.com/Mohammed20201991/AlgoEval-GCD">https://github.com/Mohammed20201991/AlgoEval-GCD
</ext-link>
                </p>
            </fn>
        </fn-group>
    </back>
    <sub-article article-type="reviewer-report" id="report467290">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.195388.r467290</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Morchdi</surname>
                        <given-names>Chedi</given-names>
                    </name>
                    <xref ref-type="aff" rid="r467290a1">1</xref>
                    <role>Referee</role>
                </contrib>
                <aff id="r467290a1">
                    <label>1</label>Texas A&amp;M University, Texas, USA</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>21</day>
                <month>5</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Morchdi C</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport467290" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.177203.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>approve</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>This article presents a relevant and well-executed study on cloud CPU usage prediction using the Google Cluster Trace v3 dataset. The manuscript clearly explains the practical motivation&#x2014;improving task scheduling and resource allocation under highly variable cloud workloads&#x2014;and evaluates several supervised models, including Linear Regression, Support Vector Regression, Random Forest, and Neural Networks. The reported results are strong, with the neural-network model achieving about 
                <bold>94% validation accuracy</bold> and 
                <bold>R&#x00b2; = 0.90</bold>, which supports the paper&#x2019;s main contribution.</p>
            <p> </p>
            <p> The study design is appropriate and technically sound. The dataset contains rich task-level information such as start and end times, CPU and memory usage, scheduling class, and priority, which are relevant predictors for the target problem. The paper also includes preprocessing, feature extraction, comparative model evaluation, and discussion of hybrid and ensemble directions, making the analysis coherent and useful for the cloud-computing community.</p>
            <p> </p>
            <p> The manuscript also supports reproducibility well by using a 
                <bold>publicly available dataset</bold>, and by providing both 
                <bold>source code</bold> and an 
                <bold>archived Zenodo record</bold> for the implementation and preprocessing pipeline. The conclusions are consistent with the experimental findings and are reasonably linked to practical scheduling improvements in cloud environments. Overall, this is a solid and valuable contribution.</p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>Yes</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>Yes</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>Yes</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>Yes</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>Yes</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Yes</p>
            <p>Reviewer Expertise:</p>
            <p>Reinforcement learning, Deep learning, Machine learning, task graph scheduling</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to confirm that it is of an acceptable scientific standard.</p>
        </body>
    </sub-article>
    <sub-article article-type="reviewer-report" id="report469599">
        <front-stub>
            <article-id pub-id-type="doi">10.5256/f1000research.195388.r469599</article-id>
            <title-group>
                <article-title>Reviewer response for version 1</article-title>
            </title-group>
            <contrib-group>
                <contrib contrib-type="author">
                    <name>
                        <surname>Theodoropoulou</surname>
                        <given-names>Alexandra</given-names>
                    </name>
                    <xref ref-type="aff" rid="r469599a1">1</xref>
                    <role>Referee</role>
                    <uri content-type="orcid">https://orcid.org/0009-0004-6314-7795</uri>
                </contrib>
                <aff id="r469599a1">
                    <label>1</label>University of Patras, Patras, Greece</aff>
            </contrib-group>
            <author-notes>
                <fn fn-type="conflict">
                    <p>
                        <bold>Competing interests: </bold>No competing interests were disclosed.</p>
                </fn>
            </author-notes>
            <pub-date pub-type="epub">
                <day>1</day>
                <month>4</month>
                <year>2026</year>
            </pub-date>
            <permissions>
                <copyright-statement>Copyright: &#x00a9; 2026 Theodoropoulou A</copyright-statement>
                <copyright-year>2026</copyright-year>
                <license xlink:href="https://creativecommons.org/licenses/by/4.0/">
                    <license-p>This is an open access peer review report distributed under the terms of the Creative Commons Attribution Licence, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.</license-p>
                </license>
            </permissions>
            <related-article ext-link-type="doi" id="relatedArticleReport469599" related-article-type="peer-reviewed-article" xlink:href="10.12688/f1000research.177203.1"/>
            <custom-meta-group>
                <custom-meta>
                    <meta-name>recommendation</meta-name>
                    <meta-value>reject</meta-value>
                </custom-meta>
            </custom-meta-group>
        </front-stub>
        <body>
            <p>
                <bold>Abstract</bold>
            </p>
            <p> The Abstract is a little inconsistent with the main body of the manuscript. In the Abstract, the authors initially state that the evaluated regression algorithms were Linear Regression, Support Vector Regression, and Random Forest, yet they then report neural network performance as a key result. Since the manuscript later includes a dedicated neural-network model section and reports NN results in the main results table, the Abstract should be revised so that the list of evaluated models is complete and the phrasing used is consistent.</p>
            <p> </p>
            <p> 
                <bold>Dataset preprocessing and Feature engineering</bold>
            </p>
            <p> In section 3 and subsection 4.1 the authors describe the dataset&#x2019;s features in the exact same way, repeating themselves (&#x201c;The dataset comprises several critical&#x2026;&#x2026;assigned by the scheduler)&#x201d;). Therefore, the authors need to choose one section and describe their dataset there, once. No need to repeat this in other subsections.</p>
            <p> The exact same thing is repeated a little later in subsection 4.2, where the authors repeat the same description about binary classification, first in &#x201c;Defining the Target Variable&#x201d; and then in &#x201c;Dealing with Imbalanced Data&#x201d; portions of 4.2. This pattern goes on for the 2nd paragraph of &#x201c;Dealing with Imbalanced Data&#x201d; as well, which is first mentioned in the &#x201c;Data Volume and Sampling&#x201d; part of the paper, but with a few words changed (but the method and approach are the same). Again, the authors need to choose where these parts fit their paper best and keep these descriptions only once throughout the paper.</p>
            <p> </p>
            <p> 
                <bold>Target variable</bold>
            </p>
            <p> The manuscript is not consistent in how the target variable is defined. In one part of the methods, the study is described as predicting future CPU usage during an upcoming scheduling interval using information available at task dispatch. However, later the dependent variable is defined as CPU utilization during execution, computed from realized execution-time quantities. These are not the same prediction tasks. This inconsistency is not minor because it is unclear whether the model is truly forecasting future CPU demand at scheduling time or whether it is using information that would only be known after execution has already taken place. The authors need to define the target variable once, clearly and consistently, and explicitly state which input features are available at prediction time. If any post-execution information is used, that creates leakage and would make the reported scheduling-oriented claims much less reliable.</p>
            <p> </p>
            <p> 
                <bold>Experimental Results</bold>
            </p>
            <p> The results are not presented consistently across models, which makes the comparison incomplete and uneven. Linear Regression is given a classification table, Random Forest is presented through a figure that does not clearly report exact values and lacks proper legend clarity, and the neural network is discussed through a training-history table. Support Vector Regression, although described in the methods and included in the summary table, has no dedicated results presentation beyond a single row of metrics. In addition, Figure 3 introduces a different set of models than the main methods section, replacing Support Vector Regression with Decision Tree, which is not otherwise developed or evaluated in the study. The same figure also refers to Logistic Regression, whereas the methods and model description refer to Linear Regression. These are not the same model: Linear Regression is used for continuous prediction, while Logistic Regression is a classification model. The manuscript should therefore be corrected so that the model set, model names, and results presentation are accurate and consistent throughout, and the authors should clearly state which models were actually used and how each one was evaluated.</p>
            <p> </p>
            <p> 
                <bold>Classification accuracy optimization</bold>
            </p>
            <p> The manuscript states that the neural network was trained to optimize classification accuracy for identifying high-CPU tasks. However, the paper does not show a clear optimization procedure supporting this claim anywhere. It does report increasing validation accuracy during training, but this is not the same as demonstrating that classification accuracy was explicitly optimized through either model selection and threshold tuning, or comparative experimentation. This issue is made less clear by the fact that the NN is also presented as a hybrid classification-regression model, while the final results are reported mainly with regression metrics.</p>
            <p> </p>
            <p> 
                <bold>Reporting</bold>
            </p>
            <p> There are still contradictions in the way the dataset size and evaluation splits are reported. In the methodology, in subsection 4.2 (Data Volume and Sampling), the sampled subset is described as &#x201c;tens of thousands of task instances&#x201d;, but Table 2 reports 405,894 observations, which is much larger and should be stated consistently throughout the paper. There is also inconsistency in how the evaluation split is reported. In addition, the text states that model comparison in Table 3 is based on MAE, RMSE, and R2 on the Test dataset, whereas the performance column in Table 3 is labeled &#x201c;Validation set&#x201d;. The authors should therefore report the exact final sample size consistently and make clear which dataset partition each reported metric refers to.</p>
            <p> </p>
            <p> 
                <bold>Figure 7</bold>
            </p>
            <p> In Section 7.1, Figure 7 is described as showing actual versus predicted CPU consumption for the best single model and the best hybrid model, with predicted CPU usage on one axis and measured CPU usage on the other. However, the figure caption states &#x2018;Actual vs. predicted value grouped by cluster name (node name),&#x2019; which does not match that description. The authors need to clarify exactly what Figure 7 shows and make the caption, axes, and in-text explanation fully consistent.</p>
            <p> </p>
            <p> 
                <bold>Conclusion</bold>
            </p>
            <p> The conclusion overstates what the experiments actually show. The manuscript claims that the results prove machine learning is a highly efficient approach for CPU prediction and cloud resource management. However, the study only reports predictive results such as accuracy, R&#x00b2;, and error values. It does not show scheduler-level experiments, comparison with an actual scheduling baseline, or direct evidence of practical gains such as lower cost, reduced overload, or better task placement. In its current form, the paper supports the claim that some models predict CPU usage reasonably well on this dataset, but not the stronger claim that the approach is already proven to be highly efficient in practice. The authors should either tone down this conclusion or add direct evidence connecting prediction performance to actual scheduling improvement.</p>
            <p> </p>
            <p> 
                <bold>References used in the paper</bold>
            </p>
            <p> The references used are too few for the literature part of the paper, thus undermining the background claims by the authors. The authors should add more relevant work to support their background claims in Introduction and Related Work sections (especially subsection 2.4).</p>
            <p> </p>
            <p> </p>
            <p> </p>
            <p> Overall, I cannot recommend approval of the manuscript in its current form. The paper contains too many substantial inconsistencies between the stated methodology, the reported models, the target definition, the evaluation setup and the presented results. These issues go beyond presentation quality and raise concerns about the reliability, clarity and reproducibility of the study.</p>
            <p>Is the work clearly and accurately presented and does it cite the current literature?</p>
            <p>No</p>
            <p>If applicable, is the statistical analysis and its interpretation appropriate?</p>
            <p>Partly</p>
            <p>Are all the source data underlying the results available to ensure full reproducibility?</p>
            <p>Partly</p>
            <p>Is the study design appropriate and is the work technically sound?</p>
            <p>No</p>
            <p>Are the conclusions drawn adequately supported by the results?</p>
            <p>No</p>
            <p>Are sufficient details of methods and analysis provided to allow replication by others?</p>
            <p>Partly</p>
            <p>Reviewer Expertise:</p>
            <p>Big Data analytics, Machine Learning, Decision Support Systems, Data-driven Management, Digital Marketing, Consumer Behavior, Business Intelligence, Applied Artificial Intelligence</p>
            <p>I confirm that I have read this submission and believe that I have an appropriate level of expertise to state that I do not consider it to be of an acceptable scientific standard, for reasons outlined above.</p>
        </body>
    </sub-article>
</article>
