close

Вход

Забыли?

вход по аккаунту

?

kursach(53)

код для вставкиСкачать
 Введение
Начиная с середины 90х, годов активно развивается область высокопроизводительных вычислений, включающая в себя кластерные, Grid- и Cloud-технологии. Это связано с возрастающей потребностью решения сложных наукоемких и производственных задач. Вот лишь некоторые области, в которых возникают подобные задачи:
* Астрономия
* Генетика
* Метеорология
* Транспортные задачи
* Гидро- и газодинамика
* Распознавание речи и изображений
Системы управления кластером
Рассмотрим одну из параллельных архитектур, называемую кластерной архитектурой. Кластер определяется как множество рабочих станций (узлов), связанных коммуникационной средой и способных работать как единое целое за счет дополнительного программного обеспечения, называемого системой управления кластером. Распределенные программы, которые выполняются на таких вычислительных системах, состоят, как правило, из конечного множества процессов, обменивающихся данными через коммуникационную среду кластера. В большинстве случаев во время выполнения таких программ часть узлов может простаивать. Распределение ресурсов и балансировка нагрузки на узлах кластера - основные задачи системы управления.
В ограниченном смысле система управления кластером может рассматриваться как распределенная операционная система для кластера. Она обеспечивает управление над выполняемыми заданиями, пользователями и ресурсами. Система управления должна распределять ресурсы кластера между поступающими от пользователей заданиями. Для этого она может иметь очередь или набор очередей, распределять (выделять необходимое количество узлов для запуска) каждое задание таким образом, чтобы максимально использовать вычислительные возможности кластера и, наконец, собирать полученные результаты
1)
2) Балансировка нагрузки
Система управления может отправлять задачи на выполнение на конкретные узлы кластера не только по мере их освобождения, но и таким образом, чтобы обеспечить оптимальную загрузку узлов, то есть, так, чтобы каждый узел выполнял пропорциональную своей мощности работу и не простаивал. Такой процесс называется балансировкой нагрузки. Различают статическую балансировку - случай, когда распределение нагрузки производится до запуска программы, и динамическую - в этом случае перераспределение нагрузки в соответствии с меняющимися физическими свойствами кластера и требованиями пользователей или задачи происходит в процессе работы программы. Благодаря динамической балансировке существенно увеличивается масштабируемость - способность кластера изменять количество узлов и связи между ними.
Для того, чтобы эффективно производить статическую балансировку нагрузки, необходимо иметь некоторые важные сведения о задаче - количество необходимых узлов кластера, оперативной памяти, предельное время работы. Используя эти данные, система управления способна выбирать из очереди задач наиболее подходящую по загруженности кластера на данный момент. Существует несколько способов решения задачи статической балансировки, но наиболее эффективными являются те, в которых минимизируется количество простаивающих узлов, что позволяет кластеру работать с наибольшей производительностью.
Динамическая балансировка позволяет перераспределить уже запущенные задачи. В этом случае применяется миграция процессов: она позволяет перенести процесс с одного узла на другой, не перезапуская его. Таким образом, миграция позволяет удовлетворять меняющиеся требования пользователей и задач на ресурсы системы. Еще одна функция системы управления кластером - защита от сбоев. Во время работы кластера один из узлов может отказать. В таком случае все вычисления, производимые на данном узле, теряются. Система должна, так или иначе, реагировать на такие отказы аппаратуры и, в случае необходимости перезапускать остановленные задачи. Простой перезапуск программы ведет к потере большого количества вычислений, и, следовательно, времени. Для предотвращения этого используется механизм контрольных точек, с помощью которого сохраняется состояние программы в определенный момент, с которого она и запускается позже в случае сбоя. В этом случае теряются только те вычисления, которые были выполнены с момента последнего сохранения. Контрольная точка представляет собой образ адресного пространства процесса, и может быть создана двумя способами, а именно с помощью последовательного или неблокирующего сохранения. Последовательное сохранение сохраняет только те части памяти, которые были изменены с момента последнего сохранения. Во время неблокирующего сохранения создается копия тех страниц памяти, к которым процесс пытается получить доступ; таким образом выполнение процесса продолжается уже с копии страницы. Неблокирующее сохранение может существенно затормозить работу машины во время сохранения, а также требует гораздо большее количество дисковой памяти, чем последовательное.
Очень часто кластеры создаются с выделенным управляющим узлом, на котором не производятся вычисления, а работает основная часть системы управления: подсистема очередей, система сбора и обработки различной информации. В случае отказа управляющего узла, система должна иметь возможность либо продолжить работу, выбрав самостоятельно новый управляющий узел, либо восстановить свое состояние позднее, когда управляющая машина вернется в рабочее состояние.
В общем случае кластер имеет управляющую подсистему на управляющем узле и подсистемы, работающие на каждом узле кластера, которые взаимодействуют через коммуникационную среду. Для того, чтобы обеспечить максимальную пропускную способность коммуникационной системы и исключить дополнительную нагрузку в виде сообщений между управляющими подсистемами, создается дополнительная коммуникационная система 
Документ
Категория
Рефераты
Просмотров
26
Размер файла
38 Кб
Теги
kursach
1/--страниц
Пожаловаться на содержимое документа