Anda di halaman 1dari 11

JURNAL KOMPUTASI PARALEL

(PARALLEL COMPUTING)

DI SUSUN OLEH:
KELOMPOK 7

1. RIESTA CINTYA DEWI (201743501500)


2. SHADAT ARDIANSYAH (201743501501)
3. DENDI ARIFANI (201743501502)

FAKULTAS TEKNIK DAN KOMPUTER


PROGRAM STUDI INFORMATIKA
UNIVERSITAS INDRAPRASTA PGRI
2019
ABSTRAK

Parallel Computing yaitu penyatuan beberapa komputer atau server menjadi satu kesatuan
sehingga dapat mengerjakan proses secara bersamaan ataupun secara simultan. Parallel
computing membuat program maupun proses berjalan lebih cepat karena semakin banyak
CPU yang digunakan. Pada dasarnya parallel Computing menggunakan media jaringan, tapi
yang menjadi ciri khususnya adalah bagaimana menyelesaikan masalah.

1. Pendahuluan

Para perancang komputer selalu berudsaha untuk meningkatkan kinerja mesin-mesin yang
dirancangnya.Satu cara yang dilakukan adalah membuat chip-chipagar bekerja lebih cepat
dengan menambah kecepatan detaknya, namun untuksemua desain baru, cara tersebut masih
suli untuk dilakukan. Oleh karena itu,sebagian besar arsitektur komputer beralih ke
paralelisme (melakukan dua halatau lebih secara sekaligus) sebagai suatu cara untuk
mencapai kinerja yang lebihtinggi pada suatu kecepatan detak tertentu.Idealnya, parallel
processingmembuat program berjalan 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.Konsep keparalelan itu
sendiri dapat ditinjau dari aspek design mesinparalel, perkembangan bahasa pemrograman
paralel atau dari aspekpembangunan dan analisis algoritma paralel. Algoritma paralel itu
sendiri lebihbanyak difokuskan kepada algoritma untuk menyelesaikan masalah
numerikkarena masalah numerik merupakan salah satu masalah yang memerlukankecepatan
komputasi yang sangat tinggi.Parallel processing berbedadengan multitasking, yaitu satu
CPU mengeksekusi beberapa programsekaligus. Parallel processingdisebut juga parallel
computing.

1.1 Rumusan Masalah


1.1.1 Pengertian komputasi paralel, klasifikasi multiprossesor, komputer paralel, klasifikasi
komputer paralel.
1.1.2 Klasifikasi komputer paralel

1.2 Maksud dan Tujuan


Saya membuat makalah ini bertujuan untuk:
1.2.1 mengetahui apa itu komputasi paralel, dan klasifikasi multiprosesor.
1.2.2 mengetahui klasifikasi komputer paralel.
2. Pembahasan
2.1 Definisi

Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan
dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus
mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang
banyak.
Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin
paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan
mampu bekerja secara paralel untuk menyelesaikan satu masalah. Untuk itu
diperlukan aneka perangkat lunak pendukung yang biasa disebut sebagai middleware
yang berperan untuk mengatur distribusi pekerjaan antar node dalam satu mesin
paralel. Selanjutnya pemakai harus membuat pemrograman paralel untuk
merealisasikan komputasi.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang
memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang
digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah
yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi.
Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah
MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).

Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian
multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas
secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi
beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan
sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi
membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan
komputasi paralel sudah dijelaskan sebelumnya, bahwa 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 terlebih dahulu pengertian mengenai model
dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:

1. SISD

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.

2. SIMD

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).

3. MISD

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.

4. MIMD

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.

Singkatnya untuk perbedaan antara komputasi tunggal/serial dengan komputasi


paralel, bisa digambarkan pada gambar di bawah ini:
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.
Komputasi paralel membutuhkan :
· algoritma
· bahasa pemrograman
· compiler

Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan


eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu
(prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa
komputasi.

* Message Passing Interface (MPI)


MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan. Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis
yang tidak
begitu cocok dengan model data paralel.

* Message Passing Interface (MPI)


MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan. Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis
yang tidak
begitu cocok dengan model data paralel.

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 yang ada. Sehingga dapat diselesaikan dengan cepat daripada
menggunakan satu komputer saja. Komputasi dengan paralel processing akan
menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU
tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah
yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU
saja.

3. Klasifikasi multiprosesor

Sistem multiprosesor dapat dibedakan menjadi dua:


1. Loosely coupled: memori tidak disharing dan setiap prosesor mempunyai memori
sendiri.
2. Tightly coupled: melakukan sharing informasi melalui sebuah memori bersama.
Cluster adalah Suatu interkoneksi sistem komputer multi independen yang
dioperasikan seperti sebuah sistem tunggal dalam suatu kerjasama. Setiap simpul
dalam cluster dapat juga bekerja secara independen. Dua tujuan utama terbentuknya
cluster :
3.1 Load sharing : dua sistem membentuk cluster dan sharing beban pemrosesan.
3.1 Gambar konsep load sharing pada cluster

3.2 Fault Tolerance : salah satu digunakan sebagai hot stand-by yang berfungsi
melakukan pengambil alihan fungsi bila terjadi kegagalan. Dan berlaku diam
selama tidak menemukan kegagalan pada sistem lain.

3.2 Gambar konsep fault tolerance

4. Pengolahan Paralel

Pengolahan informasi yang menekankan pada manipulasi data-data elemen secara


simultan. Tujuan : untuk mempercepat komputasi dari sistem komputer dan
menambah jumlah keluaran (troughput) yang dapat dihasilkan dalam jangka waktu
tertentu. Komputer Paralel : Komputer yang memiliki kemampuan untuk melakukan
pengolahan paralel. Peningkatan throughput dapat dilakukan dengan :
 Meningkatkan kecepatan operasi
 Meningkatkan jumlah operasi yang dapat dilakukan dalam satu waktu tertentu
(concurrency).
Klasifikasi Komputer parallel dalam beberapa sudut pandang:

4.1 Klasifikasi Flynn


Memandang organisasi sebuah sistem komputer berdasarkan jumlah instruksi dan data
yang dimanipulasi secara simultan dan membaginya menjadi empat kelompok utama:

 SISD (Single Instruction stream, Single Data stream) : Komputer tunggal yang
mempunyai satu unit kontrol, satu unit prosesor dan satu unit memori.

4.1 Gambar

 SIMD (Single Instruction stream, Multiple Data stream) : Komputer yang


mempunyai beberapa unit prosesor di bawah pengawasan satu unit kontrol. Setiap
prosesor menerima instruksi yang sama dari unit kontrol, tetapi beroperasi pada data
yang berbeda.

4.1 Gambar
 MISD (Multiple Instruction stream, Single Data stream) : Sampai saat ini struktur
ini masih merupakan struktur teoritis dan belum ada komputer dengan model ini.

4.1 Gambar

 MIMD (Multiple Instruction stream, Multiple Data stream) : Organisasi komputer


yang memiliki kemampuan untuk memproses beberapa program dalam waktu yang
sama. Pada umumnya multiprosesor dan multikomputer termasuk dalam
kategori ini.

4.1 Gambar

Synchronous :
1. Terdapat koordinasi yang mengatur beberapa operasi untuk dapat berjalan bersamaan
hingga tidak ada ketergantungan antar operasi.
2. Parallelism yang termasuk dalam kategori ini adalah vector/array parallelism, SIMD
dan systolic parallelism.
3. Systolic parallel computer adalah multiprocessor dimana data didistribusikan dan
dipompa dari memory ke suatu array prosesor sebelum kembali ke memori.

Asynchronous :
1. Masing-masing prosesor dapat diberi tugas atau menjalankan operasi berbeda dan
masing-masing prosesor melaksanakan operasi tersebut secara sendiri-sendiri tanpa
perlu koordinasi.
2. Paradigma yang juga termasuk dalam kategori ini adalah MIMD dan reduksi.
3. Paradigma reduksi adalah paradigma yang berpijak pada konseph graph reduksi.
Program dengan model reduksi diekspresikan sebagai graph alur data. Komputasi
berlangsung dengan cara mereduksi graph dan program berhenti jika graph akhirnya
hanya mempunyai satu simpul.

 MICHAEL J. QUINN
Quinn membedakan paralelisma ke dalam dua jenis : Data Parallelism dan Control
Parallelism.
 Data Parallelism : penerapan operasi yang sama secara simultan terhadap elemen-
elemen dari kumpulan data.
 Control Parallelism : penerapan operasi-operasi berbeda terhadap elemen-elemen
data yang berbeda secara bersamaan. Aliran data lebih kompleks.
Contoh Parallelism adalah pipelining yaitu Teknik pemecahan satu tugas menjadi
beberapa sub-tugas dan mengeksekusi tugas tersebut secara bersamaan dalam unit-
unit multihardware atau segmen-segmen.
Analisa Algoritma Paralel
 Running Time
Waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada
sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat
algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang
bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama
dimulai hingga pada saat komputasi pada prosesor terakhir selesai.
 Banyaknya Prosesor
Semakin banyak prosesor yang digunakan semakin tinggi biaya untuk memperoleh
solusi sebuah problem. Hal ini terjadi karena perlu dipertimbangkan biaya pengadaan
prosesor dan perawatannya. Jumlah prosesor yang tergantung dari n, n=ukuran
problem, dinyatakan sebagai p(n). Kadang-kadang jumlah prosesor tidak tergantung
pada ukuran problem.

4.2 Klasifikasi Shore

J.E. Shore membuat klasifikasi arsitektur komputer yang didasarkan pada organisasi
bagian-bagian penyusun suatu komputer dan membedakannya menjadi enam jenis
mesin.
1. Mesin I. Pada komputer ini, satu instruksi dikerjakan pada suatu waktu dan masing-
masing beroperasi pada satu word dalam suatu waktu.
2. Mesin II. Komputer ini juga menjalankan satu instruksi pada suatu waktu, namun ia
beroperasi pada sebuah irisan dari suatu bit dalam suatu waktu, bukannya semua bit
dalam suatu word data.
3. Mesin III. Sebuah komputer dalam kelas ini memiliki dua unit pengolahan yang
dapat beroperasi pada data, satu word dalarn suatu waktu atau suatu irisan bit dalam
suatu waktu.
4. Mesin IV. Komputer jenis ini dicirikan oleh sejumlah elemen (unit pengolahan dan
unit memori), semua di bawah kendali sebuah unit kendali logika (CLU) tunggal.
5. Mesin V. Mesin V dihasilkan dengan mengubah Mesin IV sedemikian sehingga
elemen-elemen pengolahan dapat berkomunikasi dengán tetangga terdekat mereka.
6. Mesin VI. Komputer ini, disebut sebagai array logika-dalam-memori, merupakan
sebuah mesin dengan logika prosesor yang tersebar dalam memori.

4.3 Klasifikasi Feng

Tse-yum Feng (1972) menyarankan pengklasifikasian arsitektur komputer atas


tingkatan paralelisme mereka. Tingkatan paralelisme (degree of parallelism) diwakili
oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah panjang irisan
bit. Pasangan ini diklasifikasikan menjadi empat kelompok sebagai berikut:
1. Jika n = 1 dan m = I maka tidak terjadi paralelisme. Word dan bit diproses satu per
satuan waktu. Hal ini disebut sebagai word serial/bit serial(WSBS).
2. Jika n> 1 dan m = 1 maka paralelisme itu disebut sebagai word paralel/bit serial
(WPBS). Dalam hal ini, semua n irisan bit diproses satu per satuan waktu.
3. Paralelisme word serial/bit paralel (WSBP) terjadi jika n = 1 dan m> 1. Dengan
demikian sejumlah n word diproses satu per satuan waktu tetapi sejumlah m bit dan
masing-masing word diproses secara paralel.
4. Kategori terakhir disebut sebagai word paralel/bit paralel (WPBP) dan merupakan
suatu paralelisme dimana n > 1 dan m > 1. Dalam hal ini, sejumlah nm bit diproses
secara bersamaan.

Komputer sekuensial - berdasarkan klasifikasi Flynn adalah kelompok komputer


SISD - hanya mempunyai satu unit pengendali untuk menentukan instruksi yang akan
dieksekusi. Pada setiap satuan waktu hanya satu instruksi yang dapat dieksekusi,
dimana kecepatan akses ke memori dan kecepatan piranti masukan dan keluaran dapat
memperlambat proses komputasi. Beberapa metoda dibangun untuk menghindari
masalah tersebut, seperti penggunaan cache memory. Namun komputer sekuensial ini
tetap mengalami keterbatasan jika menangani masalah yang memerlukan kecepatan
tinggi. Hal-hal tersebut di atas pada akhirnya melatarbelakangi lahirnya sistem
komputer paralel.
Berdasarkan klasifikasi Flynn, komputer paralel termasuk kelompok SIMD atau
MIMD. Komputer paralel mempunyai lebih dari satu unit pemroses dalam sebuah
komputer yang sama. Hal yang membuat suatu komputer dengan banyak prosesor
disebut sebagai komputer paralel adalah bahwa seluruh prosesor tersebut dapat
beroperasi secara simultan. Jika tiap-tiap prosesor dapat mengerjakan satu juta operasi
tiap detik, maka sepuluh prosesor dapat mengerjakan sepuluh juta operasi tiap detik,
seratus prosesor akan dapat mengerjakan seratus juta operasi tiap detiknya[Les93].
Pada dasarnya aktivitas sebuah prosesor pada komputer paralel adalah sama dengan
aktivitas sebuah prosesor pada komputer sekuensial. Tiap prosesor membaca (read)
data dari memori, memprosesnya dan menuliskannya (write) kembali ke memori.
Aktivitas komputasi ini dikerjakan oleh seluruh prosesor secara paralel.

5. Penutup
5.1 Kesimpulan
Dengan menggunakan komputasi paralel maka dapat mempercepat komputasi yang
dilakukan pada CPU. Pada penelitian ini didapati, pada citra dengan ukuran 64x64,
penambahan kecepatan sebesar 1,5 , pada citra dengan ukuran 128x128, penambahan
kecepatan sebesar 3,7 , pada citra dengan ukuran 256x256, penambahan kecepatan
sebesar 4,5 , pada citra dengan ukuran 512x512, penambahan kecepatan sebesar 4,9 ,
dan pada citra dengan ukuran 1024x1024, penambahan kecepatan sebesar 7,1 .
Didapati bahwa jika ukuran citra kecil maka tidak ada perbedaan yang mendasar,
tetapi jika ukuran citra bertambah besar maka perbedaan waktu komputasi pun
bertambah besar.

5.2 Saran
Disarankan untuk penelitian berikutnya dilakukan komputasi paralel dengan
menggunakan NVIDIA CUDA pada metode segmentasi yang lainnya sehingga dapat
dilakukan perbandingkan peningkatan kecepatan yang terjadi. Juga dalam penelitian
selanjutnya adanya eksplorasi yang lebih dalam lagi dengan NVIDIA CUDA, dimana
dengan menggunakan shared memory pada GPU sehingga mendapatkan hasil yang
lebih cepat dibandingkan penelitian ini.

DAFTAR PUSTAKA

http://sigitgovinda19.blogspot.com/2017/10/klasifikasi-pada-arsitektur-komputer.html
https://penawikara.wordpress.com/tag/multiprosesor/
https://tulisandhik.blogspot.com/2017/07/makalah-paralel-processing.html
http://e-journal.uajy.ac.id/5269/6/5MIF01902.pdf
https://loraanisya.wordpress.com/2017/06/06/parallel-computation-komputasi-paralel/

Anda mungkin juga menyukai