VirtualBox: Struggle for Performance
|
Nikolay Igotti |
Abstract
Virtualization is an actively developing area. We believe that usability, reliability, availability and performance are key components for success of virtualization solution. Performance is the key feature for product quality hypervisors, and frequently most important factor in choosing one or another solution. X86 architecture isn’t only pretty hard to virtualize, but also optimized for traditional workload, not one generated by naïve hypervisor. Hypervisor executing guest OS kernel produces a lot of traps or almost complete recompilation is needed. Implementation issues (and our solutions): fast access to hypervisor data (GIP), APIC access to control IPL in Windows/Solaris (patches, virtual CR8), guest system calls optimization (IDT patching, guest kernel in R1), real-mode code execution (complete emulation), guest memory management (pages allocated by host OS driver, shadow paging, nested paging), different addressing modes of host and guest, such as bitness, PAE (fancy mode switchers), time sources control, fast videomemory (custom videodriver in additions), fast devices emulation (device implementation distributed amongst rings, fast path in R0/R1). |
Bio Nikolay Igotti – developer and technical lead of VirtualBox team in Saint Petersburg office of Sun Microsystems. Graduated from Saint Petersburg State University, completed several courses in Stanford University (on compilers and OS design). Before working on VirtualBox participated in development of high performance Java virtual machines at Sun Microsystems, and designed architecture of new generation of storage system with data redundancy elimination at EMC2. |
« Previous Invited talk | All Invited talks | Next Invited talk» |
Keynotes | Regular talks | Workshops | Types of presentations |
All talks sorted by author name | All talks sorted by company name |