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 :
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.
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)
Tidak ada komentar:
Posting Komentar