Приведем схему миграционного алгоритма управления распределенной памятью.
· Если процесс
запрашивает страницу памяти, которая отсутствует в оперативной памяти данного процессора
, то происходит страничное прерывание с передачей управления операционной системе.
· Операционная система находит необходимую страницу в оперативной памяти процессора
и требует от него переслать эту страницу процессору
.
· Процессор
передает по коммуникационной сети требуемую страницу в оперативную память процессора
.
· Команда, вызвавшая страничное прерывание, перезапускается (на процессоре
).
Приведенную схему миграционного алгоритма управления распределенной памятью иллюстрируют рис. 1, рис. 2. Процесс
, выполняемый на процессоре, запрашивает страницу памяти 4, которая отсутствует в оперативной памяти процессора
, но находится в оперативной памяти процессора
(рис. 1). Процессор
пересылает страницу памяти 4 в оперативную память процессора
(рис. 2).
Миграционный алгоритм позволяет последовательные обращения к одним и тем же данным осуществлять локально, в пределах оперативной памяти только данного процессора. Однако при этом в любой момент времени возможно обращение к одному элементу данных только одному процессу.
Перемещение страницы данных, а не необходимой единицы данных, позволяет воспользоваться присущей приложениям локальностью доступа к данным для снижения накладных расходов на миграцию данных. Однако такой подход может привести к трэшингу (trashing), когда страницы очень часто мигрируют между процессорами при малом количестве обслуживаемых запросов. Для преодоления этого недостатка некоторые мультикомпьютерные ОС позволяют задать время, в течение которого страница насильно удерживается в процессоре для того, чтобы приложение могло успеть выполнить несколько обращений к этой странице до ее миграции в другой узел.
|






