Общие сведения о заданиях параллельных вычислений
Наиболее распространенными типами заданий параллельных вычислений, которые можно запускать в кластере пакетов HPC, являются задания
В этом разделе:
заданий задания потока задач
Задание MPI
MS-MPI, реализация интерфейса передачи сообщений (MPI), разработанная для Windows, позволяет приложениям MPI выполняться в качестве задач в кластере HPC.
Задача MPI является внутренне параллельной. Параллельная задача может принимать несколько форм в зависимости от приложения и программного обеспечения, поддерживающего его. Для приложения MPI параллельная задача обычно состоит из одного исполняемого файла, выполняющегося одновременно на нескольких ядрах, с взаимодействием между процессами.
На следующей схеме показана параллельная задача:
Для задачи, запускающей приложение MPI, команда задачи должна предшествовать mpiexec
: поэтому команды для параллельных задач должны находиться в следующем формате: mpiexec [mpi_options] <myapp.exe> [arguments]
, где myapp.exe
— это имя приложения для запуска. Команда mpiexec
принимает ряд аргументов, которые позволяют управлять размещением процессов MPI, сходством сети и другими параметрами времени выполнения. Дополнительные сведения об этих параметрах см. в справочнике по командной строке пакета MICROSOFT HPC.
Заметка
Для параллельных задач Windows HPC Server 2008 включает пакет MPI на основе стандарта MPICH2 Национальной лаборатории Argonne. Реализация MPI корпорации Майкрософт, называемая MS-MPI, включает в себя mpiexec
средства запуска, службу MPI для каждого узла и пакет SDK для разработки пользовательских приложений. Windows HPC Server 2008 также поддерживает приложения, предоставляющие собственные механизмы параллельной обработки.
Дополнительные сведения о пакете SDK см. в пакете Microsoft HPC.
Сведения о создании однозаготового задания или задания MPI см. в разделе Определение базовой задачи или задачи MPI — диспетчер заданий.
Задание параметрической очистки
Задание параметрической очистки состоит из нескольких экземпляров одного и того же приложения, как правило, последовательного приложения, параллельного выполнения и ввода, предоставленного входным файлом и выходными данными, направленными в выходной файл. Входные и выходные данные обычно представляют собой набор индексированных файлов (например, input1, input2, input3..., output1, output2, output3...) для общей папки или в отдельных общих папках. Между задачами нет связи или взаимозависимости. Задачи могут выполняться параллельно, в зависимости от ресурсов, доступных в кластере при выполнении задания.
На следующей схеме показано задание очистки метрики:
Сведения о создании задания очистки параметрики см. в разделе Определение задачи "Параметрическая очистка" — диспетчер заданий.
Задание потока задач
В задании потока задач набор в отличие от задач выполняется в заданном порядке, как правило, так как одна задача зависит от результата другой задачи. Задание может содержать множество задач, некоторые из которых являются параметричными, некоторые последовательные и некоторые параллельные. Например, можно создать задание потока задач, состоящее из задач MPI и параметрики. Вы можете установить порядок выполнения задач, определив зависимости между задачами.
На следующей схеме показано задание потока задач:
задание потока задач
Задача 1 выполняется сначала. Обратите внимание, что только задачи 2 и 3 могут выполняться параллельно, так как ни от другого не зависит. Задача 4 выполняется после завершения задач 2 и 3.
Сведения о создании задания потока задач см. в разделе Определение зависимостей задач — диспетчер заданий.
Задание SOA
Ориентированная на обслуживание архитектура (SOA) — это подход к созданию распределенных, слабо связанных систем. В системе SOA различные вычислительные функции упаковываются в виде программных модулей, называемых службами. Службы могут распространяться по сети и получать доступ к другим приложениям. Например, если приложения выполняют повторяющиеся параллельные вычисления, основные вычисления можно упаковать как службы и развернуть в кластере. Это позволяет разработчикам решать неловко параллельные проблемы, не перезаписывая низкоуровневый код и быстро масштабировать приложения. Приложения могут работать быстрее, распределяя основные вычисления между несколькими узлами служб (вычислительными узлами). Конечные пользователи запускают приложение на своих компьютерах и узлах кластера.
Приложение клиента предоставляет интерфейс для доступа к функциональным возможностям одной или нескольких служб. Разработчики могут создавать клиентские приложения кластера SOA для предоставления доступа к службам, развернутыми в кластере Windows HPC. В серверной части клиентское приложение отправляет задание, содержащее задачу службы в кластер, инициирует сеанс с узлом брокера и отправляет запросы службы и получает ответы (результаты вычисления). Планировщик заданий на головном узле выделяет ресурсы для задания службы в соответствии с политиками планирования заданий. Экземпляр задачи службы
Заметка
Если клиент создал устойчивый сеанс, брокер сохраняет все сообщения с помощью MSMQ. Ответы, хранящиеся брокером, могут быть получены клиентом в любое время, даже после намеренного или непреднамеренного отключения.
На следующей схеме показано, как выполняется задание SOA в кластере:
Дополнительные сведения о создании клиентов SOA для кластера HPC см. в приложениях SOA и пакете MICROSOFT HPC.
Заметка
Службы HPC для Excel используют инфраструктуру SOA для разгрузки вычислений Microsoft Excel в кластер.
Разгрузка вычислений Microsoft Excel
Службы HPC для Excel, включенные в некоторые версии пакета HPC, поддерживают ряд моделей для разгрузки вычислений Excel в кластер пакетов HPC. Книги, подходящие для ускорения кластера, включают независимые вычисления, которые могут выполняться параллельно. Многие сложные и длительные книги выполняют итеративно, то есть выполняют одно вычисление несколько раз по разным наборам входных данных. Эти книги могут содержать сложные функции Microsoft Visual Basic для приложений (VBA) или интенсивные надстройки XLL. Службы HPC для Excel поддерживают разгрузку книг в кластер или разгрузку определяемых пользователем пользователей в кластер.
Microsoft Excel 2010 расширяет модель UDF в кластер, позволяя excel 2010 UDFs выполняться в кластере Windows HPC. Если поддерживается кластер, пользователи могут указать Excel 2010 использовать этот кластер, выбрав соединитель кластера и указав имя кластера в диалоговом окне Расширенные параметров Excel. В кластере определяемые пользователем функции работают так же, как традиционные определяемые пользователем функции, за исключением того, что вычисление выполняется одним или несколькими серверами. Ключевым преимуществом является параллелизация. Если книга содержит вызовы длительных определяемых пользователем функций, можно использовать несколько серверов для одновременной оценки функций. Для запуска в кластере определяемые пользователем функции должны содержаться в кластеробезопасном XLL-файле.
Дополнительные сведения см. в службах HPC для Excel.
Дополнительные ссылки
Сведения о свойствах заданий и задач, которые можно использовать для определения заданий параллельных вычислений, см. в следующих статье:
Сведения о создании, отправке и мониторинге заданий с помощью диспетчера заданий HPC см. в следующей статье:
Сведения о создании, отправке и мониторинге заданий с помощью окна командной строки или HPC PowerShell, а также о ресурсах разработчика, включая сведения об использовании пакета SDK, модели программирования SOA и разгрузке вычислений Excel, см. дополнительные статьи в этой документации.