Камерон Хьюз - Параллельное и распределенное программирование на С++

Здесь есть возможность читать онлайн «Камерон Хьюз - Параллельное и распределенное программирование на С++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: МоскваСанкт-ПетербургКиев, Год выпуска: 2004, ISBN: 2004, Издательство: Издательский дом «Вильямс», Жанр: Программирование, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

Параллельное и распределенное программирование на С++: краткое содержание, описание и аннотация

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Параллельное и распределенное программирование на С++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

В книге представлен архитектурный подход к распределенному и параллельному программированию с использованием языка С++. Здесь описаны простые методы программирования параллельных виртуальных машин и основы разработки кластерных приложений. Эта книга не только научит писать программные компоненты, предназначенные для совместной работы в сетевой среде, но и послужит надежным «путеводителем» по стандартам для программистов, которые занимаются многозадачными и многопоточными приложениями. Многолетний опыт работы привел авторов книги к использованию агентно-ориентированной архитектуры, а для минимизации затрат на обеспечение связей между объектами системы они предлагают применить методологию «классной доски».
Эта книга адресована программистам, проектировщикам и разработчикам программных продуктов, а также научным работникам, преподавателям и студентам, которых интересует введение в параллельное и распределенное программирование с использованием языка С++.

Параллельное и распределенное программирование на С++ — читать онлайн бесплатно полную книгу (весь текст) целиком

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Параллельное и распределенное программирование на С++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

• управление буфером сооб щ ений.

Несмотря на су щ ествование дру г их кате г орий РУМч^ункций (например, инфор м ационные и сервисные функции или функции групповой обработки), реко м енлуе м обратить внимание на функции обработки сооб щ ений и функции управления процессами. Дру г ие же функции булут расс м отрены в контексте програ мм, в которых они используются.

Рис.6.6. Базовая архи т ек т ура PVM-среды

Функции управления процессами

Библиотека PVM содержит шесть часто используе м ых функций.

Функция pvm_spawn () используется для создания новых PVM-задач. При вызове этой функции м ожно указать количество создавае м ых задач, м есто их создания и аргу м енты, передавае м ые каждой задаче, напри м ер:

pvm_spawn(«agent_filters'\argv++,l,«host 3»,30,&Task3);

6.3. Базовые меха н измы PVM 235

Сикопсис

# 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, за иск л ючением вызываю щ ей. Эта функция отправляет си г нал SIGTERMPVM-задаче, по д лежа щ ей уничтожению. Функция 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) останавливаются.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Похожие книги на «Параллельное и распределенное программирование на С++»

Представляем Вашему вниманию похожие книги на «Параллельное и распределенное программирование на С++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


Отзывы о книге «Параллельное и распределенное программирование на С++»

Обсуждение, отзывы о книге «Параллельное и распределенное программирование на С++» и просто собственные мнения читателей. Оставьте ваши комментарии, напишите, что Вы думаете о произведении, его смысле или главных героях. Укажите что конкретно понравилось, а что нет, и почему Вы так считаете.

x