IO Virtualization Overview Device Model Hardware Assistance
Hardware Solution Kesulitan : Tow hardware solutions : Software tidak dapat membuat data akses langsung dari hardware. Tow hardware solutions : Implementasi remapping DMA di hardware Remap operasi DMA secara otomatis oleh hardware. Contohnya, Intel VT-d . Menspesifikasi IO virtualization standards dari device PCI Express Implementasi device yang dapat di virtulisasi dengan interface PCI express. contohnya, SR-IOV or MR-IOV.
Intel VT-d Tambahkan komponen hardware DMA remapping. Software Approach Hardware Approach
IO Virtualization Progress Sharing berbasis software Implementasi virtualisasi oleh VMM software stack. Advantage Virtualiasi penuh tanpa dukungan spesial hardware. Disadvantage CPU overhead mungkin dibutuhkan oleh VMM.
IO Virtualization Progress Hardware direct assignment Impementasi virtualisasi dengan dukungan VT-x dan VT-d. Advantage Data akses mem baypass VMM. Meningkatkan kinerja IO. Disadvantage Dedicate assignment device fisik membatasi skalabilitas sistem.
IO Virtualization Progress New industrial standard Daripada hanya mengimplementasi virtualiasasi dalam CPU atau memori, industri datang dengan standar virtualisasi IO baru dalam device PCI express. Advantages Kolaborasi penuh dengan device hardware fisik. Meningkatkan skalabilitas sistem. Meningkatkan ketangkasan sistem. Disadvantages IO device harus diimpimentasi dengan spesifikasi baru.
Single Root – IO Virtualization Apakah SR-IOV ? Spesifikasi PCI-SIG Single Root I/O Virtualization and Sharing (SR-IOV) menjelaskan sebuah mekanisme standarisasi untuk membuat shared device secara native. Komponen dasar: Physical Functions (PFs): Fungsi-fungsi penuh PCIe yang masuk dalam SR-IOV Extended Capability (kemampuan tambahan). kemampuannya digunakan utnuk mengkonfigurasi dan memanajemen fungsi SR-IOV. Virtual Functions (VFs): Fungsi-fungsi “lightweight” PCIe yang berisi resource yang dibutuhkan untuk perpindahan data tapi mempunyai sebuah set minimize dari konfigurasi resource.
Single Root – IO Virtualization SR-IOV bekerja dengan VMM : VMM sebuah device yang dapat menggunakan SR-IOV dapat dikonfigurasi untuk muncul dalam ruang konfigurasi PCI sebagai fungsi multiple. VM VMM menugaskan satu atau beberapat VF kepada VM dengan memapping ruang konfigurasi aktual dari VF kepada ruang konfigurasi yang diberikan kepada VM oleh VMM.
IO Virtualization Summary IO subsystem architecture Port Mapped IO vs. Memory Mapped IO Direct Memory Access (DMA) PCI / PCI Express IO virtualization Three implementation layers IO virtualization paradigm with device model Hardware assistance DMA remapping hardware Single Root – IO Virtualization specification
Ecosystem VMware , Xen , KVM
Venders and Projects Virtual machine venders : VMware Xen Perusahaan ini di bangun pada 1998 dan berlokasi di Palo Alto, California. Perusahaan ini sebagian besar dimiliki oleh EMC Corporation. mengimplementasi type-1 VM dan type-2 VM. Xen Dibuat pertama di University of Cambridge Computer Laboratory. Pada 2010 Xen Community membuat dan membuat XEN sebagai free software, dalam GNU General Public License. mengimplementasi para-virtualization.
Venders and Projects Virtual machine project : KVM ( Kernel-based Virtual Machine ) Virtualisas infrastruktur kernel dari linux. Pada 2010, KVM mendukung native virtualization menggunakan Intel VT-x atau AMD-V.
VMware Properti dasar : OS dan hardware yang terpisah – pemutusan dependensi hardware OS dan aplisaksi sebagai single unit dengan encapsulasi isolasi fault dan security yang kuat Standar, lingkungan HW yang independen yang dapat ditetapkan dimana saja Fleksibilitas untuk memilih OS yang benar untuk aplikasi yang benar
VMware Virtualization Stack
VMware Major Products VMware GSX Server VMware ESX Server Menjalankan beberapa server dalam server Hosted Architecture Tersedia untuk host linux dan host windows VMware ESX Server Quality of Service High-performance I/O Host-less Architecture ( bare-metal )
VMware GSX Server Architecture
VMware ESX Server Architecture
Xen Properti dasar: Para-virtualization Mendapatkan kinerja yang tinggi bahkan dalam arsitektur hostnya sendiri (x86) yang mempunyai sebuah reputasi untuk non-cooperation dengan teknik virtualisasi tradisional. Hardware assisted virtualization Intel dan AMD mempunyai kontribusi modifikasi pada XEN dengan dukungan Intel VT - x dan AMD – V sebagai ekstensi arsitektur mereka
Xen Implementasi sistem: Live migration LAN secara iteratif mengkopi memori dari VM ke tujuan tanpa menghentikan eksekusinya. Implementasi sistem: Novell's SUSE Linux Enterprise 10 Red Hat's RHEL 5 Sun Microsystems' Solaris
Para-virtualization in Xen Xen extensions to x86 arch seperti x86, tapi Xen dipanggil untuk instruksi previlege menghindari binary rewriting Meminimalkan jumlah transisi kedalam XEN Modifikasi relatif simpel dan dapat berdiri sendiri Memodifikasi kernel untuk memahami lingkungan yang tervirtualisasi Wall-clock time vs. virtual processor time Menentukan kedua tipe untuk alarm timer Membuka availability resource yang sebernarnya Membuat OS untuk mengoptimasi behaviournya sendiri
Original Xen Architecture
Hardware Assistance in Xen CPU menyediakan VMExit untuk beberapa instruksi previlege Extend page tables untuk memvirtualisasi memori Xen features : Membuat Guest OS untuk berjalan tanpa modifikasi Contohnya, legacy Linux dan Windows Menyediakan emulasi platform sederhana BIOS, apic, iopaic, rtc, Net (pcnet32), IDE emulation Install driver dengan para-virtualisasi setelah booting untuk kinerja yang tinggi dari IO Memungkinkan untuk CPU dan para-virtualisasi memori Petunjuk hypervisor non-invasive dari OS
New Xen Architecture
KVM KVM ( Kernel-based Virtual Machine) Linux host OS Kernel komponen dari KVM termasuk dalam mainline linux,seperti 2.6.20. Full-virtualization KVM adalah sebuah solusi virtualisasi penuh untuk Linux pada hardware x86 yang mempunyai virtualization extensions (Intel VT or AMD-V). Menggunakan KVM, seseorang dapat menjalankan multiple VM yang menjalankan Linux atau Windows image tanpa modifikasi. IO device model dalam KVM : KVM membutuhkan sebuah QEMU untuk framework virtualiasasi untuk IO. Meningkatkan kinerja IO dengan Virtio para-virtualization framework.
KVM Full Virtualization Terdiri dari kernel modul yang dapat di load kvm.ko Menyediakan infrastruktur core virtualization kvm-intel.ko / kvm-amd.ko Module spesifik untuk prosesor
IO Device Model in KVM Pendekatan original dengan virtualisasi penuh Akses hardware guest intervensi oleh KVM QEMU mengemulasi behaviour hardware dari device yang umum RTL 8139 PIIX4 IDE Cirrus Logic VGA
IO Device Model dalam KVM Pendekatan baru dengan para-virtualization
IO Device Model in KVM Arsitektur Virtio