Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
ESTIMASI DAYA PADA LINGKUNGAN SERVER BLADE Hudan Studiawan1, Supeno Djanali, Wahyu Suadi Magister Teknik Informatika, Institut Teknologi Sepuluh Nopember Surabaya Email:
[email protected]
ABSTRAK Teknologi infrastruktur komputer server telah mengalami kemajuan yang sangat pesat. Salah satunya adalah teknologi server blade yang dirancang untuk menghemat daya listrik. Dalam sebuah sasis blade, terdiri dari beberapa server blade, modul manajemen, dan power domain. Power domain menyediakan daya untuk empat sampai enam server blade. Mengukur daya pada satu server blade cukup sulit dilakukan karena sumber daya yang digunakan harus dibagi dengan blade yang lain. Beberapa penelitian untuk mengestimasi daya yang dikonsumsi sebuah server telah diajukan. Akan tetapi, penelitian tersebut hanya mempertimbangkan parameter utilisasi utama yaitu prosesor, memori, hard disk, dan tingkat transfer data pada jaringan. Metode yang digunakan sebelumnya hanya menggunakan program linear biasa. Oleh karena itu dalam makalah ini, diajukan metode estimasi daya pada lingkungan server blade yang menambahkan parameter penggunaan memori virtual selain mempertimbangkan utilisasi utama. Perhitungan dilakukan dengan cara yang lebih akurat yaitu dengan regresi linier berganda. Hal ini dilakukan untuk meningkatkan akurasi estimasi daya. Uji coba yang dilakukan pada lingkungan BladeCenter tipe HS20 menunjukkan bahwa metode estimasi daya yang diajukan mencapai akurasi sebesar 95,98%. Kata kunci: estimasi daya, server blade, memori virtual, regresi linear berganda. PENDAHULUAN Estimasi daya merupakan salah satu bagian penting dari optimasi konsumsi daya. Sebelum dioptimasi, terlebih dulu harus dihitung daya yang dikonsumsi oleh suatu komputer server. Teknologi blade dirancang untuk menghemat daya listrik ini. Dalam satu sasis bisa berisi beberapa blade. Terdapat perangkat lunak seperti IBM Systems Director yang mampu melakukan manajemen daya pada sasis beserta server di dalamnya. Perangkat lunak ini harus terhubung dengan modul manajemen dan power domain pada bagian belakang sasis. Akan tetapi, tidak semua blade bisa dimonitor dan dimanipulasi pengunaan dayanya (non-power managed). Sehingga, diperlukan estimasi untuk mengetahui daya yang dikonsumsi suatu blade. Berbagai riset untuk mengestimasi daya telah diajukan. Estimasi daya pada seluruh sistem menggunakan penghitung kinerja pada mikroprosesor dibahas pada [1]. Akses ke chipset, mikroprosesor, memori, disk, dan input/output (I/O) dicatat oleh mikroprosesor dan data ini digunakan untuk memperkirakan daya. Pada [3], diajukan pemodelan daya pada lingkungan server blade dan Itanium yang disebut Mantis. Mantis menghitung penggunaan central processing unit (CPU), akses ke memori, serta tingkat I/O pada hard disk dan jaringan. Data-data yang dikumpulkan ini kemudian dihitung dengan program linier untuk menghasilkan rumus estimasi daya.
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Utilisasi CPU tanpa menghitung penggunaan komponen server yang lain terbukti cukup akurat untuk menghitung daya [4,6]. Pendekatan dengan memanfaatkan penghitung kinerja pada mikroprosesor dan hanya mempertimbangkan frekuensi prosesor juga telah diajukan [9] dan memberikan hasil yang baik pula. Hal ini disebabkan oleh daya CPU yang mencapai 58% dari konsumsi total daya [5]. Menghitung daya tanpa menggunakan alat ukur perangkat keras juga telah dilakukan pada lingkungan mesin virtual [5]. Parameter yang dipertimbangkan juga masih sama dengan Mantis [3]. Cara yang lebih sederhana untuk memodelkan konsumsi daya bisa diimplementasikan dengan mengestimasi konsumsi daya puncak untuk seluruh sistem pada beban kerja maksimum [8]. Sebagai contoh, untuk konsumsi daya puncak CPU bisa diketahui dari Thermal Design Power (TDP) yang telah disediakan oleh masing-masing vendor. Berbeda dari riset-riset yang telah dijelaskan sebelumnya, dalam makalah ini diajukan estimasi daya yang mempertimbangkan utilisasi memori virtual pada sistem operasi Linux (swap) yang banyak digunakan pada server bertipe blade. Perhitungan utilisasi dilakukan tidak menggunakan program linier tetapi dengan metode regresi linier berganda. Makalah ini disusun sebagai berikut. Langkah-langkah penelitian dideskripsikan pada bagian Metode. Selanjutnya, hasil uji coba dan analisisnya disampaikan pada bagian Hasil dan Diskusi. Pada bagian Kesimpulan, dijelaskan kembali secara singkat solusi alternatif estimasi daya yang diajukan dalam makalah ini. METODE Spesifikasi Blade dan Perangkat Lunak yang Digunakan Lingkungan server blade yang digunakan adalah sebagai berikut. Tipe sasis yaitu IBM BladeCenter E 8677 dan tipe blade adalah HS20 8843. Sedangkan spesifikasi masing-masing komponen terdapat pada Tabel 1. Tabel 1. Spesifikasi Komponen Blade
Komponen Prosesor Memori Hard disk Swap Sistem operasi Versi kernel
Spesifikasi 3,2 GHz 2 GB 2x73,4 GB 2,8 GB Ubuntu 10.04 2.6.32-21
Parameter utama yang digunakan untuk mengestimasi daya adalah utilisasi prosesor, memori, hard disk, swap, dan tingkat transfer data pada jaringan. Penggunaan swap dipertimbangkan dalam perhitungan karena komponen ini juga mempunyai peranan penting terutama ketika memori fisik mencapai beban maksimum. Memori virtual akan membantu memori fisik dalam pemrosesan data. Di samping itu, swap juga berfungsi sebagai penampung sementara data yang disimpan dalam memori. Sehingga, bisa mempercepat proses transfer data [13]. Data utilisasi berbagai komponen ini dicatat dengan perangkat lunak sar (system activity reporter) yang terdapat dalam paket sysstat yang bisa didapatkan secara bebas ISBN : 978-602-97491-2-0
C-16-2
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
pada repositori Linux berbasis Debian. Selanjutnya, dibuat proses yang berjalan pada background sistem operasi (daemon) yang mengotomasi proses pencatatan utilisasi dan menuliskannya ke dalam sebuah file log. Untuk mendapatkan data daya awal, daya yang dikonsumsi oleh server ini didapatkan dari perangkat lunak IBM PowerExecutive. IBM PowerExecutive merupakan plugin pada IBM Systems Director yang digunakan untuk memanipulasi daya mulai dari pengukuran, monitoring, sampai pembatasan daya [12]. IBM System Director melakukan berbagai fungsi manajemen pada sasis blade beserta komponen-komponen di dalamnya. IBM PowerExecutive mengakses sensor daya pada blade sehingga bisa menghasilkan pengukuran yang akurat. IBM PowerExecutive harus dikonfigurasi dengan benar dan terkoneksi dengan modul manajemen yang terdapat bagian belakang sasis. Daya per menit yang dicatat oleh IBM PowerExecutive kemudian diekspor ke file dalam format csv untuk pengolahan lebih lanjut. Setelah itu, terdapat lima benchmark yang digunakan yaitu Linpack [2], Stream [7], Tiobench [14], Interbench [15], dan Netperf [16] untuk memberikan berbagai macam beban kepada server. Linpack merupakan benchmark yang bersifat CPU-bound. Sedangkan Stream digunakan untuk memberikan beban kepada memori. Beban pada hard disk diberikan dengan menjalankan Tiobench. Interbench merupakan benchmark yang paling utama dalam makalah ini karena Interbench memberikan beban pada memori virtual untuk bekerja lebih berat. Di sisi lain, tingkat transfer data pada I/O jaringan diuji dengan Netperf. Metode yang Diajukan Daemon untuk mencatat utilisasi masing-masing komponen server dijalankan terlebih dulu. Selanjutnya, IBM PowerExecutive dipastikan sudah berjalan dengan baik dan bisa memonitor daya yang dikonsumsi server. Kemudian, benchmark dijalankan untuk memberikan beban kepada prosesor, memori, hard disk, swap, dan I/O jaringan. Berbagai benchmark yang diberikan ini dimaksudkan untuk membebani komponen server sesuai dengan kerja server yang memproses berbagai macam tugas. Diagram blok yang menunjukkan metode estimasi daya secara umum ditunjukkan pada Gambar 1. Eksekusi daemon pencatat utilisasi
Jalankan IBM PowerExecutive
Jalankan benchmark
Persamaan estimasi daya
Estimasi dengan regresi linier berganda
Sinkronkan data utilisasi dan daya
Gambar 1. Diagram blok metode yang diajukan
Data dari file log daemon dan IBM PowerExecutive disinkronkan sehingga didapatkan data yaitu utilisasi komponen dan daya yang dikonsumsi per menit. Data ini digunakan sebagai input metode regresi linier berganda. Regresi linier berganda digunakan karena lebih baik dalam merepresentasikan beberapa variabel independen yang menjadi prediktor [11]. Persamaan regresi linier berganda yang digunakan dalam makalah ini adalah sebagai berikut [11]
ISBN : 978-602-97491-2-0
C-16-3
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
+
+ ⋯+
. . .
∑
=
. . .
+ +
∑
+⋯+ + ⋯+
. . .
∑
=
=∑
(1)
dengan n adalah jumlah data, x1 sampai x5 menunjukkan utilisasi prosesor, memori, hard disk, swap, dan I/O pada jaringan, y adalah daya hasil pengukuran IBM PowerExecutive. Sedangkan b0 sampai b5 adalah konstanta yang akan dicari dengan persamaan regresi linier berganda ini. Regresi linier berganda menghasilkan persamaan yang bisa digunakan untuk mengestimasi daya dari utilisasi komponen server. Selanjutnya, daya hasil estimasi dan daya dari IBM PowerExecutive dibandingkan dengan menghitung akurasinya, A, dengan rumus rata-rata, avg, sebagai berikut =
|
|
(2)
× 100%
dengan PIBM adalah daya yang didapatkan dari IBM PowerExecutive sedangkan Pest merupakan daya hasil estimasi. HASIL DAN DISKUSI Masing-masing benchmark dijalankan selama satu jam sehingga didapatkan data yang proporsional untuk masing-masing beban. Selain itu, daya dan utilisasi komponen juga dicatat oleh daemon pada kondisi server yang idle. Urutan kondisi pencatatan utilisasi adalah sebagai berikut: idle, benchmark untuk prosesor, memori, hard disk, swap, dan jaringan. Grafik utilisasi masing-masing komponen ketika menerima beban dari semua benchmark yang dijalankan ditunjukkan pada Gambar 2a sampai 2e.
ISBN : 978-602-97491-2-0
C-16-4
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
(c) (d)
(a)
(d)
(b)
(e)
(c) Gambar 2. Utilisasi masing-masing komponen pada saat diberi benchmark
ISBN : 978-602-97491-2-0
C-16-5
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
Gambar 3. Perbandingan daya dari IBM PowerExecutive dan hasil estimasi.
Dari grafik utilisasi masing-masing komponen dapat diketahui bahwa berbagai benchmark yang diberikan mampu membebani komponen secara bervariasi. Data utilisasi dan daya dihitung dengan regresi linier berganda dan menghasilkan persamaan sebagai berikut Pest = 82,2812 + (41,0497 * Upros) + 25,9995 * Umem + -59,1855 * Udisk + 215,979 * Uswap + -29,171 * Unet
(3)
dengan Upros, Umem, Udisk, Uswap, dan Unet masing-masing adalah utilisasi prosesor, memori, hard disk, swap, dan tingkat transfer data pada jaringan. Daya dari estimasi metode yang diajukan dihitung akurasinya dengan daya dari IBM PowerExecutive. Sedangkan perbandingan keduanya bisa dilihat pada Gambar 3. Perhitungan akurasi dilakukan dengan rumus (2) menghasilkan nilai 95,98%. Hasil ini lebih baik dari Mantis [3] yang akurasinya sebesar 90%. Akurasi ini masih cukup baik mengingat dalam estimasi daya, akurasi dari berbagai riset dalam bidang ini rata-rata sekitar 90% [10]. KESIMPULAN Dalam makalah ini, diajukan suatu metode untuk mengestimasi daya pada lingkungan server blade. Dalam metode ini dipertimbangkan parameter tambahan yaitu penggunaan memori virtual pada sistem operasi Linux selain utilisasi prosesor, hard disk, dan tingkat transfer data pada jaringan. Swap dipertimbangkan mengingat perannya yang cukup penting dalam membantu kinerja memori fisik. Sedangkan regresi linier berganda digunakan karena lebih baik dalam merepresentasikan beberapa variabel independen yang menjadi prediktor. Rata-rata akurasi dari metode yang diajukan mencapai 95,98%. Pengembangan ke depan yang perlu dilakukan adalah mencari model yang lebih baik untuk menghitung utilisasi berbagai komponen pada blade sehingga didapatkan akurasi yang lebih baik. Selain itu, juga perlu dipertimbangkan parameter lain pada server blade yang lain misalnya daya yang dikonsumsi oleh sasis. ISBN : 978-602-97491-2-0
C-16-6
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
DAFTAR PUSTAKA [1] Bircher, W.L. dan John, L.K. (2007), "Complete System Power Estimation: A Trickle-Down Approach Based on Performance Events", Proceedings of the International Symposium on Performance Analysis Systems and Software, San Jose, IEEE, hal. 158-168. [2] Dongarra, J.J, Luszczek, P., dan Petitet, A. (2003), “The LINPACK Benchmark: Past, Present, and Future”, Concurrency and Computation: Practice and Experience, John Wiley & Sons, Vol. 5, No. 9, hal. 803-820. [3] Economou, D., Rivoire, S., Kozyrakis, C., dan Ranganathan, P. (2006), "Fullsystem power analysis and modeling for server environments", Workshop on Modeling, Benchmarking and Simulation, Boston, University of Minnesota. [4] Fan, X., Weber, W., dan Barroso, L.A. (2007), "Power Provisioning for a Warehouse-sized Computer", Proceedings of the ACM International Symposium on Computer Architecture, New York, ACM, hal. 13-23. [5] Kansal, A., Zhao, F., Liu, J., Kothari, N., dan Bhattacharya, A.A. (2010), “Virtual Machine Power Metering and Provisioning”, Proceedings of the 1st Symposium of Cloud Computing, ACM, Indianapolis, hal. 39-50. [6] Li, Li., Bo, Yang., dan ZhiGuo, Gao. (2009), “A Model of Web Server’s Performance-Power Relationship”, Proceedings of the 2009 International Conference on Communication Software and Networks, IEEE Computer Society, hal. 260-264. [7] McCalpin, J. (1995), STREAM: Sustainable Memory Bandwidth in High Performance Computers, http://www.cs.virginia.edu/stream. [8] Poess, M. dan Nambiar, R.O. (2008), “Energy Cost, The Key Challenge of Today’s Data Centers: A Power Consumption Analysis of TPC-C Results”, Proceedings of the 2008 PVLDB, ACM, Auckland, hal. 1229-1240. [9] Rajamani, K., Hanson, H., Rubio, J.C., Ghiasi, S., dan Rawson, F.L (2006), Online Power and Performance Estimation for Dynamic Power Management, IBM Research Report, IBM, New York. [10] Rivoire, S., Ranganathan, P., Kozyrakis, C. (2008), “A Comparison of high-level full-system power models”, Proceedings of HotPower 2008: Workshop on Power Aware Computing and Systems. [11] Walpole, R.E., Myers, R.H., Myers, S.L., Ye, K. (2007), Probability and Statistics for Engineers & Scientists, 8th edition, Prentice Hall, New Jersey. [12] Watts, D., Brenneman R.J., Feisthammel, D., Sutherland, T. (2007), Implementing IBM Director 5.20, 4th edition, IBM RedBooks, New York. [13] Gorman, Mel. (2004), Understanding The Linux Virtual Memory Manager, Prentice Hall, 1st edition, New Jersey. [14] Kuoppala, M., Tiobench: http://sourceforge.net/projects/tiobench/ ISBN : 978-602-97491-2-0
C-16-7
Threaded
I/O
Tester,
Prosiding Seminar Nasional Manajemen Teknologi XIII Program Studi MMT-ITS, Surabaya 5 Pebruari 2011
[15] Kolivas, C., Interbench, The http://users.on.net/~ckolivas/interbench/ [16] Jones, R., Netperf, A http://www.netperf.org/netperf/
ISBN : 978-602-97491-2-0
Linux network
C-16-8
interactivity
benchmark,
performance
benchmark,