Multiprosesor dan MultiKomputer

Multiprocessing

Multiprocessing
Multiprocessing adalah istilah teknologi informasi dalam bahasa Inggris yang merujuk kepada kemampuan pemrosesan komputer yang dilakukan secara serentak. Hal ini dimungkinkan dengan menggunakan dua CPU atau lebih dalam sebuah sistem komputer. Istilah ini juga dapat merujuk kepada dukungan sebuah sistem untuk mendukung lebih dari satu prosesor dan mengalokasikan tugas kepada prosesor-prosesor tersebut.

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

Berdasarkan jumlah instruksi dan datanya, dapat dibagi ke dalam (lihat Taksonomi Flynn) 

  • SISD (Single Instruction on Single Data Stream)
  • SIMD (Single Instruction on Multiple Data Stream)
  • MISD (Multiple Instruction on Single Data Stream)
  • MIMD (Multiple Instruction on Multiple Data Stream)

Berdasarkan kedekatan antar prosesor, dapat dibagi ke dalam Loosely coupled Thightly coupled
1. 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. 
Kondisi ini didefinisikan mengandaikan bahwa membaca dan menulis operasi dibuat seketika. Namun, hal ini tidak terjadi di memori komputer hardware latency diberikan dan aspek lain dari arsitektur. Sebuah menulis dengan prosesor P1 tidak dapat dilihat dengan membaca dari P2 prosesor jika membaca dilakukan dalam waktu yang sangat kecil setelah menulis telah dibuat. Model konsistensi mendefinisikan memori ketika nilai tertulis harus dilihat oleh instruksi membaca berikut dibuat oleh prosesor lainnya. 
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

Pilihan model konsistensi sangat penting untuk merancang sistem koheren cache. Coherence model berbeda dalam kinerja dan skalabilitas; masing-masing harus dievaluasi untuk setiap perancangan sistem. 
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.) 
In both level 2 behavior and level 3 behavior, a program can observe stale data . Dalam kedua perilaku 2 dan tingkat 3 perilaku, sebuah program dapat mengamati data basi . Recently, computer designers have come to realize that the programming discipline required to deal with level 2 behavior is sufficient to deal also with level 3 behavior. Baru-baru ini, desainer komputer telah menyadari bahwa disiplin pemrograman dibutuhkan untuk menangani dengan tingkat 2 perilaku cukup untuk menangani juga dengan tingkat 3 perilaku. Therefore, at some point only level 1 and level 3 behavior will be seen in machines. Oleh karena itu, di beberapa titik hanya level 1 dan level 3 perilaku akan terlihat dalam mesin.
Komputasi vector
Processor pararel

PROSESOR PARALEL
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

Komentar

Postingan populer dari blog ini

Menganalisis Asesmen di Ruang Kelas Di SMK Negeri 9 Malang

Pemahaman atau Persepsi Tentang Inovasi Kejuruan