stringtranslate.com

Процесс миграции

В вычислительной технике миграция процессов — это специализированная форма управления процессами , при которой процессы перемещаются из одной вычислительной среды в другую. Это зародилось в распределенных вычислениях , но теперь используется более широко. На многоядерных машинах (несколько ядер на одном процессоре или несколько процессоров) миграция процессов происходит как стандартная часть планирования процессов , и довольно легко перенести процесс в пределах данной машины, поскольку большинство ресурсов (память, файлы, сокеты) не нужно менять, только контекст выполнения (в первую очередь счетчик программ и регистры).

Традиционная форма миграции процессов — это компьютерные кластеры , где процессы перемещаются с машины на машину, что значительно сложнее, так как требует сериализации образа процесса и миграции или повторного получения ресурсов на новой машине. Первая реализация миграции процессов была в операционном проекте DEMOS/MP в Калифорнийском университете в Беркли и была описана в статье 1983 года Бартона Миллера и Майкла Пауэлла. [1] Миграция процессов реализована, среди прочего, в OpenMosix и Sprite OS из Калифорнийского университета в Беркли .

Разновидности

Миграция процессов в вычислительной технике бывает двух видов: [2]

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

Проблемы

При перемещении запущенного процесса на другую машину возникает ряд проблем. Вот некоторые из этих проблем:

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

Межпроцессное взаимодействие: сообщения, отправленные процессу с идентификатором процесса P на машине M, должны быть перенаправлены на новую машину N и новый идентификатор процесса Q. Машина, с которой процесс был перемещен, должна хранить записи о перемещенных процессах. Если происходит множественная миграция, накладные расходы увеличиваются.

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

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

Ссылка http://www.klammeraffe.org/~fritsch/uni-sb/fsinfo/Papers/migrate/node4.html

Проектирование интегральных схем

Альтернативное определение миграции процесса используется в проектировании и инжиниринге интегральных схем . Миграция процесса или миграция макета в этом контексте представляет собой поток проектирования для изменения и сжатия существующей компоновки ИС до нового узла технологического процесса. Реализация миграции процесса может быть выполнена вручную путем перерисовки макета элемент за элементом или с помощью автоматических инструментов EDA / CAD . В системах распределения нагрузки процесс переносится с одного узла на другой с помощью механизма, называемого миграцией процесса.

Концепция процесса не представлена ​​в этом отчете, поскольку процессы являются хорошо известной конструкцией в операционных системах. Миграция процессов относится к мобильности выполняемых (или приостановленных) процессов в распределенной вычислительной среде. Обычно этот термин указывает на то, что процесс использует сеть для миграции на другую машину, чтобы продолжить там свое выполнение. Иногда этот термин используется для описания изменения выполнения с одного процессора на другой процессор в пределах одной машины.

Ссылки

  1. ^ Пауэлл, Майкл; Миллер, Бартон (1983). "Миграция процессов в DEMOS/MP" (PDF) . Симпозиум по принципам операционных систем . Бреттон-Вудс, Нью-Гемпшир.
  2. ^ "Управление процессами и миграция процессов". India Study Channel . Получено 28 июля 2012 г.