Friday, August 24, 2012

CPU Management pada fitur LPAR di HCB2000

Di artikel sebelumnya, telah saya ulas mengenai beberapa fitur yang menjadi pembeda bagi sistem Hitachi Compute Blade 2000 (HCB2000), dimana salah satunya adalah fitur Logical Partitioning (LPAR) atau Hitachi Virtualization Manager (HVM). Pada artikel ini, mari kita coba kenali lebih jauh mengenai LPAR/HVM, khususnya mengenai resource (CPU) management yang mencakup CPU allocation, logical processor Group, dan logical processor Share Ratio. Untuk melengkapi artikel ini, berikut adalah video demo mengenai topik yang akan kita bahas.






Dalam pengetesan, saya menggunakan satu unit high performance server HCB2000 X57 yang dilengkapi dengan 2 physical processor Intel Xeon X7560. Masing-masing physical processor mempunyai 8 core sehingga totalnya adalah 16 core. Dengan mengaktifkan fitur Hyper Threading (HT), maka LPAR/HVM mengenali total 32 logical processor pada server ini.

Logical processor dapat dialokasikan terhadap LPAR dalam dua mode, yaitu Dedicated dan Shared. Apabila dialokasikan secara dedicated, maka HVM secara eksklusif akan memberikan sejumlah logical processor terhadap LPAR tersebut, dimana LPAR lain tidak dapat menggunakan logical processor ini, walaupun LPAR yang mempunyai hak atas logical processor sedang dalam posisi idle. Sebaliknya apabila dialokasikan secara shared, maka logical processor akan diambil dari suatu logical processor group. Apabila ada 3 LPAR yang menggunakan logical processor group yang sama dimana total logical processor yang dialokasikan lebih tinggi daripada total logical processor pada group, pada saat kondisi resource berlebih, misal hanya satu LPAR yang utilisasinya tinggi sementara dua LPAR lainnya idle, maka LPAR yang aktif dapat memanfaatkan seluruh resource sesuai alokasi yang diberikan. Namun apabila ketiga LPAR tersebut aktif, maka ketiga LPAR akan berbagi resource dengan metode time division, dimana pembagiannya akan bergantung pada nilai Share Ratio masing-masing LPAR.

OK, sampai disini saya sudah sebutkan mengenai logical processor group dan Share Ratio. Untuk mempermudah, saya akan analogikan kedua istilah di LPAR/HVM ini dengan istilah pada VMware vSphere. Kurang lebih logical processor group sama dengan Resource Pool pada VMware vSphere, namun khusus untuk CPU resource saja. Logical processor yang dimiliki oleh physical server dapat dikelompokkan menjadi logical processor group dengan tujuan isolasi pemakaian resource antara kelompok LPAR yang berbeda. Sementara Share Ratio bisa dianalogikan dengan CPU Shares, dimana sekelompok LPAR yang mengakses logical processor group yang sama secara Shared akan mendapatkan prioritas penggunaan resource sesuai nilai Share Ratio ini.

Kembali ke video demo di atas, 32 logical processor yang ada saya bagi menjadi 2 logical processor group; Group 0 terdiri dari 24 logical processor, sementara Group 1 terdiri dari 8 logical processor. Pada physical server saya buat 6 LPAR dengan spesifikasi yang sama, yaitu 4 logical processor dan 6GB memory. LPAR01, LPAR02, dan LPAR03 diset menggunakan mode Shared ke Group 1 dengan Share Ratio yang sama untuk ketiga LPAR, sementara LPAR04, LPAR05, dan LPAR06 diset menggunakan mode Dedicated ke Group 0. Dengan kondisi ini, maka pada Group 0 terjadi kelebihan resource, yaitu logical processor group yang terdiri dari 24 logical processor, sementara yang digunakan hanya 12 dedicated logical processor. Sebaliknya di Group 1 yang terdiri dari 8 logical processor akan digunakan secara Shared untuk 12 logical processor.

Pada demo pertama, saya menggunakan aplikasi PerformanceTest dari PassMark untuk memberikan beban pada processor masing-masing LPAR. Pada saat yang bersamaan, keenam LPAR yang sudah diset sebelumnya dibebani dengan menjalankan aplikasi tersebut. Dari sisi OS pada masing-masing LPAR, task manager menunjukkan penggunaan CPU yang mendekati 100%, sesuai dengan hasil yang ditunjukkan oleh HVM Navigator untuk masing-masing LPAR. Namun apabila kita lihat dari resource yang digunakan dalam skala physical server, terlihat perbedaan persentase penggunaan CPU per LPAR berbanding keseluruhan CPU resource yang ada. Dengan utilisasi ~100% pada setiap LPAR, LPAR01, LPAR02, dan LPAR03 masing-masing hanya menggunakan ~8.3% resource, sementara LPAR04, LPAR05, dan LPAR06 masing-masing menggunakan ~12.5%. Hal ini menunjukkan bahwa telah terjadi kelangkaan resource pada logical processor group 1, dimana LPAR01, LPAR02, dan LPAR03 berbagi pakai logical processor yang sama dengan porsi merata sesuai Service Ratio yang diberikan.

Selanjutnya ditunjukkan perubahan nilai Service Ratio untuk LPAR01 dari 100 menjadi 200, dimana LPAR02 dan LPAR03 tetap pada Service Ratio 100. Dengan kondisi ini, seharusnya pada saat terjadi kelangkaan resource, maka LPAR01 akan mempunyai hak yang lebih besar dibanding kedua LPAR lainnya, dengan nilai persentase 50%, yaitu 200 Service Ratio LPAR01 + 100 Service Ratio LPAR 02 + 100 Service Ratio LPAR 03 dibagi total nilai Service Ratio LPAR01 + LPAR02 + LPAR03, dari resource yang diberikan pada Group tersebut. Hasil yang sesuai ditunjukkan pada video demo dimana kini LPAR01 mendapatkan persentase sebesar 12.39%, sementara LPAR02 dan LPAR03 masing-masing turun persentasenya menjadi ~6.3%, dengan total persentase penggunaan resource untuk Group 1 tetap sekitar 25%.

Pada demo berikutnya diperlihatkan situasi dimana tidak ada kelangkaan resource dengan cara memindahkan LPAR01 dari logical processor group 1 ke logical processor group 0. Dengan kondisi ini, logical processor group 0 yang terdiri dari 24 logical processor mempunyai tanggungan sebanyak 16 logical processor dan logical processor group 1 yang terdiri dari 8 logical processor akan digunakan secara Shared untuk 8 logical processor. Dalam kondisi ini, masing-masing LPAR mendapatkan resource yang maksimal sehingga nilai persentase yang didapat sama ~12.5%.

Setelah melihat pengaruh alokasi resource dari sisi luar, saya melanjutkan performance test dari sisi OS. Kali ini saya menggunakan aplikasi Burn In Test, masih dari vendor yang sama, yaitu Pass Mark. LPAR01 saya kembalikan konfigurasinya ke konfigurasi awal dengan Service Ratio 100 di Group 1. Benchmark saya jalankan khusus untuk CPU saja secara bersamaan untuk keenam LPAR. Hasilnya menunjukkan hasil yang konsisten dengan hasil yang ditunjukkan oleh HVM Navigator dimana LPAR yang menggunakan Shared resources tetap memperoleh nilai benchmark yang lebih kecil dibanding dengan LPAR yang menggunakan Dedicated resources, walaupun dialokasikan jumlah logical processor yang sama, ketika terjadi kondisi kelangkaan resource.

Di bagian akhir video demo, saya menunjukkan perubahan logical processor pada LPAR05 dari 4 logical processor menjadi 8 logical processor, dan LPAR06 dari 4 logical processor menjadi 12 logical processor. Kondisi penggunaan resource yang imbang tetap dijaga pada Group 0 dimana kini keseluruhan 24 logical processor pada Group 0 digunakan oleh LPAR04, LPAR05, dan LPAR06. Hasil benchmark menunjukkan peningkatan performa dengan adanya penambahan logical processor tersebut.

Dari video demo ini terlihat pengaruh dari alokasi logical processor, penempatan LPAR pada logical processor group, dan nilai Share Ratio yang diberikan dapat berpengaruh pada performa yang akan dicapai oleh LPAR sehingga hal ini perlu dipertimbangkan dalam melakukan manajemen resource LPAR agar didapat performa maksimum tanpa pemborosan resource.

1 comment:

  1. Awesome!!!
    ternyata ada juga orang yang share tentang HCB2000 saya sudah nyari kemana2 belum dapet.
    kebetulan saya nemuin perangkat ini di tempat kerja dan saya bingung cara makenya karena terbiasa make perangkat murah.

    ow ya mas saya sudah add linkedin nya mohon di accept ya

    thank you mas.

    ReplyDelete