Jumat, 01 April 2016

Shared Memory Organization

Shared Memory

Dalam ilmu komputer , shared memory adalah memori yang dapat secara bersamaan diakses oleh beberapa program dengan maksud untuk menyediakan komunikasi antara mereka atau menghindari salinan berlebihan. Memori bersama adalah cara yang efisien lewat data antara program. Tergantung pada konteks, program dapat berjalan pada prosesor tunggal atau beberapa prosesor yang terpisah.
Menggunakan memori untuk komunikasi di dalam satu program, misalnya di antara beberapa threadnya, juga disebut sebagai memori bersama.





Pada Hardware

       Dalam perangkat keras komputer, memori bersama mengacu pada blok (biasanya besar) dari random access memory (RAM) yang dapat diakses oleh beberapa yang berbeda unit central processing (CPU) dalam sistem multiprosesor komputer .
Sistem memori bersama dapat menggunakan:

-       Uniform Memory Access (UMA): semua prosesor berbagi memori fisik secara merata.
-       Non-uniform Memory Access (NUMA): Memori waktu akses tergantung pada lokasi memori relatif terhadap prosesor.
-       Cache-only Memory Architecture (COMA): Lokal memori untuk prosesor di setiap node digunakan sebagai cache bukan sebagai memori utama yang sebenarnya.

Sebuah sistem Shared Memory relatif mudah diprogram karena semua prosesor berbagi satu tampilan data dan komunikasi antar prosesor dapat secepat memori akses ke lokasi yang sama. Masalah dengan sistem Shared Memory adalah bahwa banyak CPU membutuhkan akses cepat untuk memori dan kemungkinan akan menjadi memori cache , yang memiliki dua komplikasi:

Akses degradasi waktu: ketika beberapa prosesor mencoba untuk mengakses lokasi memori yang sama menyebabkan pertengkaran.komputer shared memory tidak bisa terukur dengan baik. Sebagian besar dari mereka memiliki sepuluh atau lebih sedikit prosesor.
kurangnya koherensi Data: 
setiap kali satu cache diperbarui dengan informasi yang dapat digunakan oleh prosesor lainnya, perubahan perlu sesuai dengan prosesor lainnya, jika prosesor yang berbeda akan bekerja dengan data koheren. Seperti koherensi cache protokol, ketika mereka bekerja dengan baik, memberikan sangat akses kinerja tinggi untuk informasi dibagi antara beberapa prosesor. Di sisi lain, mereka kadang-kadang bisa menjadi kelebihan beban dan menjadi hambatan kinerja.

Teknologi seperti Crossbar Switches , Omega Network, HyperTransport atau front-side bus dapat digunakan untuk meredam Bottle-neck.
Dalam kasus heterogen Sistem Arsitektur (arsitektur prosesor yang mengintegrasikan berbagai jenis prosesor, seperti CPU dan GPU , dengan shared memory), yang Management Memory Unit (MMU) dari CPU dan Input-Output Management Memory Unit (IOMMU) dari GPU harus berbagi karakteristik tertentu, seperti lokasi bersama.
Alternatif untuk shared memory yang didistribusikan memori dan didistribusikan memori bersama , masing-masing memiliki satu set sama masalah.

Dalam perangkat lunak komputer, shared memory adalah baik
metode inter-process communication (IPC), yaitu cara bertukar data antara program yang berjalan pada waktu yang sama. Salah satu proses akan membuat area di RAM yang proses lainnya dapat mengakses;
metode melestarikan ruang memori dengan mengarahkan akses ke apa yang biasanya akan menjadi salinan dari sepotong data ke satu contoh sebaliknya, dengan menggunakan virtual memory pemetaan atau dengan dukungan eksplisit dari program tersebut. Hal ini paling sering digunakan untuk shared library dan XIP .

Karena kedua proses dapat mengakses daerah memori bersama seperti memori kerja biasa, ini adalah cara yang sangat cepat komunikasi (sebagai lawan mekanisme lain dari IPC seperti named pipes , Unix Domain Socket atau CORBA ). Di sisi lain, kurang terukur, seperti misalnya proses berkomunikasi harus berjalan pada mesin yang sama (metode IPC lainnya, hanya domain Internet soket-tidak Unix soket-bisa domain menggunakan jaringan komputer ), dan perawatan harus diambil untuk menghindari masalah jika proses shared memory berjalan pada CPU yang terpisah dan arsitektur yang mendasari tidak melakukan cache koheren .

IPC oleh memori bersama yang digunakan misalnya untuk mentransfer gambar antara aplikasi dan the X server pada sistem Unix, atau di dalam objek IStream dikembalikan oleh CoMarshalInterThreadInterfaceInStream di library COM dalam Windows .

Dynamic Libraries umumnya diadakan di memori sekali dan dipetakan ke beberapa proses, dan hanya dalam halaman yang harus disesuaikan untuk proses individu (karena simbol diatasi secara berbeda) yang digandakan, biasanya dengan mekanisme yang dikenal sebagai copy-on-write yang transparan salinan halaman ketika menulis sebuah dicoba, dan kemudian memungkinkan menulis berhasil di copy pribadi.

Sistem Berbagi Memori atau yang disebut juga sebagai Shared Memory System merupakan salah satu cara komunikasi antar proses dengan cara mengalokasikan suatu alamat memori untuk dipakai berkomunikasi antar proses. Alamat dan besar alokasi memori yang digunakan biasanya ditentukan oleh pembuat program. Pada metode ini, sistem akan mengatur proses mana yang akan memakai memori pada waktu tertentu sehingga pekerjaan dapat dilakukan secara efektif.


Tidak ada komentar:

Posting Komentar

Know us

Contact us

Nama

Email *

Pesan *