Текст ВКР (1218920), страница 2
Текст из файла (страница 2)
Для мониторинга в реальном времени ресурсов кластера существует специализированная система, которая доступна по адресу [5]. На этой странице отображается информация по свободным ресурсам всех узлов вместе или же для каждого узла в отдельности. Располагая информацией о загруженности процессора, сети, оперативной памяти, средней загрузке, количестве процессов и занятости других ресурсов, можно оптимизировать использование доступных возможностей кластера.
Для диспетчеризации задач на кластере используется система PBS Torque. С её помощью пользователь может отправлять свои задачи на исполнение, снимать их с исполнения и получать информацию по текущему статусу задачи.
Основные возможности, предоставляемые PBS Torque:
-
в управлении ресурсами:
– постановка задачи в очередь;
– остановка/удаление задачи из очереди.
-
в мониторинге ресурсов:
– информирование о текущем состоянии задачи;
– информирование о занятости вычислительных узлов.
Под очередью понимается набор пользовательских процессов (программ, задач) выполняющихся в рамках системы диспетчеризации. Каждой очереди сопоставлен ряд атрибутов, в зависимости от которых к задаче будут применены те или иные действия. Типичными атрибутами являются название (идентификатор) очереди, её приоритет, доступные ресурсы, количество задач. В общем случае термин очередь не означает, то что программы в ней будут выполняться строго последовательно.
В системе управления PBS Torque существует встроенный планировщик, в котором реализован алгоритм FCFS (First Come First Served). Наряду с этим, на кластере есть возможность использования внешнего планировщика Maui . Подробно об администрировании в этом планировщике можно почитать по ссылке [6].
Любую задачу можно поставить на исполнение, пользователь должен добавить ее при помощи команды qsubв какую-либо очередь. Формат команды:
qsub [ключи] [script].
В поле [ключи] вводятся определенные параметры, отвечающие за различные настройки выполнения задачи. В поле [script] указывается имя файла с набором исполняемых команд и директив. Фактически PBS Torque осуществляет сканирование скрипта на предмет содержания в нем управляющих слов и производит их выполнение в заданном пользователем порядке. В этом же скрипте возможно прописать, в какой очереди и какими узлами будет выполняться задача.
Очереди в основном отличаются друг от друга аппаратными ресурсами. В таблице 1.2 представлены доступные очереди:
Таблица 1.2 – Очереди на кластере
| vl_mars | vl_mercury | vl_pluto | |
| Доступно узлов | 4 | 5 | 8 |
| Процессоры, установленные на узлах | Six Core AMD Opteron™ 8431 | Quad Core Intel® Xeon® E5450 EM64T | Dual Core Intel® Xeon® 5060 EM64T |
| Процессоров на узле | 4 | 2 | 2 |
| Вычислительных ядер на узле | 24 | 8 | 4 |
| Памяти на узле | 96GB | 16GB | 4GB |
| Сети передачи данных | InfiniBand | InfiniBand | Gigabit Ethernet |
Наличие на вычислительном кластере вышеописанных программных и аппаратных ресурсов делает наиболее актуальной задачу рационального их использования программным комплексом. Оттого насколько полно будут задействованы возможности вычислительного кластера, зависит конечная полезность программного комплекса, поэтому следует уточнить какие именно аппаратные и программные ресурсы будут задействованы.
-
1.2.3 Функциональные возможности кластера, используемые для решения задачи
При разработке программного комплекса важную роль играет рациональное использование имеющихся программных и аппаратных ресурсов. Говоря об автоматизированном программном комплексе поиска оптимального набора параметров весового МКЭ необходимо учитывать предстоящие перед ним задачи.
Условно можно разделить использование ресурсов на два типа:
– использование ресурсов кластера программным комплексом;
– использование ресурсов кластера, задачей исследователя.
В силу того, что исследование сингулярных задач требует значительных вычислительных мощностей – приложение исследователя должно оптимально использовать имеющиеся средства для распараллеливания задач. Иными словами, в исследовательской задаче должна быть предусмотрена поддержка MPI в сочетании с имеющейся теорией весового МКЭ.
Для управления различными компонентами и установки связи между ними – использование MPI не требуется. Связано это с невысокой ресурсоёмкостью задач по управлению и достаточностью лишь одного процессора для работы управляющей программы. В связи с этим целесообразность автоматизации в данном случае является очевидной, так как это позволит значительно сэкономить время по исследованию необходимого набора параметров.
При распределении задач по очередям необходимо в каждый момент времени располагать данными о занятости кластера. Система мониторинга PBS Torque предоставляет все сведения и может использоваться повсеместно.
2 Проектирование программного комплекса
-
2.1 Задачи проектирования программного комплекса
Автоматизированный программный комплекс для поиска оптимального набора параметров весового МКЭ необходим для использования на вычислительном кластере с целью нахождения определенных значений неизвестных заранее величин теории весового пространства. В сочетании с программой исследователя программный комплекс должен выполнять:
– пакетную организацию распределения задач;
– поиск наилучших наборов по каким-либо критериям;
– визуализацию полученных результатов;
– автоматическую работу всех компонентов комплекса и их взаимодействие друг с другом, программными ресурсами кластера.
Данные требования к комплексу обуславливаются как спецификой работы на вычислительном кластере, так и сложностями, связанными с применением на нем численных методов, реализующих весовой МКЭ.
Разработка критериев оценки наборов необходима с целью более быстрого и точного определения диапазонов значений параметров весового МКЭ, что немаловажно при решении новых, ранее не исследованных задач. Поддержка визуализации результатов, как двумерных, так и трехмерных – позволит сделать работу комплекса более наглядной, так как стандартно результаты вычислений выводятся в числовом виде.
Так как создаваемый комплекс не имеет известных аналогов, то его разработка сопряжена с разного вида сложностями предоставления конечному пользователю удобного инструментария для исследования. К числу таких сложностей можно отнести особенности установленной на кластере ОС, её интерфейса и способа удаленного доступа. Кроме того, определенные трудности возникают при разработке единого комплекса, компоненты которого реализованы на разных языках программирования. Организация взаимодействия таких компонентов требует глубоких знаний возможностей каждого из языков.
Задача автоматизации также становится более актуальной по причине наличия на кластере различных программных средств, как коммерческих так и свободно распространяемых. Их использование позволяет ускорить процесс исследования новых задач и сделать его более удобным для восприятия и дальнейшей обработки.
Решение описанных задач требует более тщательного изучения возможностей кластера в свете описанных трудностей. Подробно стоит остановиться на визуализации, взаимодействии программных компонентов и автоматизации работы комплекса.
-
2.2 Графический интерфейс и визуализация результатов эксперимента
Операционная система Linux CentOS поддерживает технологию XWindow, которая предоставляет пользователям возможность создания оконных приложений.
Графический пользовательский интерфейс (ГПИ) – является более дружественным по отношению к исследователю. Негативной стороной данного типа соединения является необходимость широкополосного доступа в интернет, что связано с большими сложностями, в связи с использованием полного шифрования.
При условии развития коммуникационных технологий – расширение работы программного комплекса с использованием графического интерфейса – является перспективной задачей. На данный же момент – реализация поддержки ГПИ программным комплексом не столь актуальна, так как скорость доступа к кластеру с удаленного терминал ограничена ЦИФРА Кб/с. Кроме того стоит упомянуть о специфике протокола связи с кластером. Как уже упоминалось ранее, доступ к кластеру осуществляется по сетевому протоколу SSH. Данный протокол предусматривает полное шифрование передаваемых сообщений, в том числе и открытых ключей. Кроме того доступно несколько алгоритмов шифрования для аутентификации:
– RSA в SSH1;
– RSA/DSA в SSH2;
для обмена данными:
– IDEA;
– DES;
– triple DES;
– BLOWFISH;
– CAST128;
– AES/Rijndael.
После шифрования передаваемых данных увеличивается объем отправляемых сообщений. В случае использования графического интерфейса объемы передаваемых данных значительно влияют на скорость отклика приложения на кластере. Совсем иначе ситуация выглядит с применением интерфейса командной строки.
Интерфейс командной строки – предоставляет пользователю доступ ко всем возможностям кластера путем ввода команд с клавиатуры.
Недостатки и достоинства использования командной строки широко известны всем разработчикам программного обеспечения. Если рассматривать положительные стороны данного вида пользовательского интерфейса, то к ним можно отнести следующие факторы:
–скорость работы – выше, при умелом использовании клавиатуры и знании команд;
–упрощение переносимости программного комплекса с одной операционной системы на другую;
– удобство коммутации с другими программными компонентами, в силу их однотипности;
– управление программным комплексом с удаленного устройства, без необходимости наличия широкополосного канала связи.
К негативной стороне использования консольного интерфейса можно отнести такие факты как: сложность в освоении программы вследствие частого использования ГПИ, а также ввод и проверка длинных команд.
В пользу того чтобы использовать консольный интерфейс говорит и то, что по своей сути программный комплекс создается для автоматической работы без участия человек. Этот критерий практически нейтрализует сложности, связанные с отрицательными аспектами работы консольного интерфейса.
В силу описанных факторов, принято решения использования стандартной командной оболочки, предоставляемой в клиент-серверной схеме Linux. Определившись с тем, что интерфейс будет консольным – далее необходимо подробно рассмотреть возможности его применения на кластере.
Для создания безопасного соединения с кластером на локальной машине должен иметься терминал связи. Одним из наиболее широко применяемых клиентов является свободно распространяемое приложение PuTTY [7]. Оно поддерживает многие протоколы удаленного доступа, в том числе и протокол SSH, по которому осуществляется связь с кластером. Связь с кластером осуществляется путем создания новой сессии. В настройках прописываются:
– адрес сервера (Host Name) – mercury.febras.net;
– адрес порта – 22;
– версия протокола SSH – SSH2.
После чего пользователь может получить доступ к кластеру, используя логин и пароль, зафиксированные при регистрации в системе [4]. Если логин и пароль введены корректно, то произойдет подключение к серверу с активизацией командной строки Linux.
Подробно ознакомиться с командами Linux и их возможностями можно по ссылке [8]. Основным средством редактирования и создания файлов для программного комплекса удобнее использовать Midnight Commander (команда mc). Рабочее окно имеет следующий вид (рисунок 2):
Рисунок 2 – Рабочее окно Midnight Commander
GNU Midnight Commander – это визуальный файловый менеджер. Распространяется под лицензией GPL (т.е. как свободно распространяемое ПО). Это мощная текстовая полнофункциональная программа, которая позволяет:
– копировать;
– перемещать;
– удалять файлы и директории;
– производить поиск файлов;















