A. 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)
B. 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.
C. Architectural Parallel
Computer
Dalam taksonomi arsitektur paralel ada dua keluarga
arsitektur paralel yang banyak diterapkan adalah: SIMD dan MIMD, dimana untuk
mesin yang murni MISD tidak ada.
Arsitektur SIMD
Mesin SIMD secara umum mempunyai karakteristik sbb:
1. Mendistribusi
proses ke sejumlah besar hardware
2. Beroperasi
terhadap berbagai elemen data yang berbeda
3. Melaksanakan
komputasi yang sama terhadap semua elemen data
Peningkatan kecepatan pada SIMD proporsional dengan jumlah
hardware (elemen pemroses) yang tersedia.
Arsitektur MISD
Prosesor pipeline adalah prosesor MISD yang bekerja
berdasarkan prinsip pipelining. Pada pipeline proses dapat dibagi menjadi
beberapa tahap dan beberapa proses dapat dilaksanakan secara simultan. Pada
gambar dibawah dapat dilihat perbedaan proses serial dengan pipeline
Waktu eksekusi lebih cepat dibandingkan dengan proses
serial.
Prinsip pipelining dapat digunakan pada dua level yang
berbeda:
1. Pipeline unit aritmatika
2. Pipeline unit kontrol Waktu eksekusi lebih cepat
dibandingkan dengan proses serial.
Operasi pipeline dapat dilaksanakan secara siklus yaitu
cyclic pipeline, dimana dapat dibagi dalam 5 tahap:
• Operasi
baca (dari shared memories)
• Operasi
transfer (memori ke elemen pemroses)
• Operasi
eksekusi (di elemen pemroses)
• Operasi
transfer (elemen pemroses ke memori)
• Operasi
simpan (di shared memories)
Sumber :
http://repository.politekniktelkom.ac.id/Courseware/Semester%201/Sistem%20Komputer/Cousware%20Siskom%20(indoVERSION)/BAB%20XII.pdf
·
http://komputer.yn.lt/adalah/?arti=Distributed%20Processing
Tidak ada komentar:
Posting Komentar