Komputasi Modern dan Pemrosesan Paralel
A. Konsep Komputasi Parallel Processing
Saat ini penggunaan komputer untuk menyelesaikan masalah sudah merasuk ke segala bidang. Hal ini karena komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Seiring dengan hal tersebut, semakin dituntut proses komputasi yang semakin cepat. Untuk meningkatkan kecepatan proses komputasi, dapat ditempuh dua cara :
- · peningkatan kecepatan perangkat keras,
- · 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. Dengan adanya banyak processor dalam satu komputer, pekerjaan bisa dibagi-bagi kepada masing-masing processor. Dengan demikian lebih banyak proses dapat dikerjakan dalam satu saat. Perubahan arsitektur komputer menjadi multiprocessor memang bisa membuat lebih banyak proses bisa dikerjakan sekaligus, namun tetap tidak bisa meningkatkan kecepatan masing-masing proses. 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. Saat ini komputer multiprocessor masih jarang dan mahal harganya. Hal ini menyebabkan algoritma paralel yang ada 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. Pada makalah ini dibuat dua aplikasi dari komputasi paralel. Tujuan dari pembuatan aplikasi ini hanyalah untuk menunjukkan peningkatan kecepatan yang diperoleh dari paralelisasi algoritma sekuensial, sehingga sengaja dipilih aplikasi yang sederhana. Karena ketiadaan perangkat keras komputer paralel, maka kedua aplikasi tersebut dibuat dengan menggunakan PVM (Parallel Virtual Machine), suatu sistem perangkat lunak yang bekerja pada jaringan komputer dan mampu mensimulasikan kerja komputer paralel. Program dibuat dengan bahasa pemroraman C pada sistem operasi Red Hat Linux. Terdapat dua aplikasi sederhana yang dipilih untuk diimplementasikan, yaitu penjumlahan n bilangan secara paralel dan pengurutan n bilangan dengan menggunakan suatu sorting network yang disebut Bitonic Sort. Untuk masing-masing aplikasi akan dibandingkan dengan algoritma sekuensialnya.
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.
B. Hubungan Antara Komputasi Modern dengan Parallel Processing
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.
Jadi, sudah jelas tertera bahwa hubungan dari Komputasi Modern dan Pemrosesan Parallel adalah penggunaan komputer dengan pemrosesan paralel sangat mempercepat kinerja dibandingkan dengan penyelesaian masalah dengan satu CPU. Oleh sebab itu, peningkatan kinerja atau proses komputasi semakin diterapkan, salah satunya adalah dengan cara 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.
Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya.
C. Implementasi Komputasi Paralel Pada Dunia Bisnis
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.
Berpikir sedikit optimistis, dengan dukungan ini setidaknya kita bisa mengevaluasi ulang kebutuhan kita membeli mainframe yang mahal untuk menjalankan aplikasi enterprise Anda dan menggantikan dengan mesin berbasis HPC Cluster. Dan mungkin, dengan sedikit percaya diri, mesin tersebut dapat merupakan produk rakitan sendiri. Selain dapat menjadi indikasi kegiatan riset dan pencapaian teknologi kepemilikan superkomputer, hal itu juga merupakan masalah prestisius bangsa. Salah satu proyek yang cukup ambisius tahun ini adalah RedGrid, sebuah supercluster RRC yang dibangun oleh Cray dengan prosesor AMD Opteron dan diprediksikan menjadi superkomputer nomor dua tercepat di dunia.
Di negara tetangga seperti Thailand, Malaysia, dan Singapura terdapat banyak sekali proyek HPC Cluster yang dibangun untuk kebutuhan riset dan industri. Bagaimana dengan Indonesia? Mungkin sampai saat ini belum ada satu lembaga penelitian atau universitas pun yang memiliki HPC Cluster. Pertanyaan perlu atau tidak merupakan hal yang relatif dan mengingat bahwa di negara kita hampir tidak ada riset teknologi maju ataupun dasar. Kecenderungan kita adalah membeli sebuah solusi jadi dan bukan know-how, membuat bangsa ini sangatlah sukar untuk maju secara teknis dalam bidang teknologi.
Pemodelan merupakan bagian yang terpenting dalam proses pembuatan gambar 3D dalam komputer. Dari model inilah semuanya bermula. Semakin baik dan presisi proses modeling semakin baik pula kualitas gambar/animasi yang dihasilkan. Pemodelan dapat dilakukan dengan alat bantu seperti digitizer 2D/3D atau scanner 3D maupun dibuat secara manual di komputer. Demi kecepatan dan ketelitian memang akan lebih baik jika kita menggunakan alat bantu, tetapi karena harga perangkat digitizer ini tidak dapat dibilang murah, maka pemodelan secara manual kadang menjadi pilihan yang paling tepat.
Objek-objek sederhana seperti bola, silinder, tube, prisma, kotak, limas, kerucut, dan benda geometris semacam ini biasanya telah disediakan fasilitas pembuatannya dalam program 3D Modelling komersial. Kita cukup menentukan parameter-parameter benda tersebut seperti koordinat pusat, tinggi, lebar, jari-jari, tebal dan lain-lain. Untuk bentuk-bentuk objek yang lebih kompleks, kita coba uraikan dengan maksud mencari kemungkinan pembuatannya dari operasi logika objek-objek geometri sederhana seperti di atas. Misalkan, bentuk barbel beban bulat, bisa dibentuk dari operasi logika ADD antara 2 buah bola dengan sebuah silinder. Bentuk manik kalung mutiara dapat dibuat dari operasi SUB antara objek bola dengan objek silinder. Masih ada lagi jenis logika yang dapat digunakan untuk pembentukan objek misalkan INTERSECTION yakni untuk membentuk objek yang merupakan pepotongan volume 2 buah benda 3 dimensi. Bentuk piring terbang misalnya, dapat dibuat dengan operasi INTERSECTION dari dua buah objek bola besar.
Untuk benda-benda yang lebih kompleks lagi, maka kita mengenal metoda lain yang dalam paket program Autodesk 3D Studio dikenal dengan nama Loftering. Objek 3D dapat dibentuk dengan proses loftering dari objek 2 dimensi yang telah ada. Objek 2D ini dapat dibuat dari bentuk bangun 2D dasar, digambar bebas (freehand), gabungan antara gambar bebas dan bentuk geometri dasar, maupun dibuat melalui persamaan-persamaan matematis. Loftering secara awam dapat diartikan sebagai proses memberikan komponen ketebalan dari objek 2D menurut suatu path yang kita tentukan.
Proses pemberian ketebalan yang paling sederhana contohnya jika kita membuat suatu logo/teks dalam 2D, misalkan logo perusahaan, dan kita menginginkan memberikan ketebalan tertentu, maka dengan program Lofter cukup kita load objek 2D tersebut dan kita beri path garis lurus sepanjang ketebalan yang diinginkan dalam vektor arah ketebalan, lalu kita lakukan proses loftering. Maka jadilah objek 3D yang kita inginkan. Contoh variasi bentuk path lain yang dapat kita terapkan adalah lingkaran (untuk membuat objek putar misalnya pion catur seperti pada gallery), helix (membuat model DNA misalnya), spyline, dan lain-lain. Ini tergantuk kreativitas kita sendiri.
Fasilitas lain yang dapat membantuk kita memodelkan suatu benda adalah fasilitas deformasi, untuk mengisi keterbatasan path sederhana. Contoh deformasi adalah scaling (misalkan kita membuat terompet, maka ukuran irisan lingkaran pada ujung satu tentu akan berbeda dengan di ujung lainnya), beveling (memodifikasi sudut-sudut benda), rotation, leveling (misalkan untuk membuat benda yang ujungnya berupa bujur sangkar dan pangkalnya berbentuk lingkaran/bentuk 2D lainnya), dan lain-lain.
Dari pemodelan ini hasil akhirnya berupa meshes file yang berisikan informasi koordinat-kordinat vertex (titik sudut) suatu objek 3D serta wireframenya (rangka kawat yang menghubungkan antar titik sudut). Representasi objek dalam tahap ini masih berupa kerangka objek tersebut.
Objek 3D yang telah ada harus didefinisikan kembali propertiesnya, misalkan material penyusun objek itu (kadang-kadang berarti juga kita harus membuat materialnya), mapping/pemetaan ukuran pola material (misalkan material ubin marmer, maka harus kita definisikan berapa besar ubin marmer relatif terhadap objek yang akan diset dengan material tersebut). Material selain berisi pola material (optional), mencakup juga sifat-sifat transparansi, pemantulan cahaya, efek cermin, warna, sifat pendar, dan lain-lain.
Setelah objek kita berikan sifat-sifatnya, maka lingkungan objek juga harus didefinisikan. Pertama kita harus menentukan sifat lingkungan (berkabut tidaknya, sifat penyerapan cahaya oleh lingkungan), kemudian latar belakang lingkungan juga kita harus set yang dapat berupa warna/gradasi warna maupun berupa gambar. Pencahayaan menjadi hal yang penting juga karena merupakan komponen yang dijadikan dasar dalam melakukan rendering. Pencahayaan umumnya meliputi 3 jenis:
1. Cahaya Lingkungan
2. Cahaya Lampu Penerang
3. Cahaya Lamput Sorot
Source :
Basuki, Thomas Anung. 2001. Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi. Integral. 6(2): 72-80.
Koenig, Herbert. 1998. Modern Computational Methods. CRC Press
https://andri102.wordpress.com/game/soft-skill/konsep-komputasi-parallel-processing/
https://niamoraa.wordpress.com/softskill-project-2/hubungan-pemoresan-paralel-dan-komputasi-modern/
https://www.mahadisuta.net/2012/12/implementasi-komputasi-paralel-dalam.html
Komentar
Posting Komentar