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: