Senin, 27 Mei 2013

Tugas Komputasi & Parallel Processing

Komputasi bisa diartikan sebagai cara untuk menemukan pemecahan masalah dari data input dengan menggunakan suatu algoritma. Hal ini ialah apa yang disebut dengan teori komputasi, suatu sub-bidang dari ilmu 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 model matematika 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 percobaan sebagai bentuk tradisional dari ilmu dan kerja keilmuan. Dalam ilmu alam, pendekatan ilmu komputasi dapat memberikan berbagai pemahaman baru, melalui penerapan model-model matematika dalam program komputer berdasarkan landasan teori yang telah berkembang, untuk menyelesaikan masalah-masalah nyata dalam ilmu tersebut.

Komputasi modern terdiri dari dua kata yaitu komputasi dan modern,  dimana komputasi dapat diartikan sebagai cara untuk menemukan pemecahan permasalahan dari data input dengan suatu algoritma sedangkan modern ini mengungkapkan tentang teknologi masa kini. Maka dapat di simpulkan Komputasi modern merupakan perhitungan yang menggunakan computer canggih dimana pada computer tersebut tersimpan sejumlah algoritma untuk menyelesaikan masalah perhitungan secara efektif dan efisien.

Komputasi modern mempunyai karakteristik komputasi modern yang terdiri atas 3 macam, yaitu :
Komputer-komputer penyedia sumber daya bersifat heterogenous karena terdiri dari berbagai jenis perangkat keras, sistem operasi, serta aplikasi yang terpasang.
Komputer-komputer terhubung ke jaringan yang luas dengan kapasitas bandwidth yang beragam.
Komputer maupun jaringan tidak terdedikasi, bisa hidup atau mati sewaktu-waktu tanpa jadwal yang jelas.

Paralel processing adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.

Parallel Processing adalah sebuah pemrosesan informasi yang menekankan pada manipulasi elemen-elemen data pada satu atau lebih prosesor secara serentak untuk memecahkan masalah tunggal. Pada bagian ini dimaksudkan untuk mempercepat komputasi dari sistem komputer dan menambah jumlah keluaran yang dapat dihasilkan dalam jangka waktu tertentu. Komputasi dalam hal ini diartikan sebagai proses menghitung atau membandingkan berbagai operasi perhitungan matematika dan logika yang bertujuan untuk menyelesaikan suatu masalah yang dikerjakan dengan program komputer yang telah disusun sesuai dengan algoritma yang benar.

Setelah memahami tentang parallel Processing, sekarang pembahasan akan dilanjutkan kepada Parallel Computer dan Thtoughput. Parallel Computer atau komputer paralel adalah komputer yang
memiliki kemampuan untuk melakukan pengolahan paralel. Sedangkan throughput adalah banyaknya keluaran yang dihasilkan per unit waktu. Peningkatan throughput bertujuan untuk meningkatkan kecepatan operasi dan meningkatkan jumlah operasi yang dapat dilakukan dalam satu waktu tertentu yang disebut dengan concurency. 
Untuk melakukan berbagai jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk mendukung semua hal di atas maka dibutuhkan berbagai perangkat lunak pendukung yang disebut dengan middleware. Middleware ini berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin paralel.

Untuk merealisasikan komputasi pemrograman paralel maka dibutuhkan sebuah pemrograman paralel. Pemrograman paralel diartikan sebagai teknik pemrograman komputer yang memungkinkan eksekusi perintah atau operasi secara bersamaan baik dalam komputer dengan satu prosesor ataupun banyak prosesor.


perusahaan yang menggunakan parallel processing: 
WETA Digital.

WETA Digital, sebuah perusahaan animasi dan spesial efek yang bermarkas di Selandia Baru, membangun fasilitas render farm berbasis cluster hingga skalabilitas ribuan prosesor untuk mengerjakan film ini. Jika sekuel Lord of The Ring dikerjakan dengan personal computer (PC) yang tercepat saat ini, dibutuhkan waktu lebih dari 10 tahun untuk menyelesaikan proses rendering. Bagi para artis grafis 3D atau animator, hal yang paling menyita waktu adalah menunggu proses rendering. Untuk rendering gambar diam, hanya dibutuhkan rendering 1 frame saja, sementara untuk gambar bergerak, kita mestilah lebih sabar, karena komputer harus melakukan rendering untuk seluruh gambar/frame yang kita telah tentukan.

Terdapat banyak hasil yang dapat diperoleh dan ditampilkan dari proses 3D Rendering pada suatu sketsa wireframe, diantaranya :
1.      Shading ; “Variasi warna dan kecerahan yang timbul pada suatu permukaan berdasarkan pencahayaan yang dilakukan”
2.      Texture-Mapping ; “Detail yang muncul pada suatu permukaan”
3.      Bump-Mapping ; “Kontur yang muncul pada suatu permukaan”
4.    Fogging / Participating Medium ; “Bagaimana berkas cahaya berubah jika melewati udara yang tidak murni”
5.      Shadows ; “Efek dari cahaya yang terhalang”
6.      Soft Shadows ; “Variasi efek dari cahaya yang terhalang tidak sempurna”
7.      Reflection ; “Refleksi yang tampak pada permukaan kaca atau gelas”
8.      Transparency ; “Transmisi cahaya yang berbeda-beda jika melewati medium tertentu”
9.  Translucency ; “Transmisi cahaya yang berbeda-beda jika memantul pada medium tertentu”
10.  Refraction ; “Cahaya yang berubah arahnya karena efek transparency”
11.  Indirect Illumination ; “Cahaya yang datang pada suatu objek namun tidak berasal dari sumber cahaya yang sebenarnya melainkan refleksi dari permukaan objek lain”
12.  Caustics ; “Pantulan cahaya menyilaukan yang timbul pada suatu objek”
13. Depth Of Field ; “Objek yang berada jauh di depan maupun di belakang objek yang menjadi fokus akan tampak buram”
14. Motion Blur ; “Objek yang bergerak dengan kecepatan tinggi atau objek yang direkam oleh kamera yang berada dalam kecepatan tinggi akan tampak buram”
15. Photorealistic Morphing ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi tampak terlihat lebih nyata”
16.  Non-Photorealistic Rendering ; “Teknik yang memungkinkan hasil proses render objek 3D menjadi terlihat seperti hasil lukisan atau gambar”

  
Melakukan 3D Rendering tentu akan merupakan masalah yang sangat merepotkan jika tidak menggunakan algoritma memadai, dikarenakan banyaknya point dan polygon yang harus dikalkulasi setiap proses. Penggunaan algoritma Divide and Conquer tentu sangat membantu agar pekerjaan penghitungan yang sangat banyak dalam proses render dapat dikerjakan oleh beberapa unit komputasi sekaligus secara bersamaan. Hal ini juga telah dibuktikan dengan banyaknya perusahaan animasi dan film yang sering melakukan pekerjaan proses render menggunaan sistem komputasi paralel di dalam perusahaan mereka.