OPTIMALISASI KINERJA DUAL-CORE PROCESSOR PADASERVER
MELALUI PENGALOKASIAN DAN PENGISOLASIAN
PROSES-PROSES APLIKASI DENGAN SOLARIS CONTAINERS
SKRIPSI
AINUL HIZRIADI 041401035
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
OPTIMALISASI KINERJA DUAL-CORE PROCESSOR PADA SERVER MELALUI PENGALOKASIAN DAN PENGISOLASIAN PROSES-PROSES APLIKASI
DENGAN SOLARIS CONTAINERS
SKRIPSI
Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Sains
AINUL HIZRIADI 041401035
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS SUMATERA UTARA
MEDAN 2010
PERSETUJUAN
Judul : OPTIMALISASI KINERJA DUAL-CORE PROSESOR PADA SERVER MELALUI PENGALOKASIAN DAN PENGISOLASIAN PROSES-PROSES APLIKASI DENGAN SOLARIS CONTAINERS
Kategori : SKRIPSI
Nama : AINUL HIZRIADI Nomor Induk Mahasiswa : 041401035
Program Studi : SARJANA (S1) ILMU KOMPUTER Departemen : ILMU KOMPUTER
Fakultas : MATEMATIKA DAN ILMU PENGETAHUAN ALAM (FMIPA) UNIVERSITAS SUMATERA UTARA
Diluluskan di Medan, 2010 Komisi Pembimbing :
Pembimbing 2 Pembimbing 1
M. Umar Saleh T, ST Drs. Suyanto, M.Kom
NIP. 196206242006041015 NIP. 19590813198011002
Diketahui/Disetujui oleh Program S1 Ilmu Komputer Ketua,
Prof. Dr. Muhammad Zarlis NIP. 195707011986011003
iii
PERNYATAAN
OPTIMALISASI KINERJA DUAL-CORE PROSESOR PADA SERVER MELALUI PENGALOKASIAN DAN PENGISOLASIAN PROSES-PROSES APLIKASI
DENGAN SOLARIS CONTAINERS
SKRIPSI
Penulis mengakui bahwa skripsi ini adalah hasil karya penulis sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya.
Medan, Maret 2010
AINUL HIZRIADI 041401035
PENGHARGAAN
Alhamdulillah wa syukrilah, puji syukur penulis panjatkan kehadirat Allah SWT, yang telah memberikan rahmat, ridho-Nya, iman dan Islam serta segala sesuatunya dalam hidup, sehingga penulis dapat menyelesaikan penyusunan skripsi ini, sebagai syarat untuk memperoleh gelar Sarjana Komputer, Program Studi Ilmu Komputer Universitas Sumatera Utara. Shalawat dan Salam penulis hadiahkan kepada Nabi Besar Muhammad SAW.
Ucapan terima kasih yang sebesar-besarnya penulis sampaikan kepada Bapak Drs. Suyanto, M.Kom sebagai Dosen Pembimbing I dan Bapak M. Umar Saleh T, ST. sebagai Dosen Pembimbing II atas bimbingan, saran, masukan kepada penulis untuk menyempurnakan kajian ini. Panduan ringkas dan padat dan profesional telah diberikan kepada penulis agar penulis dapat menyelesaikan skripsi ini. Selanjutnya kepada para Dosen Penguji Bapak Prof. Dr. Muhammad Zarlis dan Ibu Maya Silvi Lydia, B.Sc, M.Sc atas saran dan kritikan yang sangat berguna bagi penulis. Ucapan terima kasih juga ditujukan kepada Ketua dan Sekretaris Program Studi S1 Ilmu Komputer, Bapak Prof. Dr. Muhammad Zarlis dan Bapak Syariol Sitorus, S.Si, MIT, Dekan dan Pembantu Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Sumatera Utara, semua dosen pada Program Studi S1 Ilmu Komputer FMIPA USU, pegawai di FMIPA USU.
Seluruh proses pengerjaan skripsi ini tidak akan dapat dilalui tanpa dukungan kedua Orang Tua dan Keluarga. skripsi ini penulis persembahkan untuk Mama Hj. Rosnaida dan Ayah, H. dr. Ahmad Chairi Rahman, yang telah memberikan segalanya dalam hidup, dan juga untuk kedua kakak dan abang penulis yaitu Ridha dan Ari. Semoga Allah SWT akan membalasnya. Kepada teman-teman sekelas Kom A atas kelapangan waktu yang diberikan kepada penulis untuk berbagi ilmu. Selanjutnya buat sahabat-sahabat terbaik, Santi Prayudani, terimakasih atas motivasi dan perhatiannya, teman-teman di Red Carpet Society yang sudah seperti saudara sendiri bagi penulis. Terimakasih pula kepada semua pihak yang tidak dapat penulis sebutkan satu persatu, terima kasih atas ide, saran, dan kerjasama yang baik.
Penulis menyadari bahwa laporan ini masih jauh dari kesempurnaan, karena kesempurnaan hanya milik Allah kekurangan adalah milik penulis. Oleh karena itu penulis menerima saran dan kritik yang bersifat membangun demi kesempurnaan laporan ini. Semoga dapat bermanfaat bagi kita semuanya.
v
ABSTRAK
Seringkali kemampuan komputasi yang dimiliki sebuah komputer server tidak dipergunakan secara optimal. Spesifikasi komputer dengan prosesor yang canggih yang saat ini umumnya telah memiliki lebih dari satu buah core, cenderung tidak dimanfaatkan dengan baik pada saat komputer idle. Hal ini yang mendasari dibuatnya tugas akhir ini. Kajian ini bertujuan memanfaatkan kemampuan prosesor dual-core dengan seoptimal mungkin, yaitu dengan cara mengelola penggunaan prosesor oleh dua aplikasi yang dijalankan secara bersamaan pada sebuah server. Untuk melakukannya, digunakanlah Solaris Containers untuk mengalokasikan penggunaan kedua core prosesor oleh kedua aplikasi yang dijalankan. Dengan cara ini, dua aplikasi yang umumnya dijalankan pada dua server yang berbeda dapat digabungkan dalam satu buah server, sekaligus memanfaatkan kemampuan prosesor dengan seoptimal mungkin.
OPTIMIZE THE PERFORMANCE OF DUAL-CORE PROCESSOR ON THE SERVER THROUGH THE ALOCATION AND ISOLATION OF
APPLICATION PROCESSES WITH SOLARIS CONTAINERS
ABSTRACT
Most of the time, computing power of server computer is not utilized to the maximum. Generally, computer with latest prosesors already has multi cores, which commonly not being leveraged optimally while the computer is idle. This issue is the base of this final assignment project. This study aims to utilize the multi-core prosesor computing power as optimal as possible, which is by managing the processing power utilization by two applications running in parallel within the server. To achieve that, Solaris Container technology is being used to manage allocations of computing power utilization of the two cores of the prosesor by the two applications running. This way, two different applications usually run on two different servers can be consolidated into one server, while utilizing the computing power of the prosesor as optimal as possible.
vii DAFTAR ISI Halaman HALAMAN PERSETUJUAN ii PERNYATAAN iii PENGHARGAAN iv ABSTRAK v ABSTRACT vi
DAFTAR ISI vii
DAFTAR GAMBAR ix DAFTAR TABEL x Bab 1 PENDAHULUAN 1.1 Latar Belakang 1 1.2 Tujuan Penelitian 3 1.3 Rumusan Masalah 3 1.4 Batasan Masalah 4 1.5 Manfaat Penelitian 4 1.6 Metodologi Penelitian 5 1.7 Sistematika Penulisan 7
Bab 2 LANDASAN TEORI 2.1 CPU (Central Processing Unit) dan Bagian-bagiannya 9 2.2 Thread 12
2.2.1 Keuntungan adanya thread 12 2.2.2 Model multithreading 13 2.3 Prosesor Dual-Core 13 2.4 Server, Web Server, dan Mail Server 15 2.5 Servis-servis Sistem Operasi 16
2.6 Alokasi Resource dan Beban Kerja (Workload) 16
2.7 Sistem Operasi OpenSolaris 17
2.8 Solaris Containers 18
2.9 Keuntungan Utama dari Solaris Containers 19
2.10 Pengalokasian Penggunaan Prosesor 20
2.11 Manfaat Pembuatan Lingkungan Virtual 21
Bab 3 ANALISIS 3.1 Model Kasus 23
3.2 Hyper-Threading, Prosesor Dual-Core, Multi-Core dan Dual-Prosesor 24
3.2.1 Hyper-Threading 24
3.2.2 Prosesor dual-core dan multi-core 25
3.2.3 Dual-Prosesor 28
3.3 Solaris Containers 28
3.4 Pengelolaan Resource di dalam Sistem Operasi OpenSolaris 29
3.4.1 Projects 30
3.4.3 Fair Share Scheduler sebagai scheduling class 35
3.4.4 CPU-Shares 36
3.5 Resource Pools 37
3.5.1 Mengkaitkan proses-proses ke pools 39
3.5.2 Fair Share Scheduler di pools 40
3.6 Solaris Zones 40
3.6.1 Fair Share Scheduler di zones 42
3.6.2 Mengkaitkan pool terhadap zones 42
3.7 Pengaplikasian Project, Pool, FSS, dan Zone pada Model Kasus 42
Bab 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Instalasi Sistem Operasi OpenSolaris 46
4.2 Pengaturan Awal Sistem Operasi OpenSolaris 47
4.3 Instalasi Web Server dan Mail Server 49 4.3.1 Konfigurasi apache 50
4.3.2 Konfigurasi sendmail 50
4.4 Menggunakan Solaris Containers 51
4.4.1 Pembuatan projectdan task 52
4.4.2 Pembuatan resource pools 53
4.4.3 Pembuatan zones 55
4.5 Mengamati Penggunaan Resource dan Proses yang Berjalan 56
4.6 Pengujian 57
4.6.1 Tujuan pengujian 58
4.6.2 Program yang digunakan dalam pengujian 58
4.6.2.1 Apache benchmarkuntuk menguji web server 58 4.6.2.2 Smtp benchmark untuk menguji mail server 58 4.6.2.3 Nspin 59
4.6.3 Skenario pengujian 59
4.6.4 Hasil pengujian 60
4.6.5 Analisis hasil pengujian 67
Bab 5 KESIMPULAN DAN SARAN 5.1 Kesimpulan 70
5.2 Saran 71
DAFTAR PUSTAKA 72 LAMPIRAN A : Proses Konfigurasi Solaris Containers LAMPIRAN B : Tahap-tahap Instalasi Sistem Operasi Opensolaris
LAMPIRAN C : Data Konfigurasi Resource Pool LAMPIRAN D : Data Konfigurasi Solaris Zones
ix
DAFTAR GAMBAR
Halaman Gambar 1.1 Diagram alir tahap implementasi 7
Gambar 2.1 Diagram blok sederhana sebuah CPU 11
Gambar 2.2 Multithreading 13
Gambar 2.3 Diagram prosesor dual-core 14
Gambar 2.4 Sistem dengan 3 Containers, 1 Containers dengan 1 buah CPU
tersendiri dan 2 Containers yang berbagi CPU yang sama 19
Gambar 2.5 Fair Share Scheduler mendistribusikan resource prosesor 20 Gambar 3.1 Model kasus pemanfaatan Solaris Containers 23
Gambar 3.2 Hyper-Threading 25
Gambar 3.3 Layout prosesor dual-core dan quad-core 26
Gambar 3.4 Mainboard dengan single prosesor dan dual prosesor 28 Gambar 3.5 Diagram hubungan antara project, task, dan proses 31
Gambar 3.6 Resource control pada beberapa tingkatan 34 Gambar 3.7 Contoh kasus penggunaan FSS pada 3 buah project 37 Gambar 3.8 Diagram framework Resource Pools 38 Gambar 3.9 Mengkaitkan project dengan pool 39 Gambar 3.10 Aplikasi model kasus tanpa menggunakan Solaris Containers 43 Gambar 3.11 Aplikasi model kasus dengan menggunakan Solaris Containers 43
Gambar 4.1 Membuat user baru 48
Gambar 4.2 Konfigurasi /etc/nsswitch.conf dengan menggunakan nano 49 Gambar 4.3 Hak akses diberikan sama rata atau memiliki perbandingan yang
sama untuk semua zone 61
Gambar 4.4 Pada saat zone global idle, hak akses untuk mailzone dan webzone tetap memiliki perbandingan yang sama 61 Gambar 4.5 Perbandingan hak akses yang diberikan adalah 4:2:1 62 Gambar 4.6 Perubahan penggunaan CPU dengan perbandingan 4:2:1, saat zone
global menjadi idle 62
Gambar 4.7 Perbandingan hak akses yang diberikan adalah 5:3:2 63 Gambar 4.8 Perubahan penggunaan CPU dengan perbandingan 5:3:2,
DAFTAR TABEL
Halaman
Tabel 3.1 Resource Control 33
Tabel 4.1 Perintah-perintah Monitoring 59
Tabel 4.2 Penggunaan CPU dengan Perbandingan 1:1:1 68 Tabel 4.3 Penggunaan CPU dengan Perbandingan 4:2:1 68 Tabel 4.4 Penggunaan CPU dengan Perbandingan 5:3:2 69