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