Apa sih High Performance Computing (HPC) itu ?
Komputasi kinerja tinggi (HPC) adalah
penggunaan komputer super dan teknik pemrosesan paralel untuk memecahkan
masalah komputasi yang kompleks. Teknologi HPC berfokus pada pengembangan
algoritma dan sistem pemrosesan paralel dengan menggabungkan teknik
administrasi dan komputasi paralel. Komputasi berkinerja tinggi biasanya
digunakan untuk memecahkan masalah tingkat lanjut dan melakukan kegiatan
penelitian melalui pemodelan komputer, simulasi dan analisis. Sistem HPC
memiliki kemampuan untuk memberikan kinerja yang berkelanjutan melalui
penggunaan sumber daya komputasi secara bersamaan.
|
Sumber : medium.com
|
Teknologi HPC diimplementasikan dalam
bidang multidisiplin termasuk:
- Biosains
- Data Geografis
- Pemodelan Industri Minyak Gas
- Otomasi Desain Elektronik
- Pemodelan Iklim
- Media dan Hiburan
Apa itu Parallel Computing ?
Komputasi
paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan
memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya
diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus
mengolah data dalam jumlah besar (di industri keuangan, bioinformatika, dll)
ataupun karena tuntutan proses komputasi yang banyak. Kasus kedua umum ditemui
di kalkulasi numerik untuk menyelesaikan persamaan matematis di bidang fisika
(fisika komputasi), kimia (kimia komputasi) dll.
|
Sumber : teldat.com
|
Di
dalam komputasi parallel ada yang dinamakan dengan pemrograman parallel.
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan
eksekusi perintah/operasi secara bersamaan (komputasi paralel), baik dalam
komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan
mesin paralel) CPU. Bila komputer yang digunakan secara bersamaan tersebut
dilakukan oleh komputer-komputer terpisah yang terhubung dalam suatu jaringan
komputer lebih sering istilah yang digunakan adalah sistem terdistribusi
(distributed computing).
Tujuan
utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi.
Semakin banyak hal yang bisa dilakukan secara bersamaan (dalam waktu yang
sama), semakin banyak pekerjaan yang bisa diselesaikan. Analogi yang paling
gampang adalah, bila anda dapat merebus air sambil memotong-motong bawang saat
anda akan memasak, waktu yang anda butuhkan akan lebih sedikit dibandingkan
bila anda mengerjakan hal tersebut secara berurutan (serial). Atau waktu yg
anda butuhkan memotong bawang akan lebih sedikit jika anda kerjakan berdua.
Untuk lebih memperjelas lebih dalam
mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi
paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih
dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang
digunakan, yaitu:
- SISD
(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,
Multiple Data) 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, Single Data) 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, Multiple Data) 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 Alpha Server, Intel IA32, AMD Opteron, Cray XT3 dan IBM
BG/L.
Apa sih Komputasi Terdistribusi ?
Dalam
kehidupan sehari-hari, seseorang dapat menggunakan komputer untuk bekerja dengan
aplikasi seperti Microsoft Word, Microsoft PowerPoint. Masalah yang kompleks
mungkin tidak dapat diselesaikan dengan menggunakan satu komputer. Oleh karena
itu, masalah tunggal dapat dibagi menjadi beberapa tugas dan didistribusikan ke
banyak komputer. Komputer-komputer ini dapat berkomunikasi dengan komputer lain
melalui jaringan. Mereka semua memiliki kinerja yang mirip dengan satu entitas.
Proses membagi satu tugas di antara banyak komputer dikenal sebagai komputasi
terdistribusi. Komputasi
terdistribusi digunakan di banyak aplikasi saat ini. Beberapa contohnya adalah
Facebook dan Google. Mereka terdiri dari jutaan dan jutaan pengguna. Semua pengguna
berkomunikasi dengan orang lain, berbagi foto, dll. Data dalam jumlah besar ini
disimpan menggunakan komputasi terdistribusi. Anjungan tunai mandiri di bank,
jaringan telepon, jaringan seluler, database terdistribusi juga menggunakan
komputasi terdistribusi.
|
Sumber : ridge.co
|
Keuntungan
dari komputasi terdistribusi:
- Skalabilitas
: Karena sistem terdistribusi tidak memiliki masalah yang terkait dengan memori
bersama, dengan meningkatnya jumlah prosesor, mereka jelas dianggap lebih
skalabel daripada sistem paralel.
- Keandalan : Dampak dari
kegagalan subsistem tunggal atau komputer pada jaringan komputer menentukan
keandalan sistem yang terhubung tersebut. Jelas, sistem terdistribusi
menunjukkan aspek yang lebih baik di bidang ini dibandingkan dengan sistem
paralel Berbagi data
: Berbagi data yang disediakan oleh sistem terdistribusi mirip
dengan berbagi data yang disediakan oleh database terdistribusi. Dengan demikian,
beberapa organisasi dapat memiliki sistem terdistribusi dengan aplikasi
terintegrasi untuk pertukaran data.
-
Berbagi sumber daya
: Jika ada sumber daya atau prosesor yang mahal dan memiliki tujuan khusus,
yang tidak dapat didedikasikan untuk setiap prosesor dalam sistem, sumber daya
tersebut dapat dengan mudah dibagikan ke seluruh sistem terdistribusi.
-
Heterogenitas dan modularitas
: Sebuah sistem harus cukup fleksibel untuk menerima prosesor heterogen baru
untuk ditambahkan ke dalamnya dan salah satu prosesor yang akan diganti atau
dihapus dari sistem tanpa mempengaruhi kemampuan pemrosesan sistem secara
keseluruhan. Sistem terdistribusi diamati lebih fleksibel dalam hal ini.
-
Konstruksi geografis
: Penempatan geografis dari subsistem yang berbeda dari suatu aplikasi dapat
ditempatkan secara inheren sebagai terdistribusi. Pemrosesan lokal dapat
dipaksakan oleh bandwidth komunikasi yang rendah lebih khusus dalam jaringan
nirkabel.
-
Ekonomis : Dengan evolusi
komputer modern, jaringan dan workstation dengan bandwidth tinggi tersedia
dengan biaya rendah, yang juga mendukung komputasi terdistribusi karena alasan
ekonomi.
Studi Kasus Jupiter Notebook Sebagai
Solusi Pembelajaran Menggunakan Super Komputer Dgx A100
Universitas Gunadarma dikenal luas sebagai
universitas berbasis information technology (IT). Ciri khas tersebut
memang sudah melekat sejak awal berdiri pada tahun 1981. Seluruh kurikulum yang
diterapkan dan materi yang dikandung di Universitas Gunadarma selalu berbasis
IT.
Kini, keunggulan tersebut sudah
bertransformasi ke arah kesiapan Universitas Gunadarma dalam menghadapi
Revolusi Industri 4.0 dan Society 5.0. Dijelaskannya, kurikulum di
seluruh program studi di Universitas Gunadarma juga telah dikembangkan dengan
muatan teknologi yang relevan dengan kebutuhan di era Revolusi Industri 4.0 dan
Society 5.0.
Sarana dan prasarana terkini yang
menerapkan Artificial Intelligence, Big Data Analytics, atau teknologi
lain yang mendorong Revolusi Industri 4.0 dan Society 5.0 diterapkan untuk
mendukung kekuatan dari basis TIK Universitas Gunadarma. Lalu salah satu
infrastruktur yang belum lama dikenalkan untuk melengkapi pembelajaran civitas
akademik di Universitas Gunadarma ialah Super Computer DGX A100.
|
Sumber : hpc-hub.gunadarma.ac.id
|
IMPLEMENTASI PARALLEL COMPUTING TERHADAP 3D RENDERING ANIMATION
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.
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.
References :
- https://id.theastrologypage.com/high-performance-computing
- https://ichi.pro/id/komputasi-paralel-vs-terdistribusi-157843820157375
- http://lipi.go.id/berita/single/Komputasi-Berkinerja-Tinggi/7904
- https://id.strephonsays.com/parallel-and-vs-distributed-computing-2413
- https://inet.detik.com/advertorial-news-block/d-5505121/gunadarma-punya-super-computer-canggih-ini-manfaatnya-buat-mahasiswa
- https://biz.kompas.com/read/2021/03/24/165347628/datangkan-superkomputer-dgx-a100-upaya-gunadarma-siapkan-sdm-unggul-cakap
- https://www.hpc-hub.gunadarma.ac.id/
- https://www.mahadisuta.net/2012/12/implementasi-komputasi-paralel-dalam.html?m=1