Сетевое ПО Лекция 4 (Электронные лекции)
Описание файла
Файл "Сетевое ПО Лекция 4" внутри архива находится в следующих папках: Электронные лекции, 1 модуль СПО. PDF-файл из архива "Электронные лекции", который расположен в категории "". Всё это находится в предмете "сетевое программное обеспечение" из 6 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "лекции и семинары", в предмете "сетевое программное обеспечение" в общих файлах.
Просмотр PDF-файла онлайн
Текст из PDF
Сетевое ПО. Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры,миграция)Оглавление11Взаимоблокировки, возникающие при обмене сообщениями .....................................................................11.1 Условие возникновения взаимоблокировки........................................................................................... 11.2 Решение проблемы взаимоблокировки сообщений ...............................................................................21.3 Недоступность буферов сообщений.......................................................................................................22 Репликация....................................................................................................................................................
42.1 Согласование реплик данных .................................................................................................................52.2 Сбор кворума для обеспечения строгой согласованности .....................................................................52.2.1Локальные системы ....................................................................................................................... 62.2.2Согласование реплик в крупномасштабных системах..................................................................63 Кластерная обработка ...................................................................................................................................73.1 Свойства кластеров.................................................................................................................................
73.2 Метода кластеризации ............................................................................................................................ 83.3 Обработка отказов в кластерах...............................................................................................................93.4 Балансировка загрузки.......................................................................................................................... 103.5 Сервисы и функции программного обеспечения кластеров: ...............................................................
103.6 Сравнение кластеров и SMP ................................................................................................................. 123.7 Масштабирование кластеров................................................................................................................
123.8 Типа кластеров...................................................................................................................................... 133.8.1Кластеры серверов....................................................................................................................... 133.8.2NLB-кластеры .............................................................................................................................. 144 Миграция процессов ...................................................................................................................................
154.1 Необходимость переноса ...................................................................................................................... 154.2 Механизмы переноса процессов........................................................................................................... 164.2.1Инициация переноса.................................................................................................................... 164.2.2Что переносится........................................................................................................................... 164.2.3Перенос адресного пространства процесса ................................................................................. 174.3 Перенос открытых файлов.................................................................................................................... 184.4 Вытесняющие и невытесняющие переносы......................................................................................... 191 Взаимоблокировки, возникающие при обменесообщениямиВзаимоблокировка, связанная с обменом сообщениями, возникает втом случае, когда требующимися процессу ресурсами являются сообщения;при этом образуется группа процессов, каждый из которых ожидаетсообщения от другого процесса из этой группы и ни один процесс неможет отправить свое сообщение.Процесса Рi не может выполняться из-за ожидания сообщений отнекоторого множества процессов S.Процесс Рi сможет продолжить свою работу после получения любого из сообщений. либо только после получения всех ожидаемых сообщений.1.1Условие возникновения взаимоблокировки.1.
Все процессы множества S находятся в ожидании сообщений.Сетевое ПО. Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры, 2миграция)2. В каналах нет ни одного сообщения, передаваемого от одногочлена множества S другому.Все процессы множества S являются заблокированными, так как неможет быть получено ни одно сообщение, благодаря которому хотя бы одинпроцесс мог продолжить работу.На рис. 4.1а процесс P1 ожидает сообщения либо от процесса P2, либоот процесса P5 . Процесс P5 не ожидает никаких сообщений, поэтому он можетотправить сообщение процессу P1, тем самым выводя его из состоянияожидания.В результате звенья (P1 , P5) и (P1 , P2) удаляются.На рис.
4.1б добавлена еще одна зависимость: процесс P5 ожидаетсообщения от процесса P2, который ждет сообщения от процесса P3,ожидающего сообщения от процесса P1, который, в свою очередь, ждетсообщения от процесса P2 .В результате возникает взаимоблокировка.1.2 Решение проблемы взаимоблокировки сообщенийПроблемувзаимоблокировкисообщений,какипроблемувзаимоблокировки ресурсов, можно решить, предотвращая ее возникновение выявляя образование взаимоблокировки.1.3 Недоступность буферов сообщенийОдна из причин, по которой в системе с обменом сообщениями можетвозникнутьвзаимоблокировка,связанасраспределениембуферов,предназначенных для хранения передаваемых сообщений.Самым простым видом взаимоблокировки является непосредственнаяблокировка хранения и передачи сообщений (store-and-forward deadlock).Она может возникнуть в том случае, когда узел пакетной коммутациииспользует единый буферный пул, буферы которого по мере необходимостипредоставляются процессам передачи пакетов.Сетевое ПО.
Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры, 3миграция)На рис. 4.2а показана ситуация, в которой все буферное пространствона узле А занято пакетами, предназначенными для узла В. То жесправедливо и для узла В. Ни один из узлов не может принять ни одногопакета, поскольку их буферы заполнены. Таким образом, ни один из них неможет передать или получить сообщение.Непосредственную блокировку хранения и передачи сообщенийможно предотвратить, не позволяя всем буферам заполняться сообщениями,предназначенными для одного узла. Этого можно достичь, используяраздельные буфера фиксированного размера для каждой связи. Еслисообщения, предназначенные для одного узла, не занимают все буферноепространство, взаимоблокировка не возникнет даже при использованииобщего буферного пула.На рис.
4.2б проиллюстрирована более сложная разновидностьвзаимоблокировки-косвеннаяблокировкахраненияипередачисообщений.Она возникает, если образуется замкнутый цикл узлов, на каждом изкоторых очередь сообщений, передаваемых на соседний узел, до отказазаполнена пакетами, предназначенными для узла, находящегося за соседнимузлом.Одним из простых способов предотвращения взаимоблокировкиподобного типа является использование структурированного буферного пула(рис.
4.3).Такие буферы имеют иерархическую организацию.Использование пула памяти на нулевом уровне не ограничиваетсяникакими правилами; там может храниться любой входящий пакет.Буферы, которые находятся на уровнях с первого по N-й (где N -это максимальное количество промежуточных узлов при передаче пакета посети), резервируются следующим образом:буферы на уровне k зарезервированы для пакетов, которые доСетевое ПО. Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры, 4миграция)этого подверглись не менее k транзитным пересылкам. Таким образом, прибольшой загрузке сети буфера заполнены от нулевого до N-го уровня.Если заполнены все уровни до k-го включительно, то непринимается ни одно входящее сообщение, прошедшее менее k транзитныхпересылок.При соблюдении такой стратегии удается избежать как прямых,так и косвенных взаимоблокировок.Спроблемойвзаимоблокировокможностолкнутьсявкоммуникационной архитектуре, обычно на сетевом уровне модели OSI.Проблема такого же рода может возникнуть и в распределеннойоперационнойсистеме,вкотороймежпроцессноевзаимодействиепроисходит с помощью обмена сообщениями.2 РепликацияЕсли система должна обеспечивать быстрый доступ к данным, этиданные часто реплицируются, то есть копируются на несколько узлов.Таким образом снижается нагрузка на серверы и тем самымсокращается время ответа.Помимоускорениядоступарепликацияданныхповышаетотказоустойчивость системы: если один из серверов выйдет из строя,останутся другие.Системам, в которых применяется репликация данных, свойствененряд проблем, связанных сдоступностью серверов,коммуникационными задержкамисинхронизацией реплик.В определенных случаях повышение доступности достигается засчет снижения степени согласованности данных.Сетевое ПО.
Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры, 5миграция)2.1 Согласование реплик данныхДва альтернативных варианта внесения изменений в реплицированныеданные:Слабая согласованность. Изменения, внесенные в одну из реплик,немедленностановятсявидимыклиентам.Далеепроизводитсяраспространение этих изменений на другие реплики, в ходе которого ихданные остаются несогласованными.Строгая согласованность. Изменения становятся видимы клиентамтолько после их распространения на все реплики. Такую политику сложнореализовать, поскольку даже в случае доступности всех компьютеров, накоторых находятся реплики данных, процесс их обновления достаточнодлителен.Еще одним типичным источником проблем является временный выходиз строя отдельных сетевых соединений, при котором существуетвероятность несогласованного обновления реплик в разделенных частяхсети.Система среднего масштаба может поддерживать так называемый«горячий резерв» - один или несколько резервных серверов с постояннообновляемыми копиями данных, на которые в любой момент можнопереключиться без потери состояния.2.2 Сбор кворума для обеспечения строгойсогласованностиПоскольку полный набор реплик доступен не всегда, можнопроизводить обновление, когда в нем готово участвовать большинствореплик системы.Необходимое их число называется кворумом записи.Также определяется кворум чтения, наличие которого гарантирует,что как минимум одна из реплик содержит последнюю версию данных.Сетевое ПО.
Лекция 4(2014г.)(Взаимоблокировка, репликация, кластеры,миграция)62.2.1 Локальные системыЕсли в системе имеется п реплик, кворум записи WQ и кворум чтенияRQ определяются так:WQ > п -2RQ + WQ > пНапример, если п = 7, для записи нужно собрать кворум из пятиреплик, а для чтения - из трех (рис. 4.4).В процессе чтения проверяется время последнего обновления всех трехреплик и используется самая актуальная из них.Системное программное обеспечение старается поддерживать вактуальном состоянии все имеющиеся реплики.Каждая реплика поддерживается отдельным процессом, общее числокоторых также составляет п.Для фиксации обновления всех доступных реплик должен применятьсяпротокол, обеспечивающий атомарность этого действия.В процессе сбора кворума размер группы может меняться.2.2.2 Согласование реплик в крупномасштабных системахСбор кворума в случае, когда требуется строгая согласованностьреплик, требует взаимодействия с каждой из них.В крупномасштабных системах кворум может быть столь велик, чтоего сбор займет много времени.Для его ускорения реплики организуются иерархически (рис.