Server Virtualization

Slides:



Advertisements
Presentasi serupa
Struktur CPU Delta Ardy Prima, S.ST.
Advertisements

Manajemen Memory Kelompok 7 : M. Khoirur Roziqin ( )
Manajemen Memory 1 Manajemen Memory Sederhana dan Swapping
Cache Memori Oleh : Ahmad Fuad Hariri Fitriana Nelvi Tino Arif Cahyo
MANAJEMEN MEMORY.
VIRTUALISASI.
Pertemuan 03- Konsep Proses
High Performance Computing
Struktur Sistem Operasi
ARSITEKTUR SET INSTRUKSI
CPU (CENTRAL PROCESSING UNIT)
MEMORY (Manajemen Memori)
ARSITEKTUR SET INSTRUKSI
Struktur Sistem Operasi PART 2.
Memory-Management Unit
Struktur Sistem Komputer
Slide 6 – Management Proses
SISTEM OPERASI Pertemuan 5 : Manajemen Memori
Reduced Instruction Set Computers
Struktur Sistem Komputer
Pertemuan 13 Code Genarator
SISTEM OPERASI Pertemuan 2 : Konsep Dasar Sistem Operasi
Management Memory.
Sistem Input/output (I/O)
ARSITEKTUR SET INSTRUKSI
CPU Virtualization Emulation techniques Trap and emulate model
Lecture 6 Main Memory Erick Pranata
Manajemen Memori.
Overview Device Model Hardware Assistance IO Virtualization.
IO Virtualization Overview Device Model Hardware Assistance.
Memory Virtualization
Teknik Kompilasi “Translator”
Struktur Sistem Operasi
Organisasi dan Arsitektur Komputer
Pertemuan III SET Instruksi.
Penjadwalan Proses.
CPU (CENTRAL PROCESSING UNIT)
Struktur Sistem Komputer
PENGANTAR LOGIKA & TEKNIKPEMROGRAMAN
ARSITEKTUR SET INSTRUKSI
MANAJEMEN MEMORI.
IV. Proses-proses Terdapat beberapa definisi proses, diantaranya proses sebagai program yang sedang dalam keadaan eksekusi Proses membutuhkan sumber daya.
Slide 6 – Management Proses
Set Instruksi:.
William Stallings Computer Organization and Architecture
Reduced Instruction Set Computers
Bayu Pratama Nugroho, S.Kom, MT
THREAD.
Struktur Sistem Komputer
PENDAHULUAN PEMROGRAMAN SISTEM
Teknik Kompilasi “Translator”
Computer Organization and Architecture
Organizes Sistem Komputer
CPU (CENTRAL PROCESSING UNIT)
ARSITEKTUR SET INSTRUKSI
Hierarki Memori Dan Cache Memori..
PENGANTAR LOGIKA & TEKNIK PEMROGRAMAN
Organisasi dan Arsitektur Komputer
Manajemen Memori Pertemuan 14 & 15 Sistem Operasi (CSG3E3)
Struktur Sistem Komputer
ARSITEKTUR & ORGANISASI KOMPUTER
Sistem Operasi Teknik Informatika STT Wastukancana Purwakarta
ARSITEKTUR KOMPUTER Komponen dan Interkoneksi
ARSITEKTUR SET INSTRUKSI
CPU (CENTRAL PROCESSING UNIT)
MANAJEMEN MEMORY.
MANAJEMEN MEMORY.
ARSITEKTUR SET INSTRUKSI
Karakteristik Set Instruksi 14 JP. Karakteristik Set Instruksi Pengertian Set Instruksi Set instruksi adalah kumpulan dari instruksi yang dapat dijalankan.
Transcript presentasi:

Server Virtualization Cloud Computing Server Virtualization

Agenda Ecosystem Other Issues Virtualization Technique CPU Virtualization Emulation techniques Trap and emulate model Hardware assistance Memory Virtualization Shadow page table IO Virtualization Overview Device model Ecosystem VMware Xen KVM Other Issues Live migration Cloud properties

CPU Virtualization Emulation techniques Trap and emulate paradigm Hardware assistance CPU Virtualization

Emulation Technique Kenapa teknik virtualisasi ? Tujuan dari emulasi: Teknik virtualiIsasi sebenarnya dapat dikategorikan sebagai teknik sebuah teknik emulasi. Banyak teknik virtualisasi di bangun atau diturunkan dari teknik emulasi. Tujuan dari emulasi: Membuat sebuah metode membangun sebuah atau beberapa (sub)system untuk interface dan karakteristik yang sama dengan hardware fisik atau emulasi lainnya

Emulation Technique Tiga implementasi emulasi: Interpretation Emulator mengimprementasi hanya satu instruksi dalam satu waktu. Static Binary Translation Emulator mengartikan sebuah block binary dari guest dalam suatu waktu dan selanjutnya dioptimalkan untuk mengulangi eksekusi instruksi yang ada. Dynamic Binary Translation Ini adalah pendekatan hybird dari emulator, dimana metode ini menggabungkan dua pendekatan diatas. Design challenges and issues: Masalah register mapping Peningkatan performansi

Interpretation

Interpretation interpreter flow : Pros & Cons Memberikan satu instruksi guest dalam satu waktu dari memory image guest. Mendekode dan melepaskan kepada unit emulasi yang sesuai. Mengeksekusi dungsi dari instrukti dan memodifikasi beberapa sistem yang berhubungan dengan emulasi, contohnya adalah mensimulasi nilai register. Meningkatkan guest PC (Program Counter Register) dan lalu mengulangi lagi proses tersebut. Pros & Cons Pros Mudah untuk diemplementasi Cons Kinerja yang jelek.

Static Binary Translation Menggunakan konsep dari basic block yang datang dari teknik optimisasi kompiler (compiler optimization technique). Sebuah basic block adalah bagian dari kode dalam program dengan properti-properti tertentu yang membuatnya sangat diterima untuk dianalisis. Sebuah basic block mempnyai hanya satu masukan, artinya tidak ada kode dalam tujuannya dari sebuah lompatan instruksi, dimanapun dalam sebuah program. Sebuah basic block hanya mempunya satu keluaran, artinya hanya instruksi terakhir yang dapat membuat program untuk memulai mengeksekusi program untuk mengeksekusi kode yang berada dalam basic block lainnya.

Binary Translation

Static Binary Translation Static binary translation flow : Memberikan satu blok dari instruksi guest memory image. Mendekode dan menyalurkan setiap instruksi kepada unit translasi yang bersangkutan. Mengartikan/mentranslasi instruksi guest kepada instruksi host. Menulis instruksi host yang telah diartikan kedalam cache kode. Mengeksekusi block instruksi yang telah diartikan didalam cache kode. Pros & Cons Pros Emulator dapat menggunakan kembali kode host yang telah digunakan. Emulator dapat mencoba optimisasi lebih ketika mentranslasikan block-block guest. Cons Kerumitan implementasi akan meningkat.

Comparison Implementasi interpretation Impllementasi static binary translation

Dynamic Binary Translation Implementasai hybird Ketika pertama kali ditemukan kode, langsung di interpretasikan oleh interpreter, dan merekam kode ini sebagai ‘discovered. Ketika kode gust ditemukan, maka akan mentrigger modul binary translasi untuk mentranslasi block-block kode guest kepada block-block kode host, dan menaruhnya kedalam cache kode. Ketika menegksekusi kode dari guest dilain waktu, lompat ke cache kode dan mengeksekusi kode biner host yang telah ditranslasi. Pros & Cons Pros Implementasi translasi biner secara transparan. Cons Susah untuk diimplementasikan.

Dynamic Binary Translation Ketika pertama kali di eksekusi, tidak ada kode yang tertanslasi dalam cache kode. Tidak melakukan perbandingan cache kode, dan langsung melakukan interpretasi ke instruksi guest. Ketika block kode ditemukan, mentrigger modul biner translasi. Translasi block kode guest ke biner, dan menaruhnya ke cache kode. Ketika eksekusi selanjutnya, jalankan block kode yang telah tertlansasi di dalam cache kode. Binary Translator Guest Binary Host Binary Code Cache trigger Emulation Manager hit exit return miss Interpreter

Design challenges and issues Masalah register mapping Peningkatan performansi Design challenges and issues

Masalah register mapping Kenapa kita harus me-mapping register-register ? ISA yang berbeda akan mendefinisikan nomer register yang berbeda. Kadang guest ISA bahkan membutuhkan beberapa tujuan register khusus ketika host ISA tidak mendefinisikannya.

Masalah register mapping Me-mapping register-register dengan tujuan khusus: Map tujuan khusus pada register Program Counter Register Stack Pointer Register Page Table Register System Statues Register Special Flags Register Menahan guest context dan memory image Map register untuk tujuan umum Map nilai intermediate

Masalah register mapping Jika jumlah host register lebih banyak dari pada register guest Akan mempermudah implementasi. Langsung me-mapping satu register dari guest kepada salah satu host, dan membuat register lainnya untuk optimisasi. Example : mentranslasi kode biner x86 ke RISC (Reduced Instruction Set Computing) Jika jumlah register host tidak cukup Maka akan membutuhkan banyak usaha mapping untuk host. Emulator mungkin hanya dapat me-mapping beberapa register yang sering digunakan kepada host, dan meninggalkan register sisanya kedalam. Keputusan mapping akan menjadi sangat penting.

Peningkatan Performansi Apa saja permasalahan dalam performansi ? Masalah control flow Banyaknya frekuensi perpindahan context antara cache kode dan manajer emulasi akan menurunkan performansi. Optimisasi target kode Hanya mentranslasi satu kode dalam satu waktu akan membuat beberapa kesempatan optimisasi menurun. Solusi : Translation Chaining Dynamic Optimization

Translation Chaining Control flow yang tidak teroptimisasi antara block-block yang telah tertlansasi dan manajer emulasi. Context Switches

Translation Chaining Lompat dari satu translasi langsung ke dalam translasi yang lain dengan cara menjauhkan koneksi balik ke manajer emulasi.

Dynamic Optimization Bagaimana untuk mengoptimiasai kode-kode biner ? Static optimization (compiling time optimization) Teknik optimisasi yang digunakan untuk menggenerate kode biner yang berdasarkan informasi semantik di source code. Dynamic optimization (run time optimization) Teknik optimisasi yang digunakan untuk menggenerate base kode biner pada informasi runtime yang berhubungan dengan input data program. Kenapa menggunakan teknik dynamic optimization ? Keuntungan : Mendapatkan keuntungan dari dynamic profiling. Tidak dipaksakan oleh unit kompilasi. Tahu eksekusi environment yang benar.

Dynamic Optimization Bagaimana mengimplementasikan dynamic optimization ? Menganalisis behavior program di dalam run time. Mengumpulkan informasi profiling run time Collect run time berdasarka data input dan karakteristik hardware host. Mentranslasi atau memodifikasi secara dinamis kode biner dengan mengurutkan ulang instruksi atau teknik lainnya. Menulis ulang biner yang telah dioptimisasi kedalam cache kode untuk eksekusi selanjutnya.

Dynamic Optimization Bagaimana menganalisa behavior program dan profile? Mengumpulkan statistik tentang bagaimaa program berjalan Branches (taken, not taken) Jump targets Data values Cache misses Kemampuan prediksi membuat statistik ini di gunakan untuk optimisasi dan digunakan untuk kebutuhan di masa mendatang Profiling dalam sebuah VM (Virtual Machine) berbeda dengan profiling tradisional yaitu dengan dengan menggunakan umpan balik untuk compiler.

Dynamic Optimization Dynamic binary translasi dan optimisasi :