Разделы презентаций


Кластерные системы

Содержание

ПланИсторияКластеры типа BeowulfКластеры типа MOSIXКластеры типа SSIБалансирующие кластерыВысоконадежные кластеры Виртуальные машины

Слайды и текст этой презентации

Слайд 1Кластерные системы
Судаков А.А.
“Параллельные и распределенные вычисления” Лекция 11

Кластерные системыСудаков А.А.“Параллельные и распределенные вычисления” Лекция 11

Слайд 2План
История
Кластеры типа Beowulf
Кластеры типа MOSIX
Кластеры типа SSI
Балансирующие кластеры
Высоконадежные кластеры
Виртуальные

машины

ПланИсторияКластеры типа BeowulfКластеры типа MOSIXКластеры типа SSIБалансирующие кластерыВысоконадежные кластеры Виртуальные машины

Слайд 3Литература
http://www.clusterresources.com
http://www.mosix.org
http://www.openmosix.org
http://bproc.sourceforge.net/
http://www.linuxvirtualserver.org/


Литератураhttp://www.clusterresources.comhttp://www.mosix.orghttp://www.openmosix.orghttp://bproc.sourceforge.net/http://www.linuxvirtualserver.org/

Слайд 4Кластеры типа Beowulf
Типа Beowulf
Компьютеры широкого использования
Распределенный образ операционной системы
Централизованная модель
Гетерогенность
Возможные

расширения
Общая память
Миграция процессов
Чекпоинт/рестарт

Кластеры типа BeowulfТипа BeowulfКомпьютеры широкого использованияРаспределенный образ операционной системыЦентрализованная модельГетерогенностьВозможные расширенияОбщая памятьМиграция процессовЧекпоинт/рестарт

Слайд 5Схема

Схема

Слайд 6Узлы кластера
рабочие узлы (worker node)
выполнение рассчета
хранения данных (storage node)
хранение

доступных данныех
узлы управления (management node) 
программное обеспечение для администрирования системы
базы

данных системной информации (NIS master, LDAP master)
узлы доступа (login node)
вход пользователей из Интернет
узлы распределения нагрузки (workload management node)
Сервер и планировщик системы управления нагрузкой
Коммуникации
Сеть быстрого обмена данными
Сеть мониторинга
Узлы кластерарабочие узлы (worker node) выполнение рассчетахранения данных (storage node)хранение доступных данныехузлы управления (management node) программное обеспечение для

Слайд 7Работа узлов в кластере
Работа кластера как одной системы определяется программным

обеспечением
Узлы кластера должны "доверять" друг другу
возможность запускать программы на

разных узлах кластера без ввода пароля
Файлы данных должны быть доступны всем узлам
Модель программирования
Обмен сообщениями (MPI, PVM)
Общая память
На многопроцессорных узлах
При наличии соответствующей сети (SCI, QSNet)
Комбинированная
Работа узлов в кластереРабота кластера как одной системы определяется программным обеспечениемУзлы кластера должны

Слайд 8Запуск программ на кластере
Для запуска на любом узле кластера
Ssh, rsh
Агенты

системы распределения нагрузки
Запуск параллельных программ
Ssh или rsh для запуска соответствующего

процесса на удаленной машине
Запуск программ на кластереДля запуска на любом узле кластераSsh, rshАгенты системы распределения нагрузкиЗапуск параллельных программSsh или rsh

Слайд 9Входные узлы
Входной узел
Брандмауэр
Маршрутизатор для узлов кластера
Кэширующий DNS
Запуск программ на рабочих

узлах
Интерфейс системы мониторинга
Часто пользователи не имеют прямого доступа ни на

какие узлы, кроме входных



Входной узел

Брандмауер
Маршрутизация
Запуск программ

Рабочие узлы

Выполнение программ

Интернет

Входные узлыВходной узелБрандмауэрМаршрутизатор для узлов кластераКэширующий DNSЗапуск программ на рабочих узлахИнтерфейс системы мониторингаЧасто пользователи не имеют прямого

Слайд 10

Базы данных системной информации
Узел управления содержит авторитетные копии баз данных

системной информации
Список пользователей
Список групп
Новая информация добавляется и изменяется только

на узле управления
Остальные узлы
Обращаются к базе данных при необходимости
Могут содержать реплики главной базы данных
При любом акте авторизации или аутентификации
Обращения идут к к главному серверу
Может выполняться кэширование на локальных узлах (NSCD)

Узел управления

NIS master
LDAP server

Все остальные узлы

NIS client (slave)
LDAP client (slave)

Базы данных системной информацииУзел управления содержит авторитетные копии баз данных системной информацииСписок пользователей Список группНовая информация добавляется

Слайд 11Система мониторинга
Рабочие узлы
Агенты сбора информации
Узел коллектора (входной или управления)
Агрегация и

анализ информации
Узел управления
Система включения-выключения узлов

Система мониторингаРабочие узлыАгенты сбора информацииУзел коллектора (входной или управления)Агрегация и анализ информацииУзел управленияСистема включения-выключения узлов

Слайд 12GANGLIA

GANGLIA

Слайд 13Система распределения нагрузки
Задачи
Максимально эффективное использование ресурсов кластера
Максимальная скорость вычислений
Удовлетворение требований

пользователей в необходимых ресурсах
Память
Дисковое место
Специальные ресурсы (стример)

Система распределения нагрузкиЗадачиМаксимально эффективное использование ресурсов кластераМаксимальная скорость вычисленийУдовлетворение требований пользователей в необходимых ресурсахПамятьДисковое местоСпециальные ресурсы (стример)

Слайд 14Повышение эффективности использования ресурсов
Пакетный режим
Пользователи указывают необходимые ресурсы
Пользователи ставят свои

задачи в очередь
Система выполняет задачи в очереди в порядке приоритетности
Распределение

нагрузки
Запуск программ оптимальным (в плане скорости) образом
Контроль использования ресурсов
При превышении лимитов задача завершается принудительно
Повышение эффективности использования ресурсовПакетный режимПользователи указывают необходимые ресурсыПользователи ставят свои задачи в очередьСистема выполняет задачи в очереди

Слайд 15Реализации систем пакетного режима
NQS – network queuing system
PBS – portable

batch system
torque
LL – load leveler
BQS - Batch Queing System
CONDOR
LSF

Реализации систем пакетного режимаNQS – network queuing systemPBS – portable batch systemtorqueLL – load levelerBQS - Batch

Слайд 16PBS
Агент менеджера ресурсов (pbs_mom) – machine oriented miniserver
Сбор информации о

загруженности своего узла
Запуск программ на своем узле
Остановка задач на своем

узле
Сервер (pbs_server)
Агрегация информации от агентов
Поддержка очередей
Запуск задач посредством агентов на заданных серверах
Планировщик
Выдача информации серверу об оптимальном выборе ресурсов для разных задач



Узел управления

server
scheduler

Рабочие узлы

Агент
Менеджера ресурсов

PBSАгент менеджера ресурсов (pbs_mom) – machine oriented miniserverСбор информации о загруженности своего узлаЗапуск программ на своем узлеОстановка

Слайд 17Структурная схема PBS
Рабочий узел
Агент (зависимый от машины
мини-сервер)
Запуск задач,
сбор информации

о ресурсах
Рабочий узел
Агент (зависимый от машины
мини-сервер)
Запуск задач,
сбор информации о

ресурсах

Узел управления

Сервер (независимый)
Организация очередей
Аргегация информации
Запуск задач с помощью агентов

Узел управления

Планировщик (независимый)
Планирование выполнения задач
Для получения
оптимальной эффективности

Структурная схема PBSРабочий узелАгент (зависимый от машинымини-сервер)Запуск задач, сбор информации о ресурсахРабочий узелАгент (зависимый от машинымини-сервер)Запуск задач,

Слайд 18Агент менеджера ресурсов
Клиент-серверная идеология
Может подсоединяться к серверу и планировщику

для передачи информации
Слушает порт с возможностью подсоединения
Периодически передает серверу информацию

о загруженности и занятых ресурсах
Выполняет указания сервера и планировщика по запуску и остановке задач

813 ? S 29:34 /usr/local/torque/sbin/pbs_mom
11866 ? S 0:00 \_ -bash
11867 ? S 0:01 \_ pbs_demux
11920 ? S 0:00 \_ /bin/bash -x /var/spool/torque/mom_priv/jobs/8097.cluste.SC
11940 ? S 0:00 \_ mpirun -np 4 /usr/local/gromacs/i686-pc-linux-gnu/bin/mdrun_mpi
Агент менеджера ресурсов Клиент-серверная идеологияМожет подсоединяться к серверу и планировщику для передачи информацииСлушает порт с возможностью подсоединенияПериодически

Слайд 19Информация о ресурсах
s6
state = free

np = 6
ntype = cluster

jobs = 0/8054.cluster.univ.kiev.ua, 1/8054.cluster.univ.kiev.ua, 2/8092.cluster.univ.kiev.ua, 3/8092.cluster.univ.kiev.ua
status = arch=linux,uname=Linux ss20-6.univ.kiev.ua 2.4.29 #4 SMP Sat Mar 12 18:51:26 EET 2005 i686,sessions=11486 11485 13077 13179 13180,nsessions=5,nusers=1,idletime=75517,totmem=3137424kb,availmem=2764512kb,physmem=1032920kb,ncpus=4,loadave=2.81,gres=sse2:1+old:1+sse:1+ia32:1,netload=4091552988,size=12243388kb:16513960kb,state=free,rectime=1121093394

s16
state = free
np = 6
ntype = cluster
jobs = 0/8106.cluster.univ.kiev.ua, 1/8105.cluster.univ.kiev.ua
status = arch=linux,uname=Linux ss20-16.univ.kiev.ua 2.6.12 #2 SMP Sat Jun 25 11:53:19 EEST 2005 x86_64,sessions=2057 27304 27314 27315 14563 25193,nsessions=6,nusers=3,idletime=257369,totmem=4153400kb,availmem=3755768kb,physmem=2056928kb,ncpus=4,loadave=1.90,gres=new:1+ia32e:1+x86_64:1+sse2:1+sse3:1+sse2:1+sse:1+ia32:1,netload=344160256,size=18281492kb:30254032kb,state=free,rectime=1121093374

s17
state = free
np = 6
ntype = cluster
jobs = 0/8054.cluster.univ.kiev.ua, 1/8054.cluster.univ.kiev.ua, 2/8092.cluster.univ.kiev.ua, 3/8092.cluster.univ.kiev.ua
status = arch=linux,uname=Linux ss20-17.univ.kiev.ua 2.4.29 #3 SMP Wed Feb 23 12:42:34 EET 2005 i686,sessions=14044 14043 17177 17178,nsessions=4,nusers=1,idletime=80182,totmem=5193984kb,availmem=4895448kb,physmem=1032504kb,ncpus=4,loadave=2.15,gres=sse2:1+old:1+sse:1+ia32:1,netload=1580948483,size=1097220kb:4128448kb,state=free,rectime=1121093374
Информация о ресурсахs6   state = free   np = 6   ntype =

Слайд 20Сервер
Организация очередей
Агрегация использования ресурсов
Очередь (класс)
В каждую очередь попадают задачи

с определенными требованиями по ресурсам
Задачи с одинаковыми требованиями выполняются последовательно
Сервер

указывает агентам, что запускать
Сервер Организация очередейАгрегация использования ресурсовОчередь (класс)В каждую очередь попадают задачи с определенными требованиями по ресурсамЗадачи с одинаковыми

Слайд 21Очереди
#
# Create and define queue mono_long
#
create queue mono_long
set queue mono_long

queue_type = Execution
set queue mono_long Priority = 4
set queue mono_long

max_running = 23
set queue mono_long resources_max.nodect = 1
set queue mono_long resources_min.walltime = 36:00:00
set queue mono_long resources_default.walltime = 72:00:00
set queue mono_long max_user_run = 10
set queue mono_long enabled = True
set queue mono_long started = True
#
# Create and define queue stereo_short
#
create queue stereo_short
set queue stereo_short queue_type = Execution
set queue stereo_short Priority = 4
set queue stereo_short resources_max.walltime = 64:00:00
set queue stereo_short resources_min.nodect = 2
set queue stereo_short max_user_run = 4
set queue stereo_short enabled = True
set queue stereo_short started = True
#
# Create and define queue stereo_long
#

server: cluster.univ.kiev.ua

Queue Memory CPU Time Walltime Node Run Que Lm State
---------------- ------ -------- -------- ---- --- --- -- -----
mono_short -- -- 36:00:00 1 0 0 -- E R
default -- -- -- -- 0 0 -- E R
mono_long -- -- -- 1 4 0 23 E R
stereo_short -- -- 64:00:00 -- 0 0 -- E R
stereo_long -- -- -- -- 3 1 -- E R
alien -- -- -- -- 0 0 -- E R
--- ---
7 1

Очереди## Create and define queue mono_long#create queue mono_longset queue mono_long queue_type = Executionset queue mono_long Priority =

Слайд 22Планировщик
На основе информации
менеджера ресурсов
Требований пользователя
Ограничений
Запланировать выполнение всех задач

с максимальной эффективностью

ПланировщикНа основе информации менеджера ресурсовТребований пользователяОграничений Запланировать выполнение всех задач с максимальной эффективностью

Слайд 23Реализации планировщиков
PBS_SCHEDULER
Входит в систему PBS
MAUI
Самый распространенный кластерный планировщик
Организация качества обслуживания
Приоритеты
Вытеснение
Назначение

ограничений

Реализации планировщиковPBS_SCHEDULERВходит в систему PBSMAUIСамый распространенный кластерный планировщикОрганизация качества обслуживанияПриоритетыВытеснениеНазначение ограничений

Слайд 24Сценарий запуска (паспорт задачи)
Задача может быть запущена на любом узле

кластера
Чтобы все запустилось правильно пользователь должен указать как запускать задачу
Имя

и путь к программе
Необходимые ресурсы
PBS предоставляет пользователю переменные среды
Имена машин на которых были запущены задачи
Имена машин и каталог из которых бала запущена задача

Сценарий запуска (паспорт задачи)Задача может быть запущена на любом узле кластераЧтобы все запустилось правильно пользователь должен указать

Слайд 25Пример запуска
Сценарий
#PBS
cat $PBS_NODEFILE
sleep 20
Запуск
qsub -lnodes=2:ppn=2 tst
8115.cluster.univ.kiev.ua
Выполнение
[saa@cluster pbs]$ qstat
Job id

Name

User Time Use S Queue
---------------- ---------------- ---------------- -------- - -----
8054.cluster dopc_ann_4 yesint 00:01:29 R stereo_long
8092.cluster dopc_f2n8_ann yesint 00:00:55 R stereo_long
8097.cluster eEF1A2_n5 kanibolotsky 00:00:01 R stereo_long
8102.cluster eEF1A2_n10 kanibolotsky 0 Q stereo_long
8103.cluster ...01_restart-07 platon 47:06:22 R mono_long
8104.cluster ...02_restart-07 platon 47:30:02 R mono_long
8105.cluster ...04_restart-06 platon 47:19:13 R mono_long
8106.cluster ...03_restart-06 platon 22:02:52 R mono_long
8115.cluster tst saa 00:00:00 R stereo_short
Результат
s16
s16
s15
s15
Пример запускаСценарий#PBScat $PBS_NODEFILEsleep 20Запускqsub -lnodes=2:ppn=2 tst8115.cluster.univ.kiev.uaВыполнение[saa@cluster pbs]$ qstatJob id      Name

Слайд 26Особенности кластера типа beowulf
Преимущества
Гетерогенность – не помеха
Независимость от программного и

аппаратного обеспечения
Простота организации
Высокая надежность
Высокая масштабируемость
Низкое соотношение цена/производительность
Недостатки
Статическое распределение нагрузки


Необходимость сложных настроек для получения оптимальной производительности

Особенности кластера типа beowulfПреимуществаГетерогенность – не помехаНезависимость от программного и аппаратного обеспеченияПростота организацииВысокая надежностьВысокая масштабируемостьНизкое соотношение цена/производительность

Слайд 27bproc
Общее пространство процессов для beowulf кластеров (SSI)
Процессы выполняются на удаленных

узлах и могут мигрировать между узлами, хотя видятся как запущенные

на входном узле
Миграция путем полной копии ресурсов (виртуальной памяти, открытых файлов)

bprocОбщее пространство процессов для beowulf кластеров (SSI)Процессы выполняются на удаленных узлах и могут мигрировать между узлами, хотя

Слайд 28Кластер типа MOSIX
MOSIX – Multicomputer Operating System for Unix
Кластер с

одной копией операционной системы
Динамическая балансировка нагрузки путем миграции процессов с

вытеснением
Кластер типа MOSIXMOSIX – Multicomputer Operating System for UnixКластер с одной копией операционной системыДинамическая балансировка нагрузки путем

Слайд 29Компоненты
Децентрализованная схема
Каждый узел имеет одинаковую структуру и все узлы равноправны
Каждый

узел имеет
Информационный агент
Передача информации об использовании ресурсов своего узла
Прием информации

о ресурсах других узлов
Агент миграции
Принимает запросы от других узлов на миграцию процессов с них
Запускает мигрировавшие процессы
Планировщик
Принимает решение о миграции процессов со своего узла
КомпонентыДецентрализованная схемаКаждый узел имеет одинаковую структуру и все узлы равноправныКаждый узел имеетИнформационный агентПередача информации об использовании ресурсов

Слайд 30Концепция домашнего узла
Каждый процесс остается связанным с той машиной, на

которой он был запущен
При миграции процесс разбивается на две части
Deputy

– режим ядра, связанный с домашним узлом
Remote – режим ядра и режим задачи, связанный с удаленным узлом
При выполнении системного вызова удаленной частью процесса, вызов транслируется на домашний узел по сети
Концепция домашнего узлаКаждый процесс остается связанным с той машиной, на которой он был запущенПри миграции процесс разбивается

Слайд 31Выполнение системного вызова

Выполнение системного вызова

Слайд 32Интерфейс

Интерфейс

Слайд 33Особенности
Преимущества
Эффективен для гетерогенных кластеров
Не требует специфических настроек
Динамическая масштабируемость
Возможность использования существующих

ресурсов для создания метакластеров
Недостатки
Требует однотипного (не сильно отличающегося) аппаратного и

программного обеспечения
Не удовлетворяет требованиям стабильности и безопасности
Концепция домашнего узла – ограничивает возможности

ОсобенностиПреимуществаЭффективен для гетерогенных кластеровНе требует специфических настроекДинамическая масштабируемостьВозможность использования существующих ресурсов для создания метакластеровНедостаткиТребует однотипного (не сильно

Слайд 34SSI Linux
Полнофункциональный кластер с общим образом операционной системы
Общее пространство процессов
Общая

память
Общая файловая система
Общие средтства коммуникации
Интегрирует в себе многие другие проекты

SSI LinuxПолнофункциональный кластер с общим образом операционной системыОбщее пространство процессовОбщая памятьОбщая файловая системаОбщие средтства коммуникацииИнтегрирует в себе

Слайд 35Структурная схема

Структурная схема

Слайд 36Балансирующие кластеры
Кластер серверов видится как одна машина
Внутри запросы к

общему адресу распределяются между серверами, входящими в кластер

Балансирующие кластерыКластер серверов видится как одна машина Внутри запросы к общему адресу распределяются между серверами, входящими в

Слайд 37Linux Virtual Server
NAT
Direct route
IP tunnel

Linux Virtual ServerNATDirect routeIP tunnel

Слайд 38Высоконадежные кластеры
Отказоустойчивость (fault-tolerance)
При возникновении сбоев может сам восстановиться
Высокая готовность (high

availability)
При обнаружении ошибки быстро готов к выполнению работы

Высоконадежные кластерыОтказоустойчивость (fault-tolerance)При возникновении сбоев может сам восстановитьсяВысокая готовность (high availability)При обнаружении ошибки быстро готов к выполнению

Слайд 39Условия обеспечения высокой надежности
Обнаружение отказов
Избыточность – высокая готовность
Запасные компоненты, готовые

сразу же включиться в работу
Журналирование (транзакции) - отказоустойчисвость
Сохранение промежуточных действий

с возможностью вернуться к последней успешной операции
Механизм устранения неисправных компонент
Условия обеспечения высокой надежностиОбнаружение отказовИзбыточность – высокая готовностьЗапасные компоненты, готовые сразу же включиться в работуЖурналирование (транзакции) -

Слайд 40Обнаружение отказов
Keep-alive, hello, heartbeat
Периодически отправляемая информация о состоянии каждого узла

(компоненты)
Если сообщения от компоненты не поступают или поступают с

неверными параметрами, то фиксируется отказ компоненты
Обнаружение отказовKeep-alive, hello, heartbeatПериодически отправляемая информация о состоянии каждого узла (компоненты) Если сообщения от компоненты не поступают

Слайд 41Устранение неисправной компоненты
Stomish
Shoot Other Machine In The Head
Задача –

быстро устранить неисправную машину
Метод – выключение питания с помощью управляемого

выключателя питания
Исполнитель – одна из машин кластера
Временный координатор

Анализ
heartbeat

Определение
неисправной
компоненты

Голосование

stomith

Устранение неисправной компонентыStomish Shoot Other Machine In The HeadЗадача – быстро устранить неисправную машинуМетод – выключение питания

Слайд 42Избыточность
Избыточность данных
Зеркалирование – создание полной копии
Репликация – восстановление из копии
Multipass

– обеспечение нескольких путей к данным
Избыточность функций
Дублирование – несколько серверов,

процессов, сетевых адаптеров и др. устройств с одинаковыми функциями
ИзбыточностьИзбыточность данныхЗеркалирование – создание полной копииРепликация – восстановление из копииMultipass – обеспечение нескольких путей к даннымИзбыточность функцийДублирование

Слайд 43Журналирование
Журналирование данных
Перед тем, как записывать данные на постоянное место, они

записываются во временное хранилище - журнал
После этого данные записываются на

постоянное место
Транзакции
Несколько последовательных операций выполняются как одна атомарная операция
Checkpoint/restart
Создается копия структур данных процесса
ЖурналированиеЖурналирование данныхПеред тем, как записывать данные на постоянное место, они записываются во временное хранилище - журналПосле этого

Слайд 44CHPOX – CHeckPOinting linuX
Сохранение текущего состояния процесса в дисковый файл
Восстановление

процессов из файла в точке, где они были записаны
Процессы после

восстановления продолжают выполняться
CHPOX – CHeckPOinting linuXСохранение текущего состояния процесса в дисковый файлВосстановление процессов из файла в точке, где они

Слайд 45Схема работы
Резервирование
Восстановление
регистрация
Перехват сигнала
Отправка сигнала
Сохранение ресурсов
Нормальное продолжение
Загрузка ресурсов
Продолжение выполнения

Схема работыРезервированиеВосстановлениерегистрацияПерехват сигналаОтправка сигналаСохранение ресурсовНормальное продолжениеЗагрузка ресурсовПродолжение выполнения

Слайд 46Пример работы

Пример работы

Слайд 47Виртуальные машины
Эмуляция аппаратного обеспечения компьютера с помощью программных средств
Создание иллюзии

того, что операционная система выполняется на аппаратном обеспечении

Виртуальные машиныЭмуляция аппаратного обеспечения компьютера с помощью программных средствСоздание иллюзии того, что операционная система выполняется на аппаратном

Слайд 48Примеры виртуальных машин
Xen – виртуализация ресурсов компьютера
Qemu – эмулятор аппаратного

обеспечения
VMWare – эмулятор аппаратного обеспечения
UML – user mode Linux

Примеры виртуальных машинXen – виртуализация ресурсов компьютераQemu – эмулятор аппаратного обеспеченияVMWare – эмулятор аппаратного обеспеченияUML – user

Слайд 49Вопросы

Вопросы

Обратная связь

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

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика