good linearity
Technology

Mengukur Linearitas Mesin Virtual

Sebelumnya, saya sudah membahas tentang cara mengukur overhead mesin virtual. Sekarang, giliran cara mengukur linearitas yang akan dibahas di sini…

Apa sih linearitas itu?

Linearitas adalah peniliaian kuantitatif mengenai seberapa kuat suatu set data terhubung antara satu dengan yang lainnya (McGrath, ____). Evaluasi linearitas dilakukan dengan mengukur seberapa erat hubungan antara peningkatan jumlah mesin virtual yang aktif dan mengeksekusi pesan yang sama dengan waktu eksekusi perintah yang diberikan.

Apabila kemampuan linearitas diketahui, jumlah maksimal mesin virtual yang dapat aktif tanpa memperburuk kinerja sistem dapat diketahui pula. Linearitas yang buruk ditunjukkan dengan peningkatan waktu eksekusi yang semakin lama semakin tinggi (Quétier, Neri, dkk., 2007).

Jika aplikasi memerlukan waktu t ketika dijalankan pada sebuah mesin virtual, saat aplikasi dijalankan bersama-sama pada n mesin virtual, waktu eksekusi aplikasi maksimal adalah:

tmax = Ov + t x n

Dengan Ov adalah nilai overhead yang cara pengukurannya telah dibahas di artikel ini.

Masih bingung ya? Gak papa, saya butuh waktu berbulan-bulan buat ngerti bener apa itu linearitas x) Dan saya juga sebenernya masih bingung sama rumusnya, kok kayak gitu, hmmm… =.=

Simpelnya, good linearity berarti hubungan antara jumlah mesin virtual dan waktu eksekusi yang diperlukan itu erat banget. Misalnya satu mesin virtual yang ngitung kalkulasi akar 2 butuh waktu 10 detik. Kalau dua mesin virtual ngitung itu juga secara terpisah dan bersama-sama, butuh waktu 20 detik. Kalau tiga mesin virtual melakukan kalkulasi berbarengan (tapi tidak saling bekerja sama) butuh waktu 30 detik. Jadi, hubungannya itu linear. Contoh gambarnya gini nih:

good linearity
good linearity

Di gambar tersebut, penurunannya konstan. Beban tiap penambahan mesin virtualnya nyaris sama terus. Bahkan bisa dibuat persamaan linearnya. Jadi, ini bisa disebut good linearity.

Kalo linearitasnya buruk, itu yang seperti apa?

Yang buruk itu, yang hubungan antara waktu eksekusi dan jumlah mesin virtualnya tidak erat. Yang buruk banget, itu yang kenaikan waktu eksekusinya semakin lama semakin tinggi sehingga waktu eksekusi yang diperlukan jauuuh dari waktu maksimal yang diperkirakan. Contohnya gini:

poor linearity
poor linearity

Pada contoh poor linearity itu, ngakses file dari harddisk virtual di satu mesin virtual butuh 4 detik. Kalau ada dua mesin virtual yang mengakses harddisk bersamaan, butuh waktu 9 detik. Kalau ada empat mesin virtual yang mengakses harddisk bersamaan, butuh sekitar 180 detik. Selisihnya jauuh banget kaaan.

Normalnya, kalau empat mesin virtual mengakses cakram secara sekuensial, itu cuma butuh waktu 4 detik x 4 mesin = 16 detik saja. Tapi kenyataannya, karena dilakukan secara paralel, mungkin harddisknya jadi bingung, pusing, jadi waktu yang dibutuhkan berkali-kali lipat gitu.

Jadi, bisa dibilang hubungan antara jumlah mesin virtual dan waktu eksekusi tidak erat. Jadi jelek gitu performanya. Poor Linearity.

Terus, gimana caranya mengaplikasikan ngitung linearitas dari mesin-mesin virtual ber-OS Linux?

Biar bareng-bareng eksekusinya, saya menggunakan fitur crontab yang sudah tersedia pada Linux. Kalau belum tau crontab itu apa, silakan search sendiri ya 😛

Contoh script crontab untuk menguji linearitas jaringan:

# m h  dom mon dow   command
15 2 24 5 4 ./testnetperf

dengan:
m = minute
h = hour, format 24 jam.
dom = day of month (tanggal)
mon = month (bulan)
dow = day of week (0  = Minggu, 1 = Senin, dan seterusnya)
command = perintah yang akan dieksekusi

Dengan demikian, pada contoh di atas, perintah untuk mengeksekusi script testnetperf dilakukan pada hari Kamis tanggal 24 Mei jam 2:15.

Perintah ini diterapkan pada setiap mesin virtual yang akan mau ngelakuin benchmark bareng-bareng. Sebelumnya, dicek dulu setting waktu mereka sama persis gak? Kalau waktunya udah sama persis,  nanti mereka bisa start benchmark bareng-bareng, gitu…

Kira-kira begitulah cara mengukur linearitas mesin virtual. Semoga bermanfaat. Tolong dikoreksi juga kalau ada yang salah, terima kasih 🙂

Referensi

McGrath, Colin. ____. How to Calculate Linearity. Diakses dari http://www.ehow.com/how_7560898_calculate-linearity.html pada 19 Juli 2012 19 Juli 2012 14:09

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.

10 tanggapan untuk “Mengukur Linearitas Mesin Virtual”

  1. numpang nanya dikit bu..
    maksud dari tulisan paragrap terakhir ini apa ya?

    “Perintah ini diterapkan pada setiap mesin virtual yang akan mau ngelakuin benchmark bareng-bareng. Sebelumnya, dicek dulu setting waktu mereka sama persis gak? Kalau waktunya udah sama persis, nanti mereka bisa start benchmark bareng-bareng, gitu…”

    apa uji coba ini bisa dikatakan sebagai benchmarking atau gamana?
    trims

    Suka

  2. satu lagi bu,, bisa tolong dikirim jurnal “Scalability Comparison of Four Host Virtualization Tools” nggak.
    saya sedang melakukan penelitian tugas akhir dengan tema virtualization. trims

    Suka

  3. numpang tanya sedikit bu…
    maksud dari tulisan di paragrap terakhir, apa ya?

    “Perintah ini diterapkan pada setiap mesin virtual yang akan mau ngelakuin benchmark bareng-bareng. Sebelumnya, dicek dulu setting waktu mereka sama persis gak? Kalau waktunya udah sama persis, nanti mereka bisa start benchmark bareng-bareng, gitu…”

    apa pengujian ini bisa disebut dengan benchmarking? atau gmana?
    trims

    Suka

Tinggalkan Balasan ke IBM Batalkan balasan

Situs ini menggunakan Akismet untuk mengurangi spam. Pelajari bagaimana data komentar Anda diproses.