Menu Close

B-Series VMs – Burstable VMs

Author: Davide Maccarrone

Cosa sono le VM B-Series?

Le VM B-Series sono una famiglia di macchine virtuali Azure anche dette Burstable VMs e permettono un notevole contenimento dei costi grazie al loro funzionamento, che può sembrare un po’ complicato a un primo sguardo…

Ogni VM (di ogni famiglia) ha un certo numero di CPU Cores, ciascuno dei quali può erogare al massimo il 100% della propria potenza. La potenza totale in termini di processore di una VM è quindi espressa da:

p = (n cores) x 100%

Le B series dal momento della creazione erogano una potenza garantita che è solamente una frazione di quella totale, secondo il seguente schema:

Quindi ad esempio una VM Standard_B2s ha 2 cores, per una potenza massima erogabile del 200%, ma la sua potenza garantita (baseline) è solamente del 40%, ripartibile fra i due cores (quindi 20+20, 40+0 o qualsivoglia combinazione).

il sistema dei crediti CPU

La peculiarità delle B-Series è che al momento sono l’unica famiglia che utilizza  il sistema dei crediti CPU.

Per ogni minuto che una VM B-Series rimane con un carico CPU inferiore alla propria baseline vengono accumulati dei crediti virtuali. Questi crediti possono essere consumati per consentire alla VM di operare al di sopra della propria baseline, facendo quindi un burst di potenza della CPU fintanto che ci sono crediti disponibili.

Un ottimo esempio del funzionamento è una VM che ospita un sito pubblico:

La macchina è una B2ms_Standard (2 cores, 8gb RAM)

Come da tabella la sua baseline è quindi del 60%, con una potenza massima del 200%. Nelle ultime 2 settimane questo è stato l’andamento della CPU della macchina (nota, i grafici Azure hanno la potenza massima normalizzata al 100%, quindi la baseline va convertita di conseguenza):

Si vede che per qualche giorno la macchina ha lavorato fra il 30 e il 40% della sua potenza massima (quindi 60-80% del 200%). Tale soglia è superiore alla baseline, quindi il comportamento della VM seguirà questa regola:

  • Se sono disponibili crediti accumulati in precedenza (tutte le VM B-Series all’accensione hanno dei crediti “regalati”) la VM li userà per superare la baseline
  • Se non sono disponibili crediti la VM subirà throttling della CPU fino a riportarla appena sotto la baseline

Dal grafico del consumo dei crediti si vede il meccanismo:

La VM aveva dei crediti (molti) quindi per giorni li ha lentamente consumati, poi quando la CPU è tornata giù ha ricominciato ad accumularli fino a raggiungere il limite massimo di crediti disponibili (per questioni di capacity planning non si possono accumulare crediti all’infinito).

In generale, se un applicativo ha un carico medio di CPU basso con picchi occasionali, la famiglia B-Series permette di avere la potenza necessaria ad una frazione del costo.

Come si vede dai grafici, dimensionando correttamente la macchina questa può “spingere” per giorni e giorni senza incorrere nel throttling. Dal punto di vista economico, questo è il confronto con una VM con specifiche equivalenti ma potenza garantita del 200% della famiglia D-Series.

 

 

 

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *