URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 3566
[ Назад ]

Исходное сообщение
"подключение плагина"

Отправлено ghost , 07-Ноя-04 18:38 
Hi All!
Подскажите чайнику, как на С создать второй процесс, работающий с теми же полями данных, что и первый. У меня есть база, к которой подключается вычислительный плагин. Он берет информацию с одних полей и заполняет другие. Я хочу спросить у профессионалов:
1. Можно ли организовать каким-то образом одновременную работу нескольких плагинов, и какие требования к базе (ее структуре) для такой задачи.  
2. Как должна выглядеть функция main для случая, когда программа не работает сама по себе, а подключается  к другой программе?
3. Как вызвать плагин из основной программы?

Я еще до конца не определился писать ли одну цельную программу или разбить ее на набор плагинов и платформу для их подключения. Я надеюсь исспользовать даную разработку на кластере т.к. вычисления очень интенсивны, и масштабируемость решения с независимыми модулями выглядит более привлекательной. Интересно также поэкспериментировать.

P.S. Я читал fork и wait, но понял только общие вещи.
P.P.S. Для всех плагинов скорость является важнейшим параметром.


Содержание

Сообщения в этом обсуждении
"подключение плагина"
Отправлено hatta , 08-Ноя-04 14:30 
Вообще непонятно, что вы хотели спросить! Если необходимо организовать *разным* процессам доступ к общим данным в памяти, то можно воспользоваться
т.н. SysV shared memory, т.е. разделяемая память. Подробнее об этом написано в ipc(5), shmget(2). Надо просто эту вашу базу разместить в разделяемом сегменте памяти и тогда независимые процессы-плагины получат к ней доступ.

Если же вы хотите сделать параллельную обработку на кластере, то разделяемая память System V доступна и в этом случае.
вот линки:
http://www.parallel.ru - сайт НИВЦ МГУ
http://www.mpi-forum.org/ - сайт MPI, интерфейса коммуникаций в кластере


"подключение плагина"
Отправлено ghost , 08-Ноя-04 20:49 
Спасибо hatta.
Я пока еще не до конца сориентировался в подходах к решению своей задачи, и Ваши ссылки очень мне помогли (по крайней мере то, что я уже прочитал).