TUGAS
SOFTSKILL 4
PENGANTAR KOMPUTASI MODERN
“PARALLEL COMPUTATION”
NAMA : 1.
Anggi Noyita Syafrida (50412907)
2. M. Fajar Aristya (54412314)
3.
M. Fikry Fathur R (54412316)
4.
Wisnu Satrio Adi (57412758)
KELAS :
4IA23
DOSEN : Dr. Rina Noviana, SKom., MMSI.
UNIVERSITAS GUNADARMA
2016
I.
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.
Tingkat Paralelisme
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.
Jenis-Jenis Pemrosesan Paralel
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. 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).
II.
Distributed
Processing
Mengerjakan semua
proses pengolahan data secara bersama antara komputer pusat dengan beberapa
komputer yang lebih kecil dan saling dihubungkan melalui jalur komunikasi.
Setiap komputer tersebut memiliki prosesor mandiri sehingga mampu mengolah
sebagian data secara terpisah, kemudian hasil pengolahan tadi digabungkan
menjadi satu penyelesaian total. Jika salah satu prosesor mengalami kegagalan
atau masalah yang lain akan mengambil alih tugasnya.
III.
Architectural
Parallel Computer
1.
SISD (Single
Instruction on Single Data Stream)
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 (Single
Instruction on Multiple Data Stream)
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 (Multiple
Instruction on Single Data Stream)
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 (Multiple
Instruction on Multiple Data Stream)
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.
IV.
Implementasi Parallel
Computation pada Cloud Computing
Penggunaan komputasi parallel processing saat ini
merupakan pilihan yang tepat untuk pengolahan data yang besar dan banyak. Hal
ini apabila dibandingkan dengan membeli satu super computer yang harganya
sangat mahal, maka penggunaan komputasi parallel proessing merupakan pilihan
yang sangat tepat untuk pengolahan data tersebut.
Ada banyak kesempatan pada organisasi IT khususnya
untuk mensosialisasikan cloud service. Banyak organisasi yang mencoba untuk
menambahkan firut ini kepada infrastruktur yang mereka miliki sebelumnya untuk
mengambil keuntungan dari “cloud bursting“; khususnya jika anda membutuhkan
kapasitas ekstra atau ekstra aktifitas, anda dapat memanfaatkan cloud ketimbang
melakukan investasi resource secara in-house.
Development/test dan beberapa aktifitas yang mirip
juga menjadi tempat yang bagus untuk cloud, memungkinkan anda untuk mengurangi
pengeleluaran perkapita dan biaya data center yang terus meingkat dari sisi
kecepatan dan uptime.
Sedangkan perusahaan yang tidak segan segan untuk
mengimplementasi teknologi cloud untuk data mereka dan menyimpan nya sebagai
fasilitas mereka sendiri untuk memastikan kebijakan perusahaan tersimpan dengan
baik tentunya akan lebih baik, sehingga memastikan proses komputerasisasi pada
cloud sebagai sistem proses yang dibutuhkan akan lebih independen.
Adapun teknologi cloud computing yang didalamnya
juga terdapat peranan penting dari parallel processing, yaitu :
·
Infrastructure
as Service:
hal ini meliputi Grid untuk virtualized server, storage & network.
Contohnya seperti Amazon Elastic Compute Cloud dan Simple Storage
Service.
·
Platform-as-a-service:
hal ini memfokuskan pada aplikasi dimana dalam hal ini memungkinkan developer
untuk tidak memikirkan hardware dan tetap fokus pada application development
nya tampa harus mengkhawatirkan operating system, infrastructure scaling, load
balancing dan lainya. Contoh nya yang telah mengimplementasikan ini adalah
Force.com dan Microsoft Azure investment.
·
Software-as-a-service:
hal
ini memfokuskan pada aplikasi denga Web-based interface yang diakses melalui
Web Service dan Web 2.0. contohnya adalah Google Apps, SalesForce.com dan
social network application seperti Facebook.
Beberapa investor saat ini masih mencoba untuk
mengekplorasi adopsi teknologi cloud ini untuk dijadikan bisnis
sebagaimana Amazon dan Google telah memiliki penawaran khusus pada untuk
teknologi cloud, Microsoft
dan IBM juga telah
melakukan investasi jutaan dollar untuk ini. Melihat dari tren ini kita dapat
memprediksi masa depan, standard teknologi akan menjadi lebih sederhana karena
ketersediaan dari banyak cloud service. Komputasi parallel adalah salah satu
teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa
computer secara bersamaan
Sumber: