Il direttore della gestione del prodotto per Google ha annunciato l'arrivo di VM E2, una grande famiglia di macchine virtuali che è stato lanciato in uno stato beta per Google Compute Engine. E2 è una famiglia versatile di macchine virtuali con funzionalità di "gestione dinamica delle risorse" che offrono prestazioni affidabili con configurazioni flessibili e il miglior costo totale di proprietà (TCO) di tutte le altre macchine virtuali su Google Cloud.
Questa nuova famiglia di macchine virtuali generiche è adatto a vari tipi di carichi di lavoro. Google afferma che, ad eccezione dei carichi di lavoro più impegnativi, dovrebbe essere in grado di fornire le stesse prestazioni del tipo di macchina "N1" a un prezzo inferiore. Secondo Google, questa famiglia di macchine virtuali è stata sviluppata per gestire in modo efficiente i suoi servizi sensibili alla latenza e orientati all'utente.
June Yang ha detto sul suo blog:
“Le macchine virtuali E2 sono ideali per un'ampia gamma di carichi di lavoro, inclusi server web, applicazioni mission-critical, piccoli database e ambienti di sviluppo e di medie dimensioni. Se hai carichi di lavoro che funzionano bene su N1, ma non richiedono istanze di grandi dimensioni, GPU locali o SSD, valuta la possibilità di spostarli su E2. Ha aggiunto che "per tutti, tranne i carichi di lavoro più impegnativi, ci aspettiamo che l'E2 fornisca prestazioni simili all'N1, a un costo notevolmente inferiore".
Yang lo riferisce inoltre assicurano le funzioni dinamiche di gestione delle risorse Le macchine virtuali E2 forniscono prestazioni paragonabili alla famiglia N1 di Google, ma a fronte di un risparmio medio del 31 percento nel costo totale di proprietà.
Le nuove macchine virtuali sono anche molto flessibili, da allora hanno 15 impostazioni predefinite. Queste impostazioni vanno da solo 2 vCPU e 2 GB di memoria, fino a 16 CPU e 128 GB di memoria.
Pertanto, le macchine virtuali acquisiscono prestazioni di lunga durata a un prezzo costantemente basso. Le macchine virtuali E2 possono gestire un carico elevato della CPU senza costi complessi, a differenza di opzioni comparabili di altri fornitori sul mercato, secondo Google.
Macchine virtuali E2 distribuiranno solo le risorse di cui l'utente ha bisogno o con la possibilità di utilizzare tipi di macchine personalizzate. I tipi di macchine personalizzate sono ideali per scenari in cui carichi di lavoro che richiedono più potenza di elaborazione o più memoria, ma non richiedono tutti gli aggiornamenti forniti dal livello successivo della macchina.
In altre parole, vCPU vengono implementati come thread pianificati per essere eseguiti su richiesta come qualsiasi altro thread sull'host: quando la vCPU ha carichi di lavoro, viene allocata una CPU fisica disponibile per l'esecuzione fino a quando non viene liberata al termine dell'attività.
Analogamente, la RAM virtuale viene mappata su pagine host fisiche attraverso le tabelle delle pagine che si popolano quando si accede per la prima volta a una pagina ospite fisica. Questa mappatura rimane fissa fino a quando la macchina virtuale non indica che la pagina ospite fisica non è più necessaria.
Una volta che le macchine virtuali vengono collocate su un host, le loro prestazioni vengono continuamente monitorate, quindi, se la domanda di macchine virtuali aumenta, la migrazione in tempo reale può essere utilizzata per trasferire senza problemi il carico E2 ad altri host nel data center.
Il carico di lavoro cambia spesso senza tempi di attesa, grazie a un approccio predittivo di Google. Secondo Google, la migrazione in tempo reale delle macchine virtuali è una parte comprovata del motore di elaborazione e le sue prestazioni sono continuamente migliorate nel tempo.
Per raggiungere gli obiettivi di prestazioni delle macchine virtuali E2, Google ha sviluppato uno scheduler CPU personalizzato con una migliore latenza e un comportamento migliore programmazione congiunta rispetto al programmatore Linux predefinito.
Il nuovo scheduler produce tempi di latenza di riattivazione medi inferiori a un microsecondo con cambio di contesto rapido, contribuendo a mantenere trascurabile il sovraccarico di gestione dinamica delle risorse per quasi tutti i carichi di lavoro.