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

Материал из Викиучебника — открытых книг для открытого мира

Для использования любой кластерной системы необходимо решить следующие проблемы:

  1. установка и обновление программного обеспечения
  2. мониторинг состояния вычислительных узлов и вычислительных процессов
  3. предоставления пользователю удобного интерфейса для запуска задач и проверки их состояния
  4. динамическое распределение нагрузки на вычислительных узлах кластера[1]

Установка и обновление программного обеспечения[править]

Большинство кластерных систем работают под управлением операционных систем из семейства Linux. И хотя удаленный доступ, установка и обновление в данных ОС программно реализованы, эти задачи остаются трудоемкими. Частично эту проблему решают специализированные программные продукты, такие как:

  • IBM CSM (Cluster System Management)[1]
  • xCAT (Extreme Cloud Administration Tool)[1]

Мониторинг[править]

Для мониторинга состояния вычислительных узлов наиболее часто применяют связку из систем Ganglia и Nagios.[1] Основным недостатком этих систем является отсутствие механизмов наблюдения за параллельными процессами. А ведь для динамического распределения нагрузки очень важно не просто знать насколько загружен процессор на каждом из вычислительных узлов, но и иметь возможность определить долю полезной загрузки параллельными процессами, особенно если этих процессов несколько.

Динамическое распределение нагрузки[править]

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

Для динамического распределения нагрузки чаще всего используют менеджер ресурсов Torque в связке с локальным планировщиком задач Maui.[1]

Примечания[править]

  1. а б в г д Материалы Девятой международной конференции-семинара ВЫСОКОПРОИЗВОДИТЕЛЬНЫЕ ПАРАЛЛЕЛЬНЫЕ ВЫЧИСЛЕНИЯ НА КЛАСТЕРНЫХ СИСТЕМАХ / С.М. Аракелян (ответственный редактор). — Владимир: Издательство Владимирского государственного университета, 2009. — 437 с. — 150 экз. экз. — ISBN 978-5-89368-958-7
  2. а б А. А. Букатов, В. Н. Дацюк, А. И. Жегуло Программирование многопроцессорных вычислительных систем. — Ростов-на-Дону: ООО «ЦВВР», 2003. — 208 с. — ISBN 5-94153-062-5