Cerca nel blog

lunedì 12 aprile 2010

Lo schedulatore di ESX 4.x e hyper-threading

Lo schedulatore di ESX 4.x permette di disciplinare l’accesso alle risorse fisiche da parte delle VM, soprattutto in presenza di regole quali riserve, limiti e shares. Utilizzando processori con hyper-threading, tecnologia che sta vivendo una nuova primavera, è possibile che una schedulazione più frequente non corrisponda ad avere la garanzia di una maggiore performance, questo perché la quantità di risorse ricevute dalle VM è influenzata dalla CPU logica appartenente allo stesso core fisico.

In questi casi è possibile lavorare sul parametro HaltingIdleMsecPenalty che determina l’algoritmo utilizzato per il bilanciamento del carico dei core fisici in base all’aggressività delle CPU virtuali. Il parametro HaltingIdleMsecPenalty è un parametro avanzato dell’host ESX, quindi in presenza di cluster o più HOST è necessario adeguare tutti server allo stesso comportamento.

Per agire sul parametro su ESX, dalla console digitare il comando:

  • esxcfg-advcfg --set <valore desiderato> /Cpu/HaltingIdleMsecPenalty
Impostazione del parametro HaltingIdleMsecPenalty

Per agire sul parametro su ESXi, dalla vMA (ottenuto l’accesso all’host), lanciare il comando:
  • vicfg-advcfg --set <valore desiderato> /Cpu/HaltingIdleMsecPenalty
Il valore desiderato va da 0 a 10.000, nell’ultima release di ESX 4

Da notare che impostare il parametro ad un valore troppo elevato potrebbe diminuire l’accuratezza dei settaggi delle risorse, soprattutto relative alle riserve ed alle shares delle VM. Inoltre nella stragrande maggior parte delle circostanze impostare il parametro ad un valore superiore al default non ha impatti sulle performance.

Per maggiori informazioni consultare le KB 1020233

Nessun commento: