1626434812-e667f6b6e7e69d3a0798830a58e9075b (844135), страница 60
Текст из файла (страница 60)
Произвольная маршрутизация используется, как правило, для выравнивания нагрузки нескольких серверных приложений, реализующих одни и те же сервисы. В этом случае запрос посылается случайно выбранному серверному приложснию, обеспечивая равномерное распределение нагрузки. Произвольная маршрутизация лучше всего подходит для быстрой обработки большого числа запросов. Циклическая маршрутизация аналогична произвольной в плане равномерности распределения нагрузки.
Различие состоит в том, что распределение запросов здесь более предсказуемо. Запросы по очереди посылаются каждому серверному приложению. Первое приложение получает первый запрос, второе— второй и так далее, пока запрос не будет послан последнему серверному приложению После этого цикл повторяется. Этот тип маршрутизации подходит для приложений обработки транзакций в режиме Оп1лпе (ОпЫпе Тгапвас11оп Ргосевв1щ — ОЕТР). Благодаря равномерному распределению сообщений циклическая маршрутизация используется при функционировании высокопроизводительных кластерных серверов баз данных. Алгоритм маршрутизации, определяемой сообщением, отличается от двух предыдущих тем, что для принятия решения он использует содержимое сообщения ~запроса).
Например, для пОлучения статистических данных о конъюн- Глава 1д. Параллельные базы данных ктуре определенного товара он может направлять запрос конкретному серверу баз данных в зависимости от вида товара, указанного в запросе. Такой алгоритм эффективен для приложений распределенных БД, когда различные серверы обрабатывают свои собственные подмножества данных.
Для определения маршрута запроса в комплексном алгоритме используются анализ таких параметров, как предпочтительность сервера для обработки запросов„его готовность к обработке, его удаленность. Маршрутизация производится в зависимости от значений этих параметров. Задавая их, системный администратор может оптималыю использовать программно-аппаратные ресурсы, повышать эффективность и надежность выполнения распределенных приложений. Значения параметров могут изменяться в процессе работы. Скорость обработки транзакций напрямую зависит от числа запущенных серверных приложений. Чем больше приложений одновременно обслуживают запросы, тем выше пропускная способность вычислительной системы. Это увеличение наиболее заметно на многопроцессорных системах, где каждое приложение может работать на отдельном процессоре.
В идеале для эффективного использования системных ресурсов нужно по мере необходимости увеличивать или уменьшать число серверных прило кений в зависимости от числа обрабатываемых запросов. Для решения этой задачи мониторы транзакций периодически измеряют отношение числа запросов в очереди к числу работающих серверных приложений. Если это отношение превышает некоторое максимальное пороговое значение 11пахипип1 иа~сппаг1.), то запускается дополнительная копия серверного приложения. Если это отношение падает ниже минимального порогового значения 1т1п1шигп иа~егтагЕ), то одна из копий завершается.
На рынке мониторов транзакций доступно довольно много продуктов, функционально подобных ТОР ЕИ0 фирмы МСВ.. В числе наиболее известных: Т1)ХЕ00 фирмы 1.181., С1СБ фирмы 1ВМ, ЕИС1ИА фирмы Тгапзагс, АСМЯ фирмы 1ЭЕС. 10.4.7. Требования к реализации ЕСО в параллельных системах Обычно требования к средствам реализации ЕСО формулируются как полная прозрачность управления ресурсами, масштабируемость производительности, высокая готовность [35]. Прозрачность управления подразумевает следующие возможности. ° Регистрации пользователя на любом ВМ, то есть наличие единой точки входа (входной очереди).
При этом способ реализации, а именно: регис- Базы данных. Интеллектуальная обработка информации трация в одном определенном ВМ или возможность регистрации в операционной системе каждого ВМ, не видны пользователям. ° Предоставление зарегистрированным пользователям единой файловой системы. Сервисы, такие как се1пе!, йр, должны предоставлять единую файловую систему независимо от того, как она на самом деле реализована: как единый файл-сервер, совокупность файлов распределенных между ВМ с возможным тиражированием части файлов в нескольких ВМ.
° Единое управление с использованием графического интерфейса пользователя (бЫ), подобного предоставляемому специализированным пакетом БМ1Т для рабочих станций 1ВМ А1Х. ° Единое адресное пространство„обеспечивающее поддержку выполнения программ на базе модели общей памяти. ° Единое управление распределением заданий, включая параллельные, предоставляющее пакетный и интерактивный режимы Масштабируемость предполагает, что время выполнения операций по управлению доступом к данным и ресурсам резко не возрастает при увеличении количества ресурсов. Интерфейсы прикладного программирования ~АР1) не меняются при изменении количества ресурсов системы, включая изменение количество ВМ.
При изменении количества ресурсов происходит пропорциональное изменение производительности. Высокая готовность обеспечивается средствами перераспределения пользовательских заданий по исправным ресурсам системы. Для работы по перераспределению заданий необходимо: Единое пространство внешних устройств, позволяющее хранить программы и локальные данные процессов, а также контрольные точки процессов для их перезапуска при обнаружении отказов. Исчезает различие в использовании локальных и удаленных дисков. Удаленная ВМ не должна обращаться к диску для реализации удаленного доступа. Единое адресное пространство образуется как линейный массив с использованием либо номеров внешних устройств, либо номеров блоков этих устройств.
° Единое пространство процессов, поддерживающее именование процессов при порождении, синхронизацию и коммуникацию между процессами независимо от места их протекания. ° Средства поддержки создания контрольных точек процессов, миграции процессов между ВМ с целью балансировки нагрузки. Миграция процессов активно балансирует загрузку, перемещая задания с более загруженных на менее загруженные ВМ, и перезапускает на работоспособных ВМ процессы, исполнявшиеся на отказавших ВМ. Глава 10.
Параллельные базы данных 10.4.8. Организация контрольной точки Применяются следующие типы контрольных точек [851. 1. Локальная контрольная точка. Процессы периодически сохраняют КТ. Этот тип КТ устойчив к сбоям, но не к отказам процессора или диска.
В этом случае сохраненная КТ становится недоступной. 2. Зеркальная КТ. Процессы периодически сохраняют КТ на своих локальных дисках и копии этих КТ на соседних дисках. Этот тип КТ устойчив к одиночным неисправностям. 3. Устойчивая КТ. Процессы периодически сохраняют КТ на дисках ЙА1Р, которые устойчивы к отдельным совокупностям отказов. В зависимости от структуры системы могут рассматриваться различные варианты организации контрольной точки [85~.
Если совокупность дисков, подключенных к разным ВМ, образует массив распределенных дисков ХАЯ, то на дисках этого массива сохраняется контрольная точка с некоторым дублированием данных на разных дисках. Возможно применение схемы ЙА10-5 или более простой КА1Р-1. Управление доступом к дискам выполняется программно на уровне протоколов, а не специализированным устройством управления. Недостатки этого способа подключения дисков заключаются: ° в ограниченной возможности масштабирования из-за трудности управления возрастающим количеством дисков; ° в ограничениях на разнесение ВМ на значительные расстояния из-за затрат на управление удаленными данными.
Эти недостатки устраняются при создании ЗА% Каждый ВМ может иметь или не иметь собственные диски, но все ВМ через сеть имеют доступ к дисковому массиву, хранящему контрольные точки. 10.4.8. Примеры ПО среднего уровня для вычислительных систем В настоящее время представлено несколько продуктов, поддерживающих в той или иной степени единый системный образ [851, Среди этих продуктов можно указать И.
ЫМ1Х [Зб|, Сопг1ог [87~, 1.8Р [88~, Тгеаг1Маг1га [89], Сойпе [901, Несгог [9 Ц. Часть этих продуктов является свободно распространяемыми, остальные — коммерческие. Следует отметить, что сама возможность создания ЕСО в значительной степени связана с использованием стандартизованных представлений параллельных программ на базе МР1 и Р'ЧМ [73]. Сравнительные характеристики этих продуктов представлены в таблице 10.1. Базы данных. Интеллектуальная обработка информации Згб Таблица 10.1 ОЬ СИ1Х ТгеадМагЕз Сойпе ЬЗР Характеристика Единое управление Единая регистрация Единая иерархия файлов Единое адресное пространство Единое пространство процессов + Единое пространство ввода-вывода Единая сетевая среда Поддержка пакетной обработки + Поддержка интерактивного режима + Поддержка параллельных вычислений (МР1, РУМ) Балансировказагрузки Мониторинг заданий Приостановка/возобновление + + Динамические ресурсы Интерфейс пользователя Системная контрольная точка Миграция процессов 1ЛЧ1Х 1Л~ПХ КегЬо- КегЬогоз гоя Стандарт безопасности Отказоустойчивость Структура реализации ЕСО приведена на рис.
10.10. Свободно распространяемый пакет глобальный уровень СИ1Х (И. УИ1Х) реализуется как защищенная библиотека пользовательского уровня операционной системы 1ЛЧ1Х, динамически связываемая с каждой прикладной программой. ОЬ 1ЛЧ1Х обладает следующими достоинствами; команд- команд- ная ная строка строка 61ЛI Оц1 командная строка Глава 1О. Параллельные базы Ьаноых программы библиотеки исполняются на пользовательском уровне; ° исходные тексты могут быть легко модифицированы пользователем; ° поддержана возможность совместной загрузки ветвей параллельной программы, обнаружения простаивающих неиспользуемыми ресурсов, миграции процессов, балансировки загрузки, удаленного управления страницамн памяти; ° обеспечена переносимость на другие ОС, поддерживающие межпроцессные коммуникации, синхронизацию процессов и доступ к загрузочной информации, ний Ззлвнивми Уровень про!рвы мировання Уровень неповнення Рис.
10.1О. Реализация ЕСО Свободно распространяемый пакет Сопдогпозволяет группировать подмножества рабочих станций сети, управлять доступом к группам станций, а также запускать параллельные программы, способные настраиваться на исполнение на выделеннойгруппе станций. Поддерживается митрация программ с целью балансировки нагрузки. Пакет ТгеадМаг1з представляет собой библиотеку времени исполнения, реализуюшую модель распределенной разделяемой памяти на кластере (ЛЧ1Х компьютеров. Пакет Сойпе представляет собой систему управления заданиями в гетерогенных сетях на базе бШ средств.