Komputasi dan Paralel Processing


Komputasi dan Paralel Processing

Pengertian Komputasi

Komputasi sebetulnya bisa diartikan sebagai cara untuk menemukan pemecahan masalahdari datainput dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teorikomputasi, suatu sub-bidang dariilmu komputer dan matematika. Selama ribuan tahun, perhitungan dan komputasi umumnya dilakukan dengan menggunakan pena dan kertas, atau kapur dan batu tulis, atau dikerjakan secara mental, kadang-kadang dengan bantuan suatu tabel. Namun sekarang, kebanyakan komputasi telah dilakukan dengan menggunakan komputer.
Secara umum iIlmu komputasi adalah bidang ilmu yang mempunyai perhatian pada penyusunan modelmatematika dan teknik penyelesaian numerik serta penggunaan komputer untuk menganalisis dan memecahkan masalah-masalahilmu (sains). Dalam penggunaan praktis, biasanya berupa penerapan simulasi komputer atau berbagai bentuk komputasi lainnya untuk menyelesaikan masalah-masalah dalam berbagai bidang keilmuan, tetapi dalam perkembangannya digunakan juga untuk menemukan prinsip-prinsip baru yang mendasar dalam ilmu.
Bidang ini berbeda dengan ilmu komputer (computer science), yang mengkaji komputasi, komputer dan pemrosesan informasi. bidang ini juga berbeda dengan teori dan percobaansebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmukomputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-modelmatematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut modern.

Pengertian Parallel Processing

Paralel Processing adalah kemampuan menjalankan tugas atau aplikasi lebih dari satu aplikasi dan dijalankan secara simultan atau bersamaan pada sebuah komputer. Secara umum, ini adalah sebuah teknik dimana sebuah masalah dibagi dalam beberapa masalah kecil untuk mempercepat proses penyelesaian masalah.
Terdapat dua hukum yang berlaku dalam sebuah parallel processing. yaitu:
  • Hukum Amdahl
Amdahl berpendapat, “Peningkatan kecepatan secara paralel akan menjadi linear, melipatgandakan kemampuan proses sebuah komputer dan mengurangi separuh dari waktu proses yang diperlukan untuk menyelesaikan sebuah masalah.”
  • Hukum Gustafson
Pendapat yang dikemukakan Gustafson hampir sama dengan Amdahl, tetapi dalam pemikiran Gustafson, sebuah komputasi paralel berjalan dengan menggunakan dua atau lebih mesin untuk mempercepat penyelesaian masalah dengan memperhatikan faktor eksternal, seperti kemampuan mesin dan kecepatan proses tiap-tiap mesin yang digunakan.

Tujuan Komputasi Paralel

Tujuan dari komputasi paralel adalah meningkatkan kinerja komputer dalam menyelesaikan berbagai masalah. Dengan membagi sebuah masalah besar ke dalam beberapa masalah kecil, membuat kinerja menjadi cepat.
Formula komputasi paralel yang diajukan pada hukum Amdahl
Dimana a adalah banyaknya paralel yang terjadi. Secara teori, artinya proses penyelesaian masalah menjadi lebih cepat dengan menggunakan komputasi paralel.
Salah satu jenis penggunaan komputasi paralel adalah:
PVM(Parallel Virtual Machine)
Merupakan sebuah perangkat lunak yang mampu mensimulasikan pemrosesan paralel pada jaringan.

Model komputasi Paralel.

Embarasingly Parallel adalah pemrograman paralel yang digunakan pada masalah-masalah yang bisa diparalelkan tanpa membutuhkan komunikasi satu sama lain. Sebenarnya pemrograman ini bisa dibilang sebagai pemrograman paralel yang ideal, karena tanpa biaya komunikasi, lebih banyak peningkatan kecepatan yang bisa dicapai.
Taksonomi dari model pemrosesan paralel dibuat berdasarkan alur instruksi dan alur data yang digunakan:
  • SISD (Single Instruction Single Datapath) merupakan prosesor tunggal, yang bukan paralel.
  • SIMD (Single Instruction Multiple Datapath)alur instruksi yang sama dijalankan terhadap banyak alur data yang berbeda. Alur instruksi di sini kalau tidak salah maksudnya ya program komputer itu. trus datapath itu paling ya inputnya, jadi inputnya lain-lain tapi program yang digunakan sama.
  • MIMD (Multiple Instruction Multiple Datapath)alur instruksinya banyak, alur datanya juga banyak, tapi masing-masing bisa berinteraksi.
  • MISD (Multiple Instruction Single Datapath)alur instruksinya banyak tapi beroperasi pada data yang sama.

Hubungan antara Komputasi Modern dengan Paralel Processing

Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaankomputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalahsecara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dansalah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utamadalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaanbeberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerjacomputer semakin cepat.
Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkanbeberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasidengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yangbesar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.

Implementasi Model Komputasi Paralel

1. PVM
PVM (Parallel Virtual Machine) adalah paket software yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan superkomputer.
Sistem PVM terbagi menjadi dua. Pertama adalah daemon, pvmd, yang berjalan pada mesin virtual masing-masing komputer. Mesin virtual akan dibuat, ketika User mengeksekusi aplikasi PVM. PVM dapat dieksekusi melalui prompt UNIX disemua host. Bagian kedua adalah library interface rutin yang mempunyai banyak fungsi untuk komunikasi antar task. Library ini berisikan rutin yang dapat dipanggil untuk pengiriman pesan, membuat proses baru, koordinasi task dan konfigurasi mesin virtual.
Salah aturan main yang penting dalam PVM adalah adanya mekanisme program master dan slave/worker. Programmer harus membuat Kode master yang menjadi koordinator proses dan Kode slave yang menerima, menjalankan, dan mengembalikan hasil proses ke komputer master. Kode master dieksekusi paling awal dan kemudian melahirkan proses lain dari kode master. Masing-masing program ditulis menggunakan C atau Fortran dan dikompilasi dimasing-masing komputer. Jika arsitektur komputer untuk komputasi paralel semua sama, (misalnya pentium 4 semua), maka program cukup dikompilasi pada satu komputer saja. Selanjutnya hasil kompilasi didistribusikan kekomputer lain yang akan menjadi node komputasi parallel. Program master hanya berada pada satu node sedangkan program slave berada pada semua node.
Komunikasi dapat berlangsung bila masing-masing komputer mempunyai hak akses ke filesystem semua komputer. Akses kefile system dilakukan melalui protokol rsh yang berjalan di unix atau windows. Berikut adalah langkah pengaturan pada masing-masing komputer:
  1. Buat file hostfile yang berisi daftar node komputer dan nama user yang akan dipakai untuk komputasi parallel. Bila nama user pada semua komputer sama misalnya nama user riset pada komputer C1, C2, C3 dan C4, maka hostfile ini boleh tidak ada. Hostfile ini dapat digunakan bila nama user di masing-masing komputer berbeda.
  2. Daftarkan IP masing-masing komputer pada file /etc/hosts/hosts.allow dan /etc/hosts/hosts.equiv.
  3. Penambahan dan penghapusan host secara dinamis dapat dilakukan melalui konsole PVM. Bila IP tidak didefinisikan pada hostfile¸ cara ini dapat digunakan.

Program PVM terdiri dari master dan slave, dimana program master dieksekusi paling awal dan kemudian melahirkan proses lain. PVM memanggil rutin pvm_spawn() untuk melahirkan satu atau dua proses lebih yang sama. Fungsi-fungsi untuk PVM versi bahasa C mempunyai rutin awalan pvm. Pengiriman dan penerimaan task diidentifikasi dengan TID (Task Identifier). TID ini bersifat unik dan digenerate oleh pvmd lokal. PVM berisi beberapa rutine yang mengembalikan nilai TID sehingga aplikasi user dapat mengidentifikasi task lain disistem.


Secara umum, langkah implementasi komputasi parallel sebagai berikut:
  1. Jalankan PVM daemon pada setiap mesin dalam cluster
  2. Jalankan program master pada master daemon
  3. Master daemon akan menjalankan proses slave.

2. POV-Ray

POV-Ray (Persistence Of Vision Raytracer – www.povray.org) adalah rendering engine 3 dimensi . Program ini menterjemahkan informasi dari file teks eksternal, mensimulasikan suatu cahaya yang berinteraksi dengan obyek dalam suatu scene untuk menghasilkan obyek 3 dimensi yang nyata. Berawal dari file teks yang berisi deskripsi dari scene (objects, lights, point o f view), programini dapat merender citra yang diinginkan. Algoritmanya bekerja baris demi baris. Fasilitas yang menarik dari POV-Ray ini adalah antialiasing. Antialiasing adalah teknik yang membantu untuk membuang sampling error, yang dapat menghasilkan c itra lebih baik.

Dengan menggunakan antialiasing, POV-Ray memulai tracing a ray untuk setiap pixel. Jika warna dari pixel berbeda dengan warna pixel tetangganya (pixel yang ada di sebelah kiri dan di atas), kemudian dari jumlahnya lebih besar dari nilai th reshold, maka pixel tersebut adalah supersampled tracing a fixed number of additional rays. Teknik ini disebut supersampling dan dapat meningkatkan kualitas akhir dari sebuah citra namun itu juga meningkatkan waktu rendering menjadi lebih lama. Setelah men guraikan data input, POV-Ray menguraikan semua pixel dari citra untuk proses render, melalui horizontal scan dari setiap baris dari kiri ke kanan. Setelah selesai penguraian dari suatu baris maka akan ditulis dalam sebuah file atau ditampilkan pada layar lalu memperhitungkan baris berikutnya sampai pada yang terakhir.

Post a Comment

0 Comments