TUGAS MAKALAH KOMPUTASI MODERN Parallelism Concept
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 PENDAHULUAN1
BAB II PEMBAHASAN3
2.3 Jenis Pemrosesan
Parallelism4
2.4 Kinerja
Komputasi Dengan Parallel Processing5
BAB III PENUTUP10
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