Высокопроизводительные парал. вычисления на кластерных системах. Воеводин (2005) (1186026), страница 33
Текст из файла (страница 33)
Так же имеется интерфейс ра162боты с системой, предназначенный только для администраторов, гдеони могут производить такие действия, как добавление и удалениепользователей системы, изменение параметров, задающих ограниченияна хранимые файлы, контроль хранимых пользователями файлов и т.п.Стоит отметить, что функциональность мониторинга и системызадач является трансляцией команд и результатов их исполнения между клиентом пользователя и отдельными модулями системы управления кластером, отвечающими за выполнение этих команд.Перечислим основные преимущества используемого подхода:• Легко разрабатывать клиентские приложения, как с интерфейсом командной строки, так и графические приложений,• Благодаря открытости интерфейса Web-сервиса, дополнительные утилиты могут разрабатывать сторонние разработчики,• Использование в качестве клиента связки Web-браузера и Webсервера позволяет пользователю работать удаленно с кластером с любого компьютера, подключенного к ИнтернетуЛитература1.
Programming .NET Web Services by Alex Ferrara, Matthew MacDonaldPublisher: O'Reilly; 1 edition (October 15, 2002) ISBN: 05960025052. Service-Oriented Architecture : A Field Guide to Integrating XML andWeb Services by Thomas Erl Publisher: Prentice Hall PTR (April 16, 2004)ISBN: 01314289853. Understanding Web Services: XML, WSDL, SOAP, and UDDI by EricNewcomer Publisher: Addison-Wesley Professional; 1st edition (May 13, 2002)ISBN: 02017508134. From P2P to Web Services and Grids: Peers in a Client/Server World byIan J.
Taylor Publisher: Springer; 1 edition (October 21, 2004) ISBN:1852338695ПРОГРАММНАЯ СИСТЕМА ДЛЯ ИЗУЧЕНИЯ ИИССЛЕДОВАНИЯ ПАРАЛЛЕЛЬНЫХ МЕТОДОВ РЕШЕНИЯСЛОЖНЫХ ВЫЧИСЛИТЕЛЬНЫХ ЗАДАЧВ.П. Гергель, Е.А. Козинов, Д.Ю. Лабутин, А.А. ЛабутинаНижегородский государственный университет им. Н.И.ЛобачевскогоВ докладе представлен программный комплекс ПараЛаб, которыйотвечает следующим основным требованиям: он позволяет проводитькак реальные параллельные вычисления на многопроцессорной вычис163лительной системе, так и имитировать такие эксперименты на одномпоследовательном компьютере с визуализацией процесса решениясложной вычислительной задачи.При проведении имитационных экспериментов, предоставленавозможность для пользователя:• определить топологию параллельной вычислительной системыдля проведения экспериментов, задать число процессоров в этой топологии, установить производительность процессоров, выбрать характеристики коммуникационной среды и способ коммуникации;• осуществить постановку вычислительной задачи, для которойв составе системы ПараЛаб имеются реализованные параллельные алгоритмы решения, выполнить задание параметров задачи;• выбрать параллельный метод для решения выбранной задачи;• установить параметры визуализации для выбора желаемоготемпа демонстрации, способа отображения пересылаемых между процессорами данных, степени детальности визуализации выполняемыхпараллельных вычислений;• выполнить эксперимент для параллельного решения выбраннойзадачи; при этом в системе ПараЛаб предусмотрена возможностьсформировать несколько различных заданий для проведения экспериментов с отличающимися типами многопроцессорных систем, задачили методов параллельных вычислений, для которых выполнение эксперимента может происходить одновременно (в режиме разделениявремени); одновременное выполнение эксперимента для несколькихзаданий позволяет наглядно сравнивать динамику решения задачи различными методами, на разных топологиях, с разными параметрамиисходной задачи.
Для организации анализа полученных данных припроведении длительных вычислений, система обеспечивает возможность проведения серии экспериментов в автоматическом режиме сзапоминанием результатов в журнале экспериментов;• накапливать и анализировать результаты выполненных экспериментов; по запомненным результатам система позволяет построитьграфики зависимостей, характеризующих параллельные вычисления(времени решения, ускорения, эффективности) от параметров задачи ивычислительной системы.Одной из важнейших характеристик системы является возможность выбора способов проведения экспериментов. Эксперимент может быть выполнен в режиме имитации, т.е. проведен на одном процессоре без использования каких – либо специальных программных164средств типа библиотек передачи сообщений.
Кроме того, в рамкахсистемы ПараЛаб должна существует возможность проведения вычислительного эксперимента в режиме удаленного доступа к вычислительному кластеру Нижегородского государственного университета.Разработка системы на нескольких языкахИзначально система ПараЛаб разрабатывалась на языке С++ в среде Borland C Builder, поскольку на тот момент эта система наиболееподходила для разработки приложений с развитым пользовательскиминтерфейсом.В настоящее время ведется параллельная разработка системы ПараЛаб на языке Java с тем, чтобы реализуемые системой ПараЛаб процессы изучения и исследования параллельных алгоритмов решениясложных вычислительных задач были доступны пользователям Интернет посредством технологии Java апплетов.Кроме того, начата разработка ПараЛаб на языке C# на основеплатформы Microsoft .NET.
Данная система предоставляет развитыевозможности для параллельной разработки программных систем несколькими специалистами на разных языках из числа тех, которыеподдерживает .NET. Кроме того, данная технология используется в тойкомпоненте системы управления кластером ННГУ, которая обеспечивает взаимодействие с внешними пользователями и предоставляет удаленный доступ. Поскольку ПараЛаб выступает в качестве внешнегопользователя, происходит «бесшовная» стыковка двух программныхсистем.Моделирование параллельных процессовВ рамках системы ПараЛаб параллельная программа представляется набором процессов, которые выполняются в режиме разделениявремени на одном последовательном компьютере.
Каждый из этихпроцессов в любой момент времени обладает данными, которые хранятся в специально отведенной области памяти и отображаются рядомс соответствующим процессором в области выполнения эксперимента.Модельное время выполнения локальных вычислений есть произведением количества операций и времени выполнения одной операции. Дляоценки коммуникационной составляющей времени выполнения алгоритма используется модель Хокни операции передачи данных.Основной набор параметров, описывающих время передачи данных, состоит из следующего ряда величин:• время начальной подготовки (α) характеризует длительность165подготовки сообщения для передачи, поиска маршрута в сети и т.п.;• время передачи служебных данных (tc) между двумя соседнимипроцессорами (т.е. для процессоров, между которыми имеется физический канал передачи данных); к служебным данным может относитьсязаголовок сообщения, блок данных для обнаружения ошибок передачии т.п.;• время передачи одного слова данных по одному каналу передачиданных (1/β); длительность подобной передачи определяется полосойпропускания коммуникационных каналов в сети.Время пересылки данных объема m по маршруту длиной l определяется выражением⎛m⎞t пд = α + ⎜⎜ + t с ⎟⎟ l.
.⎝β⎠При достаточно длинных сообщениях временем передачи служебных данных можно пренебречь и выражение для времени передачиданных может быть записано в более простом видеmtпд = α + l .βБыли разработаны и протестированы на высокопроизводительномкластере ННГУ реальные параллельные программы, которые решаютвсе задачи, входящие в состав системы ПараЛаб всеми представленными методами.Умножение матрицы на вектор0,160,14время0,120,1Реальное0,08Модельное0,060,040,020100020003000размер матрицыРис.
1. Сравнение реального и модельного времени выполненияараллельного алгоритма умножения матрицы на вектор на 4 процессорах166Это работа была проделана для того, чтобы обосновать применимость математических моделей вычислений и коммуникации для оценки времени выполнения алгоритма. В результате проведенных экспериментов выяснилось, что описанная математическая модель адекватно отображает реальность.Расширяемость системыПараЛаб – программная система предназначена для иллюстрирования технологии параллельного программирования на сравнительнонесложных задачах, и относится, главным образом, к программированию «в малом».
Типичными примерами такого рода задач служат программы для реализации отдельных алгоритмов сортировки, матричныхопераций, обработки графов, алгоритмов из области линейной алгебры.В настоящее время приоритетным направлением развития системыявляется реализация возможности добавления в систему новых алгоритмов решения тех задач, которые включены в состав ПараЛаб. Длятого, чтобы предоставить пользователю возможность самому сконструировать параллельный метод решения той или иной задачи, необходимо выделить все возможные конструктивные элементы, из которыхможет состоять алгоритм, и обеспечить возможность соединять этиэлементы в корректную последовательность, приводящую к решениюзадачи.