ОСНОВЫ ПРОЕКТИРОВАНИЯ И АДМИНИСТРИРОВАНИЯ КЛАСТЕРНЫХ СИСТЕМ

(24-32 часа)

Данный курс предназначен для подготовки системных программистов, специалистов по обслуживанию и администрированию высокопроизводительных вычислительных кластеров. Предполагается наличие базовой подготовки по ОС UNIX или Linux на уровне пользователя и основных понятий администрирования. Курс включает в себя обзор ключевых особенностей вычислительных кластеров, сведения, необходимые для программирования и администрирования кластерных установок на базе ОС Linux. Курс включает теоретическую часть и практикум, который может быть проведён как на модельном кластере из нескольких узлов, так и на кластере виртуальных машин.

Теоретическая часть.

  1. Введение. Что такое вычислительные кластеры.
    Типы кластеров, ключевые особенности вычислительных кластеров. Отличия вычислительных кластеров от суперкомпьютеров и локальных сетей.
    Технические вопросы, возникающие при эксплуатации кластеров: необходимость в спец. подготовке помещения, большая электрическая и тепловая мощность, большое число точек отказа, сложность администрирования.
    Достоинства и недостатки решения задач на вычислительных кластерах. Типы задач, эффективно решаемых на кластерах. Учёт смешанной архитектуры (многопроцессорность, многоядерность).
  2. Общие вопросы.
    Аспекты администрирования кластеров: контроль доступа (работа с пользовательскими записями и правами), безопасность, поддержка и настройка вычислительных пакетов и библиотек, управление очередями, обслуживание узлов (чистка временных файлов, обновление ПО и т.п.), физическое обслуживание, мониторинг.
    Важность понимания внутреннего устройства параллельных пакетов и сред.
    Стандарт ОС для кластеров - Linux, а значит знание Linux необходимо. Азы администрирования. Сервисы, структура каталога /etc, принцип работы init, пакеты, компиляция программ и библиотек из исходных текстов. Понятия лимитов, дисковой квоты. Pluggable Authentication Modules (PAM).
  3. Сетевые вопросы.
    Тонкая настройка параметров TCP/IP. Понятие о сетевых файловых системах. NFS, CIFS, Lustre, GFSv2, Coda. Достоинства и недостатки сетевых ФС. Вопросы оптимизации NFS и CIFS. Синхронизация времени. Настройка доступа по ssh извне и внутри кластера. Варианты общей авторизации: LDAP, NIS+, тиражирование учётной информации. Синхронизация файлов на узлах: rcp/scp, rsync. Массовые команды: ssh+bash, pdshell, cluster-shell.
  4. Параллельные среды. Вопросы управления.
    MPI: mpich, mvapich, IntelMPI, LAM. OpenMP. Проблема некорректно завершённых задач. Проблема временных файлов. Организация очереди задач. Запрет прямого выполнения задач на узлах - pam_listfile. Варианты политик использования ресурсов. Возможности и команды систем управления заданиями.
  5. Компиляторы, библиотеки.
    Влияние оптимизации компиляторов на производительность. Варианты лицензирования коммерческих компиляторов. Необходимость настройки установленных параллельных сред на новые компиляторы. Динамические библиотеки для компиляторов и настройки должны быть продублированы на узлы. Параллельные библиотеки - FFT3, Blas, MKL.
  6. Смежные вопросы. Мониторинг - системы Nagios, Ganglia, AntMon. Мониторинг UPS (powershute, nut). Системы анализа логов и целостности системы (logcheck, tripware, tiger, ossec, chkrootkit, rkhunter). Организация резервного копирования - логические тома, tar/cpio, Bacula, Amanda. Поддержка пользователей - по e-mail, телефону, через web-сайт.

Содержание заданий практикума.

  1. Установка дистрибутива Linux, начальная настройка. Тиражирование на несколько узлов (автоматическая установка, загрузка по сети и разворачивание образа, дублирование ЖД). Бездисковый вариант загрузки.
  2. Настройка головной машины кластера - nfs, ssh. Настройка безпарольного входа на узлы и автомонтирование домашних каталогов. Настройка NAT для узлов.
  3. Установка и настройка NUT, ossec, logcheck, logrotate.
  4. Установка и настройка mpich. Запуск тестовых задач. Настройка pam_listfile.
  5. Установка и настройка системы управления.
  6. Резервное копирование сервера и данных пользователей, проверка возможности восстановления.

Основная литература:

  1. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. - СПб.: БХВ-Петербург, 2002. - 608 с.
  2. Воеводин Вл.В., Жуматий С.А. Вычислительное дело и кластерные системы. - М.: Изд-во МГУ, 2007. - 161 с.
  3. Материалы информационно-аналитического центра по параллельным вычислениям Parallel.ru.


© Лаборатория Параллельных информационных технологий НИВЦ МГУ