Организация вычислений в Windows Compute Cluster 2003
Шишкин Е.С., Ладыженский Ю.В.
       Windows Compute Cluster Server 2003 - это мощное и функциональное программное средство, позволяющее максимально удобно работать с кластером. Оно позволяет использовать пользовательские интерфейсы, различные типы заданий параллельных вычислений, политики планирования, выполнение последовательных и параллельных задач, безопасность кластера, настройку и разработку приложений, интеграцию с интерактивными программами, фильтры, разработку исполнимых файлов. Существует установившаяся практика использования кластера [1].
       Основные интерфейсы - это менеджер заданий и интерфейс командной строки.
       Менеджер заданий - это графический интерфейс для создания, назначения на выполнение задания и наблюдения за процессом выполнения задания.
       Интерфейс командной строки - это набор команд, вводимых в командной строке для создания, назначения на выполнение и управления заданиями, а также для управления кластером. Интерфейс командной строки представляет собой альтернативу использования менеджера заданий.
       Существует три типа параллельных вычислительных заданий: параллельная задача, параметрический набор и поток задач.
       Параллельная задача может иметь разное представление, в зависимости от приложения и программного обеспечения, использующего ее. Как приложение MPI, параллельная задача обычно состоит из одного потока, запущенного одновременно на множестве процессорах со всеми возможными связями между процессами.
       Параметрический набор представляет собой множество экземпляров одной и той же программы, обычно последовательной, запущенных одновременно. Связи или взаимная зависимость между задачами отсутствует. Обычно распараллеливание выполняется исключительно планировщиком задач, основываясь на факте, что все задачи находятся в одном и том же задании.
       При использовании потока задач все задачи выполняются в определенном порядке, потому что выполнение одной задачи зависит от результатов другой задачи.
       Задачи в задании могут выполняться последовательно или параллельно.
       При последовательном выполнении первые две задачи будут отосланы и выполнены на назначенном узле сети (предположительно он имеет два процессора), следующие две задачи будут отосланы и выполнены на втором назначенном узле сети, и этот цикл будет повторяться, пока не останется задач, или пока все процессоры в кластере не будут выполнять задачи. Все оставшиеся задачи должны ждать следующего доступного процессора и выполняться, когда он станет доступным.
       При параллельном выполнении исполняемый поток зависит от пользовательского приложения и поддерживающего его программного обеспечения. Для заданий, которые выполняются с использованием Microsoft MPI Service, выполнение производится следующим образом. Исполняемый файл MPI запускается на обозначенном узле сети и по очереди запускает все задачи с помощью узла сети, определенного Microsoft MPI Service. Если для выполнения требуются дополнительные узлы, перед запуском задачи на свободном узле автоматически запускается новый экземпляр MPI.
       После передачи на выполнение задание попадает под управление планировщика заданий. Он определяет место задания в очереди и выделяет заданию ресурсы. Порядок заданий в очереди устанавливается согласно с политикой планирования. Существует три типа политик - планирование, основанное на приоритетах «первый пришел, первый обслужен», обратное заполнение, исключительное планирование.
       Использование планирования, основанного на приоритетах «первый пришел, первый обслужен» размещает задание в группах высокого или низкого приоритета в зависимости от свойства приоритета задания. Задание всегда размещается в конце очереди для каждой группы приоритетов.
       Обратное заполнение максимизирует использование узлов сети, позволяя небольшим заданиям или заданиям из конца очереди запускаться перед заданиями, ожидающими в начале очереди, пока текущее задание в начале очереди не передано на выполнение.
       Исключительное планирование ограничивает ресурсы узла сети для задания или задачи. Этот политика планирования может быть отключена для разрешения другой политики планирования.
       Безопасность кластера при шифровании обеспечивается стандартом Windows Data Protection API, при проверке подлинности - аутентификацией Kerberos, NTLM, и Security Support Provider, при транспортировке - шифрованным COM и 256-битным AES каналом .NET [1].
       Установившаяся практика использования кластера включает в себя установку реалистичного максимального времени выполнения и минимального и максимального числа процессоров, резервирование узлов, использование исключительности, сохранение шаблонов заданий, организацию и доступ к файлам данных.
       Параллельные вычислительные приложения могут интерактивно взаимодействовать с Windows Compute Cluster Server 2003, позволяя создавать задания и передавать их на выполнение через интерфейс приложения. Можно редактировать шаблоны заданий, а также создавать фильтры передачи заданий на выполнение и активационные фильтры заданий.
       Фильтр передачи задания на выполнение анализирует файл шаблона задания для проверки опций. Он может изменять значения свойств, но не сами свойства.
       Активационные фильтры задания проверяют текущие задания в очереди на факторы, которые могут стать причиной неудачного завершения при их использовании. Если фильтр обнаруживает такой фактор, задание не будет активировано и не будет передано на выполнение.
       Исполнимые файлы можно разрабатывать в среде Microsoft MPI, используя C, Fortran 77, Fortran 90, или под платформу Win 32 на любом языке программирования, используя API планировщика заданий Compute Cluster Server [1].
       Windows Compute Cluster Server 2003 является удобным, мощным и функциональным программным средством для эффективного выполнения разнообразных последовательных и параллельных задач на кластере. Он позволяет использовать внешние интерактивные приложения и собственные приложения пользователя.

Литература
[1] Windows Compute Cluster Server 2003 User's Guide.