selanjutnya

Minggu, 27 Maret 2011

Softskil pert2 > Komputasi modern pada paralel processing

Paralel prosessing komputasi adalah proses atau pekerjaan komputasi di komputer dengan memakai suatu bahasa pemrograman yang dijalankan secara paralel pada saat bersamaan. Secara umum komputasi paralel diperlukan untuk meningkatkan kecepatan komputasi bila dibandingkan dengan pemakaian komputasi pada komputer tunggal.

Penggunaan komputasi parallel prosessing merupakan pilihan yang cukup handal untuk saat ini untuk pengolahan data yang besar dan banyak, hal ini apabila dibandingkan dengan membeli suatu super komputer yang harganya sangat mahal maka penggunaan komputasi parallel prosessing merupakan pilihan yang sangat tepat untuk pengolahan data tersebut.

Aspek keamanan merupakan suatu aspek penting dalam sistem parallel prosessing komputasi ini, karena didalam sistem akan banyak berkaitan dengan akses data, hak pengguna, keamanan data, keamanan jaringan terhadap peyerangan sesorang atau bahkan virus sehingga akan menghambat kinerja dari system komputasi ini.

Parallel komputasi adalah melakukan perhitungan komputasi dengan menggunakan 2 atau lebih CPU/Processor dalam suatu komputer yang sama atau komputer yang berbeda dimana dalam hal ini setiap instruksi dibagi kedalam beberapa instruksi kemudian dikirim ke processor yang terlibat komputasi dan dilakukan secara bersamaan. Untuk proses pembagian proses komputasi tersebut dilakukan oleh suatu software yang betugas untuk mengatur komputasi dalam hal makalah ini akan digunakan Message Parsing Interface (MPI).

Berikut ini adalah gambar perbedaa antara komputasi tunggal dengan parallel komputasi :

a) komputasi tunggal/serial

b) komputasi parallel


Perbandingan antara serial komputasi dan parallel komputasi

Pada sistem komputasi parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory address dan message passing. Berdasarkan cara mengorganisasikan memori ini komputer paralel dibedakan menjadi shared memory parallel machine dan distributed memory parallel machine.

Prosesor dan memori ini didalam mesin paralel dapat dihubungkan (interkoneksi) secara statis maupun dinamis. Interkoneksi statis umumnya digunakan oleh distributed memory system (sistem memori terdistribusi). Sambungan langsung peer to peer digunakan untuk menghubungkan semua prosesor. Interkoneksi dinamis umumnya menggunakan switch untuk menghubungkan antar prosesor dan memori.

Komunikasi data pada sistem paralel memori terdistribusi, memerlukan alat bantu komunikasi. Alat bantu yang sering digunakan oleh sistem seperti PC Jaringan pada saat ini adalah standar MPI (Message Passing Interface) atau standar PVM (Parallel Virtual Machine)yang keduanya bekerja diatas TCP/IP communication layer. Kedua standar ini memerlukan fungsi remote access agar dapat menjalankan program pada masing-masing unit prosesor.

Salah satu protocol yang dipergunakan pada komputasi parallel adalah Network File System (NFS), NFS adalah protokol yang dapat membagi sumber daya melalui jaringan. NFS dibuat untuk dapat independent dari jenis mesin, jenis sistem operasi, dan jenis protokol transport yang digunakan. Hal ini dilakukan dengan menggunakan RPC. NFS memperbolehkan user yang telah diijinkan untuk mengakses file-file yang berada di

remote host seperti mengakses file yang berada di lokal. Protokol yang digunakan protokol mount menentukan host remote dan jenis file sistem yang akan diakses dan menempatkan di suatu direktori, protokol NFS melakukan I/O pada remote file system. Protokol mount dan protokol NFS bekerja dengan menggunakan RPC dan mengiri dengan protokol TCP dan UDP. Kegunaan dari NFS pada komputasi parallel adalah untuk melakukan sharing data sehingga setiap node slave dapat mengakses program yang sama pada node master.

Software yang diperlukan untuk Parallel komputasi adalah PGI CDK, dimana aplikasi ini telah dilengkapi dengan Cluster Development Kit dimana software ini telah memiliki feature yang lengkap bila ingin melakukan komputasi dengan parallel prosessing karena software ini telah mensupport MPI untuk melakukan perhitungan komputasi.

Kesimpulan :

1. Parallel Komputasi dengan menggunakan PC Cluster merupakan salah satu solusi untuk melakukan komputasi dalam jumlah yang besar, sehingga perlu dilakukan management sistem keamanan yang ada pada PC Cluster tersebut.
2. Solusi PC Cluster dengan menggunakan diskless merupakan salah satu solusi untuk yang aman dalam melakukan parallel komputasi, karena semua data tersimpan pada server master node yang system keamanannya sangat terjaga dan terlindung.
3. Pengamanan Sistem PC Cluster untuk parallel komputasi masih banyak metode yang dapat digunakan, misalkan tcpwraper untuk penanganan service dan hak akses, selain itu juga pengamanan shell dilakukan dengan melakukan setting path-path untuk hak aksesnya, sehingga tidak semua user dapat melakukan proses komputasi.

sumber : www.cert.or.id/~budi/courses/security/…/Report-Deni-Wahyudi.doc

Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara :
1. peningkatan kecepatan perangkat keras,
2. peningkatan kecepatan perangkat lunak.

Komponen utama perangkat keras komputer adalah processor. Saat ini, peningkatan kecepatan processor benarbenar luar biasa. Processor Pentium 4 yang dikeluarkan Intel kecepatannya sudah mencapai 1.8 GHz. Meskipun kecepatan processor dapat ditingkatkan terus, namun karena keterbatasan materi pembuatnya, tentu ada suatu batas kecepatan yang tak mungkin lagi dapat dilewati. Karena itu timbul ide pembuatan komputer multiprocessor.

Peningkatan kecepatan setiap proses bisa dicapai melalui peningkatan kecepatan perangkat lunak. Kecepatan perangkat lunak sangat ditentukan oleh algoritmanya. Usaha untuk mencari algoritma yang lebih cepat tidaklah
mudah, namun dengan adanya komputer multiprocessor, dapatlah dirancang algoritma yang lebih cepat, yaitu dengan
memparalelkan proses komputasinya. Algoritma paralel saat ini masih sukar diimplementasikan. Untuk mengatasinya dirancanglah mesin paralel semu. Mesin paralel semu ini sebenarnya adalah jaringan komputer yang dikendalikan oleh sebuah perangkat lunak yang mampu mengatur pengalokasian proses-proses komputasi kepada processor-processor yang tersebar dalam jaringan tersebut.

PVM

Parallel Virtual Machine (PVM) PVM adalah suatu perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada jaringan komputer. Saat ini ada dua bahasa pemrograman yang didukung oleh PVM, yaitu FORTRAN dan C. Versi PVM yang paling umum digunakan berbasis UNIX, meskipun ada juga PVM berbasis Windows. Cara kerja PVM adalah dengan membuat (spawning) proses-proses anak yang akan dikirim ke processor-processor yang tersebar di jaringan komputer. Dengan PVM bisa ditentukan berapa jumlah processor yang akan dilibatkan dalam proses komputasi.

Untuk menjumlahkan n buah bilangan, terdapat satu syarat yaitu n adalah bilangan yang merupakan hasil perpangkatan dari 2 (power of 2). Cara kerja algoritma penjumlahan paralel dapat dilihat pada contoh berikut ini.
Pada contoh ini akan dijumlahkan 8 buah data (1+2+…+8). Untuk itu diperlukan 4 buah prosesor.
While loop akan berhenti dieksekusi bila k = 0, berarti bergantung
dari k. Karena pada setiap akhir eksekusi while loop, nilai k akan dibagi 2, maka waktu eksekusinya adalah O (log n). Dengan demikian peningkatan yang diperoleh dengan memparalelkan penjumlahan adalah O(n/log n). Untuk mengimplementasikan algoritma di atas idealnya dibutuhkan n/2 processor. Dengan teknik-teknik pemrograman paralel, algoritma di atas bisa diimplementasikan dengan jumlah processor kurang dari n/2.

Bitonic Sort

Bitonic Sort adalah suatu algoritma pengurutan paralel menggunakan sorting network. Komponen terkecil dari sorting network adalah comparator, yaitu suatu perangkat dengan dua masukan, x dan y, dan dua keluaran, x’ dan y’, di mana x’ = min(x,y) dan y’ = max(x,y).

Dengan menghubungkan sejumlah comparator dengan kabel, dapat dibentuk sebuah comparison network.Sebuah sorting network adalah comparison network di mana untuk sembarang masukan akan menghasilkan keluaran yang terurut menaik (b1≤ b2 ≤ … ≤ bn). Suatu bitonic sequence adalah suatu sequence yang terurut menaik kemudian terurut menurun atau terurut menurun kemudian menaik. Sequence <1,4,6,8,3,2> dan <9,8,3,2,4,6> adalah
contoh bitonic sequence. Suatu half cleaner adalah comparison network dengan kedalaman 1 di mana masukan ke-i akan dibandingkan dengan masukan ke-(i+n/2) untuk i = 1,2,…,n/2. Dengan menggunakan half cleaner dapat dibentuk Bitonic Sorter.
Solusinya adalah T(n) = O(log n). Jadi waktu eksekusi Bitonic Sorter(n) = O(log n). Tahap berikutnya dari pembuatan sorting network tersebut adalah membentuk network yang mampu menggabungkan dua sequence berukuran n/2 yang sudah terurut menaik, menjadi sebuah sequence berukuran n yang terurut menaik. Ini disebut merging network. kesimpulannya, untuk penjumlahan paralel waktu eksekusinya adalah O(log n) sedangkan bitonic sort waktu eksekusinya adalah O(log 2 n).

sumber : ajuarna.staff.gunadarma.ac.id/Downloads/files/…/ArtikelEpilog.pdf

Tidak ada komentar:

Posting Komentar