Klasifikasi pada arsitektur komputer pararel (Tugas 3)
Arsitektur Paralel
Parallel Processing
Pemrosesan paralel (parallel processing) adalah penggunakan lebih dari satu CPU untuk menjalankan sebuah program secara simultan.Idealnya, parallel processing membuat program berjalan lebih cepat karena semakin banyak CPU yang digunakan.
TUJUAN PARALLEL PROCESSING
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.
PARALLEL PROCESSING
Komputasi paralel
Komputasi paralel adalah salah satu teknik melakukan komputasi secara bersamaan dengan memanfaatkan beberapa komputer secara bersamaan.
Biasanya diperlukan saat kapasitas yang diperlukan sangat besar, baik karena harus mengolah data dalam jumlah besar ataupun karena tuntutan proses komputasi yang banyak. Untuk melakukan aneka jenis komputasi paralel ini diperlukan infrastruktur mesin paralel yang terdiri dari banyak komputer yang dihubungkan dengan jaringan dan mampu bekerja secara paralel untuk menyelesaikan satu masalah. 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.
Pemrograman Paralel sendiri adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan. Bila komputer yang digunakan secara bersamaan tersebut dilakukan oleh komputer-komputer terpisah yang terhubung dalam satu jaringan komputer, biasanya disebut sistem terdistribusi. Bahasa pemrograman yang populer digunakan dalam pemrograman paralel adalah MPI (Message Passing Interface) dan PVM (Parallel Virtual Machine).
Yang perlu diingat adalah komputasi paralel berbeda dengan multitasking. Pengertian multitasking adalah komputer dengan processor tunggal mengeksekusi beberapa tugas secara bersamaan. Walaupun beberapa orang yang bergelut di bidang sistem operasi beranggapan bahwa komputer tunggal tidak bisa melakukan beberapa pekerjaan sekaligus, melainkan proses penjadwalan yang berlakukan pada sistem operasi membuat komputer seperti mengerjakan tugas secara bersamaan. Sedangkan komputasi paralel sudah dijelaskan sebelumnya, bahwa komputasi paralel menggunakan beberapa processor atau komputer. Selain itu komputasi paralel tidak menggunakan arsitektur Von Neumann.
Untuk lebih memperjelas lebih dalam mengenai perbedaan komputasi tunggal (menggunakan 1 processor) dengan komputasi paralel (menggunakan beberapa processor), maka kita harus mengetahui terlebih dahulu pengertian mengenai model dari komputasi. Ada 4 model komputasi yang digunakan, yaitu:
• SIMD
• SIMD
• MISD
• MIMD
SISD
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.
SIMD
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).
MISD
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.
MIMD
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.
Singkatnya untuk perbedaan antara komputasi tunggal dengan komputasi paralel, bisa digambarkan pada gambar di bawah ini:
Penyelesaian Sebuah Masalah pada Komputasi Paralel
Komputasi paralel membutuhkan :
• algoritma
• bahasa pemrograman
• compiler
Pemrograman paralel adalah teknik pemrograman komputer yang memungkinkan eksekusi perintah/operasi secara bersamaan baik dalam komputer dengan satu (prosesor tunggal) ataupun banyak (prosesor ganda dengan mesin paralel) CPU.
Tujuan utama dari pemrograman paralel adalah untuk meningkatkan performa komputasi.
* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan.
Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data paralel.
* Message Passing Interface (MPI)
MPI adalah sebuah standard pemrograman yang memungkinkan pemrogram
untuk membuat sebuah aplikasi yang dapat dijalankan secara paralel.
MPI menyediakan fungsi-fungsi untuk menukarkan
antar pesan.
Kegunaan MPI yang lain adalah
1. menulis kode paralel secara portable
2. mendapatkan performa yang tinggi dalam pemrograman paralel, dan
3. menghadapi permasalahan yang melibatkan hubungan data irregular atau dinamis yang tidak
begitu cocok dengan model data paralel.
Hubungan antara Komputasi Modern dengan Paralel Processing
Hubungan antara komputasi modern dan parallel processing sangat berkaitan, karena penggunaan komputer saat ini atau komputasi dianggap lebih cepat dibandingkan dengan penyelesaian masalah secara manual. Dengan begitu peningkatan kinerja atau proses komputasi semakin diterapkan, dan salah satu caranya adalah dengan meningkatkan kecepatan perangkat keras. Dimana komponen utama dalam perangkat keras komputer adalah processor. Sedangkan parallel processing adalah penggunaan beberapa processor (multiprocessor atau arsitektur komputer dengan banyak processor) agar kinerja computer semakin cepat.
Kinerja komputasi dengan menggunakan paralel processing itu menggunakan dan memanfaatkan beberapa komputer atau CPU untuk menemukan suatu pemecahan masalah dari masalah yang ada. Sehingga dapat diselesaikan dengan cepat daripada menggunakan satu komputer saja. Komputasi dengan paralel processing akan menggabungkan beberapa CPU, dan membagi-bagi tugas untuk masing-masing CPU tersebut. Jadi, satu masalah terbagi-bagi penyelesaiannya. Tetapi ini untuk masalah yang besar saja, komputasi yang masalah kecil, lebih murah menggunakan satu CPU saja.
Paralelisme dalam
suatu komputer dapat diaplikasikan pada beberapa tingkatan, seperti berikut:
1. Tingkat pekerjaan: antara pekerjaan-pekerjaan atau
fase-fase suatu pekerjaan. Hal ini menjadi prinsip dasar dari multiprogramming.
2. Tingkat prosedur: antara prosedur-prosedur dan di dalam
loop. Hal ini harus tercakup sebagai hal yang penting bagi suatu bahasa.
3. Tingkat instruksi: antara fase-fase sebuah siklus
instruksi, yaitu fetch, decode dan eksekusi suatu instruksi.
4. Tingkat aritmatika dan bit: antara bit-bit dalam sirkuit
aritmatika. Salah satu contohnya adalah adder paralel. Telah banyak usaha untuk
mengklasifikasikan perancangan arsitektur komputer paralel. Namun tidak ada
satupun yang mampu memisahkan semua jenis perancangan menjadi kelompok-kelompok
yang berbeda.
Skema klasifikasi yang
paling umum digunakan adalah taksonomi Flynn. Kita akan membahas pula dua skema
lainnya yaitu: Shore dan Feng.
Klasifikasi Flynn
Michael J. Flynn
memperkenalkan suatu skema untuk mengklasifikasikan arsitektur suatu komputer
dengan melihat bagaimana mesinnya menghubungkan instruksi-instruksinya ke data
yang sedang diproses. Berikut klasifikasinya:
1. SISD: single instruction stream, single data stream.
Merupakan suatu komputer serial konvesional dimana instruksi-instruksi
dijalankan satu per satu dan sebuah instruksi tunggal berhubungan dengan paling
banyak satu operasi data.
2. SIMD: single instruction stream, multiple data stream.
Dalam sebuah komputer SIMD, suatu instruksi tunggal mengawali sejumlah besar
operasi.
3. MISD: multiple instruction stream, single data stream.
Kelas MISD melaksanakan beberapa operasi instruksi secara bersamaan pada sebuah
item data tunggal.
4. MIMD: multiple instruction stream, multiple data stream.
Sebuah komputer MIMD dicirikan oleh eksekusi lebih dari satu instruksi pada
saat yang bersamaan, dimana setiap instruksi beroperasi pada beberapa aliran
data.
Klasifikasi Shore
J.E. Shore membuat
klasifikasi arsitektur komputer yang didasarkan pada organisasi bagian-bagian
penyusun suatu komputer dan membedakannya menjadi enam jenis mesin.
1. Mesin I. Pada komputer ini, satu instruksi dikerjakan pada
suatu waktu dan masing-masing beroperasi pada satu word dalam suatu waktu.
2. Mesin II. Komputer ini juga menjalankan satu instruksi
pada suatu waktu, namun ia beroperasi pada sebuah irisan dari suatu bit dalam
suatu waktu, bukannya semua bit dalam suatu word data.
3. Mesin III. Sebuah komputer dalam kelas ini memiliki dua
unit pengolahan yang dapat beroperasi pada data, satu word dalarn suatu waktu
atau suatu irisan bit dalam suatu waktu.
4. Mesin IV. Komputer jenis ini dicirikan oleh sejumlah
elemen (unit pengolahan dan unit memori), semua di bawah kendali sebuah unit
kendali logika (CLU) tunggal.
5. Mesin V. Mesin V dihasilkan dengan mengubah Mesin IV
sedemikian sehingga elemen-elemen pengolahan dapat berkomunikasi dengán
tetangga terdekat mereka.
6. Mesin VI. Komputer ini, disebut sebagai array
logika-dalam-memori, merupakan sebuah mesin dengan logika prosesor yang
tersebar dalam memori.
Klasifikasi Feng
Tse-yum Feng (1972)
menyarankan pengklasifikasian arsitektur komputer atas tingkatan paralelisme mereka. Tingkatan paralelisme (degree of parallelism)
diwakili oleh pasangan (n, m) dimana n merupakan panjang word dan m adalah
panjang irisan bit.
Pasangan ini diklasifikasikan menjadi empat kelompok
sebagai berikut:
1. Jika n = 1 dan m = I maka tidak terjadi paralelisme. Word
dan bit diproses satu per satuan waktu. Hal ini disebut sebagai word serial/bit
serial(WSBS).
2. Jika n> 1 dan m = 1 maka paralelisme itu disebut sebagai
word paralel/bit serial (WPBS). Dalam hal ini, semua n irisan bit diproses satu
per satuan waktu.
3. Paralelisme word serial/bit paralel (WSBP) terjadi jika n
= 1 dan m> 1. Dengan demikian sejumlah n word diproses satu per satuan waktu
tetapi sejumlah m bit dan masing-masing word diproses secara paralel.
4. Kategori terakhir disebut sebagai word paralel/bit paralel
(WPBP) dan merupakan suatu paralelisme dimana n > 1 dan m > 1. Dalam hal
ini, sejumlah nm bit diproses secara bersamaan.
Komputer sekuensial berdasarkan klasifikasi Flynn adalah
kelompok komputer SISD hanya mempunyai satu unit pengendali untuk menentukan
instruksi yang akan dieksekusi. Pada setiap satuan waktu hanya satu instruksi
yang dapat dieksekusi, dimana kecepatan akses ke memori dan kecepatan piranti
masukan dan keluaran dapat memperlambat proses komputasi.
Beberapa metoda dibangun untuk menghindari masalah tersebut,
seperti penggunaan cache memory. Namun komputer sekuensial ini tetap mengalami
keterbatasan jika menangani masalah yang memerlukan kecepatan tinggi. Hal-hal
tersebut di atas pada akhirnya melatarbelakangi lahirnya sistem komputer
paralel.
Berdasarkan klasifikasi Flynn, komputer paralel termasuk kelompok SIMD
atau MIMD. Komputer paralel mempunyai lebih dari satu unit pemroses dalam
sebuah komputer yang sama.
Hal yang membuat suatu komputer dengan banyak prosesor
disebut sebagai komputer paralel adalah bahwa seluruh prosesor tersebut dapat
beroperasi secara simultan. Jika tiap-tiap prosesor dapat mengerjakan satu juta
operasi tiap detik, maka sepuluh prosesor dapat mengerjakan sepuluh juta
operasi tiap detik, seratus prosesor akan dapat mengerjakan seratus juta
operasi tiap detiknya[Les93].
Pada dasarnya
aktivitas sebuah prosesor pada komputer paralel adalah sama dengan aktivitas
sebuah prosesor pada komputer sekuensial. Tiap prosesor membaca (read) data
dari memori, memprosesnya dan menuliskannya (write) kembali ke memori.
Aktivitas komputasi ini dikerjakan oleh seluruh prosesor secara paralel.
Source :
http://www.academia.edu/7424831/Parallel_PROCESSING_Pemrosesan_paralel
https://www.academia.edu/9124108/Pengertian_Pipeline
Komentar
papan reparasi hp
Posting Komentar