Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence

preprint OA: closed CC-BY-4.0

Abstract

Background 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. Methods 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. Conclusions 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 2 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.
Full text 144,507 characters · extracted from preprint-html · click to expand
Intelligent Cloud Resource Usage Potentially to... | F1000Research "use strict";function _typeof(t){return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}!function(){var t=function(){var t,e,o=[],n=window,r=n;for(;r;){try{if(r.frames.__tcfapiLocator){t=r;break}}catch(t){}if(r===n.top)break;r=r.parent}t||(!function t(){var e=n.document,o=!!n.frames.__tcfapiLocator;if(!o)if(e.body){var r=e.createElement("iframe");r.style.cssText="display:none",r.name="__tcfapiLocator",e.body.appendChild(r)}else setTimeout(t,5);return!o}(),n.__tcfapi=function(){for(var t=arguments.length,n=new Array(t),r=0;r 3&&2===parseInt(n[1],10)&&"boolean"==typeof n[3]&&(e=n[3],"function"==typeof n[2]&&n[2]("set",!0)):"ping"===n[0]?"function"==typeof n[2]&&n[2]({gdprApplies:e,cmpLoaded:!1,cmpStatus:"stub"}):o.push(n)},n.addEventListener("message",(function(t){var e="string"==typeof t.data,o={};if(e)try{o=JSON.parse(t.data)}catch(t){}else o=t.data;var n="object"===_typeof(o)&&null!==o?o.__tcfapiCall:null;n&&window.__tcfapi(n.command,n.version,(function(o,r){var a={__tcfapiReturn:{returnValue:o,success:r,callId:n.callId}};t&&t.source&&t.source.postMessage&&t.source.postMessage(e?JSON.stringify(a):a,"*")}),n.parameter)}),!1))};"undefined"!=typeof module?module.exports=t:t()}(); dataLayer = dataLayer || []; // Standard GTM initialization - Google Consent Mode handles consent automatically (function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl+ '>m_auth=hzk0Vc3qFsQYhCrIoHz68A>m_preview=env-1>m_cookies_win=x';f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-MWFK8L5J'); ;window.NREUM||(NREUM={});NREUM.init={distributed_tracing:{enabled:true},privacy:{cookies_enabled:true},ajax:{deny_list:["bam.nr-data.net"]}}; ;NREUM.loader_config={accountID:"438030",trustKey:"438030",agentID:"772317073",licenseKey:"97f8f67f26",applicationID:"772317073"} ;NREUM.info={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net",licenseKey:"97f8f67f26",applicationID:"772317073",sa:1} ;/*! For license information please see nr-loader-spa-1.236.0.min.js.LICENSE.txt */ (()=>{"use strict";var e,t,r={5763:(e,t,r)=>{r.d(t,{P_:()=>l,Mt:()=>g,C5:()=>s,DL:()=>v,OP:()=>T,lF:()=>D,Yu:()=>y,Dg:()=>h,CX:()=>c,GE:()=>b,sU:()=>_});var n=r(8632),i=r(9567);const o={beacon:n.ce.beacon,errorBeacon:n.ce.errorBeacon,licenseKey:void 0,applicationID:void 0,sa:void 0,queueTime:void 0,applicationTime:void 0,ttGuid:void 0,user:void 0,account:void 0,product:void 0,extra:void 0,jsAttributes:{},userAttributes:void 0,atts:void 0,transactionName:void 0,tNamePlain:void 0},a={};function s(e){if(!e)throw new Error("All info objects require an agent identifier!");if(!a[e])throw new Error("Info for ".concat(e," was never set"));return a[e]}function c(e,t){if(!e)throw new Error("All info objects require an agent identifier!");a[e]=(0,i.D)(t,o),(0,n.Qy)(e,a[e],"info")}var u=r(7056);const d=()=>{const e={blockSelector:"[data-nr-block]",maskInputOptions:{password:!0}};return{allow_bfcache:!0,privacy:{cookies_enabled:!0},ajax:{deny_list:void 0,enabled:!0,harvestTimeSeconds:10},distributed_tracing:{enabled:void 0,exclude_newrelic_header:void 0,cors_use_newrelic_header:void 0,cors_use_tracecontext_headers:void 0,allowed_origins:void 0},session:{domain:void 0,expiresMs:u.oD,inactiveMs:u.Hb},ssl:void 0,obfuscate:void 0,jserrors:{enabled:!0,harvestTimeSeconds:10},metrics:{enabled:!0},page_action:{enabled:!0,harvestTimeSeconds:30},page_view_event:{enabled:!0},page_view_timing:{enabled:!0,harvestTimeSeconds:30,long_task:!1},session_trace:{enabled:!0,harvestTimeSeconds:10},harvest:{tooManyRequestsDelay:60},session_replay:{enabled:!1,harvestTimeSeconds:60,sampleRate:.1,errorSampleRate:.1,maskTextSelector:"*",maskAllInputs:!0,get blockClass(){return"nr-block"},get ignoreClass(){return"nr-ignore"},get maskTextClass(){return"nr-mask"},get blockSelector(){return e.blockSelector},set blockSelector(t){e.blockSelector+=",".concat(t)},get maskInputOptions(){return e.maskInputOptions},set maskInputOptions(t){e.maskInputOptions={...t,password:!0}}},spa:{enabled:!0,harvestTimeSeconds:10}}},f={};function l(e){if(!e)throw new Error("All configuration objects require an agent identifier!");if(!f[e])throw new Error("Configuration for ".concat(e," was never set"));return f[e]}function h(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");f[e]=(0,i.D)(t,d()),(0,n.Qy)(e,f[e],"config")}function g(e,t){if(!e)throw new Error("All configuration objects require an agent identifier!");var r=l(e);if(r){for(var n=t.split("."),i=0;i {r.d(t,{D:()=>i});var n=r(50);function i(e,t){try{if(!e||"object"!=typeof e)return(0,n.Z)("Setting a Configurable requires an object as input");if(!t||"object"!=typeof t)return(0,n.Z)("Setting a Configurable requires a model to set its initial properties");const r=Object.create(Object.getPrototypeOf(t),Object.getOwnPropertyDescriptors(t)),o=0===Object.keys(r).length?e:r;for(let a in o)if(void 0!==e[a])try{"object"==typeof e[a]&&"object"==typeof t[a]?r[a]=i(e[a],t[a]):r[a]=e[a]}catch(e){(0,n.Z)("An error occurred while setting a property of a Configurable",e)}return r}catch(e){(0,n.Z)("An error occured while setting a Configurable",e)}}},6818:(e,t,r)=>{r.d(t,{Re:()=>i,gF:()=>o,q4:()=>n});const n="1.236.0",i="PROD",o="CDN"},385:(e,t,r)=>{r.d(t,{FN:()=>a,IF:()=>u,Nk:()=>f,Tt:()=>s,_A:()=>o,il:()=>n,pL:()=>c,v6:()=>i,w1:()=>d});const n="undefined"!=typeof window&&!!window.document,i="undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self.navigator instanceof WorkerNavigator||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis.navigator instanceof WorkerNavigator),o=n?window:"undefined"!=typeof WorkerGlobalScope&&("undefined"!=typeof self&&self instanceof WorkerGlobalScope&&self||"undefined"!=typeof globalThis&&globalThis instanceof WorkerGlobalScope&&globalThis),a=""+o?.location,s=/iPad|iPhone|iPod/.test(navigator.userAgent),c=s&&"undefined"==typeof SharedWorker,u=(()=>{const e=navigator.userAgent.match(/Firefox[/\s](\d+\.\d+)/);return Array.isArray(e)&&e.length>=2?+e[1]:0})(),d=Boolean(n&&window.document.documentMode),f=!!navigator.sendBeacon},1117:(e,t,r)=>{r.d(t,{w:()=>o});var n=r(50);const i={agentIdentifier:"",ee:void 0};class o{constructor(e){try{if("object"!=typeof e)return(0,n.Z)("shared context requires an object as input");this.sharedContext={},Object.assign(this.sharedContext,i),Object.entries(e).forEach((e=>{let[t,r]=e;Object.keys(i).includes(t)&&(this.sharedContext[t]=r)}))}catch(e){(0,n.Z)("An error occured while setting SharedContext",e)}}}},8e3:(e,t,r)=>{r.d(t,{L:()=>d,R:()=>c});var n=r(2177),i=r(1284),o=r(4322),a=r(3325);const s={};function c(e,t){const r={staged:!1,priority:a.p[t]||0};u(e),s[e].get(t)||s[e].set(t,r)}function u(e){e&&(s[e]||(s[e]=new Map))}function d(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"feature";if(u(e),!e||!s[e].get(t))return a(t);s[e].get(t).staged=!0;const r=[...s[e]];function a(t){const r=e?n.ee.get(e):n.ee,a=o.X.handlers;if(r.backlog&&a){var s=r.backlog[t],c=a[t];if(c){for(var u=0;s&&u {let[t,r]=e;return r.staged}))&&(r.sort(((e,t)=>e[1].priority-t[1].priority)),r.forEach((e=>{let[t]=e;a(t)})))}function f(e,t){var r=e[1];(0,i.D)(t[r],(function(t,r){var n=e[0];if(r[0]===n){var i=r[1],o=e[3],a=e[2];i.apply(o,a)}}))}},2177:(e,t,r)=>{r.d(t,{c:()=>f,ee:()=>u});var n=r(8632),i=r(2210),o=r(1284),a=r(5763),s="nr@context";let c=(0,n.fP)();var u;function d(){}function f(e){return(0,i.X)(e,s,l)}function l(){return new d}function h(){u.aborted=!0,u.backlog={}}c.ee?u=c.ee:(u=function e(t,r){var n={},c={},f={},g=!1;try{g=16===r.length&&(0,a.OP)(r).isolatedBacklog}catch(e){}var p={on:b,addEventListener:b,removeEventListener:y,emit:v,get:x,listeners:w,context:m,buffer:A,abort:h,aborted:!1,isBuffering:E,debugId:r,backlog:g?{}:t&&"object"==typeof t.backlog?t.backlog:{}};return p;function m(e){return e&&e instanceof d?e:e?(0,i.X)(e,s,l):l()}function v(e,r,n,i,o){if(!1!==o&&(o=!0),!u.aborted||i){t&&o&&t.emit(e,r,n);for(var a=m(n),s=w(e),d=s.length,f=0;fn,p:()=>i});var n=r(2177).ee.get("handle");function i(e,t,r,i,o){o?(o.buffer([e],i),o.emit(e,t,r)):(n.buffer([e],i),n.emit(e,t,r))}},4322:(e,t,r)=>{r.d(t,{X:()=>o});var n=r(5546);o.on=a;var i=o.handlers={};function o(e,t,r,o){a(o||n.E,i,e,t,r)}function a(e,t,r,i,o){o||(o="feature"),e||(e=n.E);var a=t[o]=t[o]||{};(a[r]=a[r]||[]).push([e,i])}},3239:(e,t,r)=>{r.d(t,{bP:()=>s,iz:()=>c,m$:()=>a});var n=r(385);let i=!1,o=!1;try{const e={get passive(){return i=!0,!1},get signal(){return o=!0,!1}};n._A.addEventListener("test",null,e),n._A.removeEventListener("test",null,e)}catch(e){}function a(e,t){return i||o?{capture:!!e,passive:i,signal:t}:!!e}function s(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;window.addEventListener(e,t,a(r,n))}function c(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2],n=arguments.length>3?arguments[3]:void 0;document.addEventListener(e,t,a(r,n))}},4402:(e,t,r)=>{r.d(t,{Ht:()=>u,M:()=>c,Rl:()=>a,ky:()=>s});var n=r(385);const i="xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx";function o(e,t){return e?15&e[t]:16*Math.random()|0}function a(){const e=n._A?.crypto||n._A?.msCrypto;let t,r=0;return e&&e.getRandomValues&&(t=e.getRandomValues(new Uint8Array(31))),i.split("").map((e=>"x"===e?o(t,++r).toString(16):"y"===e?(3&o()|8).toString(16):e)).join("")}function s(e){const t=n._A?.crypto||n._A?.msCrypto;let r,i=0;t&&t.getRandomValues&&(r=t.getRandomValues(new Uint8Array(31)));const a=[];for(var s=0;s {r.d(t,{Bq:()=>n,Hb:()=>o,oD:()=>i});const n="NRBA",i=144e5,o=18e5},7894:(e,t,r)=>{function n(){return Math.round(performance.now())}r.d(t,{z:()=>n})},7243:(e,t,r)=>{r.d(t,{e:()=>o});var n=r(385),i={};function o(e){if(e in i)return i[e];if(0===(e||"").indexOf("data:"))return{protocol:"data"};let t;var r=n._A?.location,o={};if(n.il)t=document.createElement("a"),t.href=e;else try{t=new URL(e,r.href)}catch(e){return o}o.port=t.port;var a=t.href.split("://");!o.port&&a[1]&&(o.port=a[1].split("/")[0].split("@").pop().split(":")[1]),o.port&&"0"!==o.port||(o.port="https"===a[0]?"443":"80"),o.hostname=t.hostname||r.hostname,o.pathname=t.pathname,o.protocol=a[0],"/"!==o.pathname.charAt(0)&&(o.pathname="/"+o.pathname);var s=!t.protocol||":"===t.protocol||t.protocol===r.protocol,c=t.hostname===r.hostname&&t.port===r.port;return o.sameOrigin=s&&(!t.hostname||c),"/"===o.pathname&&(i[e]=o),o}},50:(e,t,r)=>{function n(e,t){"function"==typeof console.warn&&(console.warn("New Relic: ".concat(e)),t&&console.warn(t))}r.d(t,{Z:()=>n})},2587:(e,t,r)=>{r.d(t,{N:()=>c,T:()=>u});var n=r(2177),i=r(5546),o=r(8e3),a=r(3325);const s={stn:[a.D.sessionTrace],err:[a.D.jserrors,a.D.metrics],ins:[a.D.pageAction],spa:[a.D.spa],sr:[a.D.sessionReplay,a.D.sessionTrace]};function c(e,t){const r=n.ee.get(t);e&&"object"==typeof e&&(Object.entries(e).forEach((e=>{let[t,n]=e;void 0===u[t]&&(s[t]?s[t].forEach((e=>{n?(0,i.p)("feat-"+t,[],void 0,e,r):(0,i.p)("block-"+t,[],void 0,e,r),(0,i.p)("rumresp-"+t,[Boolean(n)],void 0,e,r)})):n&&(0,i.p)("feat-"+t,[],void 0,void 0,r),u[t]=Boolean(n))})),Object.keys(s).forEach((e=>{void 0===u[e]&&(s[e]?.forEach((t=>(0,i.p)("rumresp-"+e,[!1],void 0,t,r))),u[e]=!1)})),(0,o.L)(t,a.D.pageViewEvent))}const u={}},2210:(e,t,r)=>{r.d(t,{X:()=>i});var n=Object.prototype.hasOwnProperty;function i(e,t,r){if(n.call(e,t))return e[t];var i=r();if(Object.defineProperty&&Object.keys)try{return Object.defineProperty(e,t,{value:i,writable:!0,enumerable:!1}),i}catch(e){}return e[t]=i,i}},1284:(e,t,r)=>{r.d(t,{D:()=>n});const n=(e,t)=>Object.entries(e||{}).map((e=>{let[r,n]=e;return t(r,n)}))},4351:(e,t,r)=>{r.d(t,{P:()=>o});var n=r(2177);const i=()=>{const e=new WeakSet;return(t,r)=>{if("object"==typeof r&&null!==r){if(e.has(r))return;e.add(r)}return r}};function o(e){try{return JSON.stringify(e,i())}catch(e){try{n.ee.emit("internal-error",[e])}catch(e){}}}},3960:(e,t,r)=>{r.d(t,{K:()=>a,b:()=>o});var n=r(3239);function i(){return"undefined"==typeof document||"complete"===document.readyState}function o(e,t){if(i())return e();(0,n.bP)("load",e,t)}function a(e){if(i())return e();(0,n.iz)("DOMContentLoaded",e)}},8632:(e,t,r)=>{r.d(t,{EZ:()=>u,Qy:()=>c,ce:()=>o,fP:()=>a,gG:()=>d,mF:()=>s});var n=r(7894),i=r(385);const o={beacon:"bam.nr-data.net",errorBeacon:"bam.nr-data.net"};function a(){return i._A.NREUM||(i._A.NREUM={}),void 0===i._A.newrelic&&(i._A.newrelic=i._A.NREUM),i._A.NREUM}function s(){let e=a();return e.o||(e.o={ST:i._A.setTimeout,SI:i._A.setImmediate,CT:i._A.clearTimeout,XHR:i._A.XMLHttpRequest,REQ:i._A.Request,EV:i._A.Event,PR:i._A.Promise,MO:i._A.MutationObserver,FETCH:i._A.fetch}),e}function c(e,t,r){let i=a();const o=i.initializedAgents||{},s=o[e]||{};return Object.keys(s).length||(s.initializedAt={ms:(0,n.z)(),date:new Date}),i.initializedAgents={...o,[e]:{...s,[r]:t}},i}function u(e,t){a()[e]=t}function d(){return function(){let e=a();const t=e.info||{};e.info={beacon:o.beacon,errorBeacon:o.errorBeacon,...t}}(),function(){let e=a();const t=e.init||{};e.init={...t}}(),s(),function(){let e=a();const t=e.loader_config||{};e.loader_config={...t}}(),a()}},7956:(e,t,r)=>{r.d(t,{N:()=>i});var n=r(3239);function i(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=arguments.length>2?arguments[2]:void 0,i=arguments.length>3?arguments[3]:void 0;return void(0,n.iz)("visibilitychange",(function(){if(t)return void("hidden"==document.visibilityState&&e());e(document.visibilityState)}),r,i)}},1214:(e,t,r)=>{r.d(t,{em:()=>v,u5:()=>N,QU:()=>S,_L:()=>I,Gm:()=>L,Lg:()=>M,gy:()=>U,BV:()=>Q,Kf:()=>ee});var n=r(2177);const i="nr@original";var o=Object.prototype.hasOwnProperty,a=!1;function s(e,t){return e||(e=n.ee),r.inPlace=function(e,t,n,i,o){n||(n="");var a,s,c,u="-"===n.charAt(0);for(c=0;c 2?n-2:0),o=2;o {r(A[T],e,w),r(E[T],e,w)})),r(l._A,"fetch",y),t.on(y+"end",(function(e,r){var n=this;if(r){var i=r.headers.get("content-length");null!==i&&(n.rxSize=i),t.emit(y+"done",[null,r],n)}else t.emit(y+"done",[e],n)})),t}const O={},j=["pushState","replaceState"];function S(e){const t=function(e){return(e||n.ee).get("history")}(e);return!l.il||O[t.debugId]++||(O[t.debugId]=1,s(t).inPlace(window.history,j,"-")),t}var P=r(3239);const C={},R=["appendChild","insertBefore","replaceChild"];function I(e){const t=function(e){return(e||n.ee).get("jsonp")}(e);if(!l.il||C[t.debugId])return t;C[t.debugId]=!0;var r=s(t),i=/[?&](?:callback|cb)=([^&#]+)/,o=/(.*)\.([^.]+)/,a=/^(\w+)(\.|$)(.*)$/;function c(e,t){var r=e.match(a),n=r[1],i=r[3];return i?c(i,t[n]):t[n]}return r.inPlace(Node.prototype,R,"dom-"),t.on("dom-start",(function(e){!function(e){if(!e||"string"!=typeof e.nodeName||"script"!==e.nodeName.toLowerCase())return;if("function"!=typeof e.addEventListener)return;var n=(a=e.src,s=a.match(i),s?s[1]:null);var a,s;if(!n)return;var u=function(e){var t=e.match(o);if(t&&t.length>=3)return{key:t[2],parent:c(t[1],window)};return{key:e,parent:window}}(n);if("function"!=typeof u.parent[u.key])return;var d={};function f(){t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}function l(){t.emit("jsonp-error",[],d),t.emit("jsonp-end",[],d),e.removeEventListener("load",f,(0,P.m$)(!1)),e.removeEventListener("error",l,(0,P.m$)(!1))}r.inPlace(u.parent,[u.key],"cb-",d),e.addEventListener("load",f,(0,P.m$)(!1)),e.addEventListener("error",l,(0,P.m$)(!1)),t.emit("new-jsonp",[e.src],d)}(e[0])})),t}var k=r(5763);const H={};function L(e){const t=function(e){return(e||n.ee).get("mutation")}(e);if(!l.il||H[t.debugId])return t;H[t.debugId]=!0;var r=s(t),i=k.Yu.MO;return i&&(window.MutationObserver=function(e){return this instanceof i?new i(r(e,"fn-")):i.apply(this,arguments)},MutationObserver.prototype=i.prototype),t}const z={};function M(e){const t=function(e){return(e||n.ee).get("promise")}(e);if(z[t.debugId])return t;z[t.debugId]=!0;var r=n.c,o=s(t),a=k.Yu.PR;return a&&function(){function e(r){var n=t.context(),i=o(r,"executor-",n,null,!1);const s=Reflect.construct(a,[i],e);return t.context(s).getCtx=function(){return n},s}l._A.Promise=e,Object.defineProperty(e,"name",{value:"Promise"}),e.toString=function(){return a.toString()},Object.setPrototypeOf(e,a),["all","race"].forEach((function(r){const n=a[r];e[r]=function(e){let i=!1;[...e||[]].forEach((e=>{this.resolve(e).then(a("all"===r),a(!1))}));const o=n.apply(this,arguments);return o;function a(e){return function(){t.emit("propagate",[null,!i],o,!1,!1),i=i||!e}}}})),["resolve","reject"].forEach((function(r){const n=a[r];e[r]=function(e){const r=n.apply(this,arguments);return e!==r&&t.emit("propagate",[e,!0],r,!1,!1),r}})),e.prototype=a.prototype;const n=a.prototype.then;a.prototype.then=function(){var e=this,i=r(e);i.promise=e;for(var a=arguments.length,s=new Array(a),c=0;c e())),t};function m(e,t){i.inPlace(t,["onreadystatechange"],"fn-",E)}function b(){var e=this,t=r.context(e);e.readyState>3&&!t.resolved&&(t.resolved=!0,r.emit("xhr-resolved",[],e)),i.inPlace(e,f,"fn-",E)}if(function(e,t){for(var r in e)t[r]=e[r]}(o,p),p.prototype=o.prototype,i.inPlace(p.prototype,J,"-xhr-",E),r.on("send-xhr-start",(function(e,t){m(e,t),function(e){h.push(e),a&&(y?y.then(A):u?u(A):(w=-w,x.data=w))}(t)})),r.on("open-xhr-start",m),a){var y=c&&c.resolve();if(!u&&!c){var w=1,x=document.createTextNode(w);new a(A).observe(x,{characterData:!0})}}else t.on("fn-end",(function(e){e[0]&&e[0].type===d||A()}));function A(){for(var e=0;e {r.d(t,{t:()=>n});const n=r(3325).D.ajax},6660:(e,t,r)=>{r.d(t,{A:()=>i,t:()=>n});const n=r(3325).D.jserrors,i="nr@seenError"},3081:(e,t,r)=>{r.d(t,{gF:()=>o,mY:()=>i,t9:()=>n,vz:()=>s,xS:()=>a});const n=r(3325).D.metrics,i="sm",o="cm",a="storeSupportabilityMetrics",s="storeEventMetrics"},4649:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageAction},7633:(e,t,r)=>{r.d(t,{Dz:()=>i,OJ:()=>a,qw:()=>o,t9:()=>n});const n=r(3325).D.pageViewEvent,i="firstbyte",o="domcontent",a="windowload"},9251:(e,t,r)=>{r.d(t,{t:()=>n});const n=r(3325).D.pageViewTiming},3614:(e,t,r)=>{r.d(t,{BST_RESOURCE:()=>i,END:()=>s,FEATURE_NAME:()=>n,FN_END:()=>u,FN_START:()=>c,PUSH_STATE:()=>d,RESOURCE:()=>o,START:()=>a});const n=r(3325).D.sessionTrace,i="bstResource",o="resource",a="-start",s="-end",c="fn"+a,u="fn"+s,d="pushState"},7836:(e,t,r)=>{r.d(t,{BODY:()=>A,CB_END:()=>E,CB_START:()=>u,END:()=>x,FEATURE_NAME:()=>i,FETCH:()=>_,FETCH_BODY:()=>v,FETCH_DONE:()=>m,FETCH_START:()=>p,FN_END:()=>c,FN_START:()=>s,INTERACTION:()=>l,INTERACTION_API:()=>d,INTERACTION_EVENTS:()=>o,JSONP_END:()=>b,JSONP_NODE:()=>g,JS_TIME:()=>T,MAX_TIMER_BUDGET:()=>a,REMAINING:()=>f,SPA_NODE:()=>h,START:()=>w,originalSetTimeout:()=>y});var n=r(5763);const i=r(3325).D.spa,o=["click","submit","keypress","keydown","keyup","change"],a=999,s="fn-start",c="fn-end",u="cb-start",d="api-ixn-",f="remaining",l="interaction",h="spaNode",g="jsonpNode",p="fetch-start",m="fetch-done",v="fetch-body-",b="jsonp-end",y=n.Yu.ST,w="-start",x="-end",A="-body",E="cb"+x,T="jsTime",_="fetch"},5938:(e,t,r)=>{r.d(t,{W:()=>o});var n=r(5763),i=r(2177);class o{constructor(e,t,r){this.agentIdentifier=e,this.aggregator=t,this.ee=i.ee.get(e,(0,n.OP)(this.agentIdentifier).isolatedBacklog),this.featureName=r,this.blocked=!1}}},9144:(e,t,r)=>{r.d(t,{j:()=>m});var n=r(3325),i=r(5763),o=r(5546),a=r(2177),s=r(7894),c=r(8e3),u=r(3960),d=r(385),f=r(50),l=r(3081),h=r(8632);function g(){const e=(0,h.gG)();["setErrorHandler","finished","addToTrace","inlineHit","addRelease","addPageAction","setCurrentRouteName","setPageViewName","setCustomAttribute","interaction","noticeError","setUserId"].forEach((t=>{e[t]=function(){for(var r=arguments.length,n=new Array(r),i=0;i 1?r-1:0),i=1;i {e.exposed&&e.api[t]&&o.push(e.api[t](...n))})),o.length>1?o:o[0]}(t,...n)}}))}var p=r(2587);function m(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},m=arguments.length>2?arguments[2]:void 0,v=arguments.length>3?arguments[3]:void 0,{init:b,info:y,loader_config:w,runtime:x={loaderType:m},exposed:A=!0}=t;const E=(0,h.gG)();y||(b=E.init,y=E.info,w=E.loader_config),(0,i.Dg)(e,b||{}),(0,i.GE)(e,w||{}),(0,i.sU)(e,x),y.jsAttributes??={},d.v6&&(y.jsAttributes.isWorker=!0),(0,i.CX)(e,y),g();const T=function(e,t){t||(0,c.R)(e,"api");const h={};var g=a.ee.get(e),p=g.get("tracer"),m="api-",v=m+"ixn-";function b(t,r,n,o){const a=(0,i.C5)(e);return null===r?delete a.jsAttributes[t]:(0,i.CX)(e,{...a,jsAttributes:{...a.jsAttributes,[t]:r}}),x(m,n,!0,o||null===r?"session":void 0)(t,r)}function y(){}["setErrorHandler","finished","addToTrace","inlineHit","addRelease"].forEach((e=>h[e]=x(m,e,!0,"api"))),h.addPageAction=x(m,"addPageAction",!0,n.D.pageAction),h.setCurrentRouteName=x(m,"routeName",!0,n.D.spa),h.setPageViewName=function(t,r){if("string"==typeof t)return"/"!==t.charAt(0)&&(t="/"+t),(0,i.OP)(e).customTransaction=(r||"http://custom.transaction")+t,x(m,"setPageViewName",!0)()},h.setCustomAttribute=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]&&arguments[2];if("string"==typeof e){if(["string","number"].includes(typeof t)||null===t)return b(e,t,"setCustomAttribute",r);(0,f.Z)("Failed to execute setCustomAttribute.\nNon-null value must be a string or number type, but a type of was provided."))}else(0,f.Z)("Failed to execute setCustomAttribute.\nName must be a string type, but a type of was provided."))},h.setUserId=function(e){if("string"==typeof e||null===e)return b("enduser.id",e,"setUserId",!0);(0,f.Z)("Failed to execute setUserId.\nNon-null value must be a string type, but a type of was provided."))},h.interaction=function(){return(new y).get()};var w=y.prototype={createTracer:function(e,t){var r={},i=this,a="function"==typeof t;return(0,o.p)(v+"tracer",[(0,s.z)(),e,r],i,n.D.spa,g),function(){if(p.emit((a?"":"no-")+"fn-start",[(0,s.z)(),i,a],r),a)try{return t.apply(this,arguments)}catch(e){throw p.emit("fn-err",[arguments,this,"string"==typeof e?new Error(e):e],r),e}finally{p.emit("fn-end",[(0,s.z)()],r)}}}};function x(e,t,r,i){return function(){return(0,o.p)(l.xS,["API/"+t+"/called"],void 0,n.D.metrics,g),i&&(0,o.p)(e+t,[(0,s.z)(),...arguments],r?null:this,i,g),r?void 0:this}}function A(){r.e(439).then(r.bind(r,7438)).then((t=>{let{setAPI:r}=t;r(e),(0,c.L)(e,"api")})).catch((()=>(0,f.Z)("Downloading runtime APIs failed...")))}return["actionText","setName","setAttribute","save","ignore","onEnd","getContext","end","get"].forEach((e=>{w[e]=x(v,e,void 0,n.D.spa)})),h.noticeError=function(e,t){"string"==typeof e&&(e=new Error(e)),(0,o.p)(l.xS,["API/noticeError/called"],void 0,n.D.metrics,g),(0,o.p)("err",[e,(0,s.z)(),!1,t],void 0,n.D.jserrors,g)},d.il?(0,u.b)((()=>A()),!0):A(),h}(e,v);return(0,h.Qy)(e,T,"api"),(0,h.Qy)(e,A,"exposed"),(0,h.EZ)("activatedFeatures",p.T),T}},3325:(e,t,r)=>{r.d(t,{D:()=>n,p:()=>i});const n={ajax:"ajax",jserrors:"jserrors",metrics:"metrics",pageAction:"page_action",pageViewEvent:"page_view_event",pageViewTiming:"page_view_timing",sessionReplay:"session_replay",sessionTrace:"session_trace",spa:"spa"},i={[n.pageViewEvent]:1,[n.pageViewTiming]:2,[n.metrics]:3,[n.jserrors]:4,[n.ajax]:5,[n.sessionTrace]:6,[n.pageAction]:7,[n.spa]:8,[n.sessionReplay]:9}}},n={};function i(e){var t=n[e];if(void 0!==t)return t.exports;var o=n[e]={exports:{}};return r[e](o,o.exports,i),o.exports}i.m=r,i.d=(e,t)=>{for(var r in t)i.o(t,r)&&!i.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},i.f={},i.e=e=>Promise.all(Object.keys(i.f).reduce(((t,r)=>(i.f[r](e,t),t)),[])),i.u=e=>(({78:"page_action-aggregate",147:"metrics-aggregate",242:"session-manager",317:"jserrors-aggregate",348:"page_view_timing-aggregate",412:"lazy-feature-loader",439:"async-api",538:"recorder",590:"session_replay-aggregate",675:"compressor",733:"session_trace-aggregate",786:"page_view_event-aggregate",873:"spa-aggregate",898:"ajax-aggregate"}[e]||e)+"."+{78:"ac76d497",147:"3dc53903",148:"1a20d5fe",242:"2a64278a",317:"49e41428",348:"bd6de33a",412:"2f55ce66",439:"30bd804e",538:"1b18459f",590:"cf0efb30",675:"ae9f91a8",733:"83105561",786:"06482edd",860:"03a8b7a5",873:"e6b09d52",898:"998ef92b"}[e]+"-1.236.0.min.js"),i.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),e={},t="NRBA:",i.l=(r,n,o,a)=>{if(e[r])e[r].push(n);else{var s,c;if(void 0!==o)for(var u=document.getElementsByTagName("script"),d=0;d {s.onerror=s.onload=null,clearTimeout(h);var i=e[r];if(delete e[r],s.parentNode&&s.parentNode.removeChild(s),i&&i.forEach((e=>e(n))),t)return t(n)},h=setTimeout(l.bind(null,void 0,{type:"timeout",target:s}),12e4);s.onerror=l.bind(null,s.onerror),s.onload=l.bind(null,s.onload),c&&document.head.appendChild(s)}},i.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},i.j=364,i.p="https://js-agent.newrelic.com/",(()=>{var e={364:0,953:0};i.f.j=(t,r)=>{var n=i.o(e,t)?e[t]:void 0;if(0!==n)if(n)r.push(n[2]);else{var o=new Promise(((r,i)=>n=e[t]=[r,i]));r.push(n[2]=o);var a=i.p+i.u(t),s=new Error;i.l(a,(r=>{if(i.o(e,t)&&(0!==(n=e[t])&&(e[t]=void 0),n)){var o=r&&("load"===r.type?"missing":r.type),a=r&&r.target&&r.target.src;s.message="Loading chunk "+t+" failed.\n("+o+": "+a+")",s.name="ChunkLoadError",s.type=o,s.request=a,n[1](s)}}),"chunk-"+t,t)}};var t=(t,r)=>{var n,o,[a,s,c]=r,u=0;if(a.some((t=>0!==e[t]))){for(n in s)i.o(s,n)&&(i.m[n]=s[n]);if(c)c(i)}for(t&&t(r);u {i.r(o);var e=i(3325),t=i(5763);const r=Object.values(e.D);function n(e){const n={};return r.forEach((r=>{n[r]=function(e,r){return!1!==(0,t.Mt)(r,"".concat(e,".enabled"))}(r,e)})),n}var a=i(9144);var s=i(5546),c=i(385),u=i(8e3),d=i(5938),f=i(3960),l=i(50);class h extends d.W{constructor(e,t,r){let n=!(arguments.length>3&&void 0!==arguments[3])||arguments[3];super(e,t,r),this.auto=n,this.abortHandler,this.featAggregate,this.onAggregateImported,n&&(0,u.R)(e,r)}importAggregator(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(this.featAggregate||!this.auto)return;const r=c.il&&!0===(0,t.Mt)(this.agentIdentifier,"privacy.cookies_enabled");let n;this.onAggregateImported=new Promise((e=>{n=e}));const o=async()=>{let t;try{if(r){const{setupAgentSession:e}=await Promise.all([i.e(860),i.e(242)]).then(i.bind(i,3228));t=e(this.agentIdentifier)}}catch(e){(0,l.Z)("A problem occurred when starting up session manager. This page will not start or extend any session.",e)}try{if(!this.shouldImportAgg(this.featureName,t))return void(0,u.L)(this.agentIdentifier,this.featureName);const{lazyFeatureLoader:r}=await i.e(412).then(i.bind(i,8582)),{Aggregate:o}=await r(this.featureName,"aggregate");this.featAggregate=new o(this.agentIdentifier,this.aggregator,e),n(!0)}catch(e){(0,l.Z)("Downloading and initializing ".concat(this.featureName," failed..."),e),this.abortHandler?.(),n(!1)}};c.il?(0,f.b)((()=>o()),!0):o()}shouldImportAgg(r,n){return r!==e.D.sessionReplay||!1!==(0,t.Mt)(this.agentIdentifier,"session_trace.enabled")&&(!!n?.isNew||!!n?.state.sessionReplay)}}var g=i(7633),p=i(7894);class m extends h{static featureName=g.t9;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];if(super(r,n,g.t9,i),("undefined"==typeof PerformanceNavigationTiming||c.Tt)&&"undefined"!=typeof PerformanceTiming){const n=(0,t.OP)(r);n[g.Dz]=Math.max(Date.now()-n.offset,0),(0,f.K)((()=>n[g.qw]=Math.max((0,p.z)()-n[g.Dz],0))),(0,f.b)((()=>{const t=(0,p.z)();n[g.OJ]=Math.max(t-n[g.Dz],0),(0,s.p)("timing",["load",t],void 0,e.D.pageViewTiming,this.ee)}))}this.importAggregator()}}var v=i(1117),b=i(1284);class y extends v.w{constructor(e){super(e),this.aggregatedData={}}store(e,t,r,n,i){var o=this.getBucket(e,t,r,i);return o.metrics=function(e,t){t||(t={count:0});return t.count+=1,(0,b.D)(e,(function(e,r){t[e]=w(r,t[e])})),t}(n,o.metrics),o}merge(e,t,r,n,i){var o=this.getBucket(e,t,n,i);if(o.metrics){var a=o.metrics;a.count+=r.count,(0,b.D)(r,(function(e,t){if("count"!==e){var n=a[e],i=r[e];i&&!i.c?a[e]=w(i.t,n):a[e]=function(e,t){if(!t)return e;t.c||(t=x(t.t));return t.min=Math.min(e.min,t.min),t.max=Math.max(e.max,t.max),t.t+=e.t,t.sos+=e.sos,t.c+=e.c,t}(i,a[e])}}))}else o.metrics=r}storeMetric(e,t,r,n){var i=this.getBucket(e,t,r);return i.stats=w(n,i.stats),i}getBucket(e,t,r,n){this.aggregatedData[e]||(this.aggregatedData[e]={});var i=this.aggregatedData[e][t];return i||(i=this.aggregatedData[e][t]={params:r||{}},n&&(i.custom=n)),i}get(e,t){return t?this.aggregatedData[e]&&this.aggregatedData[e][t]:this.aggregatedData[e]}take(e){for(var t={},r="",n=!1,i=0;i t.max&&(t.max=e),e 2&&void 0!==arguments[2])||arguments[2];super(e,r,j.t,n),c.il&&((0,t.OP)(e).initHidden=Boolean("hidden"===document.visibilityState),(0,N.N)((()=>(0,s.p)("docHidden",[(0,p.z)()],void 0,j.t,this.ee)),!0),(0,O.bP)("pagehide",(()=>(0,s.p)("winPagehide",[(0,p.z)()],void 0,j.t,this.ee))),this.importAggregator())}}var P=i(3081);class C extends h{static featureName=P.t9;constructor(e,t){let r=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(e,t,P.t9,r),this.importAggregator()}}var R,I=i(2210),k=i(1214),H=i(2177),L={};try{R=localStorage.getItem("__nr_flags").split(","),console&&"function"==typeof console.log&&(L.console=!0,-1!==R.indexOf("dev")&&(L.dev=!0),-1!==R.indexOf("nr_dev")&&(L.nrDev=!0))}catch(e){}function z(e){try{L.console&&z(e)}catch(e){}}L.nrDev&&H.ee.on("internal-error",(function(e){z(e.stack)})),L.dev&&H.ee.on("fn-err",(function(e,t,r){z(r.stack)})),L.dev&&(z("NR AGENT IN DEVELOPMENT MODE"),z("flags: "+(0,b.D)(L,(function(e,t){return e})).join(", ")));var M=i(6660);class B extends h{static featureName=M.t;constructor(r,n){let i=!(arguments.length>2&&void 0!==arguments[2])||arguments[2];super(r,n,M.t,i),this.skipNext=0;try{this.removeOnAbort=new AbortController}catch(e){}const o=this;o.ee.on("fn-start",(function(e,t,r){o.abortHandler&&(o.skipNext+=1)})),o.ee.on("fn-err",(function(t,r,n){o.abortHandler&&!n[M.A]&&((0,I.X)(n,M.A,(function(){return!0})),this.thrown=!0,(0,s.p)("err",[n,(0,p.z)()],void 0,e.D.jserrors,o.ee))})),o.ee.on("fn-end",(function(){o.abortHandler&&!this.thrown&&o.skipNext>0&&(o.skipNext-=1)})),o.ee.on("internal-error",(function(t){(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,o.ee)})),this.origOnerror=c._A.onerror,c._A.onerror=this.onerrorHandler.bind(this),c._A.addEventListener("unhandledrejection",(t=>{const r=function(e){let t="Unhandled Promise Rejection: ";if(e instanceof Error)try{return e.message=t+e.message,e}catch(t){return e}if(void 0===e)return new Error(t);try{return new Error(t+(0,D.P)(e))}catch(e){return new Error(t)}}(t.reason);(0,s.p)("err",[r,(0,p.z)(),!1,{unhandledPromiseRejection:1}],void 0,e.D.jserrors,this.ee)}),(0,O.m$)(!1,this.removeOnAbort?.signal)),(0,k.gy)(this.ee),(0,k.BV)(this.ee),(0,k.em)(this.ee),(0,t.OP)(r).xhrWrappable&&(0,k.Kf)(this.ee),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}onerrorHandler(t,r,n,i,o){"function"==typeof this.origOnerror&&this.origOnerror(...arguments);try{this.skipNext?this.skipNext-=1:(0,s.p)("err",[o||new F(t,r,n),(0,p.z)()],void 0,e.D.jserrors,this.ee)}catch(t){try{(0,s.p)("ierr",[t,(0,p.z)(),!0],void 0,e.D.jserrors,this.ee)}catch(e){}}return!1}}function F(e,t,r){this.message=e||"Uncaught error with no additional information",this.sourceURL=t,this.line=r}let U=1;const q="nr@id";function G(e){const t=typeof e;return!e||"object"!==t&&"function"!==t?-1:e===c._A?0:(0,I.X)(e,q,(function(){return U++}))}function V(e){if("string"==typeof e&&e.length)return e.length;if("object"==typeof e){if("undefined"!=typeof ArrayBuffer&&e instanceof ArrayBuffer&&e.byteLength)return e.byteLength;if("undefined"!=typeof Blob&&e instanceof Blob&&e.size)return e.size;if(!("undefined"!=typeof FormData&&e instanceof FormData))try{return(0,D.P)(e).length}catch(e){return}}}var X=i(7243);class W{constructor(e){this.agentIdentifier=e,this.generateTracePayload=this.generateTracePayload.bind(this),this.shouldGenerateTrace=this.shouldGenerateTrace.bind(this)}generateTracePayload(e){if(!this.shouldGenerateTrace(e))return null;var r=(0,t.DL)(this.agentIdentifier);if(!r)return null;var n=(r.accountID||"").toString()||null,i=(r.agentID||"").toString()||null,o=(r.trustKey||"").toString()||null;if(!n||!i)return null;var a=(0,_.M)(),s=(0,_.Ht)(),c=Date.now(),u={spanId:a,traceId:s,timestamp:c};return(e.sameOrigin||this.isAllowedOrigin(e)&&this.useTraceContextHeadersForCors())&&(u.traceContextParentHeader=this.generateTraceContextParentHeader(a,s),u.traceContextStateHeader=this.generateTraceContextStateHeader(a,c,n,i,o)),(e.sameOrigin&&!this.excludeNewrelicHeader()||!e.sameOrigin&&this.isAllowedOrigin(e)&&this.useNewrelicHeaderForCors())&&(u.newrelicHeader=this.generateTraceHeader(a,s,c,n,i,o)),u}generateTraceContextParentHeader(e,t){return"00-"+t+"-"+e+"-01"}generateTraceContextStateHeader(e,t,r,n,i){return i+"@nr=0-1-"+r+"-"+n+"-"+e+"----"+t}generateTraceHeader(e,t,r,n,i,o){if(!("function"==typeof c._A?.btoa))return null;var a={v:[0,1],d:{ty:"Browser",ac:n,ap:i,id:e,tr:t,ti:r}};return o&&n!==o&&(a.d.tk=o),btoa((0,D.P)(a))}shouldGenerateTrace(e){return this.isDtEnabled()&&this.isAllowedOrigin(e)}isAllowedOrigin(e){var r=!1,n={};if((0,t.Mt)(this.agentIdentifier,"distributed_tracing")&&(n=(0,t.P_)(this.agentIdentifier).distributed_tracing),e.sameOrigin)r=!0;else if(n.allowed_origins instanceof Array)for(var i=0;i 2&&void 0!==arguments[2])||arguments[2];super(r,n,Z.t,i),(0,t.OP)(r).xhrWrappable&&(this.dt=new W(r),this.handler=(e,t,r,n)=>(0,s.p)(e,t,r,n,this.ee),(0,k.u5)(this.ee),(0,k.Kf)(this.ee),function(r,n,i,o){function a(e){var t=this;t.totalCbs=0,t.called=0,t.cbTime=0,t.end=E,t.ended=!1,t.xhrGuids={},t.lastSize=null,t.loadCaptureCalled=!1,t.params=this.params||{},t.metrics=this.metrics||{},e.addEventListener("load",(function(r){_(t,e)}),(0,O.m$)(!1)),c.IF||e.addEventListener("progress",(function(e){t.lastSize=e.loaded}),(0,O.m$)(!1))}function s(e){this.params={method:e[0]},T(this,e[1]),this.metrics={}}function u(e,n){var i=(0,t.DL)(r);i.xpid&&this.sameOrigin&&n.setRequestHeader("X-NewRelic-ID",i.xpid);var a=o.generateTracePayload(this.parsedOrigin);if(a){var s=!1;a.newrelicHeader&&(n.setRequestHeader("newrelic",a.newrelicHeader),s=!0),a.traceContextParentHeader&&(n.setRequestHeader("traceparent",a.traceContextParentHeader),a.traceContextStateHeader&&n.setRequestHeader("tracestate",a.traceContextStateHeader),s=!0),s&&(this.dt=a)}}function d(e,t){var r=this.metrics,i=e[0],o=this;if(r&&i){var a=V(i);a&&(r.txSize=a)}this.startTime=(0,p.z)(),this.listener=function(e){try{"abort"!==e.type||o.loadCaptureCalled||(o.params.aborted=!0),("load"!==e.type||o.called===o.totalCbs&&(o.onloadCalled||"function"!=typeof t.onload)&&"function"==typeof o.end)&&o.end(t)}catch(e){try{n.emit("internal-error",[e])}catch(e){}}};for(var s=0;s 1?e[1]=i:e.push(i)}else e[0]&&e[0].headers&&s(e[0].headers,n)&&(this.dt=n);function s(e,t){var r=!1;return t.newrelicHeader&&(e.set("newrelic",t.newrelicHeader),r=!0),t.traceContextParentHeader&&(e.set("traceparent",t.traceContextParentHeader),t.traceContextStateHeader&&e.set("tracestate",t.traceContextStateHeader),r=!0),r}}function x(e,t){this.params={},this.metrics={},this.startTime=(0,p.z)(),this.dt=t,e.length>=1&&(this.target=e[0]),e.length>=2&&(this.opts=e[1]);var r,n=this.opts||{},i=this.target;"string"==typeof i?r=i:"object"==typeof i&&i instanceof Y?r=i.url:c._A?.URL&&"object"==typeof i&&i instanceof URL&&(r=i.href),T(this,r);var o=(""+(i&&i instanceof Y&&i.method||n.method||"GET")).toUpperCase();this.params.method=o,this.txSize=V(n.body)||0}function A(t,r){var n;this.endTime=(0,p.z)(),this.params||(this.params={}),this.params.status=r?r.status:0,"string"==typeof this.rxSize&&this.rxSize.length>0&&(n=+this.rxSize);var o={txSize:this.txSize,rxSize:n,duration:(0,p.z)()-this.startTime};i("xhr",[this.params,o,this.startTime,this.endTime,"fetch"],this,e.D.ajax)}function E(t){var r=this.params,n=this.metrics;if(!this.ended){this.ended=!0;for(var o=0;o 2&&void 0!==arguments[2])||arguments[2];super(e,t,we.t,r),this.importAggregator()}}new class{constructor(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:(0,_.ky)(16);c._A?(this.agentIdentifier=t,this.sharedAggregator=new y({agentIdentifier:this.agentIdentifier}),this.features={},this.desiredFeatures=new Set(e.features||[]),this.desiredFeatures.add(m),Object.assign(this,(0,a.j)(this.agentIdentifier,e,e.loaderType||"agent")),this.start()):(0,l.Z)("Failed to initial the agent. Could not determine the runtime environment.")}get config(){return{info:(0,t.C5)(this.agentIdentifier),init:(0,t.P_)(this.agentIdentifier),loader_config:(0,t.DL)(this.agentIdentifier),runtime:(0,t.OP)(this.agentIdentifier)}}start(){const t="features";try{const r=n(this.agentIdentifier),i=[...this.desiredFeatures];i.sort(((t,r)=>e.p[t.featureName]-e.p[r.featureName])),i.forEach((t=>{if(r[t.featureName]||t.featureName===e.D.pageViewEvent){const n=function(t){switch(t){case e.D.ajax:return[e.D.jserrors];case e.D.sessionTrace:return[e.D.ajax,e.D.pageViewEvent];case e.D.sessionReplay:return[e.D.sessionTrace];case e.D.pageViewTiming:return[e.D.pageViewEvent];default:return[]}}(t.featureName);n.every((e=>r[e]))||(0,l.Z)("".concat(t.featureName," is enabled but one or more dependent features has been disabled (").concat((0,D.P)(n),"). This may cause unintended consequences or missing data...")),this.features[t.featureName]=new t(this.agentIdentifier,this.sharedAggregator)}})),(0,T.Qy)(this.agentIdentifier,this.features,t)}catch(e){(0,l.Z)("Failed to initialize all enabled instrument classes (agent aborted) -",e);for(const e in this.features)this.features[e].abortHandler?.();const r=(0,T.fP)();return delete r.initializedAgents[this.agentIdentifier]?.api,delete r.initializedAgents[this.agentIdentifier]?.[t],delete this.sharedAggregator,r.ee?.abort(),delete r.ee?.get(this.agentIdentifier),!1}}}({features:[J,m,S,class extends h{static featureName=oe;constructor(t,r){if(super(t,r,oe,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;const n=this.ee;let i;(0,k.QU)(n),this.eventsEE=(0,k.em)(n),this.eventsEE.on(se,(function(e,t){this.bstStart=(0,p.z)()})),this.eventsEE.on(ae,(function(t,r){(0,s.p)("bst",[t[0],r,this.bstStart,(0,p.z)()],void 0,e.D.sessionTrace,n)})),n.on(ce+ne,(function(e){this.time=(0,p.z)(),this.startPath=location.pathname+location.hash})),n.on(ce+ie,(function(t){(0,s.p)("bstHist",[location.pathname+location.hash,this.startPath,this.time],void 0,e.D.sessionTrace,n)}));try{i=new PerformanceObserver((t=>{const r=t.getEntries();(0,s.p)(te,[r],void 0,e.D.sessionTrace,n)})),i.observe({type:re,buffered:!0})}catch(e){}this.importAggregator({resourceObserver:i})}},C,xe,B,class extends h{static featureName=de;constructor(e,r){if(super(e,r,de,!(arguments.length>2&&void 0!==arguments[2])||arguments[2]),!c.il)return;if(!(0,t.OP)(e).xhrWrappable)return;try{this.removeOnAbort=new AbortController}catch(e){}let n,i=0;const o=this.ee.get("tracer"),a=(0,k._L)(this.ee),s=(0,k.Lg)(this.ee),u=(0,k.BV)(this.ee),d=(0,k.Kf)(this.ee),f=this.ee.get("events"),l=(0,k.u5)(this.ee),h=(0,k.QU)(this.ee),g=(0,k.Gm)(this.ee);function m(e,t){h.emit("newURL",[""+window.location,t])}function v(){i++,n=window.location.hash,this[ve]=(0,p.z)()}function b(){i--,window.location.hash!==n&&m(0,!0);var e=(0,p.z)();this[pe]=~~this[pe]+e-this[ve],this[ye]=e}function y(e,t){e.on(t,(function(){this[t]=(0,p.z)()}))}this.ee.on(ve,v),s.on(be,v),a.on(be,v),this.ee.on(ye,b),s.on(ge,b),a.on(ge,b),this.ee.buffer([ve,ye,"xhr-resolved"],this.featureName),f.buffer([ve],this.featureName),u.buffer(["setTimeout"+le,"clearTimeout"+fe,ve],this.featureName),d.buffer([ve,"new-xhr","send-xhr"+fe],this.featureName),l.buffer([me+fe,me+"-done",me+he+fe,me+he+le],this.featureName),h.buffer(["newURL"],this.featureName),g.buffer([ve],this.featureName),s.buffer(["propagate",be,ge,"executor-err","resolve"+fe],this.featureName),o.buffer([ve,"no-"+ve],this.featureName),a.buffer(["new-jsonp","cb-start","jsonp-error","jsonp-end"],this.featureName),y(l,me+fe),y(l,me+"-done"),y(a,"new-jsonp"),y(a,"jsonp-end"),y(a,"cb-start"),h.on("pushState-end",m),h.on("replaceState-end",m),window.addEventListener("hashchange",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("load",m,(0,O.m$)(!0,this.removeOnAbort?.signal)),window.addEventListener("popstate",(function(){m(0,i>1)}),(0,O.m$)(!0,this.removeOnAbort?.signal)),this.abortHandler=this.#e,this.importAggregator()}#e(){this.removeOnAbort?.abort(),this.abortHandler=void 0}}],loaderType:"spa"})})(),window.NRBA=o})(); window.jQuery || document.write(' ') CKEDITOR_BASEPATH='https://f1000research.com/js/vendor/ckeditor/' window.reactTheme = 'research'; window.MathJax = { CommonHTML: { linebreaks: { automatic: true } }, 'HTML-CSS': { linebreaks: { automatic: true } }, SVG: { linebreaks: { automatic: true } }, AuthorInit: function() { MathJax.Hub.Register.MessageHook('End Process', function () { let timeout = false; // holder for timeout id const delay = 250; // delay after event is "complete" to run callback const reflowMath = function() { const dispFormulas = document.querySelectorAll('.disp-formula.panel'); if (!dispFormulas) { return; } for (const dispFormula of dispFormulas) { const child = dispFormula.querySelector('.MathJax_Preview').nextSibling.firstChild; const isMultiline = MathJax.Hub.getAllJax(dispFormula)[0].root.isMultiline; if (dispFormula.offsetWidth < child.offsetWidth || isMultiline) { MathJax.Hub.Queue(['Rerender', MathJax.Hub, dispFormula]); } } }; window.addEventListener('resize', function() { clearTimeout(timeout); // clear the timeout timeout = setTimeout(reflowMath, delay); // start timing for event "completion" }); }); }, }; if (window.location.hash == '#_=_'){ window.location = window.location.href.split('#')[0] } !function(f,b,e,v,n,t,s){if(f.fbq)return;n=f.fbq=function() {n.callMethod? n.callMethod.apply(n,arguments):n.queue.push(arguments)} ;if(!f._fbq)f._fbq=n; n.push=n;n.loaded=!0;n.version='2.0';n.queue=[];t=b.createElement(e);t.async=!0; t.src=v;s=b.getElementsByTagName(e)[0];s.parentNode.insertBefore(t,s)}(window, document,'script','https://connect.facebook.net/en_US/fbevents.js'); fbq('init', '1641728616063202'); fbq('track', "PixelInitialized", {}); (function(h,o,t,j,a,r){ h.hj=h.hj||function(){(h.hj.q=h.hj.q||[]).push(arguments)}; h._hjSettings={hjid:2318163,hjsv:6}; a=o.getElementsByTagName('head')[0]; r=o.createElement('script');r.async=1; r.src=t+h._hjSettings.hjid+j+h._hjSettings.hjsv; a.appendChild(r); })(window,document,'https://static.hotjar.com/c/hotjar-','.js?sv='); search file_upload Submit your research search menu close search Browse Gateways & Collections How to Publish Submit your Research My Submissions Article Guidelines Article Guidelines (New Versions) Open Data, Software and Code Guidelines Open Data and Accessible Source Materials Guidelines (HSS) Open Data, Software and Code Guidelines (PSE) Prepublication Checks Production Process Posters and Slides Guidelines Document Guidelines Article Processing Charges Peer Review Finding Article Reviewers About How it Works For Reviewers Our Advisors Policies Glossary FAQs For Developers Newsroom Contact My Research Submissions Content and Tracking Alerts My Details Sign In file_upload Submit your research { "@context": "https://schema.org", "@type": "ScholarlyArticle", "mainEntityOfPage": { "@type": "WebPage", "@id": "https://f1000research.com/articles/15-366" }, "headline": "Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence", "datePublished": "2026-03-05T13:11:27", "dateModified": "2026-03-05T13:11:27", "author": [ { "@type": "Person", "name": "Huda Mohammed Lateef" }, { "@type": "Person", "name": "Mohammed Abduljawad Al-Shibly" }, { "@type": "Person", "name": "Ahmed Hadi Ali AL-Jumaili" }, { "@type": "Person", "name": "Omar D. Madeeh" }, { "@type": "Person", "name": "Mohammed A.S. Al-Hitawi" }, { "@type": "Person", "name": "Deshinta Arrova Dewi" }, { "@type": "Person", "name": "Mohd Zakree bin Ahmad Nazri" }, { "@type": "Person", "name": "Shaima Nasir Kadhim" } ], "publisher": { "@type": "Organization", "name": "F1000Research", "logo": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 480, "width": 60 } }, "image": { "@type": "ImageObject", "url": "https://f1000research.com/img/AMP/F1000Research_image.png", "height": 1200, "width": 150 }, "description": " Background 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. Methods 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. Conclusions 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 R2 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. " } { "@context": "http://schema.org", "@type": "BreadcrumbList", "itemListElement": [ { "@type": "ListItem", "position": "1", "item": { "@id": "https://f1000research.com/", "name": "Home" } }, { "@type": "ListItem", "position": "2", "item": { "@id": "https://f1000research.com/browse/articles", "name": "Browse" } }, { "@type": "ListItem", "position": "3", "item": { "@id": "https://f1000research.com/articles/15-366", "name": "Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling..." } } ] } Home Browse Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling... ALL Metrics - Views Downloads Get PDF Get XML Cite How to cite this article Mohammed Lateef H, Abduljawad Al-Shibly M, Hadi Ali AL-Jumaili A et al. Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.12688/f1000research.177203.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. Close Copy Citation Details Export Export Citation Sciwheel EndNote Ref. Manager Bibtex ProCite Sente EXPORT Select a format first Track Share ▬ ✚ Research Article Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] Huda Mohammed Lateef 1 , Mohammed Abduljawad Al-Shibly https://orcid.org/0009-0002-6717-7364 1 , Ahmed Hadi Ali AL-Jumaili 1 , [...] Omar D. Madeeh https://orcid.org/0000-0001-5392-5291 1 , Mohammed A.S. Al-Hitawi https://orcid.org/0009-0009-7905-0978 1 , Deshinta Arrova Dewi 2 , Mohd Zakree bin Ahmad Nazri 3 , Shaima Nasir Kadhim 4 Huda Mohammed Lateef 1 , Mohammed Abduljawad Al-Shibly https://orcid.org/0009-0002-6717-7364 1 , [...] Ahmed Hadi Ali AL-Jumaili 1 , Omar D. Madeeh https://orcid.org/0000-0001-5392-5291 1 , Mohammed A.S. Al-Hitawi https://orcid.org/0009-0009-7905-0978 1 , Deshinta Arrova Dewi 2 , Mohd Zakree bin Ahmad Nazri 3 , Shaima Nasir Kadhim 4 PUBLISHED 05 Mar 2026 Author details Author details 1 University of Fallujah, Al-Fallujah, Al Anbar Governorate, Iraq 2 INTI International University & Colleges, Nilai, Negeri Sembilan, Malaysia 3 Faculty of Data Science and Information Technology, Universiti Kebangsaan Malaysia, Bangi, Selangor, Malaysia 4 University of Diyala, Baqubah, Diyala Governorate, Iraq Huda Mohammed Lateef Roles: Data Curation, Investigation, Validation, Writing – Original Draft Preparation, Writing – Review & Editing Mohammed Abduljawad Al-Shibly Roles: Conceptualization, Formal Analysis, Methodology, Project Administration, Supervision, Writing – Original Draft Preparation Ahmed Hadi Ali AL-Jumaili Roles: Resources, Software, Writing – Review & Editing Omar D. Madeeh Roles: Data Curation, Validation, Writing – Review & Editing Mohammed A.S. Al-Hitawi Roles: Conceptualization, Methodology, Writing – Original Draft Preparation, Writing – Review & Editing Deshinta Arrova Dewi Roles: Funding Acquisition, Writing – Review & Editing Mohd Zakree bin Ahmad Nazri Roles: Investigation, Writing – Review & Editing Shaima Nasir Kadhim Roles: Writing – Review & Editing OPEN PEER REVIEW DETAILS REVIEWER STATUS This article is included in the Fallujah Multidisciplinary Science and Innovation gateway. This article is included in the Software and Hardware Engineering gateway. Abstract Background 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. Methods 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. Conclusions 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 2 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. READ ALL READ LESS Keywords Cloud Resource Utilization, Scheduling, Resource Management, Machine Learning (ML), Deep Learning, Google Cluster. Corresponding Author(s) Mohammed Abduljawad Al-Shibly ( [email protected] ) Mohammed A.S. Al-Hitawi ( [email protected] ) Close Corresponding authors: Mohammed Abduljawad Al-Shibly, Mohammed A.S. Al-Hitawi Competing interests: No competing interests were disclosed. Grant information: The author(s) declared that no grants were involved in supporting this work. Copyright: © 2026 Mohammed Lateef H et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. How to cite: Mohammed Lateef H, Abduljawad Al-Shibly M, Hadi Ali AL-Jumaili A et al. Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.12688/f1000research.177203.1 ) First published: 05 Mar 2026, 15 :366 ( https://doi.org/10.12688/f1000research.177203.1 ) Latest published: 05 Mar 2026, 15 :366 ( https://doi.org/10.12688/f1000research.177203.1 ) 1. Introduction 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 Armbrust et al. (2010) . 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. 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. 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. 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 2 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 1 and were reproducible. 2. Related work 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. 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. 2.1 Analysis of production trace data for scheduling optimization Zarour et al. (2024) 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. 2.2 Machine learning models for workload prediction and resource allocation Gao et al. (2020) 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. Karpagam and Kanniappan (2025) 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. 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. 2.3 Predicting failures and resource usage in cloud environments Chen et al. (2014) 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. Mishra et al. (2010) 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. 2.4 Hybrid approaches and combining domain knowledge with AI models 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. 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. Table 1 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. Table 1. Summary table of related work. Study Focus Contribution Mishra et al. (2010) Resource usage and task inter-arrival times in Google clusters Explores the heterogeneity of cloud workloads and the need for generalizable predictive models to handle various workload regimes. Chen et al. (2014) Predicting failures in cloud clusters Identifies the potential of predictive models for early failure detection in cloud clusters, supporting proactive resource management. Gao et al. (2020) Workload prediction with task clustering Demonstrates the benefits of clustering tasks based on workload characteristics to improve prediction accuracy (90% accuracy). Li et al. (2021) Dynamic job scheduling using deep reinforcement learning (RL) Proposes an RL model that learns optimal scheduling policies through interaction with a cloud environment. Zarour et al. (2024) Impact of task parameters on scheduling efficiency Provides insights into task characteristics (e.g., CPU, memory) that influence scheduling efficiency and rescheduling needs. Karpagam and Kanniappan (2025) Workload and resource time-series prediction using SNN Introduces a Symmetry-Aware Multi-Dimensional Attention Spiking Neural Network (SNN) to predict workload time series with high accuracy. 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. 3. Dataset description 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’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 Figure 1 a small number of outliers in the dataset were removed so the most of continues distributions are uniforms. Figure 1. Distribution of the dataset after outlier removal. Table 2 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. Table 2. Statistical description for the used dataset. Feature Description Count Mean (± Std) Min – Max Median (IQR) time Event timestamp (ns) 405,894 6.9e13 ± 2.5e16 0 – 9.2e18 1.08e12 (2.67e11–1.77e12) instance_ events_type Type of task event (0–10) 405,894 2.95 ± 2.04 0 – 10 3 (2–5) collection_id Job/collection identifier 405,894 3.6e11 ± 2.4e11 6.8e3 – 8.2e11 3.1e11 (2.1e11–4.9e11) scheduling_class Scheduling class (0–3) 405,894 1.27 ± 1.01 0 – 3 1 (0–2) priority Scheduling priority (0–450) 405,894 147.9 ± 116.7 0 – 450 105 (103–200) machine_id Machine identifier (unique, can be -1) 405,894 8.5e10 ± 1.38e11 -1 – 8.25e11 2.0e10 (2.9e9–1.3e11) resource_ request_cpus Requested CPU cores 405,894 0.015 ± 0.029 0 – 0.58 0.008 (0.004–0.016) resource_ request_memory Requested memory fraction 405,894 0.009 ± 0.022 0 – 0.29 0.003 (0.001–0.007) average_ usage_cpus Average CPU usage fraction 405,894 0.007 ± 0.019 0 – 0.54 0.001 (0.0002–0.007) average_ usage_memory Average memory usage fraction 405,894 0.0056 ± 0.017 0 – 0.22 0.001 (0.0002–0.004) failed Failure flag (0 = no fail, 1 = fail) 405,894 0.23 ± 0.42 0 – 1 0 (0–0) Figure 2 shows the Correlation Matrix (Cor(x,y)), which represents the strength of the relationship between viables. Figure 2. Show the correlation matrix for the used dataset. The equation. (1) represents the analysis of the correlation matrix, the prime above the X and Y variables represents the mean values, s x and s y are the standard divisions of the given variables. (1) Cor ( X , Y ) = Cov ( X , Y ) s x ∗ s y = ∑ ( x i − x ¯ ) ∗ ( y i − y ¯ ) ∑ ( x i − x ¯ ) 2 ∗ ( y i − y ¯ ) 2 The value is strongly related when it is close to 1 or -1 and weak when it is zero or near it. 4. Methodology 4.1 Preprocessing For this study, we utilized the publicly available Google Cluster Trace v3 dataset, which contains comprehensive logs from Google’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). (2) x scaled = x − x min x max − x min 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. 4.2 Feature engineering 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. 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. 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. Defining the Target Variable 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. 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. Data Volume and Sampling 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. 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. Dealing with Imbalanced Data 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. 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. Model Deployment and Scaling 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. 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. 5. Proposed models 5.1 Linear regression (LR) 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. 5.2 Support vector regression (SVR) 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). 5.3 Random forest (RF) regression 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. 5.4 Predictive neural network (NN) 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. 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. 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. Figure 3 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. Figure 3. Workflow of the proposed machine learning model training and deployment process. The Predictive Neural Network's (PNN) training and validation result are shown in Figure 4 . 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. Figure 4. Training vs. validation accuracy for the Predictive Neural Network (PNN). Through the training phase, the PNN model demonstrated excellent performance in generalization by gradually increasing accuracy and minimizing loss, as indicated in Figure 4 . Performance Evaluation 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. In accordance with MAE, RMSE, and R 2 on the test data set, ensemble and models built on neural networks perform better than linear and kernel-related procedures, demonstrated in Table 3 . Table 3. Proposed model summary as cloud resource usage. Model Description Key features Hyperparameters Performance (Validation set) LR A baseline linear model for predicting CPU usage. Simple, interpretable coefficients None (OLS) MAE: 0.20, RMSE: 0.30, R 2 : 0.50 SVR Non-linear regression using a radial basis function kernel. Handles non-linear patterns Gamma, Regularization parameter (C) MAE: 0.18, RMSE: 0.28, R 2 : 0.60 RF Ensemble of decision trees trained on random data subsets. Handles complex interactions Number of trees (100), Max depth (10) MAE: 0.12, RMSE: 0.20, R 2 : 0.85 NN Custom MLP model for CPU usage prediction, optimized for both classification and regression. Hybrid classification-regression approach Learning rate (0.001), Epochs (50), Activation functions MAE: 0.10, RMSE: 0.15, R 2 : 0.90 5.5 Environment setup 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. 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. 5.6 Evolution matrix 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 Equations (3) and (4) . (3) RMSE = ∑ ( y i − y ̂ i ) 2 N − P (4) mAP = 1 k ∑ i k A P i 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 Equations (5) and (6) . (5) Preceion ( P ) = TP TP + FP , Recall ( R ) = TP TP + FN (6) F 1 score = 2 ∗ P ∗ R P + R R 2 score in Equation (7) , which indicates the proportion of variance in actual CPU usage explained by the model. (7) R 2 = 1 − s s Regression SS Total Where SS Regression is Sum Squared Regression Error, and SS Total is the Sum Squared Total Error 6. Experimental results 6.1 Model performance observations LR in Table 4 performed the worst among all models, with an RMSE of 0.30 and an R 2 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. Table 4. Shows the classification report for the LR-Model result. Class Precision Recall f1-score Accuracy 0 0.84 0.61 0.71 1 0.32 0.61 0.42 accuracy 0.61 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 2 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. Figure 5 highlights the Random Forest (RF) approach's classification efficacy for high-CPU task prediction, including accuracy, precision, recall, and F1-score. Figure 5. Classification performance of the RF model for high-CPU task. NN -Model Result The proposed artificial neural networks model showed the best results among the permutation sets of models. As shown in Table 5 , the model started overfitting after 55 epochs; therefore, we employed the early stopping technique to save energy and avoid overfitting. Table 5. Neural networks history over epoch for both training and validation dataset. Epoch Training loss Val accuracy Val loss 1 2.2751 0.2625 2.0962 5 1.1372 0.44 1.5946 10 0.8885 0.6571 1.1133 20 0.6454 0.7237 0.9233 30 0.5229 0.8791 0.3558 40 0.4427 0.9194 0.2482 45 0.4184 0.93 0.2244 50 0.3898 0.9391 0.2023 55 0.3897 0.9391 0.2024 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 2 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. Analysis for features Important Based on the SHAP summary in Figure 6 , 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 ( Lundberg & Lee, 2017 ). Figure 6. SHAP algorithm for features important. 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) ≈ 0.2. 7. Conclusion model performance 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 ( Gao et al., 2020 ) 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. 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. 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. 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. 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 Al-Hitawi et al. (2026) might use two stage methods by employing the attention mechanism to achieve higher model trust. 7.1 Visualization of predictions Figure 7 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). Figure 7. Actual vs. predicted value grouped by cluster name (node name). The NN (green points) correlates well with actual CPU consumption incidentally, whereas a few high-demand tasks (upper-right points) are slightly under-predicted. 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. 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. 7.2 Stability across time 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. Our models have high values of R 2 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. 7.3 Practical application: Low prediction error 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 %. 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. 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. 8. Discussion 8.1 Resource management and scheduling impact 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. 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. 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. 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. 8.2. Generalization and robustness 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. 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. 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. 8.3 Limitations and failure cases 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. 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. 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. 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. 9. Conclusion 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. Data availability 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: https://github.com/google/cluster-data ( Wilkes, 2019 ), The Google Cluster Trace v3 (2019 release) is the individual version exploited in this investigation. • 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: https://github.com/Mohammed20201991/AlgoEval-GCD . • License: MIT License • Archived source code at time of publication: Zenodo. GCD-CloudAI: Benchmarking intelligent scheduling and workload prediction. https://doi.org/10.5281/zenodo.18674733 ( Al-Hitawi, M. A. S. 2025 ) • License: Creative Commons Attribution 4.0 International license 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. References Al-Hitawi MAS: GCD-CloudAI: Benchmarking intelligent scheduling and workload prediction (Version v0) [Software]. Zenodo. 2025. Publisher Full Text Al-Hitawi MAS, Máté GN: Enhancing Transformer-Based Language Models for Hungarian Handwritten Text Recognition [version 1; peer review: awaiting peer review]. F1000Res. 2026; 15 : 181. Publisher Full Text Armbrust M, Fox A, Griffith R, et al. : A view of cloud computing. Commun. ACM. 2010; 53 (4): 50–58. Publisher Full Text Zarour H, et al. : Analyzing the impact of various parameters on job scheduling in the Google cluster dataset. ORBilu, University of Luxembourg; 2024. Chen X, Lu CD, Pattabiraman K: Failure analysis of jobs in compute clouds: a Google cluster case study. 2014 IEEE 25th International Symposium on Software Reliability Engineering (ISSRE). IEEE; 2014, November; pp. 167–177. Mishra AK, Hellerstein JL, Cirne W, et al. : Towards characterizing cloud backend workloads: insights from Google compute clusters. ACM SIGMETRICS Performance Evaluation Review. 2010; 37 (4): 34–41. Publisher Full Text Li X, Li J, Cui Z, et al. : Deep reinforcement learning for job scheduling in cloud computing. Clust. Comput. 2021; 24 : 2901–2915. Karpagam T, Kanniappan J: Symmetry-aware multi-dimensional attention spiking neural network with optimization techniques for accurate workload and resource time series prediction in cloud computing systems. Symmetry. 2025; 17 (3): 383. Publisher Full Text Gao J, Wang H, Shen H: Machine learning based workload prediction in cloud computing. 2020 29th International Conference on Computer Communications and Networks (ICCCN). IEEE; 2020; pp. 1–9. Lundberg SM, Lee S-I: A Unified Approach to Interpreting Model Predictions. Advances in Neural Information Processing Systems (NeurIPS). 2017; 30. Wilkes J: Google Cluster Trace v3. Google; 2019. Reference Source Footnotes 1 https://github.com/Mohammed20201991/AlgoEval-GCD Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 05 Mar 2026 ADD YOUR COMMENT Comment Author details Author details 1 University of Fallujah, Al-Fallujah, Al Anbar Governorate, Iraq 2 INTI International University & Colleges, Nilai, Negeri Sembilan, Malaysia 3 Faculty of Data Science and Information Technology, Universiti Kebangsaan Malaysia, Bangi, Selangor, Malaysia 4 University of Diyala, Baqubah, Diyala Governorate, Iraq Huda Mohammed Lateef Roles: Data Curation, Investigation, Validation, Writing – Original Draft Preparation, Writing – Review & Editing Mohammed Abduljawad Al-Shibly Roles: Conceptualization, Formal Analysis, Methodology, Project Administration, Supervision, Writing – Original Draft Preparation Ahmed Hadi Ali AL-Jumaili Roles: Resources, Software, Writing – Review & Editing Omar D. Madeeh Roles: Data Curation, Validation, Writing – Review & Editing Mohammed A.S. Al-Hitawi Roles: Conceptualization, Methodology, Writing – Original Draft Preparation, Writing – Review & Editing Deshinta Arrova Dewi Roles: Funding Acquisition, Writing – Review & Editing Mohd Zakree bin Ahmad Nazri Roles: Investigation, Writing – Review & Editing Shaima Nasir Kadhim Roles: Writing – Review & Editing Competing interests No competing interests were disclosed. Grant information The author(s) declared that no grants were involved in supporting this work. Article Versions (1) version 1 Published: 05 Mar 2026, 15:366 https://doi.org/10.12688/f1000research.177203.1 Copyright © 2026 Mohammed Lateef H et al . This is an open access article distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Download Export To Sciwheel Bibtex EndNote ProCite Ref. Manager (RIS) Sente metrics Views Downloads F1000Research - - PubMed Central info_outline Data from PMC are received and updated monthly. - - Citations open_in_new 0 open_in_new 0 open_in_new SEE MORE DETAILS CITE how to cite this article Mohammed Lateef H, Abduljawad Al-Shibly M, Hadi Ali AL-Jumaili A et al. Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.12688/f1000research.177203.1 ) NOTE: If applicable, it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS track receive updates on this article Track an article to receive email alerts on any updates to this article. TRACK THIS ARTICLE Share Open Peer Review Current Reviewer Status: ? Key to Reviewer Statuses VIEW HIDE Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Version 1 VERSION 1 PUBLISHED 05 Mar 2026 Views 0 Cite How to cite this report: Theodoropoulou A. Reviewer Report For: Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.5256/f1000research.195388.r469599 ) The direct URL for this report is: https://f1000research.com/articles/15-366/v1#referee-response-469599 NOTE: it is important to ensure the information in square brackets after the title is included in this citation. Close Copy Citation Details Reviewer Report 01 Apr 2026 Alexandra Theodoropoulou , University of Patras, Patras, Greece Not Approved VIEWS 0 https://doi.org/10.5256/f1000research.195388.r469599 Abstract 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 ... Continue reading READ ALL Abstract 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. Dataset preprocessing and Feature engineering In section 3 and subsection 4.1 the authors describe the dataset’s features in the exact same way, repeating themselves (“The dataset comprises several critical……assigned by the scheduler)”). Therefore, the authors need to choose one section and describe their dataset there, once. No need to repeat this in other subsections. 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 “Defining the Target Variable” and then in “Dealing with Imbalanced Data” portions of 4.2. This pattern goes on for the 2nd paragraph of “Dealing with Imbalanced Data” as well, which is first mentioned in the “Data Volume and Sampling” 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. Target variable 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. Experimental Results 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. Classification accuracy optimization 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. Reporting 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 “tens of thousands of task instances”, 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 “Validation set”. The authors should therefore report the exact final sample size consistently and make clear which dataset partition each reported metric refers to. Figure 7 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 ‘Actual vs. predicted value grouped by cluster name (node name),’ 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. Conclusion 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², 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. References used in the paper 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). 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. Is the work clearly and accurately presented and does it cite the current literature? No Is the study design appropriate and is the work technically sound? No Are sufficient details of methods and analysis provided to allow replication by others? Partly If applicable, is the statistical analysis and its interpretation appropriate? Partly Are all the source data underlying the results available to ensure full reproducibility? Partly Are the conclusions drawn adequately supported by the results? No Competing Interests: No competing interests were disclosed. Reviewer Expertise: Big Data analytics, Machine Learning, Decision Support Systems, Data-driven Management, Digital Marketing, Consumer Behavior, Business Intelligence, Applied Artificial Intelligence 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. Close READ LESS CITE CITE HOW TO CITE THIS REPORT Theodoropoulou A. Reviewer Report For: Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.5256/f1000research.195388.r469599 ) The direct URL for this report is: https://f1000research.com/articles/15-366/v1#referee-response-469599 NOTE: it is important to ensure the information in square brackets after the title is included in all citations of this article. COPY CITATION DETAILS Report a concern Respond or Comment COMMENT ON THIS REPORT Comments on this article Comments (0) Version 1 VERSION 1 PUBLISHED 05 Mar 2026 ADD YOUR COMMENT Comment keyboard_arrow_left keyboard_arrow_right Open Peer Review Reviewer Status info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Reviewer Reports Invited Reviewers 1 Version 1 05 Mar 26 read Alexandra Theodoropoulou , University of Patras, Patras, Greece Comments on this article All Comments (0) Add a comment Sign up for content alerts Sign Up You are now signed up to receive this alert Browse by related subjects keyboard_arrow_left Back to all reports Reviewer Report 0 Views copyright © 2026 Theodoropoulou A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. 01 Apr 2026 | for Version 1 Alexandra Theodoropoulou , University of Patras, Patras, Greece 0 Views copyright © 2026 Theodoropoulou A. This is an open access peer review report distributed under the terms of the Creative Commons Attribution License , which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. format_quote Cite this report speaker_notes Responses (0) Not Approved info_outline Alongside their report, reviewers assign a status to the article: Approved The paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved Fundamental flaws in the paper seriously undermine the findings and conclusions Abstract 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. Dataset preprocessing and Feature engineering In section 3 and subsection 4.1 the authors describe the dataset’s features in the exact same way, repeating themselves (“The dataset comprises several critical……assigned by the scheduler)”). Therefore, the authors need to choose one section and describe their dataset there, once. No need to repeat this in other subsections. 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 “Defining the Target Variable” and then in “Dealing with Imbalanced Data” portions of 4.2. This pattern goes on for the 2nd paragraph of “Dealing with Imbalanced Data” as well, which is first mentioned in the “Data Volume and Sampling” 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. Target variable 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. Experimental Results 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. Classification accuracy optimization 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. Reporting 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 “tens of thousands of task instances”, 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 “Validation set”. The authors should therefore report the exact final sample size consistently and make clear which dataset partition each reported metric refers to. Figure 7 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 ‘Actual vs. predicted value grouped by cluster name (node name),’ 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. Conclusion 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², 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. References used in the paper 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). 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. Is the work clearly and accurately presented and does it cite the current literature? No Is the study design appropriate and is the work technically sound? No Are sufficient details of methods and analysis provided to allow replication by others? Partly If applicable, is the statistical analysis and its interpretation appropriate? Partly Are all the source data underlying the results available to ensure full reproducibility? Partly Are the conclusions drawn adequately supported by the results? No Competing Interests No competing interests were disclosed. Reviewer Expertise Big Data analytics, Machine Learning, Decision Support Systems, Data-driven Management, Digital Marketing, Consumer Behavior, Business Intelligence, Applied Artificial Intelligence 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. reply Respond to this report Responses (0) Theodoropoulou A. Peer Review Report For: Intelligent Cloud Resource Usage Potentially to Improve Task Scheduling by the use of Artificial Intelligence [version 1; peer review: 1 not approved] . F1000Research 2026, 15 :366 ( https://doi.org/10.5256/f1000research.195388.r469599) NOTE: it is important to ensure the information in square brackets after the title is included in this citation. The direct URL for this report is: https://f1000research.com/articles/15-366/v1#referee-response-469599 Alongside their report, reviewers assign a status to the article: Approved - the paper is scientifically sound in its current form and only minor, if any, improvements are suggested Approved with reservations - A number of small changes, sometimes more significant revisions are required to address specific details and improve the papers academic merit. Not approved - fundamental flaws in the paper seriously undermine the findings and conclusions Adjust parameters to alter display View on desktop for interactive features Includes Interactive Elements View on desktop for interactive features Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Stay Updated Sign up for content alerts and receive a weekly or monthly email with all newly published articles Register with F1000Research Already registered? Sign in Not now, thanks close PLEASE NOTE If you are an AUTHOR of this article, please check that you signed in with the account associated with this article otherwise we cannot automatically identify your role as an author and your comment will be labelled as a “User Comment”. If you are a REVIEWER of this article, please check that you have signed in with the account associated with this article and then go to your account to submit your report, please do not post your review here. If you do not have access to your original account, please contact us . All commenters must hold a formal affiliation as per our Policies . The information that you give us will be displayed next to your comment. User comments must be in English, comprehensible and relevant to the article under discussion. We reserve the right to remove any comments that we consider to be inappropriate, offensive or otherwise in breach of the User Comment Terms and Conditions . Commenters must not use a comment for personal attacks. When criticisms of the article are based on unpublished data, the data should be made available. I accept the User Comment Terms and Conditions Please confirm that you accept the User Comment Terms and Conditions. Affiliation ✕ refresh Please enter your institution. Note: To add your institution or organisation, start typing the name and then select the correct name from the list. Where applicable, the name will appear in both the original language and in English. Do not paste in the name. If the name does not appear in the drop-down list, we will display the information you have entered. ✕ refresh Country/Region * USA UK Canada China France Germany Afghanistan Aland Islands Albania Algeria American Samoa Andorra Angola Anguilla Antarctica Antigua and Barbuda Argentina Armenia Aruba Australia Austria Azerbaijan Bahamas Bahrain Bangladesh Barbados Belarus Belgium Belize Benin Bermuda Bhutan Bolivia Bosnia and Herzegovina Botswana Bouvet Island Brazil British Indian Ocean Territory British Virgin Islands Brunei Bulgaria Burkina Faso Burundi Cambodia Cameroon Canada Cape Verde Cayman Islands Central African Republic Chad Chile China Christmas Island Cocos (Keeling) Islands Colombia Comoros Congo Cook Islands Costa Rica Cote d'Ivoire Croatia Cuba Cyprus Czech Republic Democratic Republic of the Congo Denmark Djibouti Dominica Dominican Republic Ecuador Egypt El Salvador Equatorial Guinea Eritrea Estonia Ethiopia Falkland Islands Faroe Islands Federated States of Micronesia Fiji Finland France French Guiana French Polynesia French Southern Territories Gabon Georgia Germany Ghana Gibraltar Greece Greenland Grenada Guadeloupe Guam Guatemala Guernsey Guinea Guinea-Bissau Guyana Haiti Heard Island and Mcdonald Islands Holy See (Vatican City State) Honduras Hong Kong Hungary Iceland India Indonesia Iran Iraq Ireland Israel Italy Jamaica Japan Jersey Jordan Kazakhstan Kenya Kiribati Kosovo (Serbia and Montenegro) Kuwait Kyrgyzstan Lao People's Democratic Republic Latvia Lebanon Lesotho Liberia Libya Liechtenstein Lithuania Luxembourg Macao Madagascar Malawi Malaysia Maldives Mali Malta Marshall Islands Martinique Mauritania Mauritius Mayotte Mexico Minor Outlying Islands of the United States Moldova Monaco Mongolia Montenegro Montserrat Morocco Mozambique Myanmar Namibia Nauru Nepal Netherlands Antilles New Caledonia New Zealand Nicaragua Niger Nigeria Niue Norfolk Island North Korea North Macedonia Northern Mariana Islands Norway Oman Pakistan Palau Palestinian Territory Panama Papua New Guinea Paraguay Peru Philippines Pitcairn Poland Portugal Puerto Rico Qatar Reunion Romania Russian Federation Rwanda Saint Helena Saint Kitts and Nevis Saint Lucia Saint Pierre and Miquelon Saint Vincent and the Grenadines Samoa San Marino Sao Tome and Principe Saudi Arabia Senegal Serbia Seychelles Sierra Leone Singapore Slovakia Slovenia Solomon Islands Somalia South Africa South Georgia and the South Sandwich Is South Korea South Sudan Spain Sri Lanka Sudan Suriname Svalbard and Jan Mayen Swaziland Sweden Switzerland Syria Taiwan Tajikistan Tanzania Thailand The Gambia The Netherlands Timor-Leste Togo Tokelau Tonga Trinidad and Tobago Tunisia Turkey Turkmenistan Turks and Caicos Islands Tuvalu UK USA Uganda Ukraine United Arab Emirates United States Virgin Islands Uruguay Uzbekistan Vanuatu Venezuela Vietnam Wallis and Futuna West Bank and Gaza Strip Western Sahara Yemen Zambia Zimbabwe Please select your country/region. You must enter a comment. Competing Interests Please disclose any competing interests that might be construed to influence your judgment of the article's or peer review report's validity or importance. Competing Interests Policy Provide sufficient details of any financial or non-financial competing interests to enable users to assess whether your comments might lead a reasonable person to question your impartiality. Consider the following examples, but note that this is not an exhaustive list: Examples of 'Non-Financial Competing Interests' Within the past 4 years, you have held joint grants, published or collaborated with any of the authors of the selected paper. You have a close personal relationship (e.g. parent, spouse, sibling, or domestic partner) with any of the authors. You are a close professional associate of any of the authors (e.g. scientific mentor, recent student). You work at the same institute as any of the authors. You hope/expect to benefit (e.g. favour or employment) as a result of your submission. You are an Editor for the journal in which the article is published. Examples of 'Financial Competing Interests' You expect to receive, or in the past 4 years have received, any of the following from any commercial organisation that may gain financially from your submission: a salary, fees, funding, reimbursements. You expect to receive, or in the past 4 years have received, shared grant support or other funding with any of the authors. You hold, or are currently applying for, any patents or significant stocks/shares relating to the subject matter of the paper you are commenting on. Please state your competing interests The comment has been saved. An error has occurred. Please try again. Cancel Post var lTitle = "Intelligent Cloud Resource Usage Potentially...".replace("'", ''); var linkedInUrl = "http://www.linkedin.com/shareArticle?url=https://f1000research.com/articles/15-366/v1" + "&title=" + encodeURIComponent(lTitle) + "&summary=" + encodeURIComponent('Read the article by '); var deliciousUrl = "https://del.icio.us/post?url=https://f1000research.com/articles/15-366/v1&title=" + encodeURIComponent(lTitle); var redditUrl = "http://reddit.com/submit?url=https://f1000research.com/articles/15-366/v1" + "&title=" + encodeURIComponent(lTitle); linkedInUrl += encodeURIComponent('Mohammed Lateef H et al.'); var offsetTop = /chrome/i.test( navigator.userAgent ) ? 4 : -10; var addthis_config = { ui_offset_top: offsetTop, services_compact : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_expanded : "facebook,twitter,www.linkedin.com,www.mendeley.com,reddit.com", services_custom : [ { name: "LinkedIn", url: linkedInUrl, icon:"/img/icon/at_linkedin.svg" }, { name: "Mendeley", url: "http://www.mendeley.com/import/?url=https://f1000research.com/articles/15-366/v1/mendeley", icon:"/img/icon/at_mendeley.svg" }, { name: "Reddit", url: redditUrl, icon:"/img/icon/at_reddit.svg" }, ] }; var addthis_share = { url: "https://f1000research.com/articles/15-366", templates : { twitter : "Intelligent Cloud Resource Usage Potentially to Improve Task.... Mohammed Lateef H et al., published by " + "@F1000Research" + ", https://f1000research.com/articles/15-366/v1" } }; if (typeof(addthis) != "undefined"){ addthis.addEventListener('addthis.ready', checkCount); addthis.addEventListener('addthis.menu.share', checkCount); } $(".f1r-shares-twitter").attr("href", "https://twitter.com/intent/tweet?text=" + addthis_share.templates.twitter); $(".f1r-shares-facebook").attr("href", "https://www.facebook.com/sharer/sharer.php?u=" + addthis_share.url); $(".f1r-shares-linkedin").attr("href", addthis_config.services_custom[0].url); $(".f1r-shares-reddit").attr("href", addthis_config.services_custom[2].url); $(".f1r-shares-mendelay").attr("href", addthis_config.services_custom[1].url); function checkCount(){ setTimeout(function(){ $(".addthis_button_expanded").each(function(){ var count = $(this).text(); if (count !== "" && count != "0") $(this).removeClass("is-hidden"); else $(this).addClass("is-hidden"); }); }, 1000); } close How to cite this report {{reportCitation}} Cancel Copy Citation Details $(function(){R.ui.buttonDropdowns('.dropdown-for-downloads');}); $(function(){R.ui.toolbarDropdowns('.toolbar-dropdown-for-downloads');}); $.get("/articles/acj/177203/195388") new F1000.Clipboard(); new F1000.ThesaurusTermsDisplay("articles", "article", "195388"); $(document).ready(function() { $( "#frame1" ).on('load', function() { var mydiv = $(this).contents().find("div"); var h = mydiv.height(); console.log(h) }); var tooltipLivingFigure = jQuery(".interactive-living-figure-label .icon-more-info"), titleLivingFigure = tooltipLivingFigure.attr("title"); tooltipLivingFigure.simpletip({ fixed: true, position: ["-115", "30"], baseClass: 'small-tooltip', content:titleLivingFigure + " " }); tooltipLivingFigure.removeAttr("title"); $("body").on("click", ".cite-living-figure", function(e) { e.preventDefault(); var ref = $(this).attr("data-ref"); $(this).closest(".living-figure-list-container").find("#" + ref).fadeIn(200); }); $("body").on("click", ".close-cite-living-figure", function(e) { e.preventDefault(); $(this).closest(".popup-window-wrapper").fadeOut(200); }); $(document).on("mouseup", function(e) { var metricsContainer = $(".article-metrics-popover-wrapper"); if (!metricsContainer.is(e.target) && metricsContainer.has(e.target).length === 0) { $(".article-metrics-close-button").click(); } }); var articleId = $('#articleId').val(); if($("#main-article-count-box").attachArticleMetrics) { $("#main-article-count-box").attachArticleMetrics(articleId, { articleMetricsView: true }); } }); var figshareWidget = $(".new_figshare_widget"); if (figshareWidget.length > 0) { window.figshare.load("f1000", function(Widget) { // Select a tag/tags defined in your page. In this tag we will place the widget. _.map(figshareWidget, function(el){ var widget = new Widget({ articleId: $(el).attr("figshare_articleId") //height:300 // this is the height of the viewer part. [Default: 550] }); widget.initialize(); // initialize the widget widget.mount(el); // mount it in a tag that's on your page // this will save the widget on the global scope for later use from // your JS scripts. This line is optional. //window.widget = widget; }); }); } close Error Close Add Reset F1000.MICROSERVICES.AFFILIATION = ''; $(document).ready(function () { $('.js-affiliations-form').each((index, form) => { new AffiliationForm({ formId: form.id, institutionErrorSelector: '.comment-enter-institution', departmentErrorSelector: '.comment-enter-department', placeSelector: '.js-add-comment-place', stateSelector: '.js-add-comment-state', zipCodeSelector: '.js-add-comment-zipcode', countrySelector: '.js-add-comment-country', countryErrorSelector: '.comment-enter-country', }); }); }); $(document).ready(function () { var reportIds = { "479175": 0, "479174": 0, "479173": 0, "479182": 0, "479181": 0, "479180": 0, "479179": 0, "479178": 0, "479177": 0, "479176": 0, "467287": 0, "469591": 0, "467286": 0, "469590": 0, "467295": 0, "469599": 13, "467294": 0, "469598": 0, "467293": 0, "469597": 0, "467292": 0, "469596": 0, "467291": 0, "469595": 0, "469594": 0, "467290": 0, "467289": 0, "469593": 0, "467288": 0, "469592": 0, "465783": 0, "465782": 0, "465791": 0, "465790": 0, "465789": 0, "465788": 0, "465787": 0, "465786": 0, "465785": 0, "465784": 0, }; $(".referee-response-container,.js-referee-report").each(function(index, el) { var reportId = $(el).attr("data-reportid"), reportCount = reportIds[reportId] || 0; $(el).find(".comments-count-container,.js-referee-report-views").html(reportCount); }); var uuidInput = $("#article_uuid"), oldUUId = uuidInput.val(), newUUId = "23d507b2-6146-4c27-b8ca-3eaa8d852104"; uuidInput.val(newUUId); $("a[href*='article_uuid=']").each(function(index, el) { var newHref = $(el).attr("href").replace(oldUUId, newUUId); $(el).attr("href", newHref); }); }); An innovative open access publishing platform offering rapid publication and open peer review, whilst supporting data deposition and sharing. Browse Gateways Collections How it Works Contact For Developers Cookie Notice Privacy Notice RSS Submit Your Research Follow us © 2012-2026 F1000 Research Ltd. ISSN 2046-1402 | Legal | Partner of Research4Life • CrossRef • ORCID • FAIRSharing R.templateTests.simpleTemplate = R.template(' $text $text $text $text $text '); R.templateTests.runTests(); var F1000platform = new F1000.Platform({ name: "f1000research", displayName: "F1000Research", hostName: "f1000research.com", id: "1", editorialEmail: "[email protected]", infoEmail: "[email protected]", usePmcStats: true }); $(function(){R.ui.dropdowns('.dropdown-for-authors, .dropdown-for-about, .dropdown-for-myresearch');}); // $(function(){R.ui.dropdowns('.dropdown-for-referees');}); $(document).ready(function () { if ($(".cookie-warning").is(":visible")) { $(".sticky").css("margin-bottom", "35px"); $(".devices").addClass("devices-and-cookie-warning"); } $(".cookie-warning .close-button").click(function (e) { $(".devices").removeClass("devices-and-cookie-warning"); $(".sticky").css("margin-bottom", "0"); }); $("#tweeter-feed .tweet-message").each(function (i, message) { var self = $(message); self.html(linkify(self.html())); }); $(".partner").on("mouseenter mouseleave", function() { $(this).find(".gray-scale, .colour").toggleClass("is-hidden"); }); }); Sign In Remember me Forgotten your password? Sign In Cancel Email or password not correct. Please try again Please wait... $(function(){ // Note: All the setup needs to run against a name attribute and *not* the id due the clonish // nature of facebox... $("a[id=googleSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("GOOGLE"); $("form[id=oAuthForm]").submit(); }); $("a[id=facebookSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("FACEBOOK"); $("form[id=oAuthForm]").submit(); }); $("a[id=orcidSignInButton]").click(function(event){ event.preventDefault(); $("input[id=oAuthSystem]").val("ORCID"); $("form[id=oAuthForm]").submit(); }); }); If you've forgotten your password, please enter your email address below and we'll send you instructions on how to reset your password. The email address should be the one you originally registered with F1000. Email address not valid, please try again You registered with F1000 via Google, so we cannot reset your password. To sign in, please click here . If you still need help with your Google account password, please click here . You registered with F1000 via Facebook, so we cannot reset your password. To sign in, please click here . If you still need help with your Facebook account password, please click here . Code not correct, please try again Reset password Cancel Email us for further assistance. Server error, please try again. If your email address is registered with us, we will email you instructions to reset your password. If you think you should have received this email but it has not arrived, please check your spam filters and/or contact for further assistance. Please wait... Register $(document).ready(function () { signIn.createSignInAsRow($("#sign-in-form-gfb-popup")); $(".target-field").each(function () { var uris = $(this).val().split("/"); if (uris.pop() === "login") { $(this).val(uris.toString().replace(",","/")); } }); });

Text is read by the "Ask this paper" AI Q&A widget below. Extraction quality varies by source — PMC NXML preserves structure cleanly, OA-HTML may include some navigation residue, and OA-PDF can have broken hyphenation. The publisher copy (via DOI) is the canonical version.

My notes (saved in your browser only)

Ask this paper AI returns verbatim quotes from the full text · source: preprint-html

Answers must be backed by verbatim quotes from this paper's full text. Hallucinated quotes are dropped automatically; if no verbatim passage answers the question, we say so. How this works

Citation neighborhood (no data yet)

We don't have any in-corpus citations linked to this paper yet. This is a recent paper (2026) — citers typically take a year or two to land, and the OpenAlex reference graph may still be filling in.

Source provenance

europepmc
last seen: 2026-05-20T01:45:00.602351+00:00
unpaywall
last seen: 2026-05-27T02:00:06.600101+00:00
License: CC-BY-4.0