Artikel
Komputasi dan Paralel Processing
Komputasi
Setiap
jenis perhitungan atau penggunaan teknologi komputer dalam pengolahan
informasi. Perhitungan adalah proses setelah yang jelas model yang dipahami dan
dinyatakan dalam suatu algoritma , protokol , topologi jaringan , dll
Perhitungan juga merupakan subyek utama dari ilmu komputer : menyelidiki apa
yang dapat atau tidak dapat dilakukan dengan cara komputasi.
Perhitungan
dapat diklasifikasikan oleh setidaknya tiga kriteria ortogonal: digital vs
analog , sekuensial vs paralel vs bersamaan , bets vs interaktif .
Dalam
prakteknya, perhitungan digital sering digunakan untuk mensimulasikan proses
alam (misalnya, perhitungan Evolusi ), termasuk yang lebih alami dijelaskan
oleh model analog perhitungan (misalnya, jaringan syaraf tiruan ).
Parallel Processing
Dalam
komputer, pemrosesan paralel merupakan pengolahan dari Program instruksi dengan
membagi mereka di antara beberapa prosesor dengan tujuan untuk menjalankan
program dalam waktu kurang. Dalam komputer paling awal, hanya satu program
berlari pada suatu waktu. Sebuah program komputasi-intensif yang memakan waktu
satu jam untuk menjalankan dan menyalin Program tape yang mengambil satu jam
untuk menjalankan akan mengambil total dua jam untuk menjalankan. Bentuk awal
dari pemrosesan paralel memungkinkan eksekusi interleaved kedua program
bersama-sama. Komputer akan memulai operasi I / O, dan sementara itu sedang
menunggu operasi untuk menyelesaikan, itu akan mengeksekusi program
prosesor-intensif. Waktu eksekusi total untuk dua pekerjaan akan menjadi
sedikit lebih dari satu jam.
Peningkatan
berikutnya multiprogramming . Dalam sistem multiprogramming, beberapa program
telah dikirim pengguna yang masing-masing diperbolehkan untuk menggunakan
prosesor untuk waktu yang singkat. Untuk pengguna tampak bahwa semua program
yang melaksanakan pada saat yang sama. Masalah pertama muncul pertentangan
sumber daya di sistem ini. Permintaan eksplisit untuk sumber daya menyebabkan
masalah dari kebuntuan . Kompetisi untuk sumber daya pada mesin tanpa
dasi-melanggar instruksi mengarah pada rutin critical section .
Langkah
berikutnya dalam pengolahan paralel adalah pengenalan multiprocessing . Dalam
sistem ini, dua atau lebih prosesor berbagi pekerjaan yang akan dilakukan.
Versi awal memiliki master / slave konfigurasi. Salah satu prosesor (master)
diprogram untuk bertanggung jawab atas semua pekerjaan dalam sistem, yang lain
(budak) dilakukan hanya tugas-tugas itu diberikan oleh master. Pengaturan ini
diperlukan karena tidak kemudian mengerti bagaimana program mesin sehingga
mereka bisa bekerja sama dalam pengelolaan sumber daya sistem.
Hubungan
Antara Komputasi Modern dengan Paralel Processing
Komputasi
Paralel merupakan teknik untuk melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer yang independen secara bersamaan. Biasanya
digunakan untuk kapasitas yang pengolahan data yang sangat besar (lingkungan
industri, bioinformatika dll) atau karena tuntutan komputasi yang banyak. Pada
kasus yang kedua biasanya ditemukannya kalkulasi numerik untuk menyelesaikan
persamaan matematis di bidang fisika (fisika komputasi), kimia (kimai
komputasi) dll. Untuk melakukan berbagai jenis komputasi paralel diperlukan
infrastruktur mesin paralel yang terdiri dari banyak komputer yang nantinya
dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk
menyelesaikan suatu masalah. Untuk itu maka digunakannya perangkat lunak
pendukung yang biasa disebut middleware yang berperan untuk mengatur distribusi
antar titik dalam satu mesin paralel. Selanjutnya pemakai harus membuat
pemrograman paralel untuk merealisasikan komputasi. Salah satu middleware yang
asli dikembangkan di Indonesia adalah OpenPC yang dipelopori oleh GFTK LIPI dan
diimplementasikan di LIPI Public Center.
Komputasi
paralel berbeda dengan multitasking. Multitasking itu sendiri adalah komputer
dengan processor tunggal yang dapat mengeksekusi beberapa tugas secara
bersamaan. Sedangkan komputasi paralel menggunakan beberapa processor atau
komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von
Neumann. Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi
tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan
beberapa processor), maka kita harus mengetahui 4 model komputasi yang
digunakan, yaitu:
- SISD
Merupakan
singkatan dari Single Instruction, Single Data yaitu satu-satunya yang
menggunakan arsitektur Von Neumann, karena pada model ini hanya menggunakan 1
processor saja. Oleh karena itu model ini 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
Merupakan
singkatan dari Single Instruction, Multiple Data. Model ini menggunakan banyak
processor dengan instruksi yang sama, namun dengan 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
Merupakan
singkatan dari Multiple Instruction, Single Data. MISD menggunakan banyak
processor dengan instruksi yang berbeda namun mengolah data yang sama. Hal ini
merupakan kebalikan dari model SIMD. Sebagai contoh, dengan menggunakan kasus
yang sama pada contoh model SIMD namun cara untuk menyelesaikannya 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
Pada
Multiple Instruction, Multiple Data biasanya 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.
Jadi
dapat disimpulkan hubungan antara komputasi modern dengan paralel processing
adalah sama-sama membutuhkan processor atau core yang banyak untuk melakukan
serangkaian tugas.
Implementasi
Komputasi Paralel pada Perusahaan(PIXAR)
Pada bagian ini penulis akan
membahas salah satu implementasi komputasi parallel pada dunia bisnis yaitu
pada dunia perfilman yaitu rendering film. 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.
Komputasi Paralel mempunyai prinsip
yang bersesuaian dengan algoritma Divide and Conquer, yaitu membagi-bagi proses
menjadi bagian-bagian yang cukup kecil dan memungkinkan untuk dikerjakan oleh
sebuah unit komputasi.
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.
Sebenarnya operasi render objek 3D
hanya merupakan kumpulan dari beberapa operasi primitif, namun operasi primitif
yang dilakukan pada proses render sangatlah banyak. Untuk itu digunakan metode
Komputasi Parallel sehingga tiap-tiap operasi primitif yang dilakukan dapat
dikerjakan dengan menggunakan algoritma Divide and Conquer agar tiap bagian
dari operasi Divide pada perhitungan yang dilakukan dapat dikerjakan oleh
masing-masing unit komputasi. Beberapa operasi primitif yang digunakan dalam 3D
Rendering adalah operasi penghitungan jarak antara 2 titik,operasi perkalian
bilangan bulat yang besar. Tentunya hampir kesemua operasi primitif tersebut
dapat dipecahkan dengan menggunakan algoritma Divide and Conquer sehingga
menjadikan proses 3D Rendering sangat cocok untuk diselesaikan dengan algoritma
Divide and Conquer.
Selain itu, perfilman yang
mengandalkan spesial efek merupakan salah satu industri yang paling banyak
mengandalkan HPC Cluster. Rangkaian film The Lord of the Ring yang akan diputar
pada pertengahan Desember ini merupakan salah satu film yang paling banyak
mengandalkan digital content creation (DCC) dan menuntut kapasitas pemrosesan
yang besar untuk rendering gambar- gambar beresolusi tinggi dalam berbagai
format.
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.
Beberapa waktu lalu Pixar, sebuah
studio 3D spesial efek membangun HPC Cluster baru berbasis 1.920 prosesor Intel
Xeon untuk menggantikan mesin Sun Enterprise Render Server yang dipakai untuk
produksi film Monster Inc.Oracle, vendor aplikasi database terkemuka telah
mendukung teknologi cluster dengan meluncurkan Oracle 9i.
Referensi
Aswendy. 2016. Artikel
Komputasi dan Paralel Processing. https://aswendy.wordpress.com/2016/05/16/artikel-komputasi-dan-paralel-processing/
. (12 Mei 2020).
Mahadisuta. 2012. Implementasi Komputasi Paralel Dalam
Dunia Bisnis. https://www.mahadisuta.net/2012/12/implementasi-komputasi-paralel-dalam.html
. (12 Mei 2020).