scieee Open visual document viewer

FLAS: A combination of proactive and reactive auto-scaling architecture for distributed services

Rampérez, Víctor,Soriano, Javier,Lizcano, David,Lara Torralbo, Juan Alfonso

Abstract

2020-21

Full text

Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 Con en s lis s a ailable a ScienceDi ec Fu u e Gene a ion Compu e Sys ems jou nal homepage: www.else ie .com/loca e/ gcs FLAS: A combina ion o p oac i e and eac i e au o-scaling a chi ec u e o dis ibu ed se ices Víc o Rampé ez a,∗,Ja ie So iano a,Da id Lizcano b,Juan A. La a b aUni e sidad Poli écnica de Mad id (UPM), 28660 - Boadilla del Mon e, Mad id, Spain bMad id Open Uni e si y (UDIMA), 28400 Collado Villalba, Mad id, Spain a icle in o A icle his o y: Recei ed 28 July 2020 Recei ed in e ised o m 19 Decembe 2020 Accep ed 26 Decembe 2020 A ailable online 4 Janua y 2021 MSC: 68-04 Keywo ds: Cloud Elas ici y Au oma ic scaling Dis ibu ed sys ems abs ac Cloud compu ing has es ablished i sel as he suppo o he as majo i y o eme ging echnologies, mainly due o he cha ac e is ic o elas ici y i o e s. Au o-scale s a e he sys ems ha enable his elas ici y by acqui ing and eleasing esou ces on demand o ensu e an ag eed se ice le el. In his a icle we p esen FLAS (Fo ecas ed Load Au o-Scaling), an au o-scale o dis ibu ed se ices ha combines he ad an ages o p oac i e and eac i e app oaches acco ding o he si ua ion o decide he op imal scaling ac ions in e e y momen . The main no el ies in oduced by FLAS a e (i) a p edic i e model o he high-le el me ics end which allows o an icipa e changes in he ele an SLA pa ame e s (e.g. pe o mance me ics such as esponse ime o h oughpu ) and (ii) a eac i e con ingency sys em based on he es ima ion o high-le el me ics om esou ce use me ics, educing he necessa y ins umen a ion (less in asi e) and allowing i o be adap ed agnos ically o di e en applica ions. We p o ide a FLAS implemen a ion o he use case o a con en -based publish– subsc ibe middlewa e (E-SilboPS) ha is he co ne s one o an e en -d i en a chi ec u e. To he bes o ou knowledge, his is he i s au o-scaling sys em o con en -based publish–subsc ibe dis ibu ed sys ems (al hough i is gene ic enough o i any dis ibu ed se ice). Th ough an e alua ion based on se e al es cases ec ea ing no only he expec ed con ex s o use, bu also he wo s possible scena ios ( ollowing he Bounda y-Value Analysis o BVA es me hodology), we ha e alida ed ou app oach and demons a ed he e ec i eness o ou solu ion by ensu ing compliance wi h pe o mance equi emen s o e 99% o he ime. ©2021 Else ie B.V. All igh s ese ed. 1. In oduc ion We ha e seen how in jus a ew yea s socie y has ans o med and e ol ed owa ds an inc easingly digi alized wo ld, whe e all aspec s o i s daily li e depend on echnology and mo e speci i- cally on In e ne se ices. Fo all hese easons, i is no su p ising ha compu e esou ces a e now an essen ial u ili y in mode n socie ies on a pa wi h elec ici y, gas o wa e . As a esul , cloud compu ing eme ged as a way o p o ide compu ing esou ces as a se ice, ha is, on-demand compu ing esou ces ha use s acqui e on a pay-as-you-go basis. Cloud compu ing has been consolida ed as a suppo o he as majo i y o cu en and eme ging echnologies. Fo exam- ple, he widesp ead adop ion o e en -d i en a chi ec u es [1], which a e essen ial o eal- ime-sensi i e digi al business such ∗Co esponding au ho . E-mail add esses: [email p o ec ed] (V. Rampé ez), [email p o ec ed] (J. So iano), [email p o ec ed] (D. Lizcano), [email p o ec ed] (J.A. La a). as IoT (In e ne o Things), has been possible because cloud com- pu ing is able o p o ide an in as uc u e ha mee s he e- qui emen s demanded by high-pe o mance dis ibu ed sys ems (publish/subsc ibe message b oke s, dis ibu ed s eam p ocess- ing sys ems o dis ibu ed da as o es), which a e he co ne s ones o hese a chi ec u es [2–4]. The key ea u e o Cloud Compu ing is elas ici y, which is he capabili y o acqui e and elease esou ces on demand o mee end-use equi emen s, which a e o mally exp essed h ough Se ice Le el Ag eemen s o SLAs. Howe e , i is no a i ial ask o decide he exac amoun o esou ces needed a any gi en ime o mee hese SLAs. The e a e se e al ypes o SLAs depending on he magni ude ha end use s wan o manage such as pe o mance, cos o ene gy consump ion. The e o e, an au o- scaling sys em is desi able o ee he use s om he bu den o adjus ing alloca ed esou ces o mee SLAs a any gi en ime. The main objec i e o au o-scaling sys ems is o a oid bo h o e - p o isioning and unde -p o isioning o esou ces, which would inc ease he cos and iola e he SLA espec i ely. Many au o-scaling sys ems ha e been de eloped in bo h he li e a u e and he indus y p oposing di e en app oaches o he h ps://doi.o g/10.1016/j. u u e.2020.12.025 0167-739X/©2021 Else ie B.V. All igh s ese ed. V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 p oblem. These au o-scaling echniques a e classi ied in o wo majo g oups: (i) eac i e echniques, whe e he scaling ac ion is in eac ion o a change in he sys em, and he e o e does no an icipa e such a change; and (ii) p edic i e o p oac i e echniques, which a emp o an icipa e u u e changes in he sys em by pe o ming he necessa y scaling ac ions be o e such changes occu [5]. A scaling ac ion is de ined by he speci ic alues o i s dimen- sions, i.e. which esou ce is o be scaled (CPU, memo y, ne wo k, e c.), when o scale, how many esou ces a e o be added o emo ed, and how o scale (ho izon al o e ical scaling). An au o-scaling sys em can be seen as a sys em ha e u ns a speci ic scaling ac ion (wi h speci ic alues o each o he dimensions) based on a se ies o pa ame e s o inpu in o ma ion p o ided o i (e.g. SLA, wo kload, applica ion in o ma ion o be scaled, p edic i e models, h eshold-based scaling ules, e c.) o ensu e compliance wi h a SLA. Because o his, au o-scaling sys ems a e qui e complex and exis ing app oaches usually ocus only on one ype o SLA (e.g. pe o mance, cos o ene gy consump ion), one o wo dimensions o he scaling ac ions (e.g. when o scale and how much) and a speci ic applica ion o ype o applica ion (e.g. dis ibu ed s eam p ocessing sys ems). In o de o achie e he desi ed elas ici y o an applica ion, se e al wo ks and au ho s highligh he need o unde s and he ela ionship be ween he low-le el beha io o ha applica ion and he high-le el pa ame e s o he SLA o be ensu ed [6– 11]. The e o e, au o-scale sys ems would ha e o be equipped wi h he necessa y mechanisms ha allow hem o es ablish a ela ionship be ween he low le el beha io (i.e. a esou ce le el exp essed h ough esou ce me ics such as CPU usage, memo y usage, e c.) and he high le el beha io (i.e. SLA pa ame e s o pe o mance, cos , e c.) o he applica ion in o de o ake he app op ia e scaling ac ions o ensu e compliance wi h he co e- sponding SLA. Howe e , ew wo ks add ess his p oblem, as hey ake o g an ed he esou ce ha is he bo leneck and he e o e he esou ce o be scaled. Fo example, many jobs ake o g an ed ha he limi ing esou ce o KPI (Key Pe o mance Indica o ) is he p ocessing capaci y and he e o e hei scaling ac ion consis s in inc easing he p ocessing capaci y by adding mo e p ocesso s di ec ly (scale-up) o mo e i ual machines (scale-ou ). We do no doub ha in hese wo ks he esou ce ha hey scale is he adequa e one, since hey usually demons a e i empi ically, bu we de end ha he s udy o his ela ion be ween low- le el me ics and high-le el me ics allows o cha ac e ize he sys em in a mo e p ecise way. In ac , he e a e se e al esea ch wo ks ha poin in his di ec ion o imp o e hei app oaches in hei u u e wo k [6,12]. Fo example, al hough he esou ce o be scaled is p ocessing capaci y, he pe cen age o CPU usage may no be he mos in o ma i e me ic, and con ex changes, in e up ions, o he pe cen age o ime p ocesso s spend in use o ke nel space may be mo e use ul. The inclusion o he in o ma ion o his ela ionship be ween low and high-le el me ics in an au o-scaling sys em conside ably ex ends he ange o applica ions o which such au o-scaling sys- em can be applied, since i allows he de ec ion o he esou ce ha is he bo leneck and he e o e he esou ce o be scaled ega dless o he ype o applica ion and in a o ally anspa en way o he end use . Wi h all his, al hough he e a e se e al jobs ela ed o au o- scaling sys ems in he Cloud, we ha e iden i ied he ollowing unme needs. On he one hand, he e is a need o be able o ela e o es ablish a mapping be ween esou ce u iliza ion me - ics o low-le el me ics wi h ele an high-le el me ics in SLAs h ough some p edic i e model. This would allow iden i ying he esou ces ha ac as bo lenecks (KPIs) au oma ically (wi hou ha ing o assume any hing), which would ha e o be moni o ed and scaled o a oid a possible SLA iola ion in he u u e o educe unnecessa y cos s. On he o he hand, he e is a need o de elop a p edic i e model capable o de e mining how as a SLA iola ion si ua ion o unnecessa y o e -p o isioning si ua ion can be eached in o de o pe o m he necessa y scaling ac ion a he mos con enien ime, as opposed o cu en scena ios ha only p edic u u e wo kload and no how his will a ec SLA compliance. In his pape we p opose FLAS (Fo ecas ed Load Au o-Scaling) a p oac i e and eac i e au o-scale a chi ec u e o dis ibu ed sys ems. FLAS wo ks by lea ning and p edic ing pa e ns in he pe o mance beha io o dis ibu ed sys ems in o de o ake he app op ia e scaling decisions a any gi en ime o ensu e compli- ance wi h SLAs. The main con ibu ion o his wo k, and especially o FLAS, is o ien ed o co e he needs p e iously iden i ied and a e he ollowing: (i) a p edic i e model o he high-le el me ics end which allows o an icipa e changes in he ele an SLA pa ame e s (e.g. pe o mance me ics such as esponse ime o h oughpu ) and (ii) a eac i e con ingency sys em based on he es ima ion o high-le el me ics om esou ce use me ics, e- ducing he necessa y ins umen a ion (less in asi e) and allowing i o be adap ed agnos ically o di e en applica ions. Due o he g ea impo ance o e en -d i en a chi ec u es in cu en echnologies like IoT [1], we wan ed o e alua e ou au o- scaling sys em wi h a high pe o mance dis ibu ed sys em like a publish–subsc ibe middlewa e. Among all he publish–subsc ibe sys ems, we ha e op ed o con en -based sys ems (CBPS) due o he g ea e complexi y o hei scaling ac ions as a esul o he dis ibu ion o hei in e nal s a e. Mo e speci ically, being FLAS a gene ic solu ion, we ha e chosen o apply i o he E-SilboPS due o he g ea challenge ha i ep esen ed, being a CBPS ha suppo s anspa en , publishe -wise dynamic s a e epa i ion- ing wi hou clien disconnec ion and wi h minimal no i ica ion deli e y in e up ion o subsc ibe s [10]. Due o p i acy issues and comme cial in e es s in eleasing use in o ma ion, he e is a g ea lack o publicly a ailable and ealis ic wo kloads o esea ch and e alua ion o con en -based publish–subsc ibe sys ems [13]. The e o e, he e alua ion has been done wi h syn he ic wo kloads h ough se e al es cases ec ea ing no only he expec ed con ex s o use, bu o he es cases ep esen ing he wo s possible scena ios ( ollowing he Bounda y-Value Analysis o BVA es me hodology). The esul s o his e alua ion show how he in eg a ion o p oac i e echniques wi h models o p edic wo kload beha io , scaling ime and e- la ionship be ween low and high-le el me ics, oge he wi h a eac i e con ingency sys em, esul s in a minimum iola ion o he es ablished SLAs (less han 1% o un ime). The es o he documen is o ganized as ollows: Sec ion 2 e iews he ela ed wo k analyzing he di e en academic and comme cial solu ions p oposed. Sec ion 3in oduces he sys em modeling and p esen s he p oblem o be add essed. The a chi- ec u e o FLAS is explained in de ail in Sec ion 4. Sec ions 5 and 6desc ibe he e alua ion o FLAS wi h a dis ibu ed con en - based publish–subsc ibe sys em (E-SilboPS) h ough mul iple es cases and analyze he quan i a i e esul s o such e alua ion, espec i ely. Finally, he conclusions o his wo k a e aised in Sec ion 7and u u e lines a e exp essed in Sec ion 8. 2. Rela ed wo k Many au o-scaling sys ems, bo h academic and comme cial, ha e been p oposed ecen ly due o he ubiqui y o cloud compu - ing and he imp o emen o p edic i e sys ems in ecen yea s, using di e se app oaches based on bo h eac i e and p edic- i e (also known as p oac i e) s a egies [5,14–16]. The eac i e app oach, widely s udied in he pas , is usually based mainly 57 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 on h eshold-based ules echniques wi h di e en a ia ions o sol e o mi iga e some o he in insic p oblems o his app oach, such as he use o cool-down imes (also called ine ia o calm) o dynamic h esholds. In ecen yea s, mo e ocus has been placed on p edic i e solu ions using machine lea ning, ein o cemen lea ning, queuing heo y, con ol heo y o ime se ies analysis echniques, among o he s. The as majo i y o hese wo ks end o ocus on he empo al dimension (when o scale) and he quan i a i e dimension (how much o scale), making i ob ious which esou ce o scale. Usually his dimension o scaling is no analyzed because i is conside ed i ial as a esul o p e ious knowledge o he applica ion o be scaled. Mo eo e , usually his esou ce is he p ocessing capaci y, aking as Key Pe o mance Indica o (KPI) he pe cen age o CPU usage o some simila me ic in his sense [12,16–19]. Ne e he- less, he e a e many wo ks ha in hei u u e lines ma k he need o s udy o he di e en scaling me ics, including some o he au ho s ha highligh he limi a ion o he p e ious app oach [12, 17]. Fo example, in [17] Lomba di, F. e al. conside he CPU as he KPI since i is he mos p ominen bo leneck o he ype o applica ion hey scale, howe e hey also no e he in en ion o include memo y and bandwid h in a mo e comple e model as u u e wo k. In he same ein, he au ho s o [12] ecognize ha many esou ces can po en ially be he bo leneck, bu also ocus on he CPU esou ce alone, jus i ying i as equen ly being he key esou ce in de e mining pe o mance. Many s udies ha e iden i ied he need o es ablish some kind o ela ionship o mapping be ween he high-le el me ics, in which cloud consume s a e in e es ed, and he low-le el me ics o e ed by cloud p o ide s, in o de o es ablish mechanisms o ensu e ha he se ice le els demanded by cloud consume s a e me . Acco ding o [7], he e is a gap be ween moni o ed me ics (low-le el en i ies) and SLAs (high-le el use gua an ee pa ame e s) and none o he app oaches discussed in hei wo k deal wi h he mappings o low-le el moni o ed me ics o high- le el SLA gua an ees necessa y in cloud-like en i onmen s. In he same ein, Paschke e al. [9] highligh he p oblem o he poo ansla ion o SLAs in o low-le el me ics, claiming ha he me ics used o measu e and manage pe o mance compliance o SLA commi men s a e he hea o a success ul ag eemen and ha inexpe ience in he use and au oma ion o pe o mance me ics causes p oblems o many o ganiza ions as hey a emp o o mula e hei SLA s a egies and se he me ics needed o suppo hose s a egies. Sp ings e al. [8] again also clea ly iden i y he need o add ess his p oblem, s a ing ha a key p e equisi e o mee ing hese goals is o unde s and he e- la ionship be ween high-le el SLA pa ame e s (e.g., a ailabili y, h oughpu , esponse ime) and low-le el esou ce me ics, such as coun e s and gauges. Howe e , i is no easy o map SLA pa ame e s o me ics ha a e e ie ed om managed esou ces. In [12] he au ho s claim ha speci ically domain expe s a e usually in ol ed in ansla ing hese SLOs in o lowe -le el poli- cies ha can hen be used o design and moni o ing pu poses, as his o en necessi a es he applica ion o domain knowledge o his p oblem. In [20], he au ho s go u he and es ablish co ela ion models be ween absolu e esou ce u iliza ion me ics (i.e. ‘‘measu es epo abou he cumula i e ac i i y coun e s in he ope a ing sys em’’) and ela i e esou ce u iliza ion me ics (i.e. ‘‘ hose pe o mance measu es which alues a e based on he da a collec ed om he /cg oup i ual ile’’), demons a ing ha he use o ela i e esou ce u iliza ion me ics unde es ima es he capaci y equi ed and he e o e a e no app op ia e o de- e mining he amoun o esou ces needed o mee pe o mance SLA (e.g. Response Time). The e a e many wo ks ha make his mapping be ween high and low-le el me ics using black-box p edic ion echniques (e.g. A i icial Neu al Ne wo ks o ANN), which e en pe o ming e y accu a e p edic ions, do no allow o eally unde s and he ela ionships be ween hese le els o me ics [11,17]. We belie e ha i is essen ial o be able o un- de s and hese ela ionships in o de o cha ac e ize and classi y he applica ions, and ha is why we ha e op ed o a s a is ical me hod based on eg ession ha allows us o clea ly in e p e he es ablished mappings wi h adequa e p edic i e accu acy. On he o he hand, e en -d i en a chi ec u es a e becom- ing mo e p e alen ecen ly in mul iple echnological pa adigms, wi h message b oke s being he co ne s one o hese a chi ec- u es [1]. One o he bes implemen a ions o hese message b oke s a e con en -based publish–subsc ibe sys ems (CBPS) be- cause o hei abili y o allow subsc ibe s o speci y hei in- e es s and only ecei e no i ica ions acco ding o hose in e - es s, as opposed o he p ocessing o e head ha subsc ibe s o opic-based publish–subsc ibe sys ems ha e o pe o m [10,13, 21–23]. The e o e, in his wo k we ha e op ed o a con en -based publish–subsc ibe dis ibu ed sys em o e alua e ou implemen- a ion o FLAS. Mo e speci ically we ha e used ou p e ious wo k, E-SilboPS [21–23], which is a con en -based publish–subsc ibe sys em speci ically designed o be elas ic due o i s scaling algo- i hm. I s a chi ec u e is inspi ed by o he CBPS like SIENA [24,25] and E-S eamHub [26]. Despi e hei impo ance, an obs acle o he esea ch o hese sys ems is he lack o eal and publicly a ailable wo kloads, due o he p i acy issue in ol ed in disclos- ing he in e es s (subsc ip ions) o use s and o he comme cial in e es s o he companies. The au ho s o [13] no e his p oblem and add ess i by p oposing a wide-a ea wo kload gene a o o con en -based publish–subsc ibe sys ems. Fo his pu pose, bo h subsc ibe in e es s and geog aphic loca ions a e gene a ed h ough s a is ical summa ies o public da a aces. Howe e , despi e indica ing i s in en ion o make his gene a o public, i is no cu en ly a ailable. F. Lomba di e al. p esen in [17] a wo k ha is closely ela ed o FLAS. In ha wo k hey in oduce PASCAL, which is a p edic i e au o-scaling sys em o dis ibu ed sys ems by p edic ing wo k- load pa e ns, es ima ing he minimum con igu a ion equi ed by he applica ion and making decisions on he co esponding scaling ac ion based on his in o ma ion a each momen . Mo e speci ically, PASCAL p edic s he wo kload inpu a e and es i- ma es he applica ion’s pe o mance a each momen in o de o es ima e he minimum equi ed con igu a ion and ake he scaling decisions ha will allow eaching ha minimum con igu- a ion. Bo h FLAS and PASCAL wo k in wo phases, a moni o ing and lea ning phase o he gene a ion o he p edic i e mod- els and an au o-scaling phase in which he decisions abou he scaling ac ions o be pe o med a e made. As o he p edic i e pa , i s objec i e is o p edic he wo kload inpu a e, while in ou app oach we seek o p edic he end o he ele an SLA pa ame e s (e.g. h oughpu o esponse ime), which allows us o p edic how quickly a s a e o SLA iola ion can be eached. In addi ion, hei pe o mance es ima ion model cu en ly only akes in o accoun CPU usage, which we conside e y limi ed, as s a ed abo e, compa ed o FLAS which es ablishes mappings be ween high-le el me ics and a la ge se o low-le el me ics. Fu he mo e, PASCAL uses models based on A i icial Neu al Ne - wo ks o i s p edic ions, which al hough i p o ides hem wi h e y good p edic ion esul s, i does no allow he unde s anding o he ela ionships be ween hese le els o me ics. Ou p oposal, h ough s a is ical me hods based on eg ession, allows us o unde s and hese ela ionships, and he e o e de ec he esou ce ha is he bo leneck, as well as he me ic(s) ha moni o i (KPI) and he e o e he esou ce o be scaled. 58 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 3. Sys em model and p oblem s a emen 3.1. Sys em con igu a ion model We conside a clus e o Mnodes, unde s anding a node as an abs ac en i y o in as uc u e ha allows o execu e a so wa e (i.e. physical o i ual machines o a clus e , con aine s, e c.), in which he di e en ope a o s o a dis ibu ed sys em a e exe- cu ed. Each ope a o can ha e se e al ins ances, and he numbe o ins ances o each ope a o can be inc eased and dec eased independen ly. Thus, a 1-3-2 con igu a ion indica es ha he e is 1 ins ance o ope a o 1, 3 ins ances o ope a o 2 and 2 ins ances o he hi d ope a o . The e o e, a node can be composed o a numbe o ope a o ins ances ha can a y o e ime. Th ough a scaling ac ion o sa, he ope a o ins ances o a ce ain con igu a ion can be inc eased o dec eased. Con inuing wi h he no a ion o F. Lomba di e al. in [17], a scaling ac ion equi es a ime Tsa ha depends on he wo kload, and in case a econ igu a ion o he in e nal s a e o he ins ances is necessa y, i will also depend on he size o he s a e ha has o be ex- changed and he numbe o ins ances be o e and a e pe o ming he scaling ac ion. Acco ding o [27], a scaling ac ion is de ined by h ee poin s in ime: (i) sa demand poin (DPsa) which is he poin a which a new con igu a ion is equi ed, i.e. a scaling ac ion; (ii) sa ig- ge ing poin (TPsa) which is he poin a which a scaling ac ion is ac i a ed, and (iii) sa econ igu a ion poin (RPsa) is he poin in ime a which he scaling ac ion has been comple ely e mina ed. The e o e, as shown in Fig. 1, he ime o a scaling ac ion Tsa is calcula ed as he di e ence be ween RPsa and TPsa,Tsa =RPsa − TPsa. In addi ion, a scaling ac ion is clea ly de ined by speci ic alues o ou dimensions, namely: When. I e e s o he ime a which he scaling ac ion should be pe o med. As men ioned abo e, he e a e wo app oaches, (i) eac i e echniques in which he scal- ing ac ion is aken in eac ion o a change (a ce ain condi ion is me ) and (ii) p edic i e (also known as p oac i e) echniques ha aim o an icipa e changes be o e hey occu in o de o add o elease he nec- essa y esou ces by he ime ha change occu s. How. I ep esen s he ype o scaling (ho izon al o e - ical) and he speci ic scaling ac ion (scale-ou /in o scale-up/down o ho izon al and e ical scaling e- spec i ely). Wha . I e e s o which esou ce mus be scaled o mee a gi en SLA. Some applica ions may be CPU bound while o he s may be memo y bound o limi ed by o he esou ces. How much. I deno es he amoun o esou ces ha mus be added o eleased o sa is y he SLA. Al hough FLAS is a gene ic solu ion, o he sake o cla i y in his wo k we a e going o ocus on a speci ic case combining p e- dic i e and eac i e echniques (when), ho izon al scaling (how), a CPU-bound ype applica ion, which implies ha he esou ce o be scaled is he p ocessing capaci y (wha ) and as a i s app oxima ion we a e going o add o educe he esou ces o double o hal in each scaling ac ion (how much). 3.2. Wo kload and pe o mance model As indica ed abo e, he e is a wide a ie y o SLAs o e lec di e en end-use in e es s. In his pape we will ocus on pe o - mance SLAs. In pa icula we will ocus on he wo pe o mance me ics pa excellence in his a ea (high-le el me ics o SLA pa ame e s) which a e h oughpu and esponse ime, al hough economic cos and ene gy consump ion a e also conside ed o he ex en ha o e -p o isioning is minimized. Howe e , FLAS could wo k wi h o he ypes o SLAs as economic cos o ene gy consump ion by modi ying he SLA pa ame e s and p o iding he co esponding sou ces o moni o ing o hose pa ame e s. Following he modeling desc ibed in [17,28], end use s o clien s in e ac wi h he dis ibu ed sys em by sending messages. This inpu a e o wo kload λ( ) is de ined as he numbe o messages ecei ed by he sys em pe uni o ime in a gi en ins an . The sys em has a capaci y o p ocess a ce ain numbe o messages pe ime uni called se ice ime S. Depending on he applica ion, he se ice ime can be cons an o can be a iable depending on he sys em s a e a a ime ,S( ). The sys em is said o be in sa u a ion o o e load when i ecei es mo e messages pe ime uni han i can p ocess in ha same amoun o ime, i.e. λ( )>S( ). When he sys em is in sa u a ion, he successi e messages a e queued, since hey canno be p ocessed immedi- a ely. The esponse ime RT( ) is he ime equi ed by he sys em o p ocess a message, which will depend on he occupa ion o he sys em, since i he sys em is sa u a ed he esponse ime will be g ea e because i has, in addi ion o he p ocessing ime S( ), o wai a ime in he queue be o e being p ocessed. On he o he hand, he h oughpu X( ) is de ined as he amoun o messages ha he sys em can p ocess pe uni o ime. The beha io o bo h me ics will be de e mined by he s a e o he sys em: No mal: inpu a e is less han o equal o he se ice a e, i.e. λ( )≤S( ) and he e o e he esponse ime can be equi alen o he se ice a e, i.e. RT ≃S( ) and he h oughpu will be equal o he inpu a e, i.e. X( )≃ λ( ) (igno ing p opaga ion delays). Sa u a ion o o e loaded: occu s when he inpu a e is highe han he se ice a e, i.e. λ( )> S( ) and he e o e messages ha e o be queued. This causes he esponse ime o inc ease exponen ially (Fig. 1) and he h oughpu o e- main cons an a a alue close o he se ice a e X( )≃S( ). Al hough he solu ion p oposed in his pape is no based on queuing heo y, we do belie e ha i is e y in e es ing o he modeliza ion o ou p oblem. Mo e speci ically, as indica ed by k. Lazowska in [28], asymp o ic bound analysis p o ides op imis ic and pessimis ic limi s o h oughpu and esponse ime ha p o ide apid insigh s ha a e essen ial o de e mining he main ac o s a ec ing pe o mance. When he sys em eaches i s sa u a ion poin , he sys em begins o ac in a sa u a ed s a e and pe o mance deg ades and he e o e some se ice le el objec i e o he SLA is o en iola ed, especially i he end con inues. To a oid his, a scale- ou ac ion is usually pe o med, which allows he necessa y e- sou ces o be added so ha he se ice o e ed does no de- g ade. On he o he hand, a scale-in ac ion is necessa y when he cu en esou ces a e g ea e han hose equi ed o p o ide se ice wi hou iola ing he SLA, hus sa ing cos s o ene gy consump ion. Conside ing ha he objec i e o he scaling ac ions is o e u n o main ain he sys em in a no mal ope a ing s a e o a oid non-compliance wi h SLAs, he scaling ac ion should ideally be comple ed a he same ime as i is demanded. The e o e, one o he objec i es o he scaling sys ems in e ms o he ime dimension would be o ensu e RPsa =DPsa h ough eac i e o p oac i e echniques. When his is no ul illed, one o hese wo al e na i es occu s: 59 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 Fig. 1. Example in which he esponse ime o a dis ibu ed sys em inc eases apidly as a consequence o sa u a ion. To a oid exceeding he maximum esponse ime imposed by he SLA i is necessa y o pe o m a scale-ou ac ion ha is igge ed in TPsa and ends in RPsa. The scaling ime will be Tsa =RPsa −TPsa. As i is a scale-ou ope a ion ha ends be o e he DPsa ins an , he sys em will be in o e -p o isioning a ime equal o DPsa −RPsa. •RPsa >DPsa: in his case he scaling ac ion will be com- ple ed a e i is needed. In he case o a scale-ou i would mean an unde -p o isioning o esou ces (a con igu a ion wi h less esou ces han equi ed) and in he case o a scale-in i would mean an o e -p o isioning o esou ces (a con igu a ion wi h mo e esou ces han equi ed). •RPsa <DPsa: in he opposi e case o he p e ious one, he scaling ac ion ends be o e he ins an i is necessa y. In his case, i he scaling ac ion was a scale-ou o a scale- in we will ha e o e -p o isioning o unde -p o isioning o esou ces espec i ely (Fig. 1). 3.3. P oblem s a emen In gene al, he p oblem o au o-scaling is o calcula e he spe- ci ic scaling ac ion (i.e. speci ic alues a each o i s dimensions) needed a each momen o ensu e compliance wi h an SLA. Since his p oblem is oo as o co e i s en i e domain, and because elas ici y is a pe -applica ion ask [2], in his pape we a e going o ocus on a subse o applica ions ha sha e a common se o cha ac e is ics. We ha e ocused on a gene ic au o-scaling solu ion o high pe o mance dis ibu ed sys ems ha ep esen s by i sel a qui e wide and di e se se o applica ions. As men ioned abo e, we ha e ocused ou s udy on pe o - mance SLAs and he dimensions o when o scale and wha esou ce o scale. The dimension o how o scale is applica ion dependen and how i is designed, so i canno be add essed in a gene ic solu ion and will ha e o be applica ion speci ic. Howe e , i is no a limi a ion o ou solu ion as shown in he e alua ion o his wo k. As o how much o scale, we ha e op ed o a i s app oach o mul iplying o di iding by wo he esou ces o scale ha allows us o e i y and e alua e ou solu ion wi hou in oducing oo much complexi y. Howe e , we a e wo king o expand ou wo k in his di ec ion. Mo e speci ically, he aim is o minimize he dis ance be- ween he momen when a new con igu a ion is demanded and he momen when he scaling ac ion co e ing ha demand is concluded, i.e. minimize |DPsa −RPsa|, o minimize he ime o o e - and unde -p o isioning o esou ces. In addi ion, as pa o he solu ion o his p oblem, we in end o de elop a model ha allows he mapping o low-le el beha io o he applica ion, Fig. 2. Func ional diag am o he componen s ha o m he FLAS a chi ec u e and he in eg a ion wi h a dis ibu ed sys em. ep esen ed by he beha io o i s low-le el o esou ce me ics, and he SLA pa ame e s, o high-le el me ics, o au oma ically de ec which is he esou ce o be scaled and which low-le el me ic(s) a e he mos desc ip i e and use ul when moni o ing he sys em (KPIs). All o his wi h he main objec i e o no iola ing he SLA o minimizing he ime ha is being iola ed. 4. FLAS a chi ec u e This sec ion p esen s in a gene ic and agnos ic manne he a chi ec u e o FLAS, as well as he componen s ha compose i and i s wo k low. The ollowing sec ion (Sec ion 5) desc ibes he unc ional low o he componen s ha compose he a chi ec- u e p esen ed he e o a speci ic in eg a ion wi h a dis ibu ed sys em. FLAS, like o he au o-scaling sys ems [17], wo ks in wo phases, a moni o ing phase and an au o-scaling phase. In he i s phase, he sys em collec s he necessa y da a o acqui e he knowledge needed o gene a e p edic ion models. Mo e speci - ically, i collec s da a on he wo kload, he e olu ion o ends o e ime o his wo kload, he beha io in e ms o low-le el esou ces and he high-pe o mance a iables used in he SLA. Once hese models ha e been gene a ed, in he au o-scaling phase, he di e en modules will make use o hese models o p o ide he necessa y p edic ions o he decision make , who will ul ima ely be esponsible o deciding which au o-scaling ac ions should be applied, i any. As shown in Fig. 2, he FLAS a chi ec u e consis s o 4 unc- ional modules: (i) Scaling Time Fo ecas e , (ii) Wo kload T end Fo ecas e , (iii) Pe o mance Fo ecas e and (i ) Decide . In he ollowing subsec ions hese unc ional modules will be explained in mo e de ail, howe e , he implemen a ion o each o hem may equi e sligh adjus men s o in eg a e wi h he di e en exis ing dis ibu ed sys ems. An example o his in eg a ion is explained in mo e de ail in Sec ions 5and 6. In addi ion, each o hese modules wo ks as a black-box wi hin he FLAS a chi ec u e, which allows eplacing he implemen a ion o each o hese modules in a ans- pa en manne as long as hey espec he de ini ion (in e ace) o hese modules. 4.1. Scaling ime o ecas e This module is in cha ge o p edic ing he ime ha a scaling ac ion will ake depending on he wo kload o he dis ibu ed 60 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 sys em, i.e. T′ sa(wo kload), being T′ sa he p edic ion o he scaling ime and Tsa he ac ual ime o ha scaling ac ion. Al hough he scaling ime is mos ly in luenced by he wo kload, he p edic ions can be mo e accu a e i o he a iables a e included on which his scaling ime could depend on he a ge dis ibu ed sys em. Fo example, in some dis ibu ed sys ems i is likely ha he con- igu a ion be o e and a e he scaling ope a ion is a ac o ha in luences his ime, especially i he ope a o s ha a e scaled a e ope a o s wi h in e nal s a e ha has o be econ igu ed. 4.2. Wo kload end o ecas e This module is esponsible o p edic ing he end o sys em pe o mance (i.e. SLA pa ame e s) in he nea u u e. Since a single p edic ion in a single u u e ins an can be misleading, i is no only p edic ed in a single u u e ins an , bu in a ime ho izon h(also called a o ecas window) composed o se e al consecu i e u u e ins an s. This p edic ion ime ho izon (h) is used o see how hese p edic ions will e ol e a di e en ime poin s in he u u e so ha he end can be consolida ed and shown in a way ha is no misleading. Howe e , he choice o his h- alue mus be made ca e ully as i i is oo sho many luc ua ions may be obse ed, and i i is oo wide ele an de ails o he beha io may be los . The u u e ins an om which hese hp edic ions a e made (indica ing he alue o h he numbe o consecu i e p edic ions in ime o be made, o window size) is usually calcula ed by means o he scaling ime p edic ed by he Scaling Time Fo ecas e module. Fo example, i h=4, 0is he cu en ins an and T′ sa( 0) is he p edic ed scaling ime o he cu en ins an , hen he Wo kload T end Fo ecas e will make p edic ions in he u u e ins an s i= 0+T′ sa( 0)+i,∀i∈ {0, . . . h−1}. The objec i e o his module is o p o ide he Decide module wi h in o ma ion on he end o he pe o mance o he dis- ibu ed sys em in he p edic ion ime ho izon, indica ing, o example, i du ing he p edic ion ime ho izon he esponse ime will inc ease exponen ially o i he h oughpu will emain con- s an in he nex ins an s, bo h being symp oms ha he sys em is heading owa ds i s sa u a ion poin . To accomplish his, du ing he p o iling phase, he beha io o he pe o mance me ics o SLA pa ame e s mus be eco ded as a unc ion o ime o gene a e a ime se ies model based on which o make hese p edic ions in he au o-scaling phase. 4.3. Pe o mance o ecas e This module is esponsible o he p edic ion o he pe o - mance me ics (high-le el me ics) ha compose he SLA. Mo e speci ically, i aims o moni o he use o low-le el esou ces o ex ac a model capable o cap u ing he ela ionships be- ween low-le el and high-le el me ics. This is essen ial because i allows o know he key pe o mance indica o s (KPIs) o he applica ion, which indica e he bo leneck esou ce o he appli- ca ion, since i hese esou ces a e sa u a ed ( he e a e no mo e a ailable), hey lead he applica ion o en e a s a e o sa u a ion and he e o e a se ice deg ada ion. This knowledge is essen ial, because i indica es (i) he esou ce(s) o be moni o ed and by means o which me ics, and (ii) he esou ce o be scaled so ha he applica ion is no sa u a ed, and he e o e o a oid SLA iola ion. As men ioned, he e a e ew solu ions ha add ess his p oblem in he li e a u e, since hey assume he esou ce o be scaled, and he e o e he me ic o be moni o ed, bu his no only es ic s he ange o applica ion o hese solu ions, bu also, a model ha e lec s he beha io a low le el could show ha i is mo e e ec i e o moni o o he me ic(s) (KPIs) [12,16–19]. In o de o es ablish he ela ionship be ween he beha io a he esou ce le el and he pe o mance le el in e ms o SLA o he dis ibu ed sys em, he Pe o mance Fo ecas e is in cha ge o collec ing he low-le el me ics (low-le el esou ce use me ics) and high-le el me ics (SLA pa ame e s) in he p o iling phase o gene a e a model capable o mapping hem. This model will be he one used in au o-scaling phase o make he es ima ions o he high-le el me ics ha will be p o ided o he Decide . Low-le el me ics a e p o ided o he Pe o mance Fo ecas e h ough a moni o ing se ice, which pe iodically collec s u iliza- ion me ics. In he p o iling phase, his se ice collec s a wide a ie y o esou ce me ics, which a e being p e-p ocessed and ans o med will be he p edic o s o he p edic i e pe o mance model. In he au o-scaling phase, he model is able o p edic he sys em’s pe o mance based on he alues o he esou ce u i- liza ion me ics ha he moni o ing se ice deli e s pe iodically. These pe o mance es ima ions a e sen o he Decide along wi h he Wo kload T end Fo ecas e p edic ions. 4.4. Decide The Decide is he module in cha ge o de e mining i i is necessa y o igge any scaling ac ion. This decision is aken based on he in o ma ion ecei ed om he p e ious modules, his is, he pe o mance end p edic ed in he p edic ion ime ho izon hand he cu en pe o mance o he sys em es ima ed in ha momen . In addi ion, i needs some con igu a ion pa ame e s ha es ablish he h esholds o decide which scaling ac ion o pe o m, allowing lexibili y and adap a ion o his solu ion o di e en dis ibu ed sys ems. Fo he sake o cla i y, his module is explained in mo e de ail in Sec ion 5.3, whe e he speci ic implemen a ion o his module o a pa icula dis ibu ed sys em is explained. 5. FLAS o E-SilboPS In ecen yea s we ha e seen he inc easing impo ance o publish–subsc ibe sys ems as a consequence o he s ong adop- ion o e en -d i en a chi ec u es, whe e hese sys ems a e he co ne s one since hey a e in cha ge o sending he in o ma ion asynch onously in he o m o e en s [1,13]. Compa ed o opic- based sys ems, con en -based publish–subsc ibe sys ems allow subsc ibe s o indica e hei in e es s h ough p edica es in a mul i-dimensional sys em, which signi ican ly educes he p o- cessing o no i ica ions by end use s. To achie e his, hey a e usually implemen ed as dis ibu ed sys ems ma ching he incom- ing no i ica ions o he s o ed subsc ip ions by de e mining which subsc ibe s should ecei e each o he incoming no i ica ions based on he in e es s desc ibed in each subsc ip ion. This sec ion desc ibes how FLAS in eg a es wi h a high pe o - mance dis ibu ed sys em such as E-SilboPS. As men ioned, we ha e chosen o alida e FLAS wi h E-SilboPS due o i s g ea e complexi y in i s scaling ac ions ha suppo s anspa en , publishe -wise dynamic s a e epa i ioning wi hou clien dis- connec ion and wi h minimal no i ica ion deli e y in e up ion o subsc ibe s. This unc ionali y makes he scaling ime depen- den on bo h he inpu wo kload and he cu en in e nal s a e o he sys em, which is a majo challenge o he e alua ion o an au o-scaling sys em such as FLAS since he es ima ion o he scaling ime is qui e a iable. Mo e speci ically, E-SilboPS was concei ed by us as a con en - based publish–subsc ibe middlewa e specially designed o be elas ic [10,21–23]. I is a dis ibu ed sys em composed by ou laye s o ope a o s (Connec ion Poin , Access Poin , Ma che and Exi Poin ) o ming a di ec ed acyclic g aph (DAG). Each o hese ope a o s can ha e a di e en numbe o ins ances, which can 61 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 be inc eased o dec eased independen ly by means o ho izon- al scaling ope a ions (scale-ou /in). The scaling algo i hm al- lows dynamic dis ibu ion wi hou disconnec ing clien s and wi h minimal in e up ion o he no i ica ion se ice. I is impo an o emphasize ha he p edic ion models a e a chi ec u e agnos ic, so i is a gene ic solu ion, since he im- plemen a ion can di e as long as he de ined API is espec ed. Ne e heless, he ollowing sec ions desc ibe he speci ic im- plemen a ions ha ha e shown good esul s o he case s udy exposed, as i can be seen om he analysis o he esul s o his e alua ion. 5.1. Scaling ime o ecas e and wo kload end o ecas e imple- men a ion The Scaling Time Fo ecas e module is esponsible o p e- dic ing he scaling ime (T′ sa) based on he wo kload a a gi en ins an , T′ sa(wo kload). Mo e speci ically, as he load o con en - based publish–subsc ibe sys ems is de e mined by he a io o no i ica ions pe uni o ime and s o ed subsc ip ions, Nand S e- spec i ely, hen he bes possible unc ion is pu sued o calcula e he ime o a scaling ac ion based on hese pa ame e s, T′ sa(N,S). Fo he gene a ion o he p edic i e model, in he p o iling phase, he scaling imes o se e al scaling ac ions wi h di e en wo k- loads ha e been collec ed, in o de o ob ain a da ase ha e lec s he di e en scaling si ua ions. Scaling ac ions du ing his phase a e igge ed in a eac i e manne using di e en h eshold-based ules on wo kload. Wi h his aining da ase , a linea eg ession model has been buil ha allows in he au o-scaling phase o de e mine he ime o a scaling ac ion based on he cu en wo kload. The Wo kload T end Fo ecas e is esponsible o p edic ing he pe o mance end o e a u u e p edic ion ime ho izon h. Fo he sake o simplici y and cla i y, we ha e ocused on esponse ime as an SLA pe o mance me ic. In his case, he end o pe o mance is ansla ed in o he end o esponse ime exp essed as he i s o de de i a i e o esponse ime wi h espec o he ime δRT δ . In he p o iling phase, ime se ies o he esponse ime a e collec ed ( op o Fig. 3). A posi i e alue o δRT δ will indica e an inc easing end and a nega i e alue will indica e a dec easing end wi h a mo e o less p onounced slope depending on he absolu e alue o he p edic ion. In his way, we do no di ec ly o ecas he esponse ime o he wo kload, bu a he he end o he esponse ime, which allows us o know how as a esponse ime ha iola es he SLA could be eached. To smoo h his unc ion and a oid luc ua ions o he i s o de de i a i e, a Sa i zky–Golay il e has been applied o he i s o de de i a i e o he da a, which is a digi al il e o smoo h- ing he da a, inc easing i s accu acy wi hou dis o ing i s end (bo om o Fig. 3). These smoo hed da a we e used o gene a e a ious ime se ies analysis models, a e which he model wi h he lowes p edic ion e o was chosen. This model is in cha ge o making he p edic ions on he end o he esponse ime in he u u e p edic ion ime ho izon hin he au o-scaling phase. To gene a e hese models, some ime se ies analysis echniques ha e been e alua ed, such as ARIMA, STL decomposi ion wi h an ETS model o he seasonally adjus ed da a and ha monic eg ession. In o de o es hese models, a c oss- alida ion was pe o med wi h he models, choosing he one wi h he lowes p edic ion e o 4. Du ing he au o-scaling phase, he Wo kload T end Fo ecas e is in cha ge o o ecas ing in 0 he alues o δRT δ iin he u u e ins an s i= 0+T′ sa( 0)+i,∀i∈ {0, . . . h−1}by means o he p edic ion model ob ained in he p o iling phase (Fig. 5). In his way, we ob ain a o ecas o he esponse ime end in he h u u e ins an s a e inishing a possible scaling ac ion ha s a ed Fig. 3. Pa o a ime se ies o he esponse ime da a be o e ( op) and a e applying a Sa i zky–Golay digi al il e o smoo hing he da a wi h di e en leng hs (bo om). Fig. 4. Compa ison o he MAE alue in he h ee ime se ies analysis models es ed by c oss- alida ion o wo kload end o ecas . a he cu en ins an 0. These o ecas alues a e he ones ha will be sen o he Decide . As al eady men ioned, he decision o which h- alue (also known as o ecas window size) o ake is a complex one ha depends on he deg ee o de ail desi ed. On he one hand, a e y small h- alue can cause la ge luc ua ions in he p edic ed alues, while a oo la ge alue can omi luc ua ions ha a e signi ican and should igge a scaling ac ion. 5.2. Pe o mance o ecas e implemen a ion As p e iously men ioned, he moni o ing se ice is in cha ge o collec ing pe o mance me ics in he moni o ing phase and esou ce usage me ics in bo h he p o iling and au o-scaling phases o send hem o he Pe o mance Fo ecas e . This se ice is execu ed pe iodically e e y second ( he pe iod is con igu able) and collec s a wide a ie y o esou ce usage me ics. Fo his implemen a ion we ha e used he ds a 1se ice, collec ing mo e han 30 usage me ics o a ious esou ces such as p ocesso (sys em, use , idle, wai , ha dwa e in e up , so wa e in e up , con ex swi ch me ics), memo y (used, bu e s, cache, ee me - ics), disk ( ead, w i e me ics), ne wo k ( ecei e, send me ics), e c. Once hese me ics a e collec ed, he da a is cleaned and 1h ps://linux.die.ne /man/1/ds a 62 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 Fig. 5. Fo ecas s o he alues o δRT δ iin a p edic ion ime ho izon using he ha monic eg ession model ARIMA(2,0,2)(do ed line). The ho izon al axis ep esen s he pe iods o seasonali y. p e-p ocessed, adding compound me ics such as u iliza ion pe - cen ages ha will be epo ed o he Pe o mance Fo ecas e in bo h execu ion phases. The ea men o ou lie s is especially impo an , and ha is why FLAS includes se e al mechanisms o ea hem. In he cleaning and p e-p ocessing phase o he da a, he ou lie s a e de ec ed and emo ed. In addi ion, he alues o he esou ce moni o ing a e a e age alues o he sampling pe iod. Finally, and as explained, FLAS scaling decisions equi e ha app op ia e condi ions a e main ained o e ime, and no a a single poin . A eg ession-based model has been chosen since s a is ical models, besides allowing us o make pe o mance p edic ions in he au o-scaling phase, allow us o in e and unde s and he ela ionships be ween low and high-le el me ics, being able o de ec he KPIs o he applica ion and he esou ces o be scaled in each scaling ac ion. Mo e speci ically, s a is ically alid linea eg ession mod- els ha e been c ea ed o he wo main pe o mance me ics, h oughpu and esponse ime. The esul s show ha , as in he case o h oughpu , he low-le el me ics ha con ibu e he mos in o ma ion o he model (KPIs) a e he amoun o ee RAM, he numbe con ex swi ches and he ne wo k usage ( ecei ed and sen ). On he o he hand, he main KPI o he esponse ime is he pe cen age o memo y use, and he numbe o con ex changes, al hough o a lesse ex en . Once he mapping algo i hms/models a e chosen and ained o a gi en applica ion ype and o he KPIs conside ed in his pape , hey emain s a ic. They could need o be changed o ained again o a di e en se o KPIs (e.g associa ed o a di e en applica ion ype). They a e dynamic in his sense, and his is why hey a e pa ame e izable in ou sys em by design. To exempli y his, we ca ied ou a se ies o es s using ou di e en publish–subsc ibe sys ems: E-SilboPS [10], Rabbi MQ, Ac i eMQ and Be-T ee [29] o analyze he ype o ela ionship be ween low-le el o esou ce-use me ics and high-le el me ics o SLA pa ame e s. F om he esul s o hese es s i was clea ha con en -based publish–subsc ibe applica ions (i.e. E-SilboPS and Be-T ee) we e CPU bound, and in he case o opic-based publish–subsc ibe (Rabbi MQ and Ac i eMQ) hey we e memo y bound. The e o e, we can conside hese ela ionships a e s a ic o he same applica ion ype (being i con en -based o opic- based publish–subsc ibe), bu no o di e en applica ion ypes. E en mo e, we canno ensu e any hing beyond ha , no e en wi hin applica ions o he same pa adigm, as is he case wi h publish–subsc ibe. Fig. 6. R2and MAE alues ob ained om he 10- old c oss- alida ion pe o med wi h mo e han 40 p edic i e models o di e en ypes o compa ison wi h he p edic i e models implemen ed in FLAS, bo h o esponse ime and h oughpu (i.e. he model wi h he bes esul s has been chosen as ep esen a i e o i s ca ego y, which is shown). The di e en ca ego ies o models a e: A i icial Neu al Ne wo ks (ANN), Gene alized Addi i e Models (GAM) and Random Fo es s (RF). In o de o e alua e he p edic i e capaci y o hese wo mod- els, a k- old c oss- alida ion (k=10) was pe o med wi h mo e han 40 p edic i e models gene a ed o compa ison o se e al ypes such as Random Fo es s (RF), A i icial Neu al Ne wo ks (ANN), Gene alized Addi i e Models (GAM) o Gene alized Linea Models (GLM). In a e y summa ized way, due o he lack o space, Fig. 6 shows he esul s o he 10- old c oss- alida ion (R2 and MAE) compa ing he FLAS p edic i e models o esponse ime and o h oughpu wi h o he ypes o p edic i e models (i.e. he model wi h he bes esul s has been chosen as he ep esen a i e model o each ca ego y). I can be seen how FLAS models ha e a e y good p edic i e capaci y (R2) wi h a e y low p edic ion e o (MAE). 5.3. Decide The Decide is he module in cha ge o ga he ing all he in o - ma ion om he p e ious modules o decide i any scaling ac ion should be igge ed, and i so, o decide he speci ic alues o each o he scaling dimensions. This implemen a ion o he Decide exploi s he bene i s o bo h app oaches, p edic i e and eac i e, since i ini ially checks he u u e p edic ions o he pe o mance end in o de o ake a decision in ad ance (p oac i e), bu i also checks he cu en alues o he es ima ed pe o mance and compa es hem wi h some h esholds ( eac i e) as a con ingency plan agains possible ailu es o he p edic i e model. The Decide , like he es o modules in his implemen a ion, is a se ice ha uns pe iodically e e y second and execu es he algo i hm desc ibed in Algo i hm 1. As can be seen, he main unc ion o his module ecei es as pa ame e s he cu en ins an ( 0), he wo kload, a ec o wi h he esponse ime es ima es in he momen s p io o 0(RT′), and he Decide con igu a- ion, which con ains a se ies o adjus able pa ame e s o he Decide (i.e. h, eac W,incT endTH,decT endTH, eac Uppe TH, eac Lowe TH and majo i y). The i s e i ica ion i makes is ha i is no cu en ly in he cool-down ime (line 1). A e a scaling ope a ion, a cool-down ime is equi ed o allow he sys em o s abilize and no igge successi e scaling ac ions con inuously. The ime o a possible scaling ac ion (T′ sa) is hen p edic ed (line 2) on he basis o he load ( a e o incoming no i ica ions pe second and numbe o s o ed subsc ip ions). The esponse ime end p edic ion is ob ained om he Wo kload T end Fo ecas e 63 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 by passing he cu en ins an ( 0), he o ecas scaling ime (T′ sa) and he alue o has an a gumen . As a esul , a p edic ion ec o is ob ained o δRT δ o each o he ime ins an s o h(line 3). In addi ion, he esou ce usage me ics ob ained om he Moni o ing Se ice a e passed as an a gumen o he Pe o mance Fo ecas e o ob ain an es ima e o he esponse ime a he cu en ins an RT′ 0(lines 4 and 5) and his esponse ime es ima ion is added o he ec o RT′(line 6) con aining he p e ious RT o ecas s. Ha ing made he co esponding p edic ions, he algo i hm hen decides whe he any scaling ac ion needs o be igge ed. Fi s , i checks i he p edic ions o δRT δ ec o ollow an up- wa d end (line 8). Mo e speci ically, he incT end() unc ion checks ha a leas as many p edic ions o he ime ho izon h as indica ed by he majo i y con igu a ion pa ame e a e abo e an IncT endTH de ined also in he con igu a ion. In his way, i can be e i ied whe he , despi e occasional luc ua ions, he p edic ed alues ollow an inc easing end abo e a pa icula alue. I he p edic i e condi ion o he scale-ou is no ul illed, he eac i e condi ion is checked by calling he RTAbo eTH() unc ion. This unc ion checks whe he he las N esponse ime es ima ions ( eac i e window, eac W con igu a ion pa ame e ) a e abo e a ce ain h eshold ( eac Uppe TH) exp essed in e ms o he maximum esponse ime speci ied by he SLA. I ei he o hese wo condi ions a e me , a scale-ou ac ion is igge ed, doubling he numbe o Ma che ins ances and measu ing he eal ime i akes o comple e he scaling ac ion, Tsa(line 9). A e any scaling ac ion, he cool-down ime is ac i a ed (calcula ed as a unc ion o he Tsa ime p e iously measu ed) in which no scaling ac ion can be pe o med (line 10). In addi ion, he esponse ime es ima ion ec o is cleaned so ha he eac i e condi ion can be eassessed (line 11). Simila ly, he condi ions o ca ying ou a scale-in ac ion a e assessed using he espec i e h esholds o he con igu a ion (lines 15 o 20). Fo he sake o cla i y, some implemen a ion de ails such as synch oniza ion be ween scaling ope a ions ha e been omi ed. This case e lec s he ho izon al scaling o he ma che s (CPU- bound ope a o ) which is he mos complex case, since he scaling o he es o ope a o s is i ial as i has no s a e [10]. As seen, he eac i e FLAS app oach does no use he eal esponse ime (RT) me ic, bu he esponse ime es ima ed by he Pe o mance Fo ecas e (i.e. RT′). The app oach RT′( )≃RT( ) o all ins an s allows ha du ing he au o-scaling phase he applica ion does no ha e o be moni o ed and he e o e i is no necessa y o ins umen alize he applica ion in his phase, which makes FLAS a less in asi e solu ion and educes he moni o ing o e head. Howe e , i has been concluded ha his app oach is alid since he ela i e e o o he esponse ime es ima ion is limi ed o ela i ely low alues o app oxima ely 98% o he es ima ions (pe cen ile 99), ha is, alues ou side his ange can be conside ed nei he s a is ically equen no ele an , as shown in Fig. 7. Al hough he ela i e e o may seem high, i should be no ed ha he domain o esponse ime es ima ion is e y la ge ( om alues close o 0 o ens o housands o milliseconds o mo e). In addi ion, he model makes i s es ima ion based on a snapsho o he esou ce usage p o ided by he low-le el me ics, which may cause ha a a gi en momen he e is a measu emen o a punc ual peak usage due o hei la ge a iabili y, which causes an es ima ion a abo e he eal esponse ime. Howe e , i has been demons a ed ha hese cases a e s a is ically no equen and i ele an (Fig. 7). 6. Expe imen al e alua ion This sec ion p esen s he e alua ion o FLAS as an au o-scaling sys em o a dis ibu ed con en -based publish–subsc ibe sys em such as E-SilboPS. In addi ion, he esul s o his e alua ion a e Algo i hm 1: Decide au o-scaling algo i hm Inpu : 0, wo kload, RT’, h, eac Window, incT endTH, decT endTH, eac Uppe TH, eac Lowe TH, majo i y 1i coolDown == 0 hen 2T′ sa ← o ecas T(wo kload.N, wo kload.S); 3δRT δ ← o ecas RTT end( 0,T′ sa,h); 4lowLe elMe ics ←moni o ingSe ice( 0); 5RT′ 0←es ima eRT(lowLe elMe ics); 6RT′.add(RT′ 0); 7 // Scale-ou e alua ion 8i incT end(δRT δ ,incT endTH,majo i y) || RTAbo eTH(RT′, eac Uppe TH, eac W) hen 9Tsa ←s a ScaleOu (); 10 coolDown←ge CoolDownTime(Tsa); 11 RT′.clea (); 12 e u n 13 end 14 // Scale-in e alua ion 15 i decT end(δRT δ ,decT endTH,majo i y) || RTBelowTH(RT′, eac Lowe TH, eac W) hen 16 Tsa ←s a ScaleIn(); 17 coolDown←ge CoolDownTime(Tsa); 18 RT′.clea (); 19 e u n 20 end 21 else 22 coolDown--; 23 end Fig. 7. Rela i e equency his og am and s anda dized densi y unc ion o he ela i e e o o esponse ime es ima ion. The as majo i y o he esponse ime es ima ion e o is cons ained o low alues (99 pe cen ile shown by he e ical dashed line), and he e o e he RT′( )≃RT ( ) app oach is used o eac i e scaling. analyzed, showing how FLAS allows o minimize he ime o iola ion o he pe o mance SLA in di e en si ua ions. Un o una ely, he e a e no eal public wo kloads a ailable due o p i acy conce ns and comme cial in e es s, which o en hinde s he alida ion o con en -based publish–subsc ibe sys- ems. Some wo ks ha e been done as in [9], whe e he au ho s desc ibe a possible solu ion, bu i is no a ailable o use. Fo his eason, se e al es cases wi h syn he ic wo kloads ha e been gene a ed o his e alua ion. These es cases ec ea e 64 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 example, he E-SilboPS wi h which we ha e e alua ed FLAS in his wo k allows o deploy o emo e se e al ins ances o an ope a o in a single scaling ope a ion, bu o he sys ems do no allow his op ion and mus sequence successi e scaling ope a ions. In addi ion, we a e cu en ly wo king o imp o e wo kload end p edic ion in o de o p edic non-s a iona y wo kloads. Cu en ly, he p edic ion o he ime o a scaling ac ion (T′ sa) is de e mined by he load, mo e speci ically, in he case o E- SilboPS we ha e seen ha i is based on he a io o no i ica ions/s and he load o p ocessed subsc ip ions. We belie e ha i would be in e es ing o add as a p edic o o his model he p edic ion o he load in u u e momen s, o de e mine mo e p ecisely he ime o he scaling ac ion and a oid possible uncon olled peaks o esponse ime when he scaling algo i hm o he applica ion in ol es an o e head (dynamic dis ibu ion o he s a e o he ope a o s). Finally, o he imp o emen s ha a e being s udied a e, on he one hand, he inclusion o he cu en con igu a ion o he dis ibu ed sys em as an addi ional p edic o o he p edic i e models o es whe he he con igu a ion o a dis ibu ed sys- em a a gi en ime can condi ion u u e p edic ions. On he o he hand, now ha he ela ionships be ween low-le el and high-le el me ics ha e been s udied by means o a s a is ical p edic i e model, ano he p edic i e model could be de eloped wi h o he me hods (i.e. A i icial Neu al Ne wo ks) ha ake in o accoun hese disco e ed ela ionships. Howe e , al hough mo e complex p edic i e echniques can imp o e he accu acy o he p edic i e app oach o FLAS, i should be aken in o ac- coun ha his can impac on he pe o mance o FLAS causing a conside able o e head. CRediT au ho ship con ibu ion s a emen Víc o Rampé ez: Concep ualiza ion, In es iga ion, W i ing - o iginal d a . Ja ie So iano: Concep ualiza ion, In es iga ion, W i ing - e iew & edi ing. Da id Lizcano: Concep ualiza ion, Me hodology, Fo mal analysis, W i ing - e iew & edi ing. Juan A. La a: W i ing - e iew & edi ing, Supe ision. Decla a ion o compe ing in e es The au ho s decla e ha hey ha e no known compe ing inan- cial in e es s o pe sonal ela ionships ha could ha e appea ed o in luence he wo k epo ed in his pape . Re e ences [1] Y. Na is, M. Pezzini, K. Gu idge, W.R. Schul e, The 5 S eps Towa d Pe asi e E en -D i en A chi ec u e, Tech. Rep. June, Ga ne , 2019, pp. 1–14. [2] P. Wu, Q. Shen, R.H. Deng, X. Liu, Y. Zhang, Z. Wu, ObliDC, in: P oceedings o he 2019 ACM Asia Con e ence on Compu e and Communica ions Secu- i y, ACM, New Yo k, NY, USA, 2019, pp. 86–99, h p://dx.doi.o g/10.1145/ 3321705.3329822, URL h ps://dl.acm.o g/doi/10.1145/3321705.3329822. [3] M. Ali, J. Mohaje i, M.-R. Sadeghi, X. Liu, A ully dis ibu ed hie a chical a ibu e-based enc yp ion scheme, Theo e . Compu . Sci. 815 (2020) 25–46, h p://dx.doi.o g/10.1016/j. cs.2020.02.030. [4] X. Liu, R.H. Deng, P. Wu, Y. Yang, Ligh ning- as and p i acy-p ese ing ou sou ced compu a ion in he Cloud, 2019, pp. 1–19, a xi a Xi :1909. 12540. [5] T. Lo ido-Bo an, J. Miguel-Alonso, J.A. Lozano, A e iew o au o-scaling echniques o elas ic applica ions in cloud en i onmen s, J. G id Compu . 12 (4) (2014) 559–592, h p://dx.doi.o g/10.1007/s10723-014-9314-7, URL h p://link.sp inge .com/10.1007/s10723-014-9314-7. [6] L. Rode o-Me ino, L.M. Vaque o, V. Gil, F. Galán, J. Fon án, R.S. Mon e o, I.M. Llo en e, F om in as uc u e deli e y o se ice managemen in clouds, Fu u e Gene . Compu . Sys . 26 (8) (2010) 1226–1240, h p://dx.doi.o g/ 10.1016/j. u u e.2010.02.013. [7] V.C. Emeaka oha, I. B andic, M. Mau e , S. Dus da , Low le el me ics o high le el SLAs - LoM2HiS amewo k: B idging he gap be ween moni o ed me ics and SLA pa ame e s in cloud en i onmen s, in: 2010 In e na ional Con e ence on High Pe o mance Compu ing & Simula ion, IEEE, 2010, pp. 48–54, h p://dx.doi.o g/10.1109/HPCS.2010.5547150, URL h p://ieeexplo e.ieee.o g/documen /5547150/. [8] C. Sp ings, M. Debusmann, A. Kelle , Sla-D i en Managemen o Dis ibu ed Sys ems Using he Common In o ma ion Model, IBM TJ Wa son Resea ch Cen e , 2003. [9] A. Paschke, E. Schnappinge -Ge ull, A ca ego iza ion scheme o SLA me - ics, Se . O ien ed Elec on. Comme . (2006) 25–40, URL h p://ci esee x. is .psu.edu/ iewdoc/download?doi=10.1.1.93.1800{&} ep= ep1{&} ype=pd . [10] S. Va asso i, J. So iano, R. Fe nández, Enabling la ge-scale IoT-based se - ices h ough elas ic publish/subsc ibe, Senso s 17 (9) (2017) 2148, h p:// dx.doi.o g/10.3390/s17092148, URL h p://www.mdpi.com/1424-8220/17/ 9/2148. [11] G. Kousiou is, D. Ky iazis, S. Gogou i is, A. Menych as, K. Kons an eli, T. Va a igou, T ansla ion o applica ion-le el e ms o esou ce-le el a ibu es ac oss he Cloud s ack laye s, in: 2011 IEEE Symposium on Com- pu e s and Communica ions, ISCC, IEEE, 2011, pp. 153–160, h p://dx.doi. o g/10.1109/ISCC.2011.5984009, URL h p://ieeexplo e.ieee.o g/documen / 5984009/. [12] Y. Chen, S. Iye , X. Liu, D. Milojicic, A. Sahai, T ansla ing se ice le el objec i es o lowe le el policies o mul i- ie se ices, Clus e Compu . 11 (3) (2008) 299–311, h p://dx.doi.o g/10.1007/s10586-008-0059-6, URL h p://link.sp inge .com/10.1007/s10586-008-0059-6. [13] A. Yu, P. Aga wal, J. Yang, Gene a ing wide-a ea con en -based publish/subsc ibe wo kloads, in: Ne wo k Mee s Da abase, Ne DB, 2009. [14] E.F. Cou inho, F.R. de Ca alho Sousa, P.A.L. Rego, D.G. Gomes, J.N. de Souza, Elas ici y in cloud compu ing: a su ey, Ann. Telecommun. 70 (7–8) (2015) 289–309, h p://dx.doi.o g/10.1007/s12243-014-0450-7, URL h p: //link.sp inge .com/10.1007/s12243-014-0450-7. [15] G. Galan e, L.C.E. de Bona, A su ey on cloud compu ing elas ici y, in: 2012 IEEE Fi h In e na ional Con e ence on U ili y and Cloud Compu ing, No. 1, IEEE, 2012, pp. 263–270, h p://dx.doi.o g/10.1109/UCC.2012.30, URL h p://ieeexplo e.ieee.o g/documen /6424959/. [16] C. Qu, R.N. Calhei os, R. Buyya, Au o-scaling web applica ions in clouds, ACM Compu . Su . 51 (4) (2018) 1–33, h p://dx.doi.o g/10.1145/3148149, a Xi :1609.09224, URL h ps://dl.acm.o g/doi/10.1145/3148149. [17] F. Lomba di, A. Mu i, L. Aniello, R. Baldoni, S. Bonomi, L. Que zoni, PASCAL: An a chi ec u e o p oac i e au o-scaling o dis ibu ed se ices, Fu u e Gene . Compu . Sys . 98 (2019) 342–361, h p://dx.doi.o g/10.1016/j. u u e. 2019.03.003. [18] Y. Zhai, W. Xu, E icien bo leneck de ec ion in s eam p ocess sys em using uzzy logic model, in: 2017 25 h Eu omic o In e na ional Con e ence on Pa allel, Dis ibu ed and Ne wo k-Based P ocessing, PDP, IEEE, 2017, pp. 438–445, h p://dx.doi.o g/10.1109/PDP.2017.71, URL h p://ieeexplo e. ieee.o g/documen /7912685/. [19] Zhenhuan Gong, Xiaohui Gu, J. Wilkes, PRESS: PRedic i e Elas ic ReSou ce Scaling o cloud sys ems, in: 2010 In e na ional Con e ence on Ne wo k and Se ice Managemen , IEEE, 2010, pp. 9–16, h p://dx.doi.o g/10.1109/ CNSM.2010.5691343, URL h p://ieeexplo e.ieee.o g/documen /5691343/. [20] E. Casalicchio, A s udy on pe o mance measu es o au o-scaling CPU- in ensi e con aine ized applica ions, Clus e Compu . 22 (3) (2019) 995–1006, h p://dx.doi.o g/10.1007/s10586-018-02890-1. [21] V. Rampé ez, J. So iano, D. Lizcano, A mul idomain s anda ds-based og compu ing a chi ec u e o sma ci ies, Wi el. Commun. Mob. Compu . 2018 (2018) 1–14, h p://dx.doi.o g/10.1155/2018/4019858, URL h ps:// www.hindawi.com/jou nals/wcmc/2018/4019858/. [22] S. Va asso i, J. So iano, D. Lizcano, R.F. Andez, Cloud moni o ing using elas- ic publish/subsc ibe, T ans. Eme g. Telecommun. Technol. 25 (3) (2014) 294–307, h p://dx.doi.o g/10.1002/e . [23] S. Va asso i, J. So iano, D. Lizcano, M. Jiménez, Explici con ex ma ching in con en -based publish/subsc ibe sys ems, Senso s 13 (3) (2013) 2945– 2966, h p://dx.doi.o g/10.3390/s130302945, URL h p://www.mdpi.com/ 1424-8220/13/3/2945. [24] A. Ca zaniga, D.S. Rosenblum, A.L. Wol , Design and e alua ion o a wide- a ea e en no i ica ion se ice, ACM T ans. Compu . Sys . 19 (3) (2001) 332–383, h p://dx.doi.o g/10.1145/380749.380767, URL h ps://dl.acm.o g/ doi/10.1145/380749.380767. [25] A. Ca zaniga, A.L. Wol , Fo wa ding in a con en -based ne wo k, in: P oceedings o he 2003 Con e ence on Applica ions, Technologies, A - chi ec u es, and P o ocols o Compu e Communica ions, SIGCOMM ’03, ACM P ess, New Yo k, New Yo k, USA, 2003, p. 163, h p://dx.doi.o g/10. 1145/863973.863975, URL h p://po al.acm.o g/ci a ion.c m?doid=863955. 863975. [26] R. Ba azzu i, T. Heinze, A. Ma in, E. Onica, P. Felbe , C. Fe ze , Z. Je zak, M. Pasin, E. Ri ie e, Elas ic scaling o a high- h oughpu con en -based publish/subsc ibe engine, in: 2014 IEEE 34 h In e na ional Con e ence on Dis ibu ed Compu ing Sys ems, IEEE, 2014, pp. 567–576, h p://dx. doi.o g/10.1109/ICDCS.2014.64, URL h p://ieeexplo e.ieee.o g/documen / 6888932/. [27] M. Ulb ich, U. Geilmann, A. Ach a , E. Ghazi, M. Taghdi i, Ka ls uhe Repo s in In o ma ics 2011,37, Tech. Rep., 2011. 71 V. Rampé ez, J. So iano, D. Lizcano e al. Fu u e Gene a ion Compu e Sys ems 118 (2021) 56–72 [28] E.D. Lazowska, J. Zaho jan, G.S. G aham, K.C. Se cik, Quan i a i e Sys em Pe o mance: Compu e Sys em Analysis Using Queueing Ne wo k Models, P en ice-Hall Inc., USA, 1984. [29] M. Sadoghi, H.-A. Jacobsen, BE- ee, in: P oceedings o he 2011 In e na- ional Con e ence on Managemen o Da a, SIGMOD ’11, ACM P ess, New Yo k, New Yo k, USA, 2011, p. 637, h p://dx.doi.o g/10.1145/1989323. 1989390, URL h p://po al.acm.o g/ci a ion.c m?doid=1989323.1989390. Vic o Rampe ez is Assis an P o esso o Compu e Science a Uni e sidad Poli écnica de Mad id, UPM, Spain. He holds a B.Sc. and a M.Sc. Deg ees wi h Hono s in Compu e Enginee ing om Uni e sidad Poli écnica de Mad id. He is a Ph.D. candida e in he So wa e, Sys- ems and Compu ing Doc o al P og am a UPM School o Compu e Science. His esea ch in e es s include dis ibu ed sys ems, cloud compu ing and In e ne o Things. Vic o has published a numbe o pape s on se e al in e na ional con e ences. Ja ie So iano is Associa e P o esso o Compu e Science a Uni e sidad Poli écnica de Mad id, UPM, Spain. He leads he Compu e Ne wo ks and Web Technologies Labo a o y (CETTICO Resea ch G oup). His esea ch ocuses on dis ibu ed sys ems and u u e In e ne echnologies. He holds a Ph.D. wi h Hono s in Compu e Science om UPM. Ja ie has co-leaded, as UPM P incipal Resea che , a numbe o EU- unded in e na ional esea ch p ojec s including FAST, 4CaaST, MyMobileWeb, FI-WARE, FICORE and FI-NEXT. He has coau ho ed mo e han 60 pape s published in high- impac in e na ional jou nals, esea ch books and in e na ional con e ences. Ja ie is a Senio Membe o he IEEE since 2005. D. Lizcano holds a Ph. D. wi h hono s in Compu e Science (2010) om he Uni e sidad Poli écnica de Mad id, and a M.Sc. deg ee wi h hono s in Resea ch in Complex So wa e De elopmen (2008) om he Uni e sidad Poli écnica de Mad id. He is P o esso a Mad id Open Uni e si y, UDIMA. He held a esea ch g an om he Eu opean Social Fund, and in ol ed in se e al na ional and Eu opean unded p ojec s e- la ing o Se ice O ien ed A chi ec u es, Pa adigms o P og amming, So wa e Enginee ing, Human–Compu e In e ac ion and End-use De elopmen . He has pub- lished his esea ch in mo e han 25 p es igious jou nals indexed in ele an posi ions o he JCR. Juan A. La a is Associa e P o esso and Resea ch Sci- en is a Mad id Open Uni e si y, MOU, Spain. He is cu en ly membe o Depa men o Compu e . He holds a Ph.D. in Compu e Science and wo Pos G ad- ua e Mas e s in In o ma ion Technologies and Eme ging Technologies o De elop Complex So wa e Sys ems om Technical Uni e si y o Mad id, Spain. He is au ho o mo e han a dozen pape s published in in e na ional impac jou nals. His esea ch in e es s in compu e science include da a mining, knowledge dis- co e y in da abases, da a usion, a i icial in elligence and elea ning. 72 18