Кластерные вычисления

Введение: кластерные вычислительные системы

Разбить на страницы
Показывать лекцию целиком

В данном разделе, будут кратко рассмотрены архитектура современных высокопроизводительных процессоров и кластерных систем. На примере сети Infiniband будут продемонстрированы принципы построения быстрых сетей передачи данных, используемых в кластерных установках. Более детально будет представлена архитектура наиболее производительных кластерных вычислительных систем: Blue Gene/L и семейства SGI Altix.

В качестве базового программного обеспечения для организации вычислений на кластерных системах рассматривается Windows Compute Cluster Server (CCS) 2003. Дается его общая характеристика и состав сервисов, работающих на узлах кластеров.

В заключение данного раздела, приводятся правила работы с консолью запуска и управления заданиями CCS. Описываются подробности работы планировщика CCS при исполнении последовательностей заданий на кластере.

1.1. Архитектура высокопроизводительных процессоров и кластерных систем

В истории развития архитектуры компьютерных процессоров можно выделить два крупных этапа:

  • 1-й этап - увеличение тактовой частоты работы процессоров (до 2000 г.),
  • 2-й этап - появление многоядерных процессоров ( после 2000) г.
  • Таким образом, подход на основе SMP (Symmetrical MultiProcessing), который развивался при построении высокопроизводительных серверов, в которых несколько процессоров разделяют ресурс системы, и, в первую очередь, оперативную память (см. Рис 1.1), сместился "вниз" на уровень ядер внутри процессора.

    (рис 1.1) Классическая SMP-система

    На пути к многоядерным процессорам, первой появилась технология Hyper-Threading, впервые примененная в 2002 г. в процессорах Intel Pentium 4:

    (рис 1.2) Процессор Intel Pentium 4, использующий технологию Hyper-Threading

    В этой технологии два виртуальных процессора разделяют между собой все ресурсы одного физического процессора, а именно, кэши, конвейер исполнения и отдельные исполнительные устройства. При этом, если один виртуальный процессор занял общий ресурс, то второй будет ожидать его освобождения. Тем самым, процессор с Hyper-Threading можно сравнить с многозадачной операционной системой, обеспечивающей каждому работающему в ней процессу свой виртуальный компьютер с полным набором средств и занимающейся планированием порядка и времени работы этих процессов на физическом оборудовании. Только в случае с Hyper-Threading, все это происходит на значительно более низком аппаратном уровне. Тем не менее, два потока команд позволяют более эффективно загрузить исполнительные устройства процессора. Реальный прирост производительности процессора от применения технологии Hyper-Threading оценивается от 10 до 20 процентов.

    Полноценный двухъядерный процессор (см. Рис 1.3), на отдельных задачах демонстрирует прирост производительности от 80 до 100 процентов.

    (рис 1.3) Система на базе двухъядерного процессора

    Таким образом, двухъядерный и, в общем случае, многоядерный процессор, можно рассматривать как SMP-систему в миниатюре, в которой отсутствует необходимость использования сложных и дорогих многопроцессорных материнских плат.

    Более того, каждое ядро может (как, например, в процессоре Intel Pentium Extreme Edition 840) поддерживать технологию Hyper-Threading, а потому такого рода двухъядерный процессор может выполнять четыре программных потока одновременно.

    В начале 2007 г., корпорация Intel представила 80-ядерный однокристальный процессор, получивший название Teraflops Research Chip (http://www.intel.com/research/platform/terascale/teraflops.htm). Этот процессор может достигать производительности 1,01 терафлопс при минимальной тактовой частоте ядра 3,16 ГГц и напряжении 0,95 В. При этом общее энергопотребление чипа составляет всего 62 Вт.

    По прогнозам Intel, коммерческие варианты процессоров с большим числом ядер появятся в ближайшие 5 лет, а к 2010 г. четверть объема всех поставляемых серверов будут иметь терафлопную производительность.

    Кластерные вычислительные системы и их архитектура

    Кластер - это локальная (расположенная территориально в одном месте) вычислительная система, состоящая из множества независимых компьютеров и сети, связывающей их. Кроме того, кластер является локальной системой потому, что он управляется в рамках отдельного административного домена как единая компьютерная система.

    Компьютерные узлы из которых он состоит, являются стандартными, универсальными (персональными) компьютерами, используемыми в различных областях и для разнообразных приложений. Вычислительный узел может содержать либо один микропроцессор, либо несколько, образуя, в последнем случае, симметричную (SMP-) конфигурацию.

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

    Программное обеспечение кластеров состоит из двух компонент:

  • средств разработки/программирования и
  • средств управления ресурсами.
  • К средствам разработки относятся компиляторы для языков, библиотеки различного назначения, средства измерения производительности, а также отладчики, что, всё вместе, позволяет строить параллельные приложения.

    К программному обеспечению управления ресурсами относятся средства инсталляции, администрирования и планирования потоков работ.

    Хотя для параллельной обработки существует очень много моделей программирования, но, на настоящий момент, доминирующим подходом является модель на основе "передачи сообщений" (message passing), реализованная в виде стандарта MPI (Message Passing Interface). MPI - это библиотека функций, с помощью которых в программах на языках C или Фортран можно передавать сообщения между параллельными процессами, а также управлять этими процессами.

    Альтернативами такому подходу являются языки на основе так называемого "глобального распределенного адресного пространства" (GPAS - global partitioned address space), типичными представителями которых являются языки HPF (High Performance Fortran) и UPC (Unified Parallel C).

    1.2. Принципы построения быстрых сетей передачи данных

    Выбор сетевой технологии зависит от ряда факторов, среди которых

  • цена,
  • скорость передачи данных,
  • совместимость с другими аппаратными средствами и системным программным обеспечением,
  • коммуникационные характеристики приложений, которые будут исполняться на кластере.
  • Технические характеристики сети, непосредственно связанные с передачей данных, выражаются в терминах задержки (latency) и широты полосы пропускания (bandwidth).

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

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

    Достижение низкой задержки и большой широты полосы пропускания требует применения эффективных коммуникационных протоколов, которые снижают издержки, вносимые программным обеспечением.

    Коммуникационный протокол определяет правила и соглашения, которые используются двумя или более компьютерами для обмена данными по сети.

    В кластерах используются как традиционные сетевые протоколы, предназначенные для Internet, так и протоколы, специально ориентированные на использование в кластерах.

    Типичными IP (Internet Protocol)-протоколами являются TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Эти протоколы совместно с прикладным интерфейсом программиста (Application Programming Interface) на основе BSD-сокетов, были первой библиотекой для передачи сообщений для использования в кластерах.

    Исследования по протоколам с малой задержкой привели к созданию стандарта VIA (Virtual Interface Architecture). В частности, существует реализация версии MPICH стандарта MPI, которая называется MVICH, работающая с использованием VIA.

    Большой консорциум промышленных партнеров, включая Compaq, Dell, Hewlett-Packard, IBM и др., разработали и поддерживают стандарт Infiniband для передачи данных с малой задержкой. В Infiniband -архитектуре (см. Рис 1.4) компьютеры связываются между собой на основе высокоскоростной, последовательной, расширяемой, переключаемой фабрики, работающей на основе передачи сообщений.

    (рис 1.4) Архитектура сети Infiniband

    Все системы и устройства подсоединяются к фабрике либо через HCA-адаптеры (host channel adapters), либо через TCA-адаптеры (target channel adapters). Скорость передачи данных по отдельной Infiniband-линии - свыше 2,5 Гб/сек.

    Кроме того, в Infiniband поддерживается режим RDMA (Remote Direct Memory Access), который позволяет одному процессору обращаться к содержимому памяти другого процессора непосредственно, а также протокол IPv6 передачи сообщений для Internet.

    1.3. Примеры архитектур кластерных вычислительных систем: Blue Gene/L, семейство SGI Altix

    Суперкомпьютер Blue Gene/L

    Кластерная вычислительная система Blue Gene/L - это первый шаг на пути реализации программы по созданию компьютера с производительностью 1 петафлопс, осуществляемой фирмой IBM.

    За последние годы, разработчики суперкомпьютеров пришли к выводу, что единственным способом конструирования систем с производительностью более 1 терафлопса является наращивание количества одновременно работающих процессоров (машин). Однако, применение кластеров с десятками тысяч мощных процессоров ограничивается большим их энергопотреблением и высокими требованиями к охлаждению.

    Принципиальный подход, принятый при построении семейства машин Blue Gene состоит в том, что система, по-прежнему, собирается из огромного числа узлов, однако, каждый из них работает на сравнительно небольшой тактовой частоте. Тем самым, достигается как снижение стоимости системы, так и значительное уменьшение энергопотребления. Другая главная особенность Blue Gene/L заключается в применении так называемой технологии "система на чипе" - применении интегральных микросхем со сверхвысокой степенью интеграции, когда в рамках одной интегральной схемы объединяются:

  • вычислительный процессор,
  • коммуникационный процессор,
  • три уровня кэш-памяти и
  • несколько высокоскоростных сетевых интерфейсов.
  • Система Blue Gene/L является масштабируемым (расширяемым) суперкомпьютером, который может состоять из более, чем 65536 вычислительных процессоров.

    Архитектура суперкомпьютера Blue Gene/L показана на Рис 1.5.

    (рис 1.5) Архитектура суперкомпьютера Blue Gene/L

    Базовым компонентом суперкомпьютера Blue Gene/L является так называемая "вычислительная карта" (compute card), которая состоит из двух вычислительных узлов, где каждый узел содержит 2 процессора PowerPC 440. 16 вычислительных карт группируются в модульную (или узловую) карту, которая, таким образом, содержит уже 64 процессора. В свою очередь, 16 модульных карт устанавливаются на объединительной панели (midplane), и две таких панели монтируются в серверную стойку (cabinet), которая содержит в итоге 1024 узла с общим количеством процессоров 2048.

    Процессор PowerPC 440 способен выполнять за такт 4 операции с плавающей запятой, что для заданной частоты соответствует пиковой производительности в 1,4 терафлопса на одну объединительную панель (midplane), если считать, что на каждом узле установлено по одному процессору. Второй процессор на узле, идентичный первому, призван выполнять телекоммуникационные функции, то есть, он предназначен, преимущественно, для осуществления связи с другими процессорами суперкомпьютера. Кроме того, конструкцией суперкомпьютера, предусмотрена установка некоторого количества двухпроцессорных узлов, которые занимаются исключительно операциями ввода/вывода.

    Узлы суперкомпьютера связаны между собой пятью сетями:

  • трехмерной тороидальной сетью для обмена данными непосредственно между блоками-узлами,
  • сетью с топологией "дерева" для выполнения общих (глобальных) для всех блоков операций,
  • сетью барьеров и прерываний,
  • сетью Gigabit Ethernet-JTAG (Ethernet со специальным интерфейсом JTAG),
  • еще одной сетью Gigabit Ethernet для подключения к главному (хост-) компьютеру, файловым серверам и другим системам.
  • Энергопотребление суперкомпьютера Blue Gene/L относительно невелико: оно составляет порядка 1,6 мегаватт. Для сравнения, суперкомпьютер ASC Purple - предыдущая машина, разработанная IBM для Ливерморской лаборатории, потребляет 4,8 мегаватт при производительности 100 терафлопс. Разница объясняется тем, что Blue Gene/L состоит из специально разработанных компактных блоков, размещенных в 64 серверных стойках (см. Рис 1.6), тогдакак ASC Purple построена на основе обычных серверов - аналогов серверов IBM eServe p655.

    (рис 1.6) Внешний вид суперкомпьютера Blue Gene/L

    С точки зрения программного обеспечения, суперкомпьютер Blue Gene/L работает под управлением специальной версии операционной системы Linux, разработанной в IBM.

    Этот суперкомпьютер использовался для моделирования взаимодействия 16 миллионов атомов в образце тантала, застывающего под давлением. Кроме того, Blue Gene/L применялся в Национальной лаборатории Лос-Аламоса для изучения появления раковин в металле, при этом моделировалось в динамике взаимодействие более 2,1 миллиарда атомов.

    Кластерные вычислительные системы семейства SGI Altix

    Компания Silicon Graphics Incorporated (SGI) является традиционным производителем многопроцессорных систем с архитектурой SMP и ccNUMA. Спецификой архитектуры ccNUMA является объединение памяти отдельных процессоров в единую глобальную память, где каждый процессор имеет доступ в каждую ячейку этой памяти. SGI выпустила два поколения многопроцессорных серверов с ccNUMA-архитектурой, а именно Origin 2000 и Origin 3000. Однако, данные серверы обладали сравнительно малой производительностью из-за использованных в них собственных процессоров R1x000 компании SGI.

    Поэтому в новом семействе серверов с ccNUMA-архитектурой SGI Altix 3000 были применены процессоры Itanium 2/ Madison с тактовой частотой 1,5 ГГц и КЭШем третьего уровня емкостью 6 Гбайт. Следует отметить, что ccNUMA-системы на базе Itanium 2 выпускают также компания Hewlett-Packard, а именно системы HP Superdome.

    Системы SGI Altix строятся из так называемых "кирпичей" (bricks) - модулей разных габаритов, однако, помещаемых в стандартную стойку и соединяемых кабелями. В таблице 1.1 приведены основные типы "кирпичей" семейства SGI Altix 3000.

    Виды "кирпичей" семейства SGI Altix 3000
    ТИП МОДУЛЯ ВЫСОТА КРАТКОЕ ОПИСАНИЕ
    SC-кирпич3U процессоры и оперативная память
    IX-кирпич4U базовые средства ввода-вывода
    PX-кирпич4U дополнительные шины PCI-X
    R-кирпич2U маршрутизатор
    D-кирпич3U диски Fibre Channel
    TP9002U диски Ultra 160 SCSI
    SGI-консоль1U средства управления системой
    Отсек электропитания3U блоки питания
    Примечание: 1U = 1,75 дюйма

    Основу системы составляют "вычислительные" кирпичи - С-блоки (см. Рис 1.7).

    (рис 1.7) Структура С-кирпича

    Каждый С-кирпич содержит 4 процессора Itanium-2 и состоит из двух узлов по 2 процессора в каждом. Узлы соединены между собой дуплексными каналами типа NUMAlink 4 с общей пропускной способностью 6,4 Гбайт/с на канал. Два коммутатора SHUB, имеющиеся в каждом С-кирпиче, связывают основные компоненты узлов и могут подсоединяться к 8-портовым коммутаторам типа NUMAlink3 с пропускной способностью 3,2 Гбайт/с в дуплексном режиме. Такая архитектура позволяет иметь в системах семейства SGI Altix до 512 процессоров.

    Допустимая емкость оперативной памяти в С-кирпиче - от 4 до 16 Гбайт. Для расширения емкости памяти возможно применение также специальных М-кирпичей, которые аналогичны С-кирпичам, но не содержат микропроцессоров.

    R-кирпичи содержат коммутаторы, которые в семействах машин SGI называются маршрутизаторами. Эти маршрутизаторы могут соединять между собой С-кирпичи, а в более крупных конфигурациях, и другие коммутаторы.

    Возможные способы организации межсоединений для различных конфигураций систем показаны на Рис 1.8, 1.9.

    (рис 1.9) Межсоединения в конфигурациях Altix без коммутаторов(рис 1.8) Одностоечные конфигурации с двусторонней топологией

    На Рис 1.8 представлены возможные конфигурации без использования маршрутизаторов. На Рис 1.9 показаны одностоечные конфигурации с двусторонней (dual-plane) топологией, которая предусматривает дублирование соединений между С-кирпичами за счет использования пар машрутизаторов. Также возможны многостоечные конфигурации с двусторонним соединением.

    Кроме С-кирпичей, каждая система SGI Altix имеет хотя бы один IX-кирпич, реализующий базовые средства ввода-вывода. Кроме IX-кирпичей, имеются так называемые PX-кирпичи, которые предназначены для подключения дополнительных шин типа PCI.

    D-кирпичи представляют собой корпус для монтирования отдельных жестких дисков (общим числом до 16, но минимум - два диска). Для D-кирпичей обеспечивается горячая замена дисков.

    Машины семейства SGI Altix снабжаются специальной версией ОС Linux, разработанной в SGI. В частности, в ядро данной операционной системы внесена поддержка архитектуры ccNUMA. Все доработки, внесенные в ядро операционной системы разработчиками из SGI, являются общедоступными.

    1.4. Операционные системы для кластерных систем: Windows Compute Cluster Server 2003

    Microsoft Windows Compute Cluster Server (CCS) 2003 является интегрированной платформой для проведения высокопроизводительных вычислений. С использованием этой платформы, производить вычисления на кластерах, имеющих от нескольких до сотен, и даже, тысяч узлов.

    Конфигурирование, мониторинг, управление и обеспечение безопасного доступа для кластеров является очень трудной задачей, на решение которой требуется обычно большое количество времени и ресурсов. Одна из целей Windows CCS 2003 - максимально упростить управление вычислительными кластерами и сократить общую стоимость владения ими (TCO - total cost of ownership), одновременно сделав их доступными для более широкого круга пользователей. В частности, для Windows CCS 2003 процессы установки и администрирования максимально автоматизированы. Это достигается через интеграцию Windows CCS 2003 с технологиями Active Directory и Microsoft Operations Manger (MOM). Для удобства использования, в состав Windows CCS 2003 входит планировщик заданий (job scheduler), работа с которым обеспечивается через графический интерфейс пользователя и через командную строку.

    Windows CCS 2003 поддерживает исполнение параллельных приложений, базирующихся на стандарте Message Passing Interface (MPI). Кроме того, для того, чтобы можно было использовать среду разработки Visual Studio 2005 для создания параллельных приложений, в нее включены поддержка стандарта OpenMP, а также возможность отладки параллельных программ, использующих MPI.

    Версия MPI, используемая в Windows CCS 20033 - MS MPI, является вариантом одной из реализаций MPI, разработанной в Аргонской национальной лаборатории, и названной MPICH2.

    MS MPI построен на основе WinSock API (Windows Sockets networking API), и передача данных через сеть может осуществляться либо через обычный протокол TCP/IP, либо через драйвер WinSock Direct Provider, обеспечивающий непосредственную (игнорируя слой TCP/IP) передачу данных через сетевую аппаратуру. Тем самым, MS MPI обеспечивает поддержку сетей Ethernet либо Gigabit Ethernet через TCP/IP, и сетей с малым временем задержки и широкой полосой пропускания, таких как Infiniband или Myrinet через драйверы WinSock Direct.

    MS MPI обеспечивает поддержку языков программирования C, Fortran 77 и Fortran 90. Среда разработки Microsoft Visual Studio 2005 включает в себя отладчик параллельных программ, написанных с применением MS MPI. Разработчики могут запускать свои MPI-приложения на множестве вычислительных узлов непосредственно из Visual Studio, причем Visual Studio автоматически связывается с процессами на узлах, что позволяет разработчикам, по индивидуальному выбору, останавливать программу на любом из узлов и просматривать значения программных переменных.

    Windows CCS 2003 поддерживает пять различных сетевых топологий головного и вычислительных узлов кластера, где эти топологии отличаются друг от друга своей производительностью (скоростью передачи данных) и возможностями доступа в данную сеть. Каждая из топологий включает в себя, по меньшей мере, один из следующих типов сетей:

  • общая (public) сеть,
  • частная (private) сеть и
  • MPI-сеть,
  • или, возможно, некоторую их комбинацию.

    Общая сеть - это, обычно, существующая на предприятии или в организации Ethernet-сеть, которая объединяет, в частности, вычислительные узлы кластера. Если для кластера не предусмотрена выделенная частная сеть, то весь внутрикластерный управляющий трафик будет проходить через общую сеть.

    Частная сеть - это выделенная специально для кластера сеть, через которую осуществляется внутрикластерная передача сообщений. По этой сети проходит трафик, связанный с управлением кластером и развертыванием (deployment) вычислительных узлов, а также MPI-трафик (если не существует специальной MPI-сети).

    MPI-сеть - это выделенная, высокоскоростная сеть, предназначенная для передачи сообщений параллельных приложений, работающих на вычислительных узлах кластера. Если в кластере такой сети не существует, то MPI-трафик передается через частную сеть. Если и частной сети не существует, то MPI-трафик будет проходить через общую сеть.

    Использование отдельных сетей для передачи внутрикластерного (служебного) и MPI-трафика между вычислительными узлами и головным узлом значительно повышает общую производительность кластера и разгружает от этого трафика общую сеть. Тем не менее, доступ в общую сеть с вычислительных узлов, по-прежнему, возможен с помощью сервиса NAT (Network Address Translation), запущенного на головном узле.

    Windows CCS 2003 поддерживает кластеры, состоящие из одного головного узла и одного или нескольких вычислительных узлов, как показано на Рис 1.10.

    (рис 1.10) Типичная структура сети для работы Windows CCS 2003

    Головной узел управляет и является посредником для доступа ко всем ресурсам кластера и представляет собой единую точку для управления, развертывания ресурсов и исполнения заданий на вычислительном кластере. Windows CCS 2003 может использовать существующую инфраструктуру Active Directory для обеспечения безопасности, управления учетными записями и общим управлением всеми операциями, а также может быть интегрирован с такими средствами управления, как MOM ( Microsoft Operations Manager) 2005 и SMS (Systems Management Server) 2003.

    Развертывание Microsoft CCS 2003 включает в себя:

  • установку базовой операционной системы на головном узле,
  • присоединение головного узла к существующему Active Directory-домену,
  • установку пакета Compute Cluster Pack.
  • Если планируется использовать сервис удаленной установки (RIS - Remote Installation Service), то RIS будет установлен и сконфигурирован на последнем шаге процедуры развертывания.

    После окончания установки пакета Compute Cluster Pack на головном узле, на его экране отображается ToDo-список, который показывает какие шаги необходимо выполнить для завершения конфигурирования вычислительного кластера. Эти шаги включают в себя:

  • определение топологии сети,
  • конфигурирование RIS с помощью соответствующего мастера,
  • добавление вычислительных узлов в кластер,
  • конфигурирование информации о пользователях и администраторах кластера
  • На головном узле кластера устанавливаются следующие сервисы:

  • Management Service - управление кластером, обнаружение узлов, управление конфигурациями
  • Scheduler Service - постановка заданий в очередь, планирование их запуска, распределение ресурсов, исполнение заданий
  • SDM Store Service - операции чтения/записи в хранилище данных System Definition Model (SDM), управление целостностью
  • MPI Service - реализация MPI на основе MPICH2
  • Node Manager Service - устанавливается на головном узле, когда он сконфигурирован также и в качестве вычислительного узла; взаимодействует с Scheduler Service и отвечает за исполнение заданий
  • SQL Service - Microsoft SQL Server 2000 Desktop Engine (MSDE)
  • На вычислительных узлах кластера устанавливаются следующие сервисы:

  • Management Service - взаимодействует с одноименным сервисом на головном узле; отвечает за управление кластером, обнаружение узлов и управление конфигурациями со стороны вычислительного узла
  • MPI Service - реализация MPI на основе MPICH2
  • Node Manger Service - взаимодействует с Scheduler Service на головном узле; отвечает за исполнении заданий
  • 1.5. Исполнение множеств последовательных задач на кластерных системах

    Менеджер заданий в составе Windows CCS 2003 (Compute Cluster Job Manager) является приложением с графическим интерфейсом, которое обеспечивает доступ к планировщику заданий (Job Scheduler) для их создания, отправки на кластер и мониторинга исполнения. Менеджер заданий может быть установлен и исполняться на машине, не принадлежащей вычислительному кластеру, что дает возможность использовать кластер удаленно.

    Графический интерфейс менеджера заданий состоит из

  • заголовка,
  • меню,
  • верхней панели отображения и
  • нижней панели отображения
  • (см. Рис 1.11).

    (рис 1.11) Графический интерфейс менеджера заданий

    Заголовок отображает имя машины, являющейся головным узлом кластера. По умолчанию, такой машиной является локальная машина (т.е., машина, где запущен менеджер заданий), имя которой отображается как localhost.

    Меню состоит из пунктов File, View, Show и Help. С помощью File и View, можно подсоединиться к кластеру, создать задание, отослать его на исполнение и др. С помощью пункта Show можно просматривать очередь заданий на исполнение с возможностью фильтрации этой очереди в соответствии с различными критериями.

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

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

    Шаблоны заданий и задач

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

    Вид панели Tasks шаблона заданий показан на Рис 1.12.

    (рис 1.12) Панель Tasks шаблона для составления заданий

    Интерфейс командной строки

    Любая функция менеджера заданий имеет эквивалент в виде соответствующей командной строки. Все множество командных строк делится на 2 группы:

  • операции пользователя: создание заданий, отправка их на кластер и управление ими;
  • операции администратора: управление кластером как таковым.
  • Наличие интерфейса командной строки позволяет разрабатывать сложные сценарии (скрипты) для выполнения специальных работ на кластере и управления им.

    К операциям пользователя относятся команды job и task с соответствующими параметрами.

  • job new [job_terms] - создать задание
  • job add jobID [ task_terms] - добавить задачи к заданию
  • job submit /id:jobid - отправить задание, созданное с помощью job new
  • job submit [job_terms] [task_terms] - отправить задание
  • job cancel jobID - снять задание
  • job modify [ options ] - модифицировать задание
  • job requeue [ jobID ] - заново поставить задание в очередь
  • job list - выдать список заданий, исполняющихся на кластере
  • job listtasks - выдать список задач задания
  • job view jobID - выдать сведения о задании
  • task view taskID - выдать сведения о задаче
  • task cancel taskID - снять задачу
  • task requeue taskID - заново поставить задачу в очередь
  • К операциям администратора относится команда cluscfg:

  • cluscfg view - выдать сведения о кластере
  • cluscfg listparams/setparams - просмотреть/установить конфигурационные параметры
  • cluscfg listenvs/setenv - просмотреть/установить параметры окружения
  • cluscfg delcreds/setcreds - удалить / установить полномочия пользователя
  • Страницы:

    В данном разделе, будут кратко рассмотрены архитектура современных высокопроизводительных процессоров и кластерных систем. На примере сети Infiniband будут продемонстрированы принципы построения быстрых сетей передачи данных, используемых в кластерных установках. Более детально будет представлена архитектура наиболее производительных кластерных вычислительных систем: Blue Gene/L и семейства SGI Altix.

    В качестве базового программного обеспечения для организации вычислений на кластерных системах рассматривается Windows Compute Cluster Server (CCS) 2003. Дается его общая характеристика и состав сервисов, работающих на узлах кластеров.

    В заключение данного раздела, приводятся правила работы с консолью запуска и управления заданиями CCS. Описываются подробности работы планировщика CCS при исполнении последовательностей заданий на кластере.

    1.1. Архитектура высокопроизводительных процессоров и кластерных систем

    В истории развития архитектуры компьютерных процессоров можно выделить два крупных этапа:

  • 1-й этап - увеличение тактовой частоты работы процессоров (до 2000 г.),
  • 2-й этап - появление многоядерных процессоров ( после 2000) г.
  • Таким образом, подход на основе SMP (Symmetrical MultiProcessing), который развивался при построении высокопроизводительных серверов, в которых несколько процессоров разделяют ресурс системы, и, в первую очередь, оперативную память (см. Рис 1.1), сместился "вниз" на уровень ядер внутри процессора.

    (рис 1.1) Классическая SMP-система

    На пути к многоядерным процессорам, первой появилась технология Hyper-Threading, впервые примененная в 2002 г. в процессорах Intel Pentium 4:

    (рис 1.2) Процессор Intel Pentium 4, использующий технологию Hyper-Threading

    В этой технологии два виртуальных процессора разделяют между собой все ресурсы одного физического процессора, а именно, кэши, конвейер исполнения и отдельные исполнительные устройства. При этом, если один виртуальный процессор занял общий ресурс, то второй будет ожидать его освобождения. Тем самым, процессор с Hyper-Threading можно сравнить с многозадачной операционной системой, обеспечивающей каждому работающему в ней процессу свой виртуальный компьютер с полным набором средств и занимающейся планированием порядка и времени работы этих процессов на физическом оборудовании. Только в случае с Hyper-Threading, все это происходит на значительно более низком аппаратном уровне. Тем не менее, два потока команд позволяют более эффективно загрузить исполнительные устройства процессора. Реальный прирост производительности процессора от применения технологии Hyper-Threading оценивается от 10 до 20 процентов.

    Полноценный двухъядерный процессор (см. Рис 1.3), на отдельных задачах демонстрирует прирост производительности от 80 до 100 процентов.

    (рис 1.3) Система на базе двухъядерного процессора

    Таким образом, двухъядерный и, в общем случае, многоядерный процессор, можно рассматривать как SMP-систему в миниатюре, в которой отсутствует необходимость использования сложных и дорогих многопроцессорных материнских плат.

    Более того, каждое ядро может (как, например, в процессоре Intel Pentium Extreme Edition 840) поддерживать технологию Hyper-Threading, а потому такого рода двухъядерный процессор может выполнять четыре программных потока одновременно.

    В начале 2007 г., корпорация Intel представила 80-ядерный однокристальный процессор, получивший название Teraflops Research Chip (http://www.intel.com/research/platform/terascale/teraflops.htm). Этот процессор может достигать производительности 1,01 терафлопс при минимальной тактовой частоте ядра 3,16 ГГц и напряжении 0,95 В. При этом общее энергопотребление чипа составляет всего 62 Вт.

    По прогнозам Intel, коммерческие варианты процессоров с большим числом ядер появятся в ближайшие 5 лет, а к 2010 г. четверть объема всех поставляемых серверов будут иметь терафлопную производительность.

    Кластерные вычислительные системы и их архитектура

    Кластер - это локальная (расположенная территориально в одном месте) вычислительная система, состоящая из множества независимых компьютеров и сети, связывающей их. Кроме того, кластер является локальной системой потому, что он управляется в рамках отдельного административного домена как единая компьютерная система.

    Компьютерные узлы из которых он состоит, являются стандартными, универсальными (персональными) компьютерами, используемыми в различных областях и для разнообразных приложений. Вычислительный узел может содержать либо один микропроцессор, либо несколько, образуя, в последнем случае, симметричную (SMP-) конфигурацию.

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

    Программное обеспечение кластеров состоит из двух компонент:

  • средств разработки/программирования и
  • средств управления ресурсами.
  • К средствам разработки относятся компиляторы для языков, библиотеки различного назначения, средства измерения производительности, а также отладчики, что, всё вместе, позволяет строить параллельные приложения.

    К программному обеспечению управления ресурсами относятся средства инсталляции, администрирования и планирования потоков работ.

    Хотя для параллельной обработки существует очень много моделей программирования, но, на настоящий момент, доминирующим подходом является модель на основе "передачи сообщений" (message passing), реализованная в виде стандарта MPI (Message Passing Interface). MPI - это библиотека функций, с помощью которых в программах на языках C или Фортран можно передавать сообщения между параллельными процессами, а также управлять этими процессами.

    Альтернативами такому подходу являются языки на основе так называемого "глобального распределенного адресного пространства" (GPAS - global partitioned address space), типичными представителями которых являются языки HPF (High Performance Fortran) и UPC (Unified Parallel C).

    1.2. Принципы построения быстрых сетей передачи данных

    Выбор сетевой технологии зависит от ряда факторов, среди которых

  • цена,
  • скорость передачи данных,
  • совместимость с другими аппаратными средствами и системным программным обеспечением,
  • коммуникационные характеристики приложений, которые будут исполняться на кластере.
  • Технические характеристики сети, непосредственно связанные с передачей данных, выражаются в терминах задержки (latency) и широты полосы пропускания (bandwidth).

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

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

    Достижение низкой задержки и большой широты полосы пропускания требует применения эффективных коммуникационных протоколов, которые снижают издержки, вносимые программным обеспечением.

    Коммуникационный протокол определяет правила и соглашения, которые используются двумя или более компьютерами для обмена данными по сети.

    В кластерах используются как традиционные сетевые протоколы, предназначенные для Internet, так и протоколы, специально ориентированные на использование в кластерах.

    Типичными IP (Internet Protocol)-протоколами являются TCP (Transmission Control Protocol) и UDP (User Datagram Protocol). Эти протоколы совместно с прикладным интерфейсом программиста (Application Programming Interface) на основе BSD-сокетов, были первой библиотекой для передачи сообщений для использования в кластерах.

    Исследования по протоколам с малой задержкой привели к созданию стандарта VIA (Virtual Interface Architecture). В частности, существует реализация версии MPICH стандарта MPI, которая называется MVICH, работающая с использованием VIA.

    Большой консорциум промышленных партнеров, включая Compaq, Dell, Hewlett-Packard, IBM и др., разработали и поддерживают стандарт Infiniband для передачи данных с малой задержкой. В Infiniband -архитектуре (см. Рис 1.4) компьютеры связываются между собой на основе высокоскоростной, последовательной, расширяемой, переключаемой фабрики, работающей на основе передачи сообщений.

    (рис 1.4) Архитектура сети Infiniband

    Все системы и устройства подсоединяются к фабрике либо через HCA-адаптеры (host channel adapters), либо через TCA-адаптеры (target channel adapters). Скорость передачи данных по отдельной Infiniband-линии - свыше 2,5 Гб/сек.

    Кроме того, в Infiniband поддерживается режим RDMA (Remote Direct Memory Access), который позволяет одному процессору обращаться к содержимому памяти другого процессора непосредственно, а также протокол IPv6 передачи сообщений для Internet.

    1.3. Примеры архитектур кластерных вычислительных систем: Blue Gene/L, семейство SGI Altix

    Суперкомпьютер Blue Gene/L

    Кластерная вычислительная система Blue Gene/L - это первый шаг на пути реализации программы по созданию компьютера с производительностью 1 петафлопс, осуществляемой фирмой IBM.

    За последние годы, разработчики суперкомпьютеров пришли к выводу, что единственным способом конструирования систем с производительностью более 1 терафлопса является наращивание количества одновременно работающих процессоров (машин). Однако, применение кластеров с десятками тысяч мощных процессоров ограничивается большим их энергопотреблением и высокими требованиями к охлаждению.

    Принципиальный подход, принятый при построении семейства машин Blue Gene состоит в том, что система, по-прежнему, собирается из огромного числа узлов, однако, каждый из них работает на сравнительно небольшой тактовой частоте. Тем самым, достигается как снижение стоимости системы, так и значительное уменьшение энергопотребления. Другая главная особенность Blue Gene/L заключается в применении так называемой технологии "система на чипе" - применении интегральных микросхем со сверхвысокой степенью интеграции, когда в рамках одной интегральной схемы объединяются:

  • вычислительный процессор,
  • коммуникационный процессор,
  • три уровня кэш-памяти и
  • несколько высокоскоростных сетевых интерфейсов.
  • Система Blue Gene/L является масштабируемым (расширяемым) суперкомпьютером, который может состоять из более, чем 65536 вычислительных процессоров.

    Архитектура суперкомпьютера Blue Gene/L показана на Рис 1.5.

    (рис 1.5) Архитектура суперкомпьютера Blue Gene/L

    Базовым компонентом суперкомпьютера Blue Gene/L является так называемая "вычислительная карта" (compute card), которая состоит из двух вычислительных узлов, где каждый узел содержит 2 процессора PowerPC 440. 16 вычислительных карт группируются в модульную (или узловую) карту, которая, таким образом, содержит уже 64 процессора. В свою очередь, 16 модульных карт устанавливаются на объединительной панели (midplane), и две таких панели монтируются в серверную стойку (cabinet), которая содержит в итоге 1024 узла с общим количеством процессоров 2048.

    Процессор PowerPC 440 способен выполнять за такт 4 операции с плавающей запятой, что для заданной частоты соответствует пиковой производительности в 1,4 терафлопса на одну объединительную панель (midplane), если считать, что на каждом узле установлено по одному процессору. Второй процессор на узле, идентичный первому, призван выполнять телекоммуникационные функции, то есть, он предназначен, преимущественно, для осуществления связи с другими процессорами суперкомпьютера. Кроме того, конструкцией суперкомпьютера, предусмотрена установка некоторого количества двухпроцессорных узлов, которые занимаются исключительно операциями ввода/вывода.

    Узлы суперкомпьютера связаны между собой пятью сетями:

  • трехмерной тороидальной сетью для обмена данными непосредственно между блоками-узлами,
  • сетью с топологией "дерева" для выполнения общих (глобальных) для всех блоков операций,
  • сетью барьеров и прерываний,
  • сетью Gigabit Ethernet-JTAG (Ethernet со специальным интерфейсом JTAG),
  • еще одной сетью Gigabit Ethernet для подключения к главному (хост-) компьютеру, файловым серверам и другим системам.
  • Энергопотребление суперкомпьютера Blue Gene/L относительно невелико: оно составляет порядка 1,6 мегаватт. Для сравнения, суперкомпьютер ASC Purple - предыдущая машина, разработанная IBM для Ливерморской лаборатории, потребляет 4,8 мегаватт при производительности 100 терафлопс. Разница объясняется тем, что Blue Gene/L состоит из специально разработанных компактных блоков, размещенных в 64 серверных стойках (см. Рис 1.6), тогдакак ASC Purple построена на основе обычных серверов - аналогов серверов IBM eServe p655.

    (рис 1.6) Внешний вид суперкомпьютера Blue Gene/L

    С точки зрения программного обеспечения, суперкомпьютер Blue Gene/L работает под управлением специальной версии операционной системы Linux, разработанной в IBM.

    Этот суперкомпьютер использовался для моделирования взаимодействия 16 миллионов атомов в образце тантала, застывающего под давлением. Кроме того, Blue Gene/L применялся в Национальной лаборатории Лос-Аламоса для изучения появления раковин в металле, при этом моделировалось в динамике взаимодействие более 2,1 миллиарда атомов.

    Кластерные вычислительные системы семейства SGI Altix

    Компания Silicon Graphics Incorporated (SGI) является традиционным производителем многопроцессорных систем с архитектурой SMP и ccNUMA. Спецификой архитектуры ccNUMA является объединение памяти отдельных процессоров в единую глобальную память, где каждый процессор имеет доступ в каждую ячейку этой памяти. SGI выпустила два поколения многопроцессорных серверов с ccNUMA-архитектурой, а именно Origin 2000 и Origin 3000. Однако, данные серверы обладали сравнительно малой производительностью из-за использованных в них собственных процессоров R1x000 компании SGI.

    Поэтому в новом семействе серверов с ccNUMA-архитектурой SGI Altix 3000 были применены процессоры Itanium 2/ Madison с тактовой частотой 1,5 ГГц и КЭШем третьего уровня емкостью 6 Гбайт. Следует отметить, что ccNUMA-системы на базе Itanium 2 выпускают также компания Hewlett-Packard, а именно системы HP Superdome.

    Системы SGI Altix строятся из так называемых "кирпичей" (bricks) - модулей разных габаритов, однако, помещаемых в стандартную стойку и соединяемых кабелями. В таблице 1.1 приведены основные типы "кирпичей" семейства SGI Altix 3000.

    Виды "кирпичей" семейства SGI Altix 3000
    ТИП МОДУЛЯ ВЫСОТА КРАТКОЕ ОПИСАНИЕ
    SC-кирпич3U процессоры и оперативная память
    IX-кирпич4U базовые средства ввода-вывода
    PX-кирпич4U дополнительные шины PCI-X
    R-кирпич2U маршрутизатор
    D-кирпич3U диски Fibre Channel
    TP9002U диски Ultra 160 SCSI
    SGI-консоль1U средства управления системой
    Отсек электропитания3U блоки питания
    Примечание: 1U = 1,75 дюйма

    Основу системы составляют "вычислительные" кирпичи - С-блоки (см. Рис 1.7).

    (рис 1.7) Структура С-кирпича

    Каждый С-кирпич содержит 4 процессора Itanium-2 и состоит из двух узлов по 2 процессора в каждом. Узлы соединены между собой дуплексными каналами типа NUMAlink 4 с общей пропускной способностью 6,4 Гбайт/с на канал. Два коммутатора SHUB, имеющиеся в каждом С-кирпиче, связывают основные компоненты узлов и могут подсоединяться к 8-портовым коммутаторам типа NUMAlink3 с пропускной способностью 3,2 Гбайт/с в дуплексном режиме. Такая архитектура позволяет иметь в системах семейства SGI Altix до 512 процессоров.

    Допустимая емкость оперативной памяти в С-кирпиче - от 4 до 16 Гбайт. Для расширения емкости памяти возможно применение также специальных М-кирпичей, которые аналогичны С-кирпичам, но не содержат микропроцессоров.

    R-кирпичи содержат коммутаторы, которые в семействах машин SGI называются маршрутизаторами. Эти маршрутизаторы могут соединять между собой С-кирпичи, а в более крупных конфигурациях, и другие коммутаторы.

    Возможные способы организации межсоединений для различных конфигураций систем показаны на Рис 1.8, 1.9.

    (рис 1.9) Межсоединения в конфигурациях Altix без коммутаторов(рис 1.8) Одностоечные конфигурации с двусторонней топологией

    На Рис 1.8 представлены возможные конфигурации без использования маршрутизаторов. На Рис 1.9 показаны одностоечные конфигурации с двусторонней (dual-plane) топологией, которая предусматривает дублирование соединений между С-кирпичами за счет использования пар машрутизаторов. Также возможны многостоечные конфигурации с двусторонним соединением.

    Кроме С-кирпичей, каждая система SGI Altix имеет хотя бы один IX-кирпич, реализующий базовые средства ввода-вывода. Кроме IX-кирпичей, имеются так называемые PX-кирпичи, которые предназначены для подключения дополнительных шин типа PCI.

    D-кирпичи представляют собой корпус для монтирования отдельных жестких дисков (общим числом до 16, но минимум - два диска). Для D-кирпичей обеспечивается горячая замена дисков.

    Машины семейства SGI Altix снабжаются специальной версией ОС Linux, разработанной в SGI. В частности, в ядро данной операционной системы внесена поддержка архитектуры ccNUMA. Все доработки, внесенные в ядро операционной системы разработчиками из SGI, являются общедоступными.

    1.4. Операционные системы для кластерных систем: Windows Compute Cluster Server 2003

    Microsoft Windows Compute Cluster Server (CCS) 2003 является интегрированной платформой для проведения высокопроизводительных вычислений. С использованием этой платформы, производить вычисления на кластерах, имеющих от нескольких до сотен, и даже, тысяч узлов.

    Конфигурирование, мониторинг, управление и обеспечение безопасного доступа для кластеров является очень трудной задачей, на решение которой требуется обычно большое количество времени и ресурсов. Одна из целей Windows CCS 2003 - максимально упростить управление вычислительными кластерами и сократить общую стоимость владения ими (TCO - total cost of ownership), одновременно сделав их доступными для более широкого круга пользователей. В частности, для Windows CCS 2003 процессы установки и администрирования максимально автоматизированы. Это достигается через интеграцию Windows CCS 2003 с технологиями Active Directory и Microsoft Operations Manger (MOM). Для удобства использования, в состав Windows CCS 2003 входит планировщик заданий (job scheduler), работа с которым обеспечивается через графический интерфейс пользователя и через командную строку.

    Windows CCS 2003 поддерживает исполнение параллельных приложений, базирующихся на стандарте Message Passing Interface (MPI). Кроме того, для того, чтобы можно было использовать среду разработки Visual Studio 2005 для создания параллельных приложений, в нее включены поддержка стандарта OpenMP, а также возможность отладки параллельных программ, использующих MPI.

    Версия MPI, используемая в Windows CCS 20033 - MS MPI, является вариантом одной из реализаций MPI, разработанной в Аргонской национальной лаборатории, и названной MPICH2.

    MS MPI построен на основе WinSock API (Windows Sockets networking API), и передача данных через сеть может осуществляться либо через обычный протокол TCP/IP, либо через драйвер WinSock Direct Provider, обеспечивающий непосредственную (игнорируя слой TCP/IP) передачу данных через сетевую аппаратуру. Тем самым, MS MPI обеспечивает поддержку сетей Ethernet либо Gigabit Ethernet через TCP/IP, и сетей с малым временем задержки и широкой полосой пропускания, таких как Infiniband или Myrinet через драйверы WinSock Direct.

    MS MPI обеспечивает поддержку языков программирования C, Fortran 77 и Fortran 90. Среда разработки Microsoft Visual Studio 2005 включает в себя отладчик параллельных программ, написанных с применением MS MPI. Разработчики могут запускать свои MPI-приложения на множестве вычислительных узлов непосредственно из Visual Studio, причем Visual Studio автоматически связывается с процессами на узлах, что позволяет разработчикам, по индивидуальному выбору, останавливать программу на любом из узлов и просматривать значения программных переменных.

    Windows CCS 2003 поддерживает пять различных сетевых топологий головного и вычислительных узлов кластера, где эти топологии отличаются друг от друга своей производительностью (скоростью передачи данных) и возможностями доступа в данную сеть. Каждая из топологий включает в себя, по меньшей мере, один из следующих типов сетей:

  • общая (public) сеть,
  • частная (private) сеть и
  • MPI-сеть,
  • или, возможно, некоторую их комбинацию.

    Общая сеть - это, обычно, существующая на предприятии или в организации Ethernet-сеть, которая объединяет, в частности, вычислительные узлы кластера. Если для кластера не предусмотрена выделенная частная сеть, то весь внутрикластерный управляющий трафик будет проходить через общую сеть.

    Частная сеть - это выделенная специально для кластера сеть, через которую осуществляется внутрикластерная передача сообщений. По этой сети проходит трафик, связанный с управлением кластером и развертыванием (deployment) вычислительных узлов, а также MPI-трафик (если не существует специальной MPI-сети).

    MPI-сеть - это выделенная, высокоскоростная сеть, предназначенная для передачи сообщений параллельных приложений, работающих на вычислительных узлах кластера. Если в кластере такой сети не существует, то MPI-трафик передается через частную сеть. Если и частной сети не существует, то MPI-трафик будет проходить через общую сеть.

    Использование отдельных сетей для передачи внутрикластерного (служебного) и MPI-трафика между вычислительными узлами и головным узлом значительно повышает общую производительность кластера и разгружает от этого трафика общую сеть. Тем не менее, доступ в общую сеть с вычислительных узлов, по-прежнему, возможен с помощью сервиса NAT (Network Address Translation), запущенного на головном узле.

    Windows CCS 2003 поддерживает кластеры, состоящие из одного головного узла и одного или нескольких вычислительных узлов, как показано на Рис 1.10.

    (рис 1.10) Типичная структура сети для работы Windows CCS 2003

    Головной узел управляет и является посредником для доступа ко всем ресурсам кластера и представляет собой единую точку для управления, развертывания ресурсов и исполнения заданий на вычислительном кластере. Windows CCS 2003 может использовать существующую инфраструктуру Active Directory для обеспечения безопасности, управления учетными записями и общим управлением всеми операциями, а также может быть интегрирован с такими средствами управления, как MOM ( Microsoft Operations Manager) 2005 и SMS (Systems Management Server) 2003.

    Развертывание Microsoft CCS 2003 включает в себя:

  • установку базовой операционной системы на головном узле,
  • присоединение головного узла к существующему Active Directory-домену,
  • установку пакета Compute Cluster Pack.
  • Если планируется использовать сервис удаленной установки (RIS - Remote Installation Service), то RIS будет установлен и сконфигурирован на последнем шаге процедуры развертывания.

    После окончания установки пакета Compute Cluster Pack на головном узле, на его экране отображается ToDo-список, который показывает какие шаги необходимо выполнить для завершения конфигурирования вычислительного кластера. Эти шаги включают в себя:

  • определение топологии сети,
  • конфигурирование RIS с помощью соответствующего мастера,
  • добавление вычислительных узлов в кластер,
  • конфигурирование информации о пользователях и администраторах кластера
  • На головном узле кластера устанавливаются следующие сервисы:

  • Management Service - управление кластером, обнаружение узлов, управление конфигурациями
  • Scheduler Service - постановка заданий в очередь, планирование их запуска, распределение ресурсов, исполнение заданий
  • SDM Store Service - операции чтения/записи в хранилище данных System Definition Model (SDM), управление целостностью
  • MPI Service - реализация MPI на основе MPICH2
  • Node Manager Service - устанавливается на головном узле, когда он сконфигурирован также и в качестве вычислительного узла; взаимодействует с Scheduler Service и отвечает за исполнение заданий
  • SQL Service - Microsoft SQL Server 2000 Desktop Engine (MSDE)
  • На вычислительных узлах кластера устанавливаются следующие сервисы:

  • Management Service - взаимодействует с одноименным сервисом на головном узле; отвечает за управление кластером, обнаружение узлов и управление конфигурациями со стороны вычислительного узла
  • MPI Service - реализация MPI на основе MPICH2
  • Node Manger Service - взаимодействует с Scheduler Service на головном узле; отвечает за исполнении заданий
  • 1.5. Исполнение множеств последовательных задач на кластерных системах

    Менеджер заданий в составе Windows CCS 2003 (Compute Cluster Job Manager) является приложением с графическим интерфейсом, которое обеспечивает доступ к планировщику заданий (Job Scheduler) для их создания, отправки на кластер и мониторинга исполнения. Менеджер заданий может быть установлен и исполняться на машине, не принадлежащей вычислительному кластеру, что дает возможность использовать кластер удаленно.

    Графический интерфейс менеджера заданий состоит из

  • заголовка,
  • меню,
  • верхней панели отображения и
  • нижней панели отображения
  • (см. Рис 1.11).

    (рис 1.11) Графический интерфейс менеджера заданий

    Заголовок отображает имя машины, являющейся головным узлом кластера. По умолчанию, такой машиной является локальная машина (т.е., машина, где запущен менеджер заданий), имя которой отображается как localhost.

    Меню состоит из пунктов File, View, Show и Help. С помощью File и View, можно подсоединиться к кластеру, создать задание, отослать его на исполнение и др. С помощью пункта Show можно просматривать очередь заданий на исполнение с возможностью фильтрации этой очереди в соответствии с различными критериями.

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

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

    Шаблоны заданий и задач

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

    Вид панели Tasks шаблона заданий показан на Рис 1.12.

    (рис 1.12) Панель Tasks шаблона для составления заданий

    Интерфейс командной строки

    Любая функция менеджера заданий имеет эквивалент в виде соответствующей командной строки. Все множество командных строк делится на 2 группы:

  • операции пользователя: создание заданий, отправка их на кластер и управление ими;
  • операции администратора: управление кластером как таковым.
  • Наличие интерфейса командной строки позволяет разрабатывать сложные сценарии (скрипты) для выполнения специальных работ на кластере и управления им.

    К операциям пользователя относятся команды job и task с соответствующими параметрами.

  • job new [job_terms] - создать задание
  • job add jobID [ task_terms] - добавить задачи к заданию
  • job submit /id:jobid - отправить задание, созданное с помощью job new
  • job submit [job_terms] [task_terms] - отправить задание
  • job cancel jobID - снять задание
  • job modify [ options ] - модифицировать задание
  • job requeue [ jobID ] - заново поставить задание в очередь
  • job list - выдать список заданий, исполняющихся на кластере
  • job listtasks - выдать список задач задания
  • job view jobID - выдать сведения о задании
  • task view taskID - выдать сведения о задаче
  • task cancel taskID - снять задачу
  • task requeue taskID - заново поставить задачу в очередь
  • К операциям администратора относится команда cluscfg:

  • cluscfg view - выдать сведения о кластере
  • cluscfg listparams/setparams - просмотреть/установить конфигурационные параметры
  • cluscfg listenvs/setenv - просмотреть/установить параметры окружения
  • cluscfg delcreds/setcreds - удалить / установить полномочия пользователя
  • Вернуться к учебному плану