I.
Konsep
Parallel Processing
Pemrosesan parallel (parallel
processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah
program secara simultan. Idealnya, parallel processing membuat programberjalan
lebih cepat karena semakin banyak CPU yang digunakan. Tetapi dalam
praktek,seringkali sulit membagi program sehingga dapat dieksekusi oleh CPU
yang berbea-beda tanpa berkaitan di antaranya.
Komputasi parallel adalah salah satu
teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa
komputer secara bersamaan. Biasanyadiperlukan saat kapasitas yangdiperlukan
sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun
karenatuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis
komputasi paralel inidiperlukan infrastruktur mesin paralel yang terdiri dari banyak
komputer yang dihubungkandengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan satu masalah. Untuk itudiperlukan aneka perangkat lunak pendukung
yang biasa disebut sebagaimiddleware yangberperan untuk mengatur distribusi
pekerjaan antar node dalam satu mesin paralel. Selanjutnyapemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi.
Pemrograman parallel adalah teknik
pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara
bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupunbanyak
(prosesor ganda dengan mesin paralel) CPU. Tujuan utama dari pemrograman
paraleladalah untuk meningkatkan performa komputasi. Semakin banyak hal yang
bisa dilakukan secarabersamaan (dalam waktu yang sama), semakin banyak
pekerjaan yang bisa diselesaikan.
Komputasi
paralel membutuhkan:
·
Algoritma
·
Bahasa pemrograman
·
Compiler
II.
Aristektur
Komputer Parallel
·
SISD (Single Instruction stream-Single Data
stream)
Yang merupakan singkatan dari Single Instruction,
Single Data adalah satu-satunya yang menggunakan arsitektur Von Neumann. Ini
dikarenakan pada model ini hanya digunakan 1 processor saja. Oleh karena itu
model ini bisa dikatakan sebagai model untuk komputasi tunggal. Sedangkan
ketiga model lainnya merupakan komputasi paralel yang menggunakan beberapa
processor. Beberapa contoh komputer yang menggunakan model SISD adalah UNIVAC1,
IBM 360, CDC 7600, Cray 1 dan PDP 1.
·
SIMD (Single Instruction stream-Multiple Data
stream)
Yang merupakan singkatan dari Single Instruction,
Multiple Data. SIMD menggunakan banyak processor dengan instruksi yang sama,
namun setiap processor mengolah data yang berbeda. Sebagai contoh kita ingin
mencari angka 27 pada deretan angka yang terdiri dari 100 angka, dan kita
menggunakan 5 processor. Pada setiap processor kita menggunakan algoritma atau
perintah yang sama, namun data yang diproses berbeda. Misalnya processor 1
mengolah data dari deretan / urutan pertama hingga urutan ke 20, processor 2
mengolah data dari urutan 21 sampai urutan 40, begitu pun untuk
processor-processor yang lain. Beberapa contoh komputer yang menggunakan model
SIMD adalah ILLIAC IV, MasPar, Cray X-MP, Cray Y-MP, Thingking Machine CM-2 dan
Cell Processor (GPU).
·
MISD (Multiple Instruction stream-Single Data
stream)
Yang merupakan singkatan dari Multiple Instruction,
Single Data. MISD menggunakan banyak processor dengan setiap processor
menggunakan instruksi yang berbeda namun mengolah data yang sama. Hal ini merupakan
kebalikan dari model SIMD. Untuk contoh, kita bisa menggunakan kasus yang sama
pada contoh model SIMD namun cara penyelesaian yang berbeda. Pada MISD jika
pada komputer pertama, kedua, ketiga, keempat dan kelima sama-sama mengolah
data dari urutan 1-100, namun algoritma yang digunakan untuk teknik
pencariannya berbeda di setiap processor. Sampai saat ini belum ada komputer
yang menggunakan model MISD.
·
MIMD (Multiple Instruction stream-Multiple Data
stream)
Yang merupakan singkatan dari Multiple Instruction,
Multiple Data. MIMD menggunakan banyak processor dengan setiap processor
memiliki instruksi yang berbeda dan mengolah data yang berbeda. Namun banyak
komputer yang menggunakan model MIMD juga memasukkan komponen untuk model SIMD.
Beberapa komputer yang menggunakan model MIMD adalah IBM POWER5, HP/Compaq
AlphaServer, Intel IA32, AMD Opteron, Cray XT3 dan IBM BG/L.
III.
Perbedaan
Parallel Processing dan Single Processing
Single Processing
Parallel Processing
Dari perbedaan kedua gambar di atas,
kita dapat menyimpulkan bahwa kinerja komputasi paralel lebih efektif dan dapat
menghemat waktu untuk pemrosesan data yang banyak daripada komputasi tunggal.
Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan
kapan kita perlu menggunakan komputasi paralel. Jawabannya adalah karena
komputasi paralel jauh lebih menghemat waktu dan sangat efektif ketika kita
harus mengolah data dalam jumlah yang besar. Namun keefektifan akan hilang
ketika kita hanya mengolah data dalam jumlah yang kecil, karena data dengan
jumlah kecil atau sedikit lebih efektif jika kita menggunakan komputasi
tunggal.
IV.
Implementasi
Komputasi Parallel (Dunia Perfilman)
Kemajuan di bidang komputasi,
khususnya dalam bidang komputer grafis memberikan kemudahan untuk memodelkan
suatu benda dalam alam 3 dimensi virtual di komputer. Kita dapat membuat suatu
benda dalam wujud 3 dimensi dan mengubah-ubah sudut pandang, menentukan
pencahayaan, bahkan menyusun gerakan benda dalam alam 3 dimensi virtual
tersebut. Perkembangan ini muncul dari kebutuhan di bidang manufaktur untuk
memiliki komputer yang dapat membantu perancangan (computer aided design-CAD).
Ditemukannya teknik-teknik dan metoda rendering suatu obyek 3 D ke dalam media
2 D membuat benda yang dihasilkan oleh perangkat lunak ini menjadi semakin
nyata dan menyerupai aslinya.
Terdapat 2 klasifikasi parallel
computer yang penting, yaitu : Sebuah komputer dengan banyak unit komputasi
internal, atau lebih dikenal sebagai Shared Memory Multiprocessor. Beberapa
komputer yang terhubung melalui sebuah jaringan, atau lebih dikenal sebagai
Distributed Memory Multicomputer.
Pada bagian ini yaitu pada rendering
Film digunakan unit Komputasi parallel Distributed Memory Multicomputer. Hal
ini dikarenakan computer yang digunakan untuk membuat rendering filmnya adalah
Kluster Komputer. Kluster computer adalah proses menghubungkan beberapa
computer agar dapat bekerja secara bersama-sama dengan sebuah jaringan sebagai
media penghubungnya.
Komponen kluster biasanya saling terhubung dengan
cepat melalui sebuah interkoneksi yang sangat capat, atau juga melalui jaringan
local (LAN).
Keuntungan memakai Kluster Komputer
ini yaitu pemrosesan dapat dilakukan lebih cepat karena mempunyai mesin-mesin yang masing-masing
multiprocessor. Terdapat incremental Scalability dimana penambahan
system-sistem baru dengan inkremen yang kecil. Dalam Kluster Komputer kegagalan
yang terjadi di dalam satu node tidak berarti atau disebut dengan “Loss of
service”. Dan yang terakhir yaitu biaya yang dibutuhkan lebih murah, hal ini
dikarenakan Kluster computer dapat menghasilkan power komputasi yang sama atau
lebih tinggi dari computer parallel sebenarnya.
3D Rendering merupakan salah satu
proses yang sangat penting dalam melakukan pengolahan gambar 3D. Tanpa dirender
suatu gambar yang diolah oleh perangkat lunak animasi 3D hanya akan tampil
dalam bentuk kumpulan point dan wireframe sederhana. Proses render melakukan
“pembungkusan” tekstur pada objek yang bersesuaian sesuai cahaya yang datang
pada objek tersebut. Namun proses render membutuhkan daya komputasi yang sangat
besar karena banyaknya titik koordinat yang harus dikomputasi, terutama jika
data 3D yang diolah cukup rumit.
3D Rendering terdiri dari proses
yang bertujuan untuk membentuk sebuah gambar dari sebuah model yang dibentuk
oleh perangkat lunak animasi, model tersebut berisi data geometri, titik
pandang, tekstur dan cahaya yang diperlukan untuk membuat gambar yang utuh.3D
Rendering merupakan proses yang sangat penting dan telah digunakan untuk
berbagai macam penggunaan, seperti program permainan komputer, efek spesial
pada film dan program simulasi.
Salah satu cara untuk memecahkan masalah tersebut
adalah dengan menggunakan algoritma Divide and Conquer yang diterapkan kedalam
metode Komputasi Parallel. Divide and Conquer merupakan salah satu strategi
algoritma yang memecah suatu masalah besar menjadi beberapa bagian untuk
kemudian dikerjakan satu persatu. Dalam Komputasi Parallel tiap-tiap bagian
dikerjakan oleh unit pemrosesannya masing-masing, sesuai dengan kesepakatan
Divide pada awal komputasi. Komputasi Parallel terbukti jauh lebih efektif
untuk melakukan rendering objek 3D dibanding hanya menggunakan sebuah unit
komputasi. Sebagai contoh suatu perusahaan animasi asal Jepang, membutuhkan
waktu 165 tahun jika proses render yang dilakukan untuk membuat animasi
berdurasi 100 menit hanya menggunakan sebuah unit komputasi. Sedangkan ketika
perusahaan tersebut menggunakan metode Komputasi Parallel, proses tersebut
hanya membutuhkan waktu 1 tahun saja.
Salah satu masalah kompleks yang
hingga kini masih membutuhkan kemampuan komputasi yang besar adalah melakukan
proses render terhadap objek 3D. Proses render objek 3D sendiri membutuhkan
waktu yang cukup lama, terlebih jika objek yang diberikan cukup rumit.
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.
Daftar Pustaka
- https://www.wikiwand.com/id/Komputasi_paralel
- https://dikky12.wordpress.com/2011/04/01/parallel-processing/
- https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
- http://mahadisuta.blogspot.com/2012/12/implementasi-komputasi-paralel-dalam.html
Disusun Oleh :
- Riswan Fadhilah (56412479)
- Muhammad Adi Fahmizzaman (54412842)
- Darmawan Abdillah (51412721)
0 comments:
Post a Comment