Nama : Atiek Puji Rahayu
NIM : 10.01.53.0049
Kelas : A1
Kelompok : 7
DISTRIBUTED
SHARED MEMORY SYSTEM
Shared Memory yang terdistribusi (Distributed Shared Memory/DSM) ditunjukan untuk
membuat sekelompok komputer yang saling berhubungan, masing-masing dengan
memori masing-masing, muncul seolah-olah memori fisik yang terdistribusi adalah
memori tunggal dengan alamat tunggal seperti yang digambarkan pada gambar 9.1.
Sekali DSM dicapai, lokasi memori manapun dapat diakses oleh sembarang
processor, tidak peduli apakah ada memori atau tidak diarea tersebut, dan
teknik-teknik pemrograman shared memory yang biasa dapat digunakan.
Multiprocessor diminta dengan penggunaan shared memory, yaitu memori yang
dapat dipakai bersama-sama oleh seluruh pemroses. Distributed Shared Memory (DSM)
menyediakan lingkungan shared memory secara logic pada jaringan komputer (network
of workstation) yang secara fisik memorinya terdistribusi. Karena pertimbangan
biaya, banyak sistem pemrosesan parallel saat ini dibangun dengan menghubungkan
komputer PC dalam jaringan lokal yang murah. Untuk mengembangkan program paralel
di lingkungan ini lebih mudah diajukan DSM sehingga memungkinkan penggunaan
lingkungan pemrograman shared-memory pada sistem memori yang secara fisik terdistribusi.
Gambar 9.2 Aritektur Distributed Shared Memory
Kekurangan
dari DSM :
- DSM memiliki kemampuan yang lebih rendah dibandingkan sistem multiprocessor shared memory yang benar, karena terkoneksi antara komputer-komputer stand alone akan beroperasi jauh lebih lambat dibandingkan interkoneksi didalam sistem multiprocessor shared memory.
- DSM biasanya mendatangkan pinalti performa ketika dibandingkan dengan penggunaan cluster dengan rutin message-passing reguler, sehingga rutin-rutin message-passing yang disisipkan programmer akan lebih efisien ketimbang pendekatan DSM yang otomatis.
Keuntungan
dari DSM :
- Kemudahan menggabungkan teknik optimasi sehingga banyak overhead dari messege passing bisa dihilangkan.
- Pengiriman messege tidak dilakukan secara eksplisit (tersembunyi dari program),dan bisa juga menangani data yang besar dan kompleks, tanpa replikasi atau mengirim data keproses.
- Pemrogram juga bisa mengetahui perilaku DSM melalui antarmuka untuk meningkatkan kinerja dari aplikasi.
Implementasi DSM :
Implementasi
Perangkat Lunak Sistem DSM
§ DSM yang berdasarkan blok/page (blok/page based
DSM)
Pada DSM berdasarkan blok, ruang pengalamatan
shared memory dibagi menjadi halaman logika berupa blok yang berukuran tetap
kemudian didistribusikan ke host dalam sistem. Melalui sebuah memory manager,
host bisa mengakses ke setiap halaman dalam ruang pengalamatan shared. DSM
berdasarkan blok biasanya merupakan perluasan dari sistem memori semu
tradisional, dan biasanya diimplementasikan pada lapisan lapisan perangkat
keras atau sistem operasi. Keuntungan implementasi ini adalah sifat
transparansinya. Sifat transparansi ini ditunjukkan dengan kenyataan bahwa
sistem memoriter distribusi pada komputer yang berbeda sepenuhnya tersembunyi
dari pemakai. Pemakai bisa melihat sistem DSM seperti shared memory pada
multiprocessor, namun dengan kecepatan komunikasi yang lebih lambat
Bagaimanapun juga, DSM berdasar blok memiliki masalah pemilihan ukuran blok.
Ukuran blok yang besar meningkatkan delay dalam melakukan pengiriman blok dan
kemungkinan false sharing, sedangkan ukuran blok yang kecil menghasilkan
intensitas yang tinggi pada transmisi pada blok sehingga meningkatkan overhead
untuk transfer blok. Keperluan untuk memelihara status blok juga meningkat.
Ukuran blok tidak hanya bergantung pada ciri dari sistem tapi juga pada
aplikasinya.Sejauh ini belum ada cara yang sistematis untuk memilih parameter
ukuran blok. Dengan demikian, hal ini merupakan pekerjaan yang sulit, tidak
hanya bergantung pada karakteristik sistem, tapi juga aplikasi. Masalah lain
dengan DSM berdasarkan blok adalah kerumitan perancangan. Implementasi pada
lapisan perangkat keras dan sistem operasi memerlukan modifikasi atas sistem
yang sudah ada, yang memerlukan usaha yang besar. Biaya untuk mengadakan dan
memelihara sistem tersebut akan menjadi tinggi. Komputer yang berbeda memiliki
ukuran halaman yang berbeda dan metode manajemen memori yang berbeda. DSM yang
berdasarkan blok biasanya bergantung pada sistem sehingga sulit untuk
diimplementasikan pada sistem yang heterogen.
§ DSM yang berdasarkan object (Object Based DSM)
DSM berdasarkan object melakukan pembagian shared memory ke dalam unit-unit
kecil. Setiap unit memuat data yang berhubungan secara logika. Implementasinya
biasa dilakukan pada lapisan bahasa/kompilator dan librari. Karena DSM berdasar
objek diimplementasikan pada lapisan yang lebih tinggi, kinerjanya tidak sebaik
DSM berdasarkan blok tetapi lingkungan yang dihasilkan lebih independen dan
fleksibel. DSM bisa diimplementasikan diatas subsistem komunikasi yang sudah
ada seperti PVM, TCP/IP, atau DCE. Akibatnya, usaha pengembangan sistem bisa berkurang
dengan cepat, dan pengubahan sistem pada arsitektur yang lebih mudah.
Lingkungan tersebut akan mampu mendukung sistem yang heterogen. Pada DSM
berdasarkan objek, pemrogram memiliki kendali yang besar atas bagaimana data
akan didistribusikan sesuai dengan ciri dari aplikasi. Pemrogram juga dibiarkan
untuk menentukan parameter yang penting seperti ukuran blok, metode akses,
mekanisme komunikasi, dan model konsistensi memori. Pengolahan Paralel adalah
pengolahan informasi yang menekankan pada manipulasi data-data elemen secara
simultan dengan maksud untuk mempercepat komputasi dari sistem komputer dan
menambah jumlah keluaran yang dapat dihasilkan dalam jangka waktu tertentu.
Komputer Paralel memiliki kemampuan untuk melakukan pengolahan paralel. Sedangkan
through put yang dihasilkan adalah keluaran yang dihasilkan per unit waktu.
Peningkatan through put dapat dilakukan dengan meningkatkan kecepatan operasi
serta meningkatkan jumlah operasi yang dapat dilakukan dalam satu waktu
tertentu (concurrency).
Implementasi
Perangkat Keras Sistem DSM
Pada pendekatan perangkat keras, antar muka dari
jaringan antar sirkuit hubungan cache ditambahkan kedalam system untuk membuat
referensi memori untuk lokasi memori remote kelihatan seperti referensi untuk
lokasi lokal. Terdapat beberapa antar muka yang memiliki tujuan khusus yang
mendukung operasi shared memory. Contohnya meliputi :
§ Virtual – Memory Mapped Network Interface (Blumrich et al, 1995)
§ Myrinet (Borden et al, 1995)
§ SCI (Hellwagner dan Reinefeld, 1999)
§ Memory – Integrated Network Inerface (Minich, Burns dan Hady, 1995)
Pendekatan perangkat keras harus menyediakan tingkat kemampuan yang lebih
tinggi dibangingkan dari perangkat lunak diantara sistem operasi dan aplikasi
pengguna. Pendekatan perangkat lunak secara khas menambah sebuah lapisan
tambahan dari perangkat lunak diantara system operas dan aplikasi pengguna.
Terkadang bahkan menggunakan antarmuka komoditi yang ada (missal Ethernet) dan
mendatangkan kemampuan tambahan penting lainnya.
Pengelolaan
Shared Data
Ada beberapa cara agar prosessor memliki akses ke
shared data. Solusi yang sederhana adalah dengan memiliki akses ke server pusat
yang bertanggung jawab atas semua operasi baca dan tulis pada shared data, dan
dengan memliki prosessor yang membuat permintaan kepada server ini. Semua
kegiatan membaca dan menulis dari shared data terjadi dalam satu tempat dan
berurutan; artinya, ia mengimplementasikan kebijakan single reader / single
writer. Kebijakan ini jarang digunakan karena dapat menyebabkan kemacetan pada
semua permintaan yang harus pergi ke satu tempat.
Kebijakan multiple reader
/ single reader memperbolehkan banyak prosessor untuk membaca shared data,
tetapi hanya satu yang dapat mengubah data pada saat tertentu, yang dapat
dicapai secara efisien dengan mereplikasi data pada bagian bagian yang
memerlukannya. Hanya satu bagian (pemilik) yang oleh mengubah data. Dalam
kebijakan multiple reader / single writer, ketika pemilik mengubah shared data,
salinan salinan lainnya tidak akurat. Ada beberapa kemungkinan untuk mengatasi
situasi ini.
Ada beberapa kemungkinan untuk mengatasi masalah ini yaitu :
§ Memperbaharui Kebijakan
Memperbaharui kebijakan, semua salinan data lain akan segera diubah untuk
mencerminkan perubahan dengan sebuah pesan yang dipancarkan.
§ Membuat Kebijakan Tidak Berlaku
Dalam membuat kebijakan yang sudah ada menjadi tidak berlaku, semua salinan
data ditandai tidak berlaku. Jika data tersebut terus menerus diproses respons
yang didapat mengindikasikan adanya data yang tidak benar menyebabkan prosessor
meminta suatu nilai baru dari pemilik. Membuat kebijakan tidak berlaku
cenderung dipilih karena pesan pesan hanya dihasilkan ketika prosessor
prosessor mencoba mengakses salinan yang sudah diubah. Salinan manapun dari
data yang tidak dapat diakses secara terus menerus akan tetap tidak valid / tidak benar.