Установка и администрирования PVM - Администрирование параллельных процессов
Для установки PVM в системе необходимо создать каталог, где будет располагаться система PVM. Будем считать, что установка PVM в каталог /pvm3. В этот каталог необходимо распаковать архив с исходниками системы:
Tar zxvf pvm3.3.4.tgz
Перед сборкой и запуском PVM необходимо установить переменную окружения $PVM_ROOT, указав в ней полный путь к каталогу, в котором хранится система. Если используется в качестве командной оболочки csh, необходимо добавить следующую строку в файл. cshrc:
Setenv PVM_ROOT=/pvm3
Если же используете оболочки, которые используют. profile, например sh или ksh, или bash, которая использует. bashrc, тогда нужно добавить в соответствующий файл такую команду:
Export PVM_ROOT=/pvm3
Так же необходимо определить другие переменные окружения, необходимые для функционирования PVM, добавив после команды определения PVM_ROOT содержимое соответствующих командной оболочке файлов: pvm3/lib/cshrc. stub, pvm3/lib/kshrc. stub или pvm3/lib/bashrc. stub.
По умолчанию PVM использует протокол rsh для общения с другими компьютерами кластера. Далее нужно заменить rsh на ssh, изменив файл /pvm3/conf/LINUX. def, прописав в переменной ARCHCFLAGS параметр RSHCOMMAND, определив для него полный путь к команде ssh (например /usr/bin/ssh). На кластере файл /pvm3/conf/LINUX. def выглядит так:
#
ARCHCFLAGS = - DSYSVSIGNAL - DNOWAIT3 - DRSHCOMMAND="/usr/bin/ssh"
- -DNEEDENDIAN - DFDSETNOTSTRUCT - DHASERRORVARS -DCTIMEISTIMET - DSYSERRISCONST - DNOTMPNAM
ARCHDLIB =
ARCHDOBJ =
ARCHLIB =
HASRANLIB = t
AR = ar
PVM_ARCH = LINUX
MAKE = make
Для сборки и установки PVM, находясь в каталге /pvm3, необходимо выполнить команду make. По окончании ее работы система PVM готова к запуску. Следует отметить, что для уменьшения проблем, связанных с настройкой PVM на узлах кластера, на всех машинах кластера PVM следует устанавливать в один и тот же каталог.
Прежде чем перейти к описанию командной системы PVM, необходимо разобраться в некоторых общих вопросах функционирования кластера.
PVM является пользовательской задачей, и как любая пользовательская задача может быть запущена любым пользователем, имеющим на то права. Если к консоли кластера (или к другим машинам кластера) одновременно подключилось несколько пользователей, то все они имеют возможность одновременно запустить свои собственные виртуальные машины PVM. Другими словами, на основе кластера, понимаемого нами здесь как комплекс компьютеров, соединенных сетью, одновременно может работать несколько параллельных виртуальных машин различной конфигурации.
В задачи системного администратора кластера, нужно либо разрешить каждому заинтересованному пользователю подключаться к кластеру под своим собственным login'ом, и запускать свою собственную параллельную виртуальную машину, либо определить в системе выделенного пользователя, под аккаунтом которого пользователи кластера могут подключаться к кластеру и выполнять под управлением одной единственной PVM свои задачи. Следует понимать, что одновременное присутствие в кластере нескольких параллельных виртуальных машин пропорционально снижает эффективное быстродействие каждой их них. Исключение составляет случай, когда эти параллельные виртуальные машины физически состоят из непересекающихся наборов узлов кластера.
Для кластера кафедры АИС необходимо выделить пользователя Admin_cluster, и под его аккаунтом можно запустить PVM на серверном компьютере.
Для запуска виртуальной машины необходимо выполнить команду pvm. Эта команда запускает консоль параллельной виртуальной машины PVM. Команда pvm перед запуском консоли проверяет наличие в системе демона pvmd, запущенного от имени пользователя, который выполняет команду pvm, и в случае отсутствия такового запускает его. Таким образом в системе может присутствовать несколько демонов pvmd (несколько параллельных виртуальных машин), принадлежащих разным пользователям. С другой стороны два пользователя, подключившихся к консоли кластера под одним именем, будут пользоваться одной и той же виртуальной машиной. Доступ пользователей к консоли под разными именами обеспечит безопасность для выполняемых программ. Поскольку запускаемые программы будут выполнятся под разными виртуальными машинами, то пользователи не смогут помешать друг другу, например снять с исполнения чужую задачу. С другой стороны, работа всех пользователей под одним login'ом обеспечит простоту администрирования запускаемых задач. В этом случае пользователь может быть лишен необходимости самостоятельно конфигурировать состав кластера. Однако это добавит риск неправомочного воздействия пользователем на чужие задачи. Пользователь может, например, остановить виртуальную машину командой halt, сняв тем самым с исполнения все запущенные в рамках этой виртуальной машины задачи. Каким образом обеспечить пользователям доступ к консоли кластера вы должны решить самостоятельно.
Запустив команду pvm, пользователь попадает в командную строку виртуальной машины. Список допустимых в PVM команд можно получить, выполнив команду help. Далее рассмотрены только те команды, которые будут постоянно необходимы для выполнения задач на параллельном компьютере под управлением PVM.
Первое, что необходимо сделать после запуска виртуальной машины определить ее конфигурацию. Под конфигурацией понимается список узлов кластера, которые составляют параллельную виртуальную машину. При первоначальном запуске демона pvmd, в виртуальную машину входит только один узел - тот, на котором был запущен демон. Для добавления в виртуальную машину нового узла, необходимо выполнить команду add:
Pvm>add node1
Pvm>add 192.168.1.3
Pvm>add node3.cluster. mydomain. org
Параметром этой команды может быть ip-адрес, краткое или полное доменное имя включаемого узла. При подключении дополнительного узла, виртуальная машина связывается с подключаемым компьютером по протоколу SSH для выполнения действий связанных с запуском демона pvmd на этом компьютере. Поэтому следует синхронизировать список пользователей на узлах кластера со списком пользователей консоли кластера. Если не предпринимать никаких действий, направленных на обеспечение беспарольного доступа по протоколу SSH на узла кластера с консоли кластера, то при добавлении каждого нового узла в виртуальную машину, система будет запрашивать пароль доступа. При отсутствии проблем, подключение нового узла выглядит на консоли так:
Pvm>add node1
Add node1
Yuri@node1's password:
1 successful
HOST DTID
node1 80000
Pvm>
Посмотреть список подключенных к виртуальной машине узлов можно выдав команду conf:
Pvm> conf
Conf
2 hosts, 1 data format
HOST DTID ARCH SPEED DSIG
Server 40000 LINUX 1000 0x00408841
Node1 80000 LINUX 1000 0x00408841
Pvm>
Для каждой машины списка дана информация, включающая в себя имя машины (короткое или полное доменное имя, или ip-адрес) HOST, идентификатор задачи DTID демона PVM, название архитектуры подключаемой машины ARCH, некое число SPEED, отражающее скоростные характеристики машины и идентификатор самой виртуальной машины DSIG, который будет различен для виртуальных машин, запущенных разными пользователями.
Вместо того, чтобы вручную добавлять каждый узел кластера в виртуальную машину, можно при первом запуске pvm указать в качестве первого параметра команды имя текстового файла, в котором перечислены имена (краткие или полные доменные) или ip-адреса узлов кластера. Правило составления такого файла простое: один узел одна строка. В случае использования списка узлов, PVM самостоятельно выполнит подключение перечисленных в файле машин. Вероятно, правильным и удобным будет обеспечить беспарольный доступ по протоколу SSH к узлам кластера с консоли кластера и выполнение команды "pvm hostlist" из startup-файла пользователя (например. bashrc).
Следующее действие, которым систематически будет заниматься пользователь, находясь в виртуальной машине, это запуск параллельных задач. Запуск осуществляется командой spawn. В качестве параметра этой команды указывается название исполняемого файла, который следует запустить внутри виртуальной машины. Файл с таким названием ищется в каталоге /pvm3/bin/LINUX/.
Pvm> spawn timing
Spawn timing
1 successful
T40002
Pvm>
В приведенном примере выполняется запуск программы "timing". В этом варианте программа запускается в фоновом режиме и весь вывод в STDOUT будет записываться в log-файл. Команду запуска можно модифицировать с тем, чтобы вывод в STDOUT от всех процессов задачи направлялся на консоль виртуальной машины. Для этого команда запуска и вывод программы на экране будут выглядеть так:
Pvm>spawn -> hello
Spawn -> hello
[1]
1 successful
T40004
[1:t40005] Message from slave process
[1:t40004] i'm t40004
[1:t40004] from t40005: hello, world from yis
[1:t40005] EOF
[1:t40004] EOF
[1] finished
Pvm>
Для просмотра списка запущенных задач можно воспользоваться командой ps. Запуск с консоли этой команды без параметров покажет список процессов задач, которые запущены на консоли кластера. Используя параметр "-a", мы можем посмотреть, какие процессы запущены на всех узлах виртуальной машины. Пример:
Pvm> ps - a
Ps - a
HOST TID FLAG 0x COMMAND
server 40002 6/c, f timing
Node1 80002 6/c, f timing_slave
Pvm>
В примере мы видим, что запущенная нами задача timing осталась работать на консоли кластера "server" и породила на узле "node1" дочерний процесс timing_slave.
Для снятия процесса со счета можно воспользоваться командой kill, параметрами которой являются идентификаторы задач (TID) процессов, которые подлежат удалению из системы. Идентификаторы задач можно посмотреть с помощью ранее описанной команды ps. Так, для удаления из системы процессов "timing" и "timing_slave" из предыдущего примера, команда ps будет выглядеть следующим образом:
Pvm> kill 40002 80002
Для удаления всех задач следует воспользоваться командой reset.
Pvm> reset
Часто бывает, что не вся пользовательская работа должна проводится внутри виртуальной машины. Некоторые программы могут запускаться на локальной машине как обычные задачи. Например, визуализацию данных, получаемых в результате счета параллельной программы, можно осуществлять отдельной программой, которая может быть активна не все то время, когда идет счет, запускаться периодически. Такая программа может получать данные для визуализации через специальные файлы FIFO, известные так же как "именованные каналы". О такой методике мы поговорим ниже. В подобных случаях возникает необходимость завершить работу консоль виртуальной машины и выйти в обычную командную строку локальной операционной системы. Выход в операционную систему без остановки виртуальной машины и всех ее процессов осуществляется командой quit.
Pvm> quit
Повторный вход в консоль работающей виртуальной машины осуществляется запуском команды pvm.
В том случае, когда необходимо снять с исполнения все параллельные задачи и остановить работу параллельной виртуальной машины, используется команда halt.
Pvm> halt
Результатом выполнения этой команды является, во-первых, "убивание" всех процессов виртуальной машины на всех присоединенных к ней узлах кластера (в том числе и на консоли кластера), во-вторых, остановка системы PVM на всех узлах кластера (отсоединение узлов), и, в заключение, остановка системы PVM на консоли кластера с выходом к командную строку локальной операционной системы.
Система команд параллельной виртуальной машины PVM не ограничена перечисленными командами. Полный список разрешенных команд можно получить с помощью инструкции help, заданной в командной строке PVM. Однако, для начала работы с PVM и в подавляющем большинстве случаев описанные нами команды достаточны для продуктивной работы пользователя.
Похожие статьи
-
Дистрибутивы развертывания кластера - Администрирование параллельных процессов
ParallelKnoppix - это модификация хорошо известного Linux-дистрибутива Knoppix live CD, которая позволяет установить кластер компьютеров для выполнения...
-
Структура кластера и его параметры Вычислительный кластер -- это совокупность компьютеров, объединенных в рамках некоторой сети для решения одной задачи,...
-
Коммуникационная библиотека PVM - Администрирование параллельных процессов
PVM (Parallel Virtual Machine) является продуктом исследовательского проекта по сетевым вычислениям в гетерогенной сетевой среде. Общая цель этого...
-
Управление задачами в PVM - Администрирование параллельных процессов
Управление задачами в PVM осуществляется на основе некоторого набора функций. Существует два варианта (два стиля) написания параллельных задач для PVM. В...
-
Параллельная виртуальная машина кластера кафедры АИС - Администрирование параллельных процессов
Так как в основе кластера АИС лежит параллельная система Beowulf, в качестве основы его вычислительной среды используем коммуникационную библиотеку PVM...
-
Распараллеливание процессов - Администрирование параллельных процессов
Старые линейные методы программирования не подходят для написания программ, эффективно использующих многопроцессорную технологию. Необходимо поменять...
-
Цели создания проекта - Администрирование параллельных процессов
Создание кластера для организации параллельных вычислений связано с развитием и внедрением таких суперсистем, использование которых позволит упростить...
-
Распределение задач между процессами - Администрирование параллельных процессов
Распределение подзадач между процессорами является завершающим этапом разработки параллельного метода. Надо отметить, что управление распределением...
-
Программное обеспечение кластера, Операционная система - Администрирование параллельных процессов
Операционная система При построении кластера для организации параллельных вычислений более рационально иcпользовать свободно распространяемую...
-
Взаимодействие задач с PVM - Администрирование параллельных процессов
В системе PVM каждая задача, запущенная на некотором процессоре, идентифицируется целым числом, которое называется идентификатором задачи (TID) и по...
-
Назначение вычислительного кластера - Администрирование параллельных процессов
Кластеры используются в вычислительных целях, в частности в научных исследованиях. Для вычислительных кластеров существенными показателями являются...
-
Существующие принципы администрирования Кластер -- группа компьютеров, объединенных высокоскоростными каналами связи, представляющая с точки зрения...
-
Разделение вычислений на независимые части - Администрирование параллельных процессов
Выбор способа разделения вычислений на независимые части основывается на анализе вычислительной схемы решения исходной задачи. Требования, которым должен...
-
Модели параллельных вычислений - Администрирование параллельных процессов
Параллельное программирование представляет дополнительные источники сложности необходимо явно управлять работой тысяч процессоров, координировать...
-
Постановка задачи - Администрирование параллельных процессов
В рамках дипломного проекта необходимо провести работы по администрированию кластера для организации параллельных вычислений. Работа заключается в том,...
-
ВВЕДЕНИЕ - Администрирование параллельных процессов
Последние годы во всем мире происходит бурное внедрение вычислительных кластеров - локальных сетей, с узлами из рабочих станций или персональных...
-
Масштабирование набора подзадач - Администрирование параллельных процессов
Масштабирование разработанной вычислительной схемы параллельных вычислений проводится в случае, если количество имеющихся подзадач отличается от числа...
-
Формы и характеристики параллелизма Параллелизм -- это возможность одновременного выполнения нескольких арифметико-логических или служебных операций. На...
-
Моделирование параллельных программ Рассмотренная схема проектирования и реализации параллельных вычислений дает способ понимания параллельных алгоритмов...
-
Архитектура кластера кафедры АИС За основу проектирования кластера взята высокопроизводительная сетевая система Beowulf. Такой кластер имеет гетерогенную...
-
Языки и методы параллельного программирования - Администрирование параллельных процессов
Применение параллельных архитектур повышает производительность при решении задач, явно сводимых к обработке векторов. Автоматическое распараллеливание...
-
Сеть кластера - Администрирование параллельных процессов
Основные типы локальных сетей, задействованные в рамках проекта Beowulf, - это Gigabit Ethernet, Fast Ethernet и 100-VG AnyLAN. В простейшем случае...
-
Процесс декомпозиции - Администрирование параллельных процессов
Распараллеливание программ сводится к процессу декомпозиции задачи на независимые процессы, которые не требуют последовательного исполнения и могут,...
-
ЗАКЛЮЧЕНИЕ - Администрирование параллельных процессов
В данной дипломной работе были рассмотрены вопросы, касающиеся разработки кластера для организации параллельных вычислений, а так же администрирование...
-
Узлы кластера - Администрирование параллельных процессов
Это или однопроцессорные ПК, или SMP-сервера с небольшим числом процессоров (2-4, возможно до 6). По некоторым причинам оптимальным считается построение...
-
Принципы построения кластера - Администрирование параллельных процессов
Архитектура вычислительных кластеров появилась как развитие принципов построения систем MPP (высокопроизводительных систем) на менее производительных и...
-
Анализ работы СЛАУ на кластере - Администрирование параллельных процессов
Системы линейных уравнений возникают при решении ряда прикладных задач, описываемых дифференциальными, интегральными или системами нелинейных...
-
Передача сообщений в PVM - Администрирование параллельных процессов
Посылка сообщений в PVM предназначена для передачи данных между различными процессам и состоит из трех шагов. 1. Первый шаг состоит в том, что буфер...
-
Вычислительные эксперименты для оценки эффективности параллельного варианта метода Гаусса для решения систем линейных уравнений проводились при следующих...
-
Принцип реализации СЛАУ на кластере - Администрирование параллельных процессов
Метод Гаусса - широко известный прямой алгоритм решения систем линейных уравнений, для которых матрицы коэффициентов являются плотными. Если система...
-
Коммуникационная библиотека MPI MPI это интерфейс прикладного программирования к библиотеке пересылки сообщений, содержащий в себе спецификации к...
-
Выделение информационных зависимостей - Администрирование параллельных процессов
При наличии вычислительной схемы решения задачи после выделения базовых подзадач определение информационных зависимостей между ними обычно не вызывает...
-
Для администрирования кластера кафедры АИС для организации параллельных процессов было выбрано следующее программное обеспечение. 1. Intel® cluster...
-
ПРОМЫШЛЕННАЯ ЭКОЛОГИЯ - Администрирование параллельных процессов
Источники электромагнитного излучения бывают естественные и искусственные. К естественным источникам относится магнитное поле Земли. Оно характеризуется...
-
Меры пожарной безопасности - Администрирование параллельных процессов
Пожар - это неконтролируемое во времени и пространстве горение, наносящие материальный ущерб и создание угрозу жизни людей. Понятие пожарная безопасность...
-
1. Установка роутера (маршрутизатора) - позволяет иметь доступ в Интернет каждому из компьютеров без включения в сеть второго. Поскольку Ip-адрес...
-
Аппаратный состав кластера Построение кластерной системы класса Beowulf реализуется на существующих рабочих станция при лаборатории Tempus DESAS кафедры...
-
ЭКОНОМИЧЕСКАЯ ЧАСТЬ - Администрирование параллельных процессов
Целью дипломного проектирования является администрирование кластера. В основе кластера лежит локальная вычислительная сеть, настроенная таким образом,...
-
Процессы и потоки - Разработка мобильного приложения расчета и учета оплаты коммунальных услуг
Когда хотя бы один из компонентов приложения (или все приложение) будет востребован, система Android запускает процесс, который содержит единственный...
-
Современные табличные процессоры имеют очень широкие функциональные и вспомогательные возможности, обеспечивающие удобную и эффективную работу...
Установка и администрирования PVM - Администрирование параллельных процессов