TUGAS MAKALAH
KOMPUTASI
MODERN
Parallelism Concept
Disusun Oleh :
1.
Aditya Cahya Putra (50417165)
2.
Afni Restiana Putri
D (50417237)
3.
Andri Adiansyah (50417724)
4.
Henry Stephanus S (52417737)
5.
Ignasius Dewanto
Indra J (52417816)
6.
Ressa Adelia Puspita
T (55417064)
7.
Taufan Priambudi (55417898)
4IA18
TEKNIK INFORMATIKA
UNIVERSITAS GUNADARMA
2021
KATA
PENGANTAR
Puji
syukur kehadirat Tuhan Yang Maha Esa atas limpahan rahmat dan anugrah
dari-Nya. Kami dapat
menyelesaikan makalah tentang Parallelism
Concept. Makalah ini dibuat sebagai penilaian atas tugas mata
kuliah Komputasi Modern.
Kami sangat bersyukur karena dapat
menyelesaikan makalah yang menjadi tugas mata kuliah Komputasi
Modern,
dengan judul Parallelism Concept.
Disamping itu, saya mengucapkan banyak terimakasih kepada Ibu Dosen Wiwied Widyaningsih yang
telah memberikan arahan kepada kami dalam
pembuatan makalah ini sehingga dapat terealisasikanlah makalah ini.
Demikian
yang dapat kami sampaikan,
semoga makalah ini dapat bermanfaat bagi para pembaca. Kami sadar, makalah yang kami buat ini masih banyak terdapat
kekurangannya. Oleh karena itu kami mengharapkan
kritik dan saran dari para pembaca terhadap makalah ini agar kedepannya
dapat kami perbaiki menjadi yang lebih baik
lagi
Bekasi,
10 Juni 2021
Tim Penyusun
DAFTAR ISI
BAB I PENDAHULUAN
BAB II PEMBAHASAN
2.3 Jenis Pemrosesan Parallelism
2.4 Kinerja Komputasi Dengan Parallel Processing
BAB III PENUTUP
BAB I
PENDAHULUAN
1.1. Latar belakang
Komputasi paralel
merupakan salah satu teknik komputasi, dimana proses komputasinya dilakukan
oleh beberapa resources ( komputer ) yang independen, secara bersamaan.
Komputasi paralel biasanya diperlukan pada saat terjadinya pengolahan data
dalam jumlah besar ( di industri keuangan, bioinformatika, dll ) atau dalam
memenuhi proses komputasi yang sangat banyak. Selanjutnya, komputasi paralel
ini juga dapat ditemui dalam kasus kalkulasi numerik dalam penyelesaian
persamaan matematis di bidang fisika ( fisika komputasi ), kimia ( kimia
komputasi ), dll. Dalam menyelesaikan suatu masalah, komputasi paralel
memerlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang
dihubungkan dengan jaringan dan mampu bekerja secara paralel.
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. Tidak berarti dengan mesin paralel semua program yang dijalankan diatasnya otomatis akan diolah secara paralel. 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.
1.2.
Rumusan Masalah
Rumusan
masalah pada makalah ini ialah:
1. Apa itu Parellelism Concept?
2. Apa saja tingkat pararelisme?
3. Apa saja jenis-jenis pemrosesan pararel?
4. Bagaimana kinerja Komputasi dengan Parallel
Processing?
1.3. Tujuan Penulisan
Tujuan dari makalah ini adalah ingin
memberitahukan kepada pembaca tentang apa yang dimaksud dengan Parellelism Concept, serta
menambah pengetahuan bagi mahasiswa mengenai Parellelism Concept antara lain:
1.
Untuk
memberi pengetahuan Parellelism Concept.
2.
Untuk
memberi pengetahuan tentang apa saja tingkat
pararelisme.
3.
Untuk memberikan
pengetahuan mengenai jenis-jenis pemrosesan pararel.
4.
Untuk
memberi pengetahuan mengenai kinerja Komputasi dengan Parallel Processing.
BAB II
PEMBAHASAN
2.1. Parallelism Concept
Paralelisme
(parallelism) lahir dari pendekatan yang biasa dipergunakan oleh para perancang
sistem untuk menerapkan konsep pemrosesan konkuren. Teknik ini meningkatkan
kecepatan proses dengan cara memperbanyak jumlah modul perangkat keras yang
dapat beroperasi secara simultan disertai dengan membentuk beberapa proses yang
bekerja secara simultan pada modul-modul perangkat keras tersebut. Secara
formal, pemrosesan paralel adalah sebuah bentuk efisien pemrosesan informasi
yang menekankan pada eksploitasi dari konkurensi kejadian-kejadian dalam proses
komputasi.Pemrosesan paralel dapat terjadi pada beberapa tingkatan (level)
proses. Tingkatan tertinggi pemrosesan paralel terjadi pada proses di antara
banyak job (pekerjaan) atau pada program yang menggunakan multiprogramming,
time sharing, dan multiprocessing. Multiprogramming kemampuan eksekusi terhadap
beberapa proses perangkat lunak dalam sebuah system secara serentak, jika
dibandingkan dengan sebuah proses dalam satu waktu, dan timesharing berarti
menyediakan pembagian selang waktu yang tetap atau berubah-ubah untuk banyak
program. Multiprocessing adalah dukungan sebuah sistem untuk mendukung lebih
dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.
Multiprocessing sering diimplementasikan dalam perangkat keras (dengan
menggunakan beberapa CPU sekaligus), sementara multiprogramming sering
digunakan dalam perangkat lunak. Sebuah sistem mungkin dapat memiliki dua
kemampuan tersebut, salah satu di antaranya, atau tidak sama sekali. Pemrosesan
paralel dapat juga terjadi pada proses di antara prosedurprosedur atau perintah
perintah (segmen program) pada sebuah program.Untuk meningkatkan kecepatan
proses komputasi, dapat ditempuh dua cara :
1.
Peningkatan kecepatan perangkat keras.
Komponen
utama perangkat keras komputer adalah processor. 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.
Peningkatan kecepatan setiap proses bisa dicapai melalui peningkatan kecepatan
perangkat lunak. Kecepatan perangkat lunak sangat ditentukan oleh algoritmanya.
2.
Peningkatan kecepatan perangkat lunak.
Program
komputer untuk komputer sekuensial harus menyediakan sederetan operasi untuk
dikerjakan oleh prosesor tunggal. Program komputer untuk komputer paralel harus
menyediakan sederetan operasi untuk beberapa prosesor untuk dikerjakan secara
paralel, termasuk operasi untuk mengatur dan mengitegrasikan prosesor-prosesor
yang terpisah tersebut mengerjakan suatu komputasi yang koheren. Kebutuhan akan
pembuatan dan pengaturan berbagai aktivitas komputasi paralel menambah dimensi
baru proses dari pemrograman komputer. Algoritma untuk problem yang spesifik
harus diformulasikan sedemikian rupa, agar menghasilkan aliran operasi paralel
yang kemudian akan dieksekusi di prosesor yang berbeda. Karena itu, meskipun
arsitektur multiprosesor dan multikomputer mempunyai pontensi yang tinggi untuk
meningkatkan kemampuan komputasi, potensi ini akan tercapai melalui pengertian
yang baik mengenai bahasa pemrograman paralel dan perancangan algoritma
paralel.
2.2. Tingkat Parallelisme
Berdasarkan tingkat paralelismenya
prosesor paralel dapat dibagi menjadi beberapa tingkat sebagai berikut :
1.
Komputer
Array :
a.
Prosesor
array : beberapa prosesor yang bekerja sama untuk mengolah set instruksi yang
sama dan data yang berbeda – beda atau biasa disebut SIMD (Single
Instruction-stream Multiple Data)
b.
Prosesor
vektor : beberapa prosesor yang disusun seperti pipeline.
2.
Multiprosesor,
yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang saling berbagi
memori.
3.
Multikomputer,
yaitu sebuah sistem yang memiliki 2 prosesor atau lebih yang masing-masing
prosesor memiliki memori sendiri.
2.3. Jenis-jenis Pemrosesan Pararel
Pemrosesan paralel dapat dibagi ke
dalam beberapa klasifikasi, sebagai berikut :
1.
Berdasarkan
simetri penjadwalannya, pemrosesan parallel dapat dibagi dalam beberapa jenis:
a.
Asymmetric
Multiprocessing (ASMP)
b.
Symmetric
Multiprocessing (SMP)
c.
ClusteringPoliteknik
Telkom Sistem Komputer
2.
Berdasarkan
aliran instruksi dan datanya, pemrosesan parallel dapat dibagi dalam beberapa
jenis:
a.
SISD (Single
Instruction on Single Data Stream)
b.
SIMD (Single
Instruction on Multiple Data Stream)
c.
MISD
(Multiple Instruction on Single Data Stream)
d.
d) MIMD
(Multiple Instruction on Multiple Data Stream)
3.
Berdasarkan
kedekatan antar prosesor, pemrosesan parallel dapat dibagi dalam beberapa
jenis:
a.
Multikomputer
(Loosely Coupled/ local memory) dengan memori yang terdistribusi
b.
Multiprosesor
(Tightly Coupled/ global memory) dengan memori yang dapat digunakan bersama
(shared memory)
2.4.Kinerja
Komputasi dengan Pararel Processing
Pemrosesan Paralel adalah komputasi
dua atau lebih tugas pada waktu bersamaan dengan tujuan untuk mempersingkat
waktu penyelesaian tugas-tugas tersebut dengan cara mengoptimalkan resource
pada sistem komputer yang ada untuk mencapai tujuan yang sama. Pemrosesan
paralel dapat mempersingkat waktu ekseskusi suatu program dengan cara membagi
suatu program menjadi bagian-bagian yang lebih kecil yang dapat dikerjakan pada
masing-masing prosesor secara bersamaan.
Tujuan utama dari pemrosesan 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.
Performa dalam pemrosesan paralel
diukur dari berapa banyak peningkatan kecepatan (speed up) yang diperoleh dalam
menggunakan teknik paralel. Secara informal, bila anda memotong bawang
sendirian membutuhkan waktu 1 jam dan dengan bantuan teman, berdua anda bisa
melakukannya dalam 1/2 jam maka anda memperoleh peningkatan kecepatan sebanyak
2 kali
Model Pemrosesan Paralel dibuat
berdasarkan alur instruksi dan alur data yang digunakan:
§
SISD Single
Instruction Single Datapath, ini prosesor tunggal, yang bukan paralel.
§
SIMD Single
Instruction Multiple Datapath, alur instruksi yang sama dijalankan terhadap
banyak alur data yang berbeda.
§
MIMD
Multiple Instruction Multiple Datapath, alur instruksinya banyak, alur datanya
juga banyak, tapi masing-masing bisa berinteraksi.
§
MISD
Multiple Instruction Single Datapath, alur instruksinya banyak tapi beroperasi
pada data yang sama.
Adapun proses kerja , pemrosesan
paralel membagi beban kerja dan mendistribusikannya pada komputer-komputer lain
yang terdapat dalam sistem untuk menyelesaikan suatu masalah. Sistem yang akan
dibangun akan tidak akan menggunakan komputer yang didesikasikan secara khusus
untuk keperluan pemrosesan paralel melainkan menggunakan komputer yang telah
ada. Artinya, sistem ini nantinya akan terdiri dari sejumlah komputer dengan
spesifikasi berbeda yang akan bekerjasama untuk menyelesaikan suatu masalah.
Adapun tipe-tipe Paralelisme adalah sebagai berikut :
1.
Result
Paralelisme
Result Paralelisme yang sering
disebut sebagai Embarrassingly Parallel atau Perfect Paralel adalah tipe
paralelisme dimana komputasinya dapat dibagi menjadi beberapa tugas independen
yang mempunyai struktur sama. Data struktur suatu tugas dibagi menjadi beberapa
bagian yang berstruktur sama. Contoh tugas yang bisa diselesaikan dengan Result
Parallelism adalah Simulasi Montecarlo.
2.
Specialist
Paralelisme
Cara kerja Specialist Parallelisme
adalah dengan mengerjakan beberapa tugas secara bersamaan pada prosesor yang
berbeda . Setiap komputer mengerjakan tugas tertentu. Contohnya penggunaanya
adalah pada simulasi pabrik kimia, satu prosesor mensimulasikan proses sebelum
reaksi kimia, satu prosesor mensimulasikan reaksi pada tahap awal, dan prosesor
lainnya mensimulasikan proses penyulingan hasil, dan seterusnya.
3.
Agenda
Paralelisme
Tipe paralelisme ini mempunyai
daftar yang harus dikerjakan oleh sistem komputer . Semua komputer yang
terdapat pada sistem dapat mengakses daftar tersebut. Pada Model MW (Manager
Worker) terdapat pengelompokan komputer menjadi dua yaitu :
a.
Manager :
bertugas memulai perhitungan, memonitor kemajuan tugas, melayani permintaan
worker. User berkomunikasi dengan sistem komputer melalui komputer yang
berfungsi sebagai manager ini.
b. Worker : mengerjakan tugas-tugas yang diberikan oleh
manager. Kerja komputer ini dimulai setelah ada perintah dari manager dan
diakhiri oleh manager.
Pesan Terdistribusi dan Lingkungan Pemrograman
(Distributed Messaging and Programming Enviroment) hubungannya dengan
pemrosesan paralel ialah pesan sebagai sesuatu ( objek ) pada pemrosesan itu
sendiri sehingga kita harus mendeskripsikan pesan ( message ) itu .
Messages
adalah urutan bytes yang dikirimkan antar proses. Pengirim dan penerima harus
mempunyai kesepakatan mengenai struktur pesan sehingga isi pesan dapat
diterjemahkan dengan benar. Pada prinsipnya cara pengiriman pesan adalah
sederhana. Proses A mengirim data buffer sebagai sebuah pesan ke proses B. Pada
saat bersamaan proses B menunggu datangnya pesan dari proses A. Ketika pesan
tersebut maka proses B akan men-copy pesan tersebut di memori lokalnya. Adapun
Metode Pengiriman pesan (message passing) terdapat beberapa metode dalam pengiriman
pesan yaitu :
a.
Synchronous
Message Passing
Cara pengiriman menggunakan metode
ini ialah pengirim menunggu untuk mengirim pesan sampai penerima siap untuk
menerima pesan. Oleh karena itu tidak ada buffering. Selain itu Pengirim tidak
bisa mengirim pesan untuk dirinya sendiri.
b.
Ansynchronous
Message Passing
Pengirim akan mengirim pesan
kapanpun dia mau. Pengirim tidak peduli ketika penerima belum siap untuk
menerima pesan. Oleh karena itu diperlukan buffering untuk menampung pesan
sementara sampai penerima siap menerima pesan. Selain itu pengirim dapat pesan
untuk dirinya sendiri. Selain berdasarkan metode pengiriman pesan diatas,
pengiriman pesan (message passing) dibedakan berdasarkan jumlah penerima pesan
yaitu: Point to Point dan Broadcast. Perbedaan mendasar keduanya adalah jumlah
penerima yang menerima pesan. Pada Point to Point penerimanya tunggal sedangkan
pada broadcast jumlah penerimanya banyak.
PVM dan MPI
Mesin virtual parallel atau Parallel Virtual Machine (PVM) dan Antarmuka
Pengiriman Pesan (MPI) adalah kumpulan library yang memungkinkan kita untuk
menulis program pengiriman pesan paralel menggunakan bahasa pemrograman C dan
FORTRAN agar bisa berjalan pada sistem paralel.
Kemampuan
sistem paralel tergantung dari kemampuan pemrogram untuk membuat aplikasi
terdistribusi ketika dijalankan pada sistem paralel. Jika node slave mempunyai
prosessor lebih dari satu maka pemrogram harus memperhitungkan kemungkinan
paralelisme 2 level: Paralelisme di dalam slave node (intra-node parallelism)
dan paralelisme antar slave node (inter-node parallelism). Inter-node
parallelism menggunakan shared memory dalam node sehingga tidak melakukan
pertukaran data secara explicit. Sedangkan Inter-node parallelism melakukan
pertukaran data lewat media yang menghubungkan antara node slave yang ada.
Terdapat tiga metode untuk mengimplementasikan
Inter-node parallelism yaitu :
a.
Dengan cara
membuat protokol komunikasi ad hoc level rendah.
Contohnya dengan menggunakan socket interface.
b.
Dengan
menggunakan distributed communication library. Contohnya dengan menggunakan
Message Passing Interface (MPI) library
c.
Dengan
memanfaatkan layer software dengan maksud untuk menyembunyikan interconnect
dari programmer.
Setelah kita mengenal , komponen –
komponen dan tujuan dari pemrosesan paralel tersebut, kita beralih ke sistem
pemrosesan paralel dimana, sistem pemrosesan paralel adalah sekumpulan komputer
terhubung dan bekerjasama sebagai satu resource komputer yang terintegrasi
untuk menyelesaikan suatu tujuan. Sebuah sistem paralel setidaknya terdiri dari
Message Passing Interface (MPI) dan sebuah pengatur beban kerja (job scheduler)
. Message Passing Interface bertugas untuk mengirim data antar komputer di
dalam sistem paralel (biasanya disebut sebagai node atau host). Job scheduler
seperti yang tersirat dari namanya bertugas menerima tugas dari user dan
menjadwalkan tugas tersebut pada beberapa node didalam sistem parallel sesuai
kebutuhan.
MPI (Message Passing Interface)
adalah sebuah mekanisme mengiriman instruksi dan data antara dua proses
komputasi yang berbeda yang berada pada komputer berbeda pada sistem sistem
paralel. Paket-paket yang mempunyai spesifikasi kebutuhan MPI telah banyak
beredar di Internet dan telah dilengkapi dengan LAM/MPI [5] dan MPICH [6].
Paket-paket ini telah dilengkapi dengan fungsi-fungsi yang menggunakan library
C dan Fortran. Kemampuan MPI digunakan untuk menginterpretasikan bahasa
pemrograman matrik kemampuan dynamic linking dari bahasa tersebut. Fungsi
library dari paket MPI dapat digabungkan dengan dynamic extension dengan cara
menghubungkan bahasa pemrograman tersebut dengan bahasa C, C++, atau FORTRAN.
Hal ini telah dilakukan untuk menciptakan toolbox MPI (MPITB) untuk kebutuhan
MATLAB, dan bahasa pemrograman GNU Octave oleh Fernandez Baldomero . Pada
makalah ini digunakan MPITB dengan pertimbangan fungsionalitas dan
kelengkapannya disamping fakta bahwa MPITB dan GNU Octave adalah bebas
digunakan bahkan untuk keperluan komersial. Hal ini juga berarti bahwa source
code-nya banyak beredar dan dapat dimodifikasi sesuai kebutuhan
BAB III
PENUTUP
3.1 Kesimpulan
Paralelisme (parallelism) lahir dari
pendekatan yang biasa dipergunakan oleh para perancang sistem untuk menerapkan konsep pemrosesan konkuren.Paralelism merupakan
teknik yang digunakan dalam meningkatkan kecepatan suatu proses dengan cara memperbanyak jumlah modul
perangkat keras yang dapat beroperasi secara simultan. Terdapat 3 tingkatan
prosesor parallel yaitu : komputer array, multiprosesor, dan juga
multicomputer.Berdasarkan klasofokasinya dapat dibagi menjadi 3 pula,
klasifikasi berdasarkan simetri penjadwalannya, aliran instruksi dan datanya
dan juga kedekatan antar prosesor. Adapun tujuan utama dari pemrosesan parallel
yaitu untuk meningkatkan performa komputasi. Di dalam proses kerjanya,
paralelisme memiliki model pemroses, antara laiun : SISD, SIMD MIMD dan MISD,
adapula tipe-tipenya , yaitu : result paralelisme, specialist parlelisme dan
agenda paralelisme.
Daftar Pustaka
https://www.academia.edu/32362019/Parallelism_concept
diakses
pada tanggal 10 Juni 2021.
Komentar
Posting Komentar