Distributed Shared Memory

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку

Розподілена пам'ять (англ. Shared memory) — механізм обміну даними між процесами в Unix і подібних ОС, один з засобів взаємодії між процесами.

Розподілена пам'ять (DSM - Distributed Shared Memory)[ред. | ред. код]

Традиційно розподілені обчислення базуються на моделі передачі повідомлень, в яких дані передаються від процесора до процесора у вигляді повідомлень. Віддалений виклик процедур фактично є тією ж самою моделлю (або дуже близькою).

DSM - віртуальний адресний простір, поділюваний всіма вузлами (процесорами) розподіленої системи. Програми отримують доступ до даних в DSM приблизно так само, як вони працюють з даними в віртуальній пам'яті традиційних ЕОМ. У системах з DSM дані переміщаються між локальною пам’яттю різних комп'ютерів аналогічно тому, як вони переміщуються між оперативною і зовнішньою пам'яттю одного комп'ютера.

Переваги DSM[ред. | ред. код]

1.У моделі передачі повідомлень програміст забезпечує доступ до подільних даних за допомогою явних виконyються операції посилки і прийому повідомлень. При цьому доводиться кантувати алгоритм, забезпечувати своєчасну зміну інформації в буферах, перетворювати індекси масивів. Все це сильно ускладнює програмування і налагодження. DSM приховує від програміста пересилку даних і забезпечує йому абстракцію поділюваної пам'яті, використання якої він вже звик на мультипроцесорах. Програмування і налагодження з використанням DSM набагато простіше.

2.У моделі передачі повідомлень дані переміщаються між двома різними адресними просторами. Це робить дуже важким передачу складних структур даних між процесами. Більш того, передача даних по посиланню і передача структур даних, що містять покажчики, є в загальному випадку складною і дорогою справою. DSM дозволяє передавати дані по посиланню, що спрощує розробку розподілених додатків.

3.Обсяг сумарної фізичної пам'яті всіх вузлів може бути величезним. Ця величезна пам'ять стає доступна додатком без витрат, пов'язаних у традиційних системах з дисковими обмінами. Це гідність стає все вагомішим у зв'язку з тим, що швидкості процесорів ростуть швидше швидкостей пам'яті і в той же час з'являються дуже швидкі комунікації.

4.DSM-системи можуть нарощуватися практично безмежно на відміну від систем з пам'яттю, що розділяється, тобто вони є масштабованими. 5.Програми, написані для мультипроцесорів із загальною пам'яттю, можуть в принципі без будь-яких змін виконуватися на DSM-системах (принаймні, вони можуть бути легко перенесені на DSM-системи).По суті, DSM-системи долають архітектурні обмеження мультипроцесорів і скорочують зусилля, необхідні для написання програм, розподілених систем. Зазвичай вони реалізуються програмно-апаратними засобами, але в останні роки з'явилося кілька комерційних MPP з DSM, реалізованої апаратно (Convex SPP, KSR1).

Алгоритми реалізації DSM.[ред. | ред. код]

При реалізації DSM центральними є такі питання.

1.як підтримувати інформацію про розташування віддалених даних.

2.як знизити при доступі до віддалених даними комунікаційні затримки і великі накладні витрати, пов'язані з виконанням комунікаційних протоколів.

3.як зробити загальні дані доступними одночасно на декількох вузлах для того, щоб підвищити продуктивність системи.

Чотири основних алгоритми реалізації DSM[ред. | ред. код]

Текст вилучений зі статті через підозру в порушенні авторських прав
Copyright.svg

Текст, який раніше перебував на цій сторінці, запідозрений у порушенні авторських прав через те, що є дослівним перекладом з таких джерел:

http://www2.sscc.ru/Links/Litera/krukov/lec6.html



Тому, хто поставив цей шаблон:
на сторінку обговорення користувача, який розмістив цю статтю, чи додав текст з порушенням авторського права, варто додати повідомлення {{subst:Nothanks tr|Distributed Shared Memory|url=http://www2.sscc.ru/Links/Litera/krukov/lec6.html }} --~~~~.


Увага До уваги користувача, який розмістив цю статтю

Не редагуйте статтю зараз, навіть якщо ви збираєтеся її переписати. Додержуйтеся вказівок нижче.

  1. Напишіть хоча б гарний накид статті на цій підсторінці. Зверніть увагу: не треба копіювати текст, що порушує авторські права, на зазначену підсторінку й редагувати його. Якщо ви взялися за написання нової статті, не забудьте сповістити про це на сторінці обговорення.
  2. Залиште все як є, і тоді стаття буде вилучена.

У випадку, якщо новий текст написаний не буде, ця стаття буде вилучена через тиждень після появи цього попередження. (Детальніше див. документацію шаблону.)

Вихідний текст цієї статті з можливим порушенням копірайту можна знайти в історії змін.

Зверніть увагу, що розміщення у Вікіпедії матеріалів, включаючи дослівний переклад, автор яких не надав явного дозволу на їхнє використання відповідно до ліцензії GNU FDL без незмінюваних секцій та Creative Commons із зазначенням автора / розповсюдження на тих самих умовах, може бути порушенням законів про авторське право. Користувачі, які додають до Вікіпедії такі матеріали, можуть бути тимчасово позбавлені права редагувати статті.

Незважаючи ні на що, ми завжди раді вашим оригінальним статтям.

Дякуємо.