double arrow

Алгоритм полного размножения для управления распределенной памятью

Рис. 3. К алгоритму размножения для управления распределенной памятью. Расположение страниц памяти после размножения страницы 4.

Алгоритм полного размножения для управления распределенной памятью является расширением предыдущего алгоритма и заключается в репликации всех страниц. Алгоритм позволяет многим процессорам иметь одновременный доступ к разделяемым данным на чтение и запись. Поскольку процессоры могут записывать данные параллельно, возникает проблема обеспечения консистентности данных.

Одним из простейших способов обеспечения консистентности данных является использование специального процесса для управления модификациями памяти. Схема использования этого процесса:

· все процессоры, желающие модифицировать разделяемые данные, посылают свои модификации процессу ;

· процесс присваивает каждой модификации очередной номер и рассылает его широковещательно вместе с модификацией всем процессорам, имеющим копию модифицируемой страницы данных;

· каждый процессор осуществляет модификации данных в порядке возрастания их номеров. Разрыв в номерах полученных модификаций означает потерю одной или нескольких модификаций. В этом случае процессор может запросить недостающие модификации.

Для обеспечения консистентности данных могут также использоваться бинарные семафоры. Для того чтобы получить возможность записать данные на какую-либо страницу виртуального адресного пространства мультикомпьютера, процесс должен сначала получить доступ к семафору, который связан с этой страницей (и со всеми копиями этой страницы). Доступ некоторого процесса к семафору данной страницы запрещает чтение и запись данных в эту страницу и во все ее копии другим процессам. После освобождения семафора ОС вносит соответствующие изменения в данные, размещенные на всех копиях данной страницы, и разрешает доступ к этим копиям

Одной из проблем при использовании рассмотренных алгоритмов управления распределенной памятью является проблема выбора длины страницы в системе управления распределенной памятью.

Страницы большой длины могут уменьшить общее количество передаваемой по коммуникационной сети информации, поскольку многие прикладные программы обладают свойством локальности ссылок – если программа использует какое-либо слово на странице, то велика вероятность того, что при следующих обращениях этой программы к памяти необходимые данные будут находиться на той же странице. С другой стороны, страницы большой длины требуют больших коммуникационных расходов на их перемещение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



Сейчас читают про: