Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Сикопсис






# inc lude " pvm3. h»

int pvm_spawn(char *task, char **argv, int flag,

char *location, int ntask, int *taskids); int pvmJcill(int taskid); int pvm_exit(void);

intpvn_addhosts(char **hosts, int nhosts, int *status); int pvm_delhosts(char **hosts, int nhosts, int *status); int pvm_halt(void);

Параметр task содержит имя программы, которую должна выполнить функция pvm_spawn (). Поскольку про г рамма, которая запускается посредством функции pvm_spawn (), является автоно м ной, ей мо г ут потребоваться аргументы командной строки. Поэтомудля их передачи используется пара м етр argv. Параметр location позволяет указать, на каком компьютере должна быть выполнена задача. Пара м етр taskids содержит либо идентификаторы порождае м ых задач, либо коды состояния, представляю щ ие любые ситуации сбоя, которые м огут возникнуть во вре м я порождения процесса. Параметр ntasks определяет, сколько экзе м п л яров задачи требуется создать. Функция pvm_kill() испо л ьзуется д л я анну л ирования задачи, указанной спо м о щ ью параметра taskid. С помо щ ью этой функции можно ан н у л ировать л юбую задачу, определенную пользователем в среде PVM, за иск л ючением вызываю щ ей. Эта функция отправляет си г нал SIGTERM PVM-задаче, по д лежа щ ей уничтожению. Функция pvm_exit () используетс я д л я выхо д а вызываю щ ей задачи из сре д ы PVM. Несмотр я на возможность выво д а за д ачи из сре д ы PVM, процесс, которому прина д лежит эта за д ача, может про д олжать выполнение. Слелует иметь в виду, что задача, выполн я ю щ ал вызовы РУМ^> ункций, может выполн я ть и д ру г ую работу, которая не св я зана со средой PVM. Функцию pvm_exit () должна вызывать Любая задача, которая больше не имеет отношения к специфике PVM-обработки. Функция pvm_addhosts () позволяет динамически вносить допол н ительные компьютеры в среду PVM. Обычно при вызове функции pvm_addhosts () передается список имен добавляемых компьютеров, например: int Status [3];

char *Hosts[ ] = {«porthos», «dartagnan», «athos»}; pvm_addhosts («porthose», l, & Status);

//...

pvm_addhosts (Hosts, 3, Status);

Параметр Hosts обычно содержит имена компьютеров (одно или несколько), перечисленных в файле .rhosts или .xpvm_hosts. Пара м етр nhost содержит количество компьютеров, подлежа щ их добавлению в среду PVM, а пара м етр status — значение, равное значению пара м етра nhosts при успешно м выполнении функции pvm_addhosts (). Ec*m при ее вызове не удалось добавить ни одно г о ко м пьютера, значение, возвра щ ае м ое функцией, будет м еньше числа 1. Если выполнение этой функции было лишь частично успешным, значение, возвра щ аемое функцией, будет равно количеству реально добавленных компьютеров. Функция pvm_delhosts () позволяет дина м ически извлечь из среды PVM один или несколько заданных ко м пьютеров. Пара м етр hosts содержит их список, а параметр nhosts — количество выводимых компьютеров, например: pvm _delhosts («dartagnan», 1);

При выполнении этой функции компьютер с именем dartagnan будет извлечен из среды PVM. Функции pvm_addhosts () и pvm_delhosts () можно вызывать во время выполнения приложения. Это позволяет программисту динамически изменять размеры среды PVM. Любая PVM-задача, выполняемал на компьютере, который удаляется из PVM-среды, будет аннулирована. Демоны, выполняю щ иеся на удаляемых компьютерах (pvmd), будут остановлены. В случае возникновения аварийной ситуации на каком-либо компьютере PVM-среда автоматически удалит е г о. Значения, возвра щ аемые функцией pvm_delhosts, совпадают со значениями, возвра щ аемыми функцией pvm_addhosts (). Функция pvm_halt () прекра щ ает работу всей системы PVM. При этом все задачи и демоны (pvmd) останавливаются.

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.