Menguji Isolasi Kinerja Mesin Virtual

Sebelumnya, saya sudah membahas cara mengukur dua parameter lain dari skalabilitas teknologi virtualisasi, yaitu: overhead dan linearitas mesin virtual. Sekarang, parameter skalabilitas lainnya, karakteristik hypervisor dalam mengisolasi sumber daya, akan dibahas.

Apa maksudnya isolasi kinerja?

Dari Kamus Besar Bahasa Indonesia (KBBI), isolasi memiliki beberapa makna: 1 pemisahan suatu hal dari hal lain atau usaha untuk memencilkan manusia dr manusia lain; pengasingan; pemencilan; pengucilan; 2 keadaan terpencilnya satu wilayah krn jauh dr hubungan lalu lintas; 3 penyekatan (penghambatan atau penahanan) arus listrik oleh suatu bahan sehingga arus itu tidak dapat mengalir;

Dalam bidang virtualisasi, isolasi kinerja mengarah kepada bagaimana teknologi virtualisasi memberi batasan sumber daya kepada komponen-komponen yang diaturnya. Bagaimana agar penggunaan sumber daya tidak rebutan dan menimbulkan konflik hingga mengacaukan kinerja mesin virtual lainnya.

Seberapa jauh proteksi lingkungan virtual melakukan isolasi antara satu mesin dengan mesin yang lain? Isolasi kinerja memastikan bahwa pada situasi yang tidak seimbang antara mesin-mesin virtual, seluruh mesin virtual memperoleh akses yang sama terhadap sumber daya mesin.

Bagaimana cara menguji isolasi kinerja?

Sebenarnya, cara menguji isolasi kinerja mesin virtual itu tidak ada cara bakunya. Terserah dengan peneliti. Saya menggunakan teknik yang diusulkan oleh Quétier, Neri, dkk. (2007).

Caranya, dua mesin virtual (VM1 dan VM2) dijalankan secara bersamaan. VM2 mengeksekusi dua perintah yang sama secara bersamaan, sedangkan VM1 mengeksekusi satu perintah yang sama, bersamaan dengan VM2. Kondisi ini diilustrasikan pada gambar ini:

isolasi kinerja
cara pengujian isolasi kinerja

Proses yang dilakukan tergantung komponen yang mau diukur. Bisa pembebanan CPU, pembebanan jaringan, harddisk, atau eksekusi aplikasi biasa seperti media player, converting file, akses database, dan sebagainya.

Biar bisa mengeksekusi secara bersamaan, saya menggunakan fitur crontab pada Linux.

Berbagai Jenis Isolasi Kinerja

Dari pengamatan saya, jika masing-masing mesin virtual memiliki spesifikasi sumber daya yang sama, ada tiga macam cara yang diterapkan oleh hypervisor dalam mengisolasi kinerja. Ilustrasinya masih berhubungan dengan cara pengujian yang diusulkan Quetier itu, yaitu eksekusi 3 proses dalam 2 mesin virtual.

1. Isolasi kinerja diterapkan antarproses dalam sistem.

Pengalokasian sumber daya dihitung berdasarkan banyaknya proses yang terdapat pada sistem. Misalnya, bandwidth jaringan yang tersedia 9 Gbps. Karena ada 3 proses yang membutuhkan jaringan dengan kapasitas yang sama besar, bandwidth 9 Gbps itu dibagi 3 sehingga masing-masing proses mendapatkan bandwidth 3 Gbps.

isolasi antarproses
isolasi antarproses

Grafik di atas menunjukkan bahwa tiap proses memiliki throughput yang nyaris sama besar.

2. Isolasi kinerja diterapkan antarmesin virtual

Tiap mesin virtual dijatah sumber daya yang besarnya konstan. Pada suatu mesin virtual, meskipun proses yang di dalamnya lebih banyak daripada proses pada mesin virtual lain, mesin tersebut tidak mendapatkan hak khusus. Mereka mendapatkan sumber daya sesuai jatah yang telah di-assign oleh administrator.

Misalnya pas pembuatan mesin virtual di awal, masing-masing mesin virtual dijatah prosesor 1 core. Jika dilakukan pembebanan CPU (skenario 3 proses dalam 2 VM), waktu eksekusi pada VM2 adalah 2x lipat dari waktu yang diperlukan proses di VM1. Hal ini terjadi karena di VM2, 1 core dipakai oleh 2 proses pembebanan CPU, sedangkan di VM1, 1 core dipakai oleh 1 proses saja…

isolasi antarmesin virtual
isolasi antarmesin virtual

3. Isolasi kinerja antarmesin virtual, namun ada usaha optimalisasi sumber daya

Pada poin 2, saat VM1 telah selesai melakukan tugasnya, 1 core CPU itu dibiarkan menganggur meskipun VM2 sedang sangat butuh CPU. Pada isolasi jenis ketiga ini, jika ada proses yang sedang berjalan pada sistem, sumber daya tidak akan dibiarkan menganggur (dioptimalisasi).

Jika Ta adalah waktu eksekusi aplikasi pada sebuah mesin virtual, Ta1 dan Ta2 adalah waktu eksekusi proses yang sama pada VM1 dan VM2. Isolasi kinerja jenis ini diilustrasikan dengan relasi (Quétier, Neri, dkk., 2007):

Ta1 = 2Ta dan Ta2 = 3Ta

dengan
Ta         = waktu eksekusi pada mesin virtual
Ta1        = waktu eksekusi pada VM1
Ta2        = waktu eksekusi pada VM2

Analisis saya terhadap rumus tersebut, teori ini menggunakan beberapa asumsi. Asumsi pertama adalah saat ada dua VM aktif, sumber daya dibagi menjadi dua sama rata sehingga Ta1 = 2Ta. Asumsi kedua adalah saat VM1 telah selesai menggunakan sumber daya, sumber daya dibagikan kepada VM2 yang belum selesai melakukan komputasi sehingga Ta2 = 3Ta.

Misalnya pada kasus pembebanan CPU tadi, VM1 telah selesai menggunakan 1 core CPU yang diberikan. Maka, 1 core CPU itu diberikan kepada VM2 yang baru setengah jalan. Dengan demikian, VM2 jadi punya 2 core CPU. Karena CPU lebih banyak, waktu eksekusi jadi lebih cepat.

isolasi kinerja tipe ke-3
isolasi kinerja tipe ke-3 ditunjukkan oleh UML, Xen, dan VMWare (Quetier, dkk., 2007)

Nah, itulah penjelasan tentang isolasi kinerja. Masih bingung? Wajar 🙂 Silakan dibaca berulang-ulang. Kalau masih bingung, jangan malu untuk bertanya…

Semoga bermanfaat 😉

Referensi

Kamus Besar Bahasa Indonesia (KBBI) versi 1.0.4, Chrome Plugin

Quétier, Benjamin. Neri, Vincent. Cappello, Franck. 2007. ”Scalability Comparison of Four Host Virtualization Tools”. Journal of Grid Computing, Vol. 5 pp. 83-98.

Rahma, Fayruz. 2012. Analisis Skalabilitas Private Cloud Berbasis Hypervisor KVM untuk Layanan IaaS. Skripsi S1. Jurusan Teknik Elektro dan Teknologi Informasi FT UGM. Tidak Dipublikasikan.

Iklan

Penulis: fayruzrahma

always trying to be a simple person :)

9 thoughts on “Menguji Isolasi Kinerja Mesin Virtual”

      1. Dalam pengujian ini, isolasi dilakukan oleh hypervisor/pengatur mesin virtual. Jadi, saya tidak melakukan pengaturan isolasi secara manual…

        Pengujian dilakukan menggunakan server yang dipasang dua mesin virtual. Satu mesin virtual mengeksekusi satu perintah tertentu, dan mesin virtual satunya mengeksekusi dua perintah yang sama.

        Perintah (pembebanan) yang diberikan ada beberapa, misalnya:
        https://fayruzrahma.wordpress.com/2012/05/03/mengukur-waktu-kalkulasi-persamaan-dengan-maxima/
        dan
        https://fayruzrahma.wordpress.com/2012/10/04/mengukur-isolasi-kinerja-dari-sistem-virtual-dengan-enam-pengujian/

        Suka

    1. Perbandingannya tidak menggunakan software benchmark khusus. Data-data dari hasil pembebanan dibandingkan secara manual, divisualisasikan dengan grafik.

      Agar mesin virtual dapat mengeksekusi pembebanan secara bersamaan, saya menggunakan fitur CRONTAB pada Ubuntu.

      Suka

  1. Ta = waktu pada non VM ? bukannya pada single VM ya mbak?
    saya masih bingung knp muncul Ta2 = 3Ta? hehe
    apakah emang udah rumus bakunya/tidak ?

    Suka

    1. oya, yg benar pada single VM. terima kasih atas koreksinya 🙂

      dari apa yang saya pahami, Ta2 = 3Ta itu rumus kondisi ideal untuk isolasi tipe ke-3. Rumus ini muncul di paper “Scalability Comparison of Four Host Virtualization Tools”.

      Misalnya, pada kasus isolasi bandwidth jaringan, tersedia 3000 KB. Saat aplikasi dijalankan, tiap VM mendapatkan bandwidth yang sama besar, yaitu 1500 KB per VM. di VM2, karena ada dua aplikasi, masing-masing aplikasi mendapatkan bandwidth 750 KB.

      Jadi, aplikasi VM1 = 1500 KB, aplikasi1 VM2 = 750 KB, aplikasi2 VM2 = 750KB.

      Karena data yang dikirimkan dan teknologinya sama, idealnya eksekusi aplikasi VM1 lebih cepat selesai. Saat aplikasi VM1 sudah selesai, aplikasi-aplikasi di VM2 baru setengah jalan.

      Karena bandwidth yang tadi dipakai VM1 nganggur, 1500 KB VM1 dialihkan ke VM2. Dengan demikian, kini VM2 dapat 3000 KB, masing-masing aplikasi mendapatkan bandwidth 1500 KB. Setengah proses aplikasi VM2 yang tersisa akan dieksekusi dengan dua kali lebih cepat.

      Waktu yg dibutuhkan untuk setengah jalan awal di VM2 = 2Ta
      Waktu yg dbutuhkan untuk setengah jalan akhir di VM2 = Ta

      Jadi, totalnya 3Ta.

      Saya belum menemukan referensi yang menguatkan konsep ini. Penjelasan tersebut hanya berasal dari apa yang saya pahami.

      Cmiiw 🙂

      Suka

Ada komentar?

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s