BAB I - potensi utama repository

advertisement
BAB I
PENDAHULUAN
I.1 Latar Belakang
Proses komputasi yang dapat dilakukan oleh komputer telah berkembang
dengan pesat. Pada awalnya proses komputasi hanya dapat dilakukan secara
sekuensial saja. Sebuah prosesor hanya dapat melakukan sebuah proses saja dan
proses yang lain harus menunggu untuk selanjutnya dapat dieksekusi oleh
prosesor. Hal tersebut tentu membutuhkan waktu yang lama bagi prosesor untuk
mengeksekusi sebuah proses atau melakukan proses komputasi. Akan tetapi
seiring perkembangan teknologi mikroprosesor, proses komputasi kini dapat
dilakukan secara paralel dengan menggunakan banyak prosesor untuk melakukan
sebuah proses komputasi.
Sebuah komputer dengan ratusan prosesor (Massively Parallel Processor)
memiliki kemampuan sangat tinggi dalam melakukan proses komputasi. Akan
tetapi membutuhkan biaya yang sangat besar. Solusi lain untuk membuat sebuah
sistem komputasi yang cepat dan murah adalah dengan membuat sebuah
komputer cluster. Komputer Cluster adalah sekumpulan komputer stand alone
yang terhubung satu sama lain di dalam sebuah jaringan komputer yang
digunakan untuk melakukan proses komputasi tertentu secara paralel.
Cluster yang dibangun adalah cluster yang didedikasikan secara khusus
untuk komputasi performa tinggi atau High Performance Computing. Untuk
1
2
membangun cluster tersebut dibutuhkan paling sedikit dua komputer yang
terhubung ke sebuah jaringan privat. Sistem operasi yang dipilih untuk membuat
cluster adalah sistem operasi Linux. Linux dipilih karena dianggap sebagai sistem
operasi yang mudah dikonfigurasi untuk memenuhi infrastruktur sebuah cluster
dan sifatnya yang open source.
Cluster Linux tersebut harus memiliki mekanisme parallel processing
untuk menjalankan aplikasi-aplikasi yang dapat dijalankan secara paralel.
Mekanisme parallel processing yang digunakan adalah MPI (Message Passing
Interface). MPI adalah sebuah antar muka pemrograman yang digunakan untuk
mendistribusikan proses ke simpul-simpul komputasi yang lain di dalam sebuah
cluster.
Dengan berkembangnya komputasi secara paralel maka banyak aplikasiaplikasi yang dikembangkan untuk dapat melakukan pemrosesan secara paralel.
Diantara aplikasi tersebut adalah OCTAVE. OCTAVE merupakan sebuah
perangkat lunak open source yang mirip dengan MATLAB. OCTAVE dapat
digunakan untuk menyelesaikan permasalahan matematika baik linear maupun
non linear secara numeris. OCTAVE juga dapat melakukan proses komputasi
secara paralel yaitu dengan menambahkan modul MPI Toolbox (MPITB). MPITB
atau MPI Toolbox adalah toolbox yang digunakan oleh OCTAVE untuk
mendistribusikan proses komputasi ke simpul-simpul komputasi yang lain dengan
memanfaatkan MPI (Message Passing Interface). Dengan kemampuan OCTAVE
MPITB tersebut dapat dilakukan proses komputasi yang besar yang mungkin
sangat berat untuk dilakukan oleh sebuah komputer saja.
3
Dengan adanya penelitian tentang parallel processing dan komputer
cluster ini, diharapkan dapat memberikan solusi terhadap permasalahanpermasalahan komputasi yang ada pada saat ini. Untuk itu, berdasarkan uraian
permasalahan diatas maka penulis mengambil judul “Perancangan Cluster Linux
Untuk Komputasi Paralel Octave”dalam penyusunan skripsi ini.
I.2 Ruang Lingkup Permasalah
I.2.1 Identifikasi Masalah
Berdasarkan uraian di atas dapat diidentifikasi beberapa masalah sebagai
berikut :
1. Proses komputasi hanya dapat dilakukan secara sekuensial saja sehingga
sebuah prosesor hanya dapat melakukan sebuah proses saja dan proses
yang lain harus menunggu untuk selanjutnya dapat dieksekusi oleh
prosesor.
2. Membutuhkan waktu yang lama bagi prosesor untuk mengeksekusi sebuah
proses atau melakukan proses komputasi.
3. Proses
komputasi
menggunakan
kini
banyak
dapat
prosesor
dilakukan
untuk
secara
melakukan
paralel
sebuah
dengan
proses
komputasi, akan tetapi membutuhkan biaya yang sangat besar. Solusi lain
untuk membuat sebuah sistem komputasi yang cepat dan murah adalah
dengan membuat sebuah komputer cluster.
4
I.2.2
Rumusan Masalah
Berdasarkan latar belakang masalah yang telah dipaparkan sebelumnya,
maka dihasilkan rumusan masalah sebagai berikut:
1. Bagaimana membuat sebuah komputer cluster Linux yang dapat
melakukan parallel processing.
2. Bagaimana
melakukan
pemrograman
parallel
prosessing
dengan
menggunakan Octave-MPITB.
3. Bagaimana melakukan proses instalasi dan konfigurasi jaringan private
cluster.
I.2.3
Batasan Masalah
Agar penelitian yang dilakukan lebih terarah dan tidak menyimpang, maka
perlu dibuat batasan masalah yaitu :
1. Komputer cluster dibuat menggunakan sistem operasi Linux distro Fedora
Core 16.
2. Proses komputasi yang dijalankan secara paralel adalah proses komputasi
yang dilakukan dengan OCTAVE yang ditambah modul MPITB.
3. Hanya menguji program perkalian matriks pada apikasi OCTAVE sebagai
proses komputasi.
5
I.3 Tujuan dan Manfaat
Adapun tujuan dari penelitian ini adalah :
1. Sebagai kajian tentang pemanfaatan teknologi komputer cluster untuk
melakukan parallel processing.
2. Untuk penerapan aplikasi OCTAVE sebagai program untuk paralesisasi
proses komputasi bagi merka yang berkecimpung di bidang teknik dan
matematika.
3. Penelitian ini juga dimaksudkan sebagai penerapan disiplin ilmu yang
telah didapatkan selama kuliah untuk diterapkan dalam permasalahan
nyata.
Adapun maanfaat dari penelitian ini adalah :
1. Sebagai solusi untuk membuat sebuah sistem komputasi yang cepat dan
murah.
2. Memberikan kemudahan kepada pengguna khususnya bagi pengguna yang
bergerak di bidang teknik dan matematika dalam menyelesaikan suatu
permasalahan matematika baik linear maupn non linear.
I.4 Metodelogi Penelitian
Metode merupakan suatu cara atau teknik yang sistematik untuk
mengerjakan suatu kasus. Untuk itu penulis menggunakan beberapa cara untuk
memperolehnya, diantaranya :
6
1. Prosedur Perancangan
Langkah-langkah tata cara yang dilakukan dalam membuat perancangan
cluster linux untuk komputasi paralel octave adalah seperti yang ditunjukkan
dalam Gambar 1
Target :
Perancangan Cluster Linux Untuk Komputasi Paralel Octave
Analisis Kebutuhan :
Cluster yang dibangun dalam adalah cluster yang didedikasikan
untuk komputasi paralel.
Spesifikasi :
Menggunakan sistem operasi linux dan aplikasi Octave MPITB
Desain dan Implementasi :
Sistem cluster yang akan digunakan sebagai infrastruktur adalah
paralel processing dengan menggunakan 2 unit laptop sebagai
compute node dan 1 unit laptop sebagai head node, masingmasing node menngunakan sistem operasi linux
Gagal
Verifikasi
Berhasil
Validasi :
Pengujian Perancangan secara menyeluruh
Finalisasi :
Hasil akhir berupa perancangan cluster linux untuk komputasi
paralel dengan menggunakan aplikasi Octave yang bermanfaat
untuk user
Gambar I Prosedur Perancangan
7
2. Analisis Kebutuhan
Cluster yang dibangun dalam penelitian ini adalah cluster yang
didedikasikan untuk komputasi paralel. Cluster tersebut dibangun secara homogen
yaitu dengan menyeragamkan sistem operasi dan menggunakan perangkat keras
yang tidak jauh berbeda pada masing-masing komputer.
Untuk membangun sebuah cluster yang didedikasikan untuk komputasi
paralel diperlukan beberapa persyaratan yang ditunjukkan oleh poin-poin sebagai
berikut :
1.
Cluster harus memiliki kemampuan mendistribusikan proses komputasi dari
mesin head node ke mesin-mesin komputasi yang lain.
2.
Cluster harus memiliki sistem pengaturan file-file data di setiap node yang
terpusat sehingga memudahkan dalam administrasi sistem.
3.
Cluster harus memiliki file system global yang dapat diakses oleh semua node
untuk keperluan pengaksesan berkas-berkas.
4.
Head node harus dapat berkomunikasi dengan mesin-mesin node tanpa harus
melakukan proses otentikasi.
5.
Cluster harus memiliki sebuah sistem untuk memonitor proses-proses dan
beban komputasi baik di masing-masing mesin komputasi maupun beban
komputasi dalam satu cluster atau seluruh node.
Dari persyaratan-persyaratan yang ditunjukkan oleh poin-poin di atas, dapat
diambil beberapa solusi sebagai berikut :
1.
Pendistribusian proses komputasi menggunakan LAM/MPI. LAM/MPI
adalah aplikasi yang mengimplementasikan MPI.
8
2.
Sistem pengaturan user dan file-file konfigurasi menggunakan Network
Information System (NIS). NIS adalah sistem basis data yang terdistribusi
yang menggantikan data file-file konfigurasi di masing-masing node sehingga
pengaturan node-node dapat dilakukan secara terpusat.
3.
File system global menggunakan Network File System (NFS). NFS adalah file
system yang dieksport oleh sebuah server untuk diakses oleh client-client
yang diijinkan oleh server.
4.
Proses komunikasi antara head node dengan node dilakukan dengan Secure
Shell (SSH).
5.
Sistem pemonitoran proses yang sedang dikerjakan oleh masing-masing node
menggunakan ganlia dan dstat. Ganglia adalah aplikasi pemonitoran proses
dan beban komputasi yang dikerjakan oleh cluster
Tabel dibawah ini menunjukkan ringkasan persyaratan yang harus dipenuhi
untuk membangun sebuah cluster dengan solusi yang dapat diambil untuk
memenuhi persyaratan tersebut.
Tabel II.1 : Persyaratan dan Solusi Dalam Membangun Cluster
Persyaratan
Solusi
Kemampuan dalam mendistribusikan Menggunakan LAM/MPI
proses komputasi
Sistem pengaturan file-file konfigurasi Menggunakan NIS
sistem secara terpusat
File system yang dapat diakses oleh Menggunakan NFS
semua node
Sistem komunikasi antar node yang Menggunakan SSH
saling percaya
Sistem pemantauan proses
dijalankan oleh semua node
yang Menggunakan GANGLIA
9
Sistem operasi yang digunakan adalah sistem operasi Linux karena sistem
operasi tersebut dianggap mudah untuk mengimplementasikan solusi-solusi yang
ditunjukkan oleh poin-poin diatas. Linux juga merupakan sistem operasi yang
bersifat open source sehingga dapat digunakan secara bebas dan gratis.
Distro Linux yang dipilih adalah Fedora Core 16 karena distro ini banyak
yang menggunakan, sehingga banyak referensi yang dapat digunakan sebagai
acuan.
3. Spesifikasi dan Desain
Secara umum perancangan cluster linux untuk komputasi paralel octave
mempunyai spesifikasi sebagai berikut:
a. Infrastruktur Cluster Linux memiliki jaringan sendiri yang terpisah dengan
jaringan luar. Hal tersebut dimaksudkan agar compute node tidak dapat
diakses dari luar jaringan sehingga kinerja cluster dalam melakukan
parallel processing dapat maksimal. Pengguna hanya dapat mengakses
cluster melalui head node saja. Komputer-komputer yang digunakan
sebagai compute node tidak perlu diakses oleh pengguna secara langsung
sehingga pengguna hanya memberikan tugas komputasi tanpa perlu
melakukan konfigurasi sistem ke mesin-mesin compute node.
b. Perancangan ini mempunyai integrasi antar node, dimana Integrasi di dalam
cluster tidak hanya dilakukan secara fisik saja yaitu dengan menghubungkan
setiap node ke dalam sebuah jaringan interkoneksi. Akan tetapi integrasi juga
dilakukan diantara sistem pada masing-masing node.
10
Dengan spesifikasi diatas maka tools yang dibutuhkan untuk membangun
dan menguji perancangan ini adalah:
a. Tools yang digunakan berupa:
-
Linux Fedora Core 16 Operation System
-
Octave MPITB
-
Network File System (NFS), Network Information System (NIS),
Secure
Shell
(SSH),
dan
Local-Area-Network
Multi-
Computer/Message Passing Interface (LAM/MPI).
b. Alat uji yang digunakan untuk menguji adalah:
-
1 unit komputer laptop sebagai head node dengan spesifikasi
1. Hard disk dengan kapasitas 80 Giga Byte.
2. RAM dengan kapasitas 2 Giga Byte.
3. Prosesor Intel Pentium Dual Core
-
2 unit komputer laptop dengan spesifikasi
1. Hard disk dengan kapasitas 80 Giga Byte.
2. RAM dengan kapasitas 1 Giga Byte..
3. Prosesor Intel Atom Pentium.
4. Implementasi dan Verifikasi
Setelah spesifikasi dan desain, selanjutnya dilakukan pembuatan aplikasi
untuk mengetahui apakah aplikasi sudah dapat berjalan dengan baik atau tidak
sehingga perlu dilakukan verifikasi. Dengan demikian bila ada kesalahan dapat
diperbaiki terlebih dahulu.
11
5. Validasi
Selanjutnya dilakukan pengujian komputasi paralel octave, dalam hal ini
akan dibahas mengenai pemanfaatan cluster untuk melakukan komputasi paralel
dengan OCTAVE MPITB. Program yang digunakan sebagai uji coba adalah
program perkalian matriks yang dilakukan secara paralel. Program tersebut ditulis
dengan MPI yang diimplementasikan oleh OCTAVE MPITB. Program ini
memanfaatkan fungsi-fungsi dasar MPI yaitu MPI_Send dan MPI_Recv untuk
mengirimkan data dan menerima data antar mesin-mesin komputasi. Pengujian
akan dilakukan secara langsung pada 1 unit komputer sebagai head node dan 2
komputer lagi sebagai compute node untuk memastikan semua fitur berjalan
dengan baik.
I.5 Sistematika Penulisan
Laporan tugas akhir ini akan disusun secara sistematis dan dibagi
menjadi lima bab dengan rincian sebagai berikut:
BAB I
PENDAHULUAN
Bab ini berisi tentang latar belakang masalah, ruang
lingkup permasalahan, maksud dan tujuan, metodologi
peneltianan, dan sistematika penulisan.
BAB II
TINJAUAN PUSTAKA
Bab ini berisi tentang dasar teori yang digunakan dalam
mengembangkan dan menganalisa sistem.
BAB III
ANALISIS DAN PERANCANGAN SISTEM
12
Bab ini berisi perancangan sistem yang akan dikerjakan.
BAB IV
HASIL DAN UJI COBA
Bab ini berisi pengujian dan pembahasan sistem.
BAB V
PENUTUP
Bab ini berisi kesimpulan hasil tugas akhir dan saran-saran
yang diperlukan untuk proses pengembangan selanjutnya.
Download