By ADI
- Multiprocessing
Multiprocessing juga kadang merujuk kepada kemampuan eksekusi terhadap beberapa proses perangkat lunak dalam sebuah sistem secara serentak, jika dibandingkan dengan sebuah proses dalam satu waktu, meski istilah multiprogramming lebih sesuai untuk konsep ini. 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.
Jenis-jenis multiprocessing
Multiprocessing dapat dibagi ke dalam beberapa kelas, yakni:
- Berdasarkan simetrinya, multiprocessing dapat dibagi ke dalam
- Asymmetric Multiprocessing (ASMP)
- Symmetric Multiprocessing (SMP)
- Non-uniform memory access (NUMA) multiprocessing
- Clustering
- Asymmetric Multiprocessing (ASMP)
- Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihat Taksonomi Flynn)
- Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam
- Koherenci cache
Dalam komputasi, cache koherensi (juga koherensi cache) mengacu pada konsistensi data yang disimpan di lokal cache dari suatu sumber daya bersama. Cache coherence is a special case of memory coherence . koherensi Cache adalah kasus khusus dari koherensi memori .
Ketika klien dalam suatu sistem memelihara cache dari suatu sumber daya memori umum, permasalahan akan muncul dengan data yang tidak konsisten. Hal ini terutama berlaku dari CPU dalam multiprocessing sistem.. Mengacu pada "Caches Beberapa dari Shared Resource" angka, jika klien atas memiliki salinan dari sebuah blok memori dari membaca sebelumnya dan perubahan klien bawah yang blok memori, klien atas dapat ditinggalkan dengan cache tidak valid dari memori tanpa pemberitahuan perubahan. Cache koherensi dimaksudkan untuk mengelola konflik tersebut dan menjaga konsistensi antara cache dan memori.
Definisi
Koherensi mendefinisikan perilaku dari membaca dan menulis ke lokasi memori yang sama. Koherensi cache diperoleh jika kondisi berikut ini terpenuhi:
- Bacaan yang dibuat oleh prosesor P ke lokasi X yang mengikuti menulis dengan prosesor yang sama P ke X, dengan tidak menulis tentang X dengan prosesor lain yang terjadi antara menulis dan membaca petunjuk yang dibuat oleh P, X harus selalu mengembalikan nilai tertulis oleh P. Hal ini terkait dengan urutan program pelestarian, dan ini harus dicapai bahkan di arsitektur monoprocessed.
- . Bacaan yang dibuat oleh prosesor P1 ke lokasi X yang mengikuti menulis dengan prosesor P2 lain untuk X harus mengembalikan nilai tertulis yang dibuat oleh P2 jika tidak ada lain menulis ke X yang dibuat oleh prosesor pun terjadi antara dua akses. Kondisi ini mendefinisikan konsep pandangan koheren memori.. Jika prosesor dapat membaca nilai lama yang sama setelah menulis dibuat oleh P2, kita dapat mengatakan bahwa memori sudah membingungkan.
- . Dengan kata lain, jika lokasi X menerima dua nilai yang berbeda A dan B, dalam urutan ini, oleh dua prosesor, prosesor tidak pernah dapat membaca lokasi X sebagai B dan kemudian membacanya sebagai A. Lokasi X harus dilihat dengan nilai A dan B dalam urutan itu.
Berbagai model dan protokol telah dirancang untuk menjaga koherensi cache, seperti:
- MSI protocol
MSI protokol
- MESI protocol aka Illinois protocol Mesi protokol protokol alias Illinois
- MOSI protocol
Mosi protokol
- MOESI protocol
MOESI protokol
- MERSI protocol
Mersi protokol
- MESIF protocol
MESIF protokol
- Write-once protocol
Write-sekali protokol
- Synapse protocol
Synapse protokol
- Berkeley protocol
Berkeley protokol
- Firefly protocol
Firefly protokol
- Dragon protocol
Dragon protokol
Mengelola koherensi cache
Suatu protokol untuk mengelola cache sistem multiprosesor sehingga tidak ada data yang hilang atau ditimpa sebelum data tersebut dipindahkan dari cache ke target memori. When two or more computer processors work together on a single program,
Ketika dua atau lebih prosesor komputer bekerja sama dalam satu program, yang dikenal sebagai multiprocessing , mungkin setiap prosesor memiliki memori cache sendiri yang terpisah dari yang lebih besar RAM bahwa prosesor individu akan akses.
. Sebuah cache memori, kadang-kadang disebut sebuah toko cache atau cache RAM , adalah bagian memori yang terbuat dari high-speed static RAM (SRAM) bukan lebih lambat dan murah RAM dinamis (DRAM) yang digunakan untuk utama memori . Memori cache efektif karena sebagian besar program
akses data yang sama atau instruksi berulang-ulang. Dengan menjaga sebanyak informasi ini mungkin dalam SRAM, komputer menghindari mengakses DRAM lebih lambat.
Ketika beberapa prosesor dengan cache terpisah berbagi memori yang sama, perlu untuk menjaga persediaan dalam keadaan koherensi dengan memastikan bahwa setiap bersama operan yang diubah dalam cache apapun berubah sepanjang seluruh sistem.
Hal ini dilakukan dalam salah satu dari dua cara: melalui-direktori berbasis atau sistem mengintai. Dalam sistem direktori berbasis, data sedang dibagi ditempatkan dalam sebuah direktori umum yang mempertahankan koherensi antara cache. direktori bertindak sebagai filter melalui mana prosesor harus meminta izin untuk memuat entri dari memori utama ke cache nya.. Ketika entri berubah direktori baik pembaruan atau membatalkan cache lain dengan entri tersebut. Dalam sistem mengintai, semua cache pada bus monitor (atau mengintip) bus untuk menentukan apakah mereka memiliki salinan dari blok data yang diminta di bus. cache Setiap salinan status berbagi setiap blok memori fisik yang dimilikinya.
Cache misses dan memori lalu lintas karena blok data bersama membatasi kinerja komputasi paralel di komputer multiprocessor atau sistem.. koherensi Cache bertujuan untuk memecahkan masalah yang berkaitan dengan berbagi data.
koherensi Cache adalah disiplin yang memastikan bahwa perubahan nilai dari operan bersama yang disebarkan di seluruh sistem secara tepat waktu.
Ada tiga tingkatan yang berbeda dari koherensi cache:
- Every write operation appears to occur instantaneously. Setiap operasi menulis tampaknya terjadi secara instan.
- All processes see exactly the same sequence of changes of values for each separate operand. Semua proses melihat urutan yang sama persis perubahan nilai untuk setiap operan terpisah.
- Different processes may see an operand assume different sequences of values. proses yang berbeda mungkin melihat operan mengasumsikan urutan yang berbeda nilai. (This is considered noncoherent behavior.) (Ini dianggap perilaku koheren.)
- Komputasi vector
- Processor pararel
MODEL-MODEL KOMUNIKASI
„ Pemrosesan Paralel adalah
Pelaksanaan instruksi secara bersamaan waktunya.
„ Ada 2 model komunikasi :
1. Multiprosesor
2. Multikomputer
TAKSONOMI KOMPUTER PARALEL
„ Menurut Flyyn :
1. SISD (Single Instruction Stream, Single Data
Stream)
2. SIMD (Single Instruction Stream, Multiple Data
Stream)
3. MISD (Multiple Instruction Stream, Single Data
Stream)
4. MISD (Multiple Instruction Stream, Multiple Data
Stream)
SISD (Single Instruction Stream, Single
Data Stream)
„ Satu prosesor
„ Satu instruksi stream
„ Data disimpan di satu memori
„ Di sebut Uni-processor
SIMD (Single Instruction Stream,
Multiple Data Stream)
„ Instruksi mesin tunggal
„ Terdapat sejumlah elemen proses
„ Yang termasuk SIMD adalah Array Processor dan Vector
Processor
„ Sifat komputer SIMD adalah
1. Mendistribusikan pemrosesan ke sejumlah hardware.
2. Beroperasi secara bersama-sama pada beberapa elemen data
yang berbeda.
3. Menjalankan komputasi yang sama pada semua elemen data.
MISD (Multiple Instruction Stream,
Single Data Stream)
„ Satu Aliran Instruksi
„ Banyak Aliran Data
„ Belum dapat diimplementasikan dengan baik
MIMD (Multiple Instruction Stream,
Multiple Data Stream)
„ Terdiri dari sejumlah set prosesor
„ Terdiri dari sejumlah set data yang berbeda
„ Sifat komputer MIMD :
1. Mendistribusikan pemrosesan ke sejumlah prosesor
independen.
2. Membagikan sumber termasuk memori utama ke prosesor
independen.
3. Setiap prosesor menjalankan programnya sendiri.
4. Setiap prosesor berfungsi secara independen dan bersama-
sama.
MULTIPROSESOR
„ Sebuah sistem komputer paralel yang didasrkan pada
pemakaian memori tunggal secara bersama-sama
„ Model multiprosesor berkembang menjadi software
„ Menggunakan bersama sebuah ruang alamat virtual tunggal
yang dipetakan pada memori bersama
„ Untuk membaca atau menulis sebuah word memori dengan
menjalankan instruksi LOAD dan STORE
„ Multiprosesor sulit untuk dikembangkan tapi mudah diprogram
„ Contoh : Sun Enterprise 10000, Sequent NUMA-Q, SGI Origin
2000 dan HP/ Convex Exemplar
MULTIKOMPUTER
„ Sebuah sistem komputer paralel dimana setiap CPU memiliki
memorinya sendiri dan independen
„ Disebut juga dengan Sistem Memori Terdistribusi
„ Setiap CPU memori lokal sendiri yang bisa diakses dengan
hanya menjalankan instruksi LOAD dan STORE, tetapi tidak bisa
diakses oleh CPU lain
„ Multikomputer memiliki satu ruang alamat fisik per CPU
„ Multikomputer mudah untuk dikembangkan tapi sulit diprogram
„ Contoh : SP2 IBM, Option Red Intel/ Sandina dan COW
Wisconsin
KOMBINASI MULTIPROSESOR DENGAN
MULTIKOMPUTER
1. Rancangan yang dapat diskalakan
2. Distributed Shared Memory (DSM)
3. Sistem Runtime Bahasa
JARINGAN INTERKONEKSI
„ Ada 5 komponen :
1. CPU
2. Memori
3. Interface
4. Penghubung
5. Switch output
KINERJA
„ Untuk menggembangkan komputer paralel agar bisa beroperasi
lebih cepat dari prosesor tunggal
„ Masalah Kinerja yang berkaitan dengan komputer paralel :
1. Metrik Hardware
Kecepatan CPU dan I/O
2. Metrik Software :
Mengetahui seberapa cepat sebuah program beroperasi pada
sebuah komputer paralel dibanding sebuah prosesor tunggal