Parallel Computation
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 ataupun untuk kalkulasi
numerik dalam menyelesaikan persamaan matematis di bidang fisika (fisika
komputasi), kimia (kimia komputasi) dll.
Pada dasarnya komputasi paralel digunakan untuk menyelesaikan
suatu permasalahan besar, dengan memecah-mecah permasalahan tersebut menjadi
bagian- bagian dari permasalahan yang lebih kecil (sub-masalah). Kemudian
sub-masalah tersebut di selesaikan oleh kumpulan-kumpulan dari prosesor
(multi-processors) yang nantinya terlibat dalam pengeksekusian masalah
tersebut. Dimana setiap bagian dari sub-masalah di selesaikan oleh satu
prosesor (single-processor). Sehingga kita dapat mengambil kesimpulan jika
sebuah masalah yang diselesaikan oleh satu prosesor membutuhkan berapa banyak
sub-masalah dan berapa lama waktu yang dibutuhkan oleh prosesor tersebut.
Kemudian dilakukan perbandingan dengan masalah yang sama, jika masalah tersebut
diselesaikan oleh banyak prosesor.
Komputasi parallel berbeda dengan multitasking,
yaitu satu CPU mengeksekusi beberapa program sekaligus. Pada system komputasi
parallel terdiri dari beberapa unit prosesor dan beberapa unit memori. Ada dua
teknik yang berbeda untuk mengakses data di unit memori, yaitu shared memory
address dan message passing. Berdasarkan cara mengorganisasikan memori ini
computer parallel dibedakan menjadi shared memory parallel machine dan
distributed memory parallel machine.
Tujuan
Tujuan utama komputasi paralel adalah untuk mempersingkat
waktu eksekusi program yang menggunakan komputasi serial. Beberapa alasan lain
yang menjadikan suatu program menggunakan komputasi paralel antara lain:
- Untuk komputasi yang sangat kompleks, terkadang sumber daya (resource) yang ada sekarang belum cukup mampu untuk mendukung penyelesaian terhadap permasalahan secara cepat.
- Adanya keterbatasan memori pada mesin untuk komputasi serial.
- Adanya sumber daya non-lokal yang dapat digunakan melalui jaringan lokal atau internet.
- Penghematan biaya pengadaan perangkat keras, dengan menggunakan beberapa mesin yang murah sebagai alternatif penggunaan satu mesin yang bagus tapi mahal, walaupun menggunakan P-Processor (Multicore).
Hambatan
#1. Hukum Amdahl, yaitu percepatan waktu eksekusi
program dengan menggunakan komputasi paralel tidak akan pernah mencapai
kesempurnaan karena selalu ada bagian program yang harus dieksekusi secara
serial.
#2. Hambatan yang diakibatkan karena beban jaringan,
dalam eksekusi program secara paralel, prosesor yang berada di mesin yang
berbeda memerlukan pertukaran data melalui jaringan. Untuk program yang dibagi
menjadi task-task membutuhkan sinkronisasi, network latency (keterlambatan
jaringan) menjadi masalah utama. Permasalahan ini muncul karena ketika suatu
task membutuhkan data dari task yang lain, bagian ini dikirimkan melalui
jaringan dimana kecepatan transfer data kurang dari kecepatan prosesor yang
mengeksekusi instruksi task tersebut. Hal ini menyebabkan task tersebut harus
menunggu sampai data tiba terlebih dahulu, sebelum mengeksekusi instruksi
selanjutnya.
#3. Hambatan yang terkait dengan beban waktu untuk
inisialisasi task, terminasi task, dan sinkronisasi.
Arsitektur Komputer Paralel
Dalam sebuah artikel yang direferensikan oleh Flynn,
Dalam mendesain sebuah komputer di karakteristikkan oleh perjalanan (alur) dari
instruksi-instruksi yang akan diselesaikan oleh suatu arsitektur komputer.
Taksonomi ini diklasifikasikan yang disesuaikan melalui perjalanan dari
gabungan instruksi dan data. Taksonomi ini menghasilkan empat kemungkinan
kombinasi dari pengoperasian instruksi yaitu :
#1. SISD (Single Instruction – Single Data)
Komputer
ini memiliki hanya satu prosesor dan satu instruksi yang dieksekusi secara
serial. Komputer ini adalah tipe komputer konvensional. Menurut mereka tipe
komputer ini tidak ada dalam praktik komputer paralel karena bahkan mainframe
pun tidak lagi menggunakan satu prosesor. Klasifikasi ini sekedar untuk
melengkapi definisi komputer paralel. Skema SISD ditunjukkan pada gambar
berikut ini.
#2. SIMD (Single Instruction – Multiple Data)
Komputer
ini memiliki lebih dari satu prosesor, tetapi hanya mengeksekusi satu instruksi
secara paralel pada data yang berbeda pada level lock-step. Komputer vektor
adalah salah satu komputer paralel yang menggunakan arsitektur ini. Skema SIMD
ditunjukkan pada gambar berikut ini.
#3. MISD (Multiple Instructions – Single Data)
Teorinya
komputer ini memiliki satu prosesor dan mengeksekusi beberapa instruksi secara
paralel tetapi praktiknya tidak ada komputer yang dibangun dengan arsitektur
ini karena sistemnya tidak mudah dipahami. Skema MISD ditunjukkan pada gambar
berikut ini.
#4. MIMD (Multiple Instructions – Multiple Data)
Komputer ini memiliki lebih dari satu prosesor dan mengeksekusi lebih dari satu
instruksi secara paralel. Tipe komputer ini yang paling banyak digunakan untuk
membangun komputer paralel, bahkan banyak supercomputer yang menerapkan
arsitektur ini. Skema MIMD ditunjukkan pada gambar berikut ini.
Bahasa Pemrograman yang digunakan pada Komputasi Paralel
Message Passing Interface (MPI)
Message Passing Interface (MPI) adalah sebuah
standard pemrograman yang memungkinkan pemrogram untuk membuat sebuah aplikasi
yang dapat dijalankan secara paralel. Proses yang dijalankan oleh sebuah
aplikasi dapat dibagi untuk dikirimkan ke masing – masing compute node yang
kemudian masing – masing compute node tersebut mengolah dan mengembalikan
hasilnya ke komputer head node.
Kegunaan :
- Menulis kode paralel secara portable.
- Mendapatkan performa yang tinggi dalam pemrograman paralel.
- Menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak begitu cocok dengan model data paralel.
Parallel Virtual Machine (PVM)
Parallel Virtual Machine (PVM) adalah paket software
yang mendukung pengiriman pesan untuk komputasi parallel antar komputer. PVM
dapat berjalan diberbagai macam variasi UNIX atau pun windows dan telah
portable untuk banyak arsitektur seperti PC, workstation, multiprocessor dan
superkomputer.
Komponen :
- PVM daemon merupakan semacam program yang berjalan di “belakang” dan biasanya menangani program dari para klien. Komponen ini berada pada setiap komputer yang terhubung dalam virtual machine (mesin virtual). PVM Berguna untuk membentuk konfigurasi host dalam PVM dan mengkoordinir komunikasi antar host.
- PVM libraries merupakan komponen antarmuka pemakai PVM untuk melakukan pengiriman pesan, pembuatan proses, koordinasi proses dan modifikasi virtual machine.
Komputasi Tunggal dan Komputasi Paralel
Komputasi Tunggal
Komputasi Paralel
Dari perbedaan kedua gambar di atas, kita dapat menyimpulkan bahwa kinerja komputasi parallel lebih efektif dan dapat menghemat waktu untuk pemrosesan data yang banyak daripadakomputasi tunggal.Dari penjelasan-penjelasan di atas, kita bisa mendapatkan jawaban mengapa dan kapan kita perlumenggunakan 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.
Hubungan antara Komputasi Modern dengan Paralel Processing
Hubungan antara 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.Kinerja komputasi dengan menggunakan paralel processing itu menggunakan
dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan
masalah dari masalah yangada. Sehingga dapat diselesaikan dengan cepat daripada
menggunakan satu komputer saja. Komputasi dengan paralel processing akan
menggabungkan beberapa CPU, dan membagi-bagitugas untuk masing-masing CPU
tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya.Tetapi ini untuk
masalah yang besar saja, komputasi yang masalah kecil, lebih murahmenggunakan
satu CPU saja.
Graphics Processing Unit (GPU)
Graphics Processing Unit (GPU) adalah sebuah device
yang secara khusus ditugaskan hanya untuk mengolah tampilan graphics. Pada
graphics card add-on, yang dimaksud frngan GPU adalah chip graphics yang
biasanya dikenal dengan nama GeForce, Radeon, dan lainnya. Sedangkan pada
solusi integrated graphics, GPU biasanya tidak berupa chip mandiri karena sudah
diintegrasikan kedalam chipset motherboard. Istilah GPU sendiri dipopulerkan
oleh chip graphics buatan NVIDIA, yaitu GeForce 256.
Kelebihan
#1. Menghemat waktu dan biaya
Penggunaan lebih banyak resource untuk satu task
akan mempercepat waktu pengerjaan, dengan potensi penghematan biaya. Cluster dapat dibangun dengan komponen komoditas dan
murah
#2. Mengerjakan problem yang lebih besar
Banyak problem tidak bisa dipecahkan dengan komputer
tunggal, memori terbatas: Grand Challenge, web search engine yang memproses
jutaan transaksi perdetik
#3. Menyediakan concurrency
Sumber daya pararel dapat melakukan banyak hal
secara simultan. Contoh: access grid yang menyediakan jaringan kolaborasi
global
Kelemahan
- Terdapat beberapa hambatan seperti yang telah dijelaskan diatas
- Tidak efektif dalam mengolah data dalam jumlah yang kecil
- Tidak baik untuk daya rendah dan perangkat mobile
- Kebutuhan daya yang lebih
SUMBER :
Langganan:
Posting Komentar
(
Atom
)
Diberdayakan oleh Blogger.
Arsip
Daftar Blog Saya
About Me
- Unknown
Popular Posts
-
Pengertian Stratifikasi sosial berasal dari bahasa Latin 'stratum' yang berarti tingkatan dan 'socius' yang berarti t...
-
Salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer independen secara bersamaan. Ini umumnya d...
-
POKOK BAHASAN 1 : Teknologi Game, Bisnis dalam Game Komputer, 3D Engine dan Scene Graph Teknologi Game Siapa yang tidak kena...
-
Dynamic Host Configuration Protocol (DHCP) server adalah server yang memiliki layanan untuk memberikan IP secara dinamis atau otomatis kepa...
-
Call of Duty (pertama dirilis pada tanggal 29 Oktober 2003) adalah permainan tembak-menembak orang-pertama dengan engine berdasarkan permai...
-
Mobile computing atau komputasi bergerak memiliki beberapa penjelasan, salah satunya komputasi bergerak merupakan kemajuan teknologi ko...
-
Pertukaran Data Elektronik (Electronic Data Interchange / EDI) adalah transmisi data terstruktur antar organisasi secara elektronis...
-
Cloud Computing atau komputasi awan adalah komputasi berbasis internet, dimana server yang dibagi bersama menyediakan sumber daya, p...
-
1. Pengertian Konflik adalah percekcokan, perselisihan atau pertentangan. Dalam sastra diartikan bahwa konflik merupakan ketegangan atau...
-
Pertama tama salam kenal agan2 pecinta game.. Disini ane selaku newbie di dunia blog ingin ngeshare tentang game2 yang sedang populer saat i...
0 komentar :
Posting Komentar