2. Utilizatorii, memoria și virtualizarea Nimeni nu știe câtă memorie să aloce pentru un VM Cum va afecta RAM-ul alocat performanța unui VM? ”1GB, mai mult doar dacă lumea se plânge de performanțe” ”4GB pe fiecare mașină, nimeni nu se plânge ” ”Iau cerințele minime, la care adaug 50% / 100% / 150%” ”Folosesc cerințele producătorului, nu stau să verific” Memoria e un bottleneck Unul din factorii cheie din punct de vedere al costurilor
3. Propunerea Dynamic Memory Densitate maximă, fără a sacrifica performanța Performanță predictibilă Production-use ready
4. Adăugare/eliminare memorie RAM Adăugare Enlightened Se folosește Synthetic Memory Driver (VSP/VSC Pair) Fără emulare hardware Lightweight, instant Eliminare Inițial s-a dorit eliminarea memoriei (-> probleme) Testele au arătat că memory ballooninge mai eficient Afectează Task Manager în Guest OS Memoria neutilizată se conectează la fiecare 5 minute
5. Memory demand / Memory buffer Memory demand Memoria necesară sistemului de operare Guest pentru a funcționa în condiții rezonabile Calculată automat pe baza utilizării raportate de Guest Memory buffer Memoria alocată unui VM pentru necesități imediate Scopul principal e de a preveni utilizarea file cache Memoria ideală pentru un VM Memory demand + Memory Buffer
8. Memory balancing (1) Dacă e memorie suficientă pe host, se alocă valoarea ideală de RAM pentru fiecare VM Available Memory Available Memory Root Reserve Hyper-V Host Host Memory Availability = 100%
9. Memory balancing (1) Dacă e memorie suficientă pe host, se alocă valoarea ideală de RAM pentru fiecare VM Ideal Memory Available Memory Buffer Memory Demand Root Reserve Hyper-V Host VM1 Host Memory Availability = 60%
10. Memory balancing (1) Dacă e memorie suficientă pe host, se alocă valoarea ideală de RAM pentru fiecare VM Ideal Memory Buffer Ideal Memory Buffer Memory Demand Memory Demand Root Reserve Hyper-V Host VM1 VM2 Host Memory Availability = 0%
11. Memory balancing (2) Dacă nu e memorie suficientă, se folosește Priority pentru a determina distribuția memoriei Ideal Memory Buffer Ideal Memory Buffer Memory Demand Memory Demand Root Reserve VM2 Medium Priority VM1 Low Priority Hyper-V Host
12. Memory balancing (2) Dacă nu e memorie suficientă, se folosește Priority pentru a determina distribuția memoriei Ideal Memory Buffer Ideal Memory Ideal Memory Buffer Buffer Memory Demand Memory Demand Memory Demand Root Reserve VM2 Medium Priority VM1 Low Priority Hyper-V Host VM3 High Priority
13. Memory balancing (2) Dacă nu e memorie suficientă, se folosește Priority pentru a determina distribuția memoriei Ideal Memory Buffer Priority Penalty Ideal Memory Ideal Memory Buffer Buffer Priority Penalty Priority Penalty Buffer Buffer Memory Demand Memory Demand Memory Demand Root Reserve VM2 Medium Priority VM1 Low Priority Hyper-V Host VM3 High Priority
14. Memory balancing (2) Dacă nu e memorie suficientă, se folosește Priority pentru a determina distribuția memoriei Ideal Memory Ideal Memory Ideal Memory Buffer Buffer Memory Demand Memory Demand Memory Demand Root Reserve VM2 Medium Priority VM1 Low Priority Hyper-V Host VM3 High Priority
15. DM introduce Root Reserve Hyper-V a folosit dintotdeauna conceptul de memory reserve (memorie rezervată pentru parent partition) DM permite VMs să ”înghesuie” root reserve Soluția: o cheie în regiștri Permite rezervarea statică de memorie pentru Parent Partition HKLM:OFTWAREicrosoftindows NTurrentVersionirtualizationemoryReserve Mai puțină memorie pentru VMs Sistemul gazdă rămâne stabil
17. Dynamic Memory, nu Overcommit! Memory Overcommit e un termen ”supraîncărcat” Page Sharing Second Level Paging Mecanisme de memory balooning Nimeni nu vrea să supraaloce resursele Nu supraalocăm celelalte resurse Nici VMWare nu vrea/recomandă overcommit DM tratează memoria așa cum tratăm CPU: Resursă scalabilă dinamic
18. Cerințe pentru Dynamic Memory Sistemul gazdă: Windows Server 2008 R2 SP1 Microsoft Hyper-V Server 2008 R2 SP1 Windows Server 2003, 2008 & 2008 R2 guest 32-bit & 64-bit versions Web, Standard, Enterprise, Datacenter Windows Vista and Windows 7 guest Doar Enterprise și Ultimate 32-bit & 64-bit versions
19. Compatibilitatea aplicațiilor Probleme Aplicații cu static memory allocation (Exchange) Setări suplimentare Aplicații cu cache / memory management intern (SQL, Apache, Java, Oracle, ...) Aplicații care pornesc cu multă memorie prealocată (?)
20. RemoteFX – infrastructură / grafică Infrastructură Izolarea VM = centralizarea desktop-urilor Evoluția procesoarelor de la viteză la paralelism Rețele mai rapide Diversitate crescută pe partea de client devices Grafică Crește complexitatea graficii: Media, 3D UI, Video, Animations, Flash, Silverlight Crește fragmentarea stack-urilor în procesarea grafică Silverlight și Flash portabil emit ”flat bitmaps”
21. RemoteFX – soluție VDI vGPU expus în Hyper-V Guest Rendering pe host, nu pe guest Codec nou inclus în RDP 7.1 pentru RemoteFX Utilizarea unui singur GPU pentru mai multe VMs Dispozitive hardware de decoding pentru thin clients Inițial doar pentru scenarii de tip ”office worker” Cerințe: SLAT GPU din generație nouă
22. Ultra Lightweight Thin Clients O nouă clasă de thin clients ARM, MIPS, sau PPC-based designs Windows CE, Linux, sau alt embedded OS Suport pentru USB Redirection Resurse client necesare foarte putine CPU: 200 – 400 MHz Memory: < 256MB RAM, < 128MB Flash Consum curent: <5W Utilizarea accelerării printr-un codec hardware
23. ThinLinX Hot-e® TLX-400 M Arm Processor RemoteFX HDMI Display Audio – Wolfson WM8731l – 16bit, 48KHz Stereo Headphone Out, Line out, Biased Microphone In Ethernet – 10/100 Mbs 2 x USB 2.0 Full Speed Host Ports 5VDC Power Linux Embedded OS