Добрый день, могучий MoscowPM

Опять про параллельную обработку.

Хочется написать вот такую схему обработки ввода:
master создаёт work'ов,
читает порции из файла, раздаёт порции worker'ам
ждёт, пока worker обработает, получает ответ worker'a
пишет результат в файл.
Так же мастер буфереизует вывод, чтобы выход писался в правильном порядке.

Самое туманное:
Как передавать данные от мастера к worker'у и Обратно?!!!!
Как ждать готовности?!!!
Должна ли такая схема (работа с диском из одного места) дать ускорение по
сравнению с чтением/записью файла в каждом worker'е?

смотрел на Coro, увидел Coro::Simaphore, Coro::Signal ... но не пойму:
  как сделать разделяемую память, (как быстро передавать данные между
мастером и worker'ом внутри Perl)?
  как сделать неблокирующее ожидание готовности одного из worker'ов (при
котором можно заниматься вводом-выводом)?

Подскажите, на чём и как такое писать!!
Спасибо!

Уважение
Иван Харпалев
-- 
Moscow.pm mailing list
[email protected] | http://moscow.pm.org

Ответить