Te­le­vi­sio­ni ad alto volume, musica as­sor­dan­te, bambini stril­lan­ti, party de­ge­ne­ra­ti, cani che abbaiano o lavatrici in funzione a tutte le ore del giorno e della notte: tutti hanno spe­ri­men­ta­to almeno una volta il rumore causato dai vicini. Se queste in­ter­ru­zio­ni della quiete sono par­ti­co­lar­men­te di­stur­ban­ti o si ma­ni­fe­sta­no in maniera regolare, di­mi­nui­sco­no enor­me­men­te la qualità della vita negli spazi comuni. Il problema dei vicini rumorosi, che in­flui­sco­no ne­ga­ti­va­men­te sulle “risorse” affittate, non è una questione che rimane cir­co­scrit­ta solo alle pareti di casa. Il fenomeno è anche diffuso nell’ambiente dei server virtuali e si parla in questo caso di effetto “Noisy Neighbor” (let­te­ral­men­te “vicino rumoroso”).

Che cos’è l’effetto Noisy Neighbor?

Quando scegliete un domicilio, avete in generale due opzioni: comprare o affittare una casa propria oppure decidere di vivere in un ap­par­ta­men­to di un con­do­mi­nio. Mentre nel primo caso sentite il vicino solo se in­trat­tie­ne una con­ver­sa­zio­ne privata in giardino, in un con­do­mi­nio lo sentite molto più spesso e chia­ra­men­te. A dif­fe­ren­za di una casa di proprietà, dove i costi e certi oneri am­mi­ni­stra­ti­vi sono de­ci­sa­men­te maggiori, in un ap­par­ta­men­to di solito questi aspetti scendono no­te­vol­men­te di prezzo.

Nella ricerca di una “casa” adatta per il vostro sito web o dell’in­fra­strut­tu­ra in­for­ma­ti­ca della vostra azienda, la si­tua­zio­ne è spesso simile: l’uso di un server fisico (hostato per conto proprio o af­fi­dan­do­si ad un provider), che soddisfi le esigenze software e hardware ne­ces­sa­rie, è però anche la soluzione più cara ed im­pe­gna­ti­va perché le risorse e la loro gestione sono com­ple­ta­men­te in mano vostra. Quando ricorrete a risorse virtuali per ragioni di costi e con­di­vi­de­te con altri la base del vostro progetto, può però capitare che le pre­sta­zio­ni messe a di­spo­si­zio­ne vengano prov­vi­so­ria­men­te limitate.

La causa di ciò è di solito un eccessivo sfrut­ta­men­to delle risorse da parte di uno degli utenti che con­di­vi­do­no il vostro stesso spazio, ragion per cui si parla di effetto Noisy Neighbor. Oggi questo fenomeno si manifesta so­prat­tut­to nel cloud computing fles­si­bi­le, quello che è lo standard della co­sid­det­ta ar­chi­tet­tu­ra multi-tenant o multi-istanza (in par­ti­co­la­re nei cloud pubblici).

Il problema del Noisy Neighbor nell’ambiente dei server virtuali

L’effetto Noisy Neighbor però non si verifica solo nel Cloud, ma allo stesso modo anche quando si con­di­vi­do­no delle risorse. Già nell’hosting condiviso tra­di­zio­na­le, i provider e i loro clienti dovevano af­fron­ta­re questo problema: se un utente richiede, con­scia­men­te o in­con­scia­men­te, più risorse di quante gli spettino, questo si traduce in una riduzione almeno per uno degli altri utenti, in par­ti­co­la­re la memoria si dimostra troppo limitata.

Allo stesso tempo gli hy­per­vi­sor, che servono come livello di rete tra le risorse fisiche e le macchine virtuali, sono però suf­fi­cien­te­men­te svi­lup­pa­ti cosicché è quasi im­pos­si­bi­le per il singolo utente evitare la li­mi­ta­zio­ne delle risorse.

Anche il cloud hosting moderno, il cui vantaggio prin­ci­pa­le è la sua sca­la­bi­li­tà molto fles­si­bi­le, ha un problema a causa dell’effetto Noisy Neighbor: mentre i dischi rigidi usati per l’hosting offrono ne­ces­sa­ria­men­te sempre più spazio, la per­for­man­ce dei supporti dati migliora solo im­per­cet­ti­bil­men­te. Se sono collegate in un Cloud più istanze degli utenti e una o più macchine virtuali incidono sulla memoria del server fisico con valori input o output più alti, questo significa che tutti gli utenti andranno incontro a con­si­de­re­vo­li ritardi. Le memorie SSD con­tra­sta­no il fenomeno, ma non riescono ad eliminare del tutto l’effetto negativo; inoltre non sempre fanno parte delle fun­zio­na­li­tà standard offerte da un fornitore di cloud hosting.

Nel cloud computing vi è un ulteriore effetto Noisy Neighbor, che risulta dai com­por­ta­men­ti dell’hy­per­vi­sor e del pro­ces­so­re. Mentre l’hy­per­vi­sor non ha alcun accesso alla memoria locale e alla cache dei pro­ces­so­ri, queste a loro volta non hanno molte in­for­ma­zio­ni su cosa accada dall’altra parte nel livello di rete. Per questa ragione i pro­ces­so­ri stessi decidono quali dati vengono salvati tem­po­ra­nea­men­te negli algoritmi. Inoltre i pro­ces­so­ri multi core moderni collocano anche singole macchine virtuali nella cache L3, che accelera lo scambio di dati tra i core. Ne consegue che l’ese­cu­zio­ne delle ope­ra­zio­ni da parte di tutte le altre macchine, che ricorrono con­tem­po­ra­nea­men­te al ri­spet­ti­vo pro­ces­so­re, ri­chie­do­no molto più tempo.

Effetto Noisy Neighbor nel cloud computing: possibili soluzioni

Per contenere il problema dell’effetto Noisy Neighbor e ot­ti­miz­za­re in maniera con­ti­nua­ti­va la per­for­man­ce di tutti i siti hostati, alcuni fornitori di Cloud sono passati a una in­fra­strut­tu­ra all-flash storage. Questo tipo di me­mo­riz­za­zio­ne è ca­rat­te­riz­za­ta dal fatto che gli Hard Disk Drive (HDD) tra­di­zio­na­li vengono so­sti­tui­ti da quelli SSD (Solid State Drive), che offrono pre­sta­zio­ni de­ci­sa­men­te migliori, ma sono anche più cari. Anche i nuovi supporti di memoria flash non possono evitare com­ple­ta­men­te l’effetto Noisy Neighbor, no­no­stan­te il loro elevato tasso di input/output. Quindi i co­sid­det­ti all-flash array, mec­ca­ni­smi di me­mo­riz­za­zio­ne di database che con­ten­go­no più di un di­spo­si­ti­vo flash, durante la con­fi­gu­ra­zio­ne della struttura di me­mo­riz­za­zio­ne non prevedono memorie HDD. Questi array hanno un con­tin­gen­te di memoria integrato per l’input e l’output del dati, che si può gestire at­tra­ver­so un livello di ap­pli­ca­zio­ne in­di­vi­dua­le e adat­ta­bi­le. Così il provider del Cloud o il gestore di un proprio Cloud può con­trol­la­re e coor­di­na­re il tra­sfe­ri­men­to dei dati tra le diverse macchine virtuali.

Se è difficile valutare lo sviluppo del vostro progetto, dovreste in­for­mar­vi in anticipo sulle pos­si­bi­li­tà di upgrade e downgrade delle risorse. Al­tri­men­ti vi troverete a pagare in fretta pre­sta­zio­ni di memoria e di CPU di cui non avete affatto bisogno oppure di­ven­te­re­te voi stessi dei Noisy Neighbor, che danno sui nervi con il loro “rumore” agli altri utenti del Cloud.

Consiglio:

Da ottobre 2015 anche IONOS utilizza soluzioni di me­mo­riz­za­zio­ne all-flash array per le offerte di cloud hosting. La tec­no­lo­gia SolidFire impiegata ga­ran­ti­sce le migliori per­for­man­ce per tutti i progetti ospitati e permette di offrire pacchetti con le pre­sta­zio­ni più adatte e al prezzo più con­ve­nien­te, che possono essere aumentate o diminuite in ogni momento.

Sei in­te­res­sa­to a un server virtuale e vuoi evitare l’effetto “Noisy Neighbor“? Informati qui sull’offerta server di IONOS.

Vai al menu prin­ci­pa­le