A Google mérnökei csütörtökön közzétették a KVM-CPUFreq illesztőprogramjukon a kezdeti”megjegyzéskérés”javításokat, amelyek a dinamikus feszültség-és frekvenciaskálázási viselkedés és a feladatok elhelyezésének javítására irányuló erőfeszítéseik részét képezik a KVM-alapú virtuális gépeken. Ez az erőfeszítés a nyers teljesítmény és a wattonkénti teljesítmény jelentős javulásához vezet a Linux virtuális gépeken futó feladatoknál.
David Dai, a Google tegnap ezt írta a kernel levelezőlistáján:
Ez a javítássorozat annak a beszédnek a folytatása, amelyet Saravana tartott az LPC 2022-n”CPUfreq/sched és VM vendégterhelési problémák”címmel.. A beszélgetés lényege az, hogy a vendég virtuális gépeken futó munkaterhelések szörnyű feladatelhelyezést és DVFS [Dynamic Voltage and Frequency Scaling] viselkedést kapnak, ha összehasonlítjuk ugyanazt a terhelést a gazdagépen. Valójában nincs EAS [Energy Aware Scheduling] a virtuális gépeken belüli szálakhoz. Ez szörnyűvé tenné a teljesítményt és a teljesítményt, ha a munkaterhelést egy virtuális gépen futtatnák, még akkor is, ha feltételezzük, hogy nulla virtualizációs többlet.
A vendég és a házigazda közötti kommunikáció különböző lehetőségeit, a vendégtől/házigazdától származó információk alkalmazásának módjait stb. átgondoltuk, hogy kitaláljuk a legjobb teljesítmény-és teljesítményfejlesztéseket.
A patch sorozat jelenlegi állapotában NEM az upstream kernelben való landolásra szolgál. Ezt a javítási sorozatot azért küldjük, hogy megosszuk az aktuális folyamatot és az eddigi adatokat. A patch sorozat célja, hogy könnyen kiválasztható és tesztelhető legyen különböző eszközökön, hogy megtudja, milyen teljesítmény-és teljesítményelőnyökkel jár ez mások számára.
Ezzel a sorozattal egy munkateher fut egy A virtuális gép ugyanazt a feladatelhelyezést és DVFS-kezelést kapja, mint a gazdagépen való futtatáskor.
A várakozásoknak megfelelően jelentős teljesítményjavulást és jobb teljesítmény/teljesítmény arányt tapasztalunk. Ha valaki más is szeretné kipróbálni ezt a virtuálisgép-munkaterheléshez, és jelentést tenni az eredményekről, azt nagyon megköszönnénk.
Az ötlet a VM CPUfreq/sched viselkedésének javítása az alábbiakkal:
-A vendég kernel pontos terheléskövetést végez a gazdagép CPU-archívumának/típusának és gyakoriságának figyelembevételével.
– A vCPU futási sor kihasználtsági adatainak megosztása a gazdagéppel, hogy a gazdagép megfelelő frekvenciaskálázást és feladatelhelyezést végezhessen a gazdagép oldalon.
A benchmark eredmények nagyon ígéretesek, például amikor Androidot futtató virtuális gépen egy Chromebookon, amely PCMark teljesítménye 19%-kal javult a súlyozott összértékhez képest, vagy akár 45%-kal gyorsabban szerkesztette a fotókat. A Roblox teljesítmény-benchmark 57%-kal nőtt a KVM-CPUFreq mellett, miközben az energiahatékonyság 26%-kal javult.
További részletek erről a KVM-CPUFreq munkáról ebben az RFC kernel javítássorozatban most megbeszélés alatt.