[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Межпроцессорное взаимодействие, event-driven?



Доброго времени суток господа!
Прошу прощения, я определённо пишу не в тот список рассылки, но если вдруг среди Вас есть специалисты по разработке ПО для unix-like систем, буду очень благодарен им за помощь. Если вы знаете списки рассылки в которых обсуждаются подобные вопросы, пожалуйста сообщите, чтобы не оффтопить в этот канал.

Занимаясь оптимизацией вычислений на 4х ядерном процессоре, невольно начинаешь задумываться, а как бы использовать все ядрышки по максимуму. Но здесь есть множество сложностей, первой из них безусловно является необходимость реализации меж процессорного взаимодействия(т.к. у каждого процесса будет своя память, а задание общее). Задавшись таким вопросом, я полез читать документацию, и конечно-же обнаружил множество способов как переписать свою программу, для работы с несколькими ядрами:
1. Общение через общую память(shared memory)
2. Общение через сокеты(или пайпы, которые в использовании мало чем отличаются) 3. Создание очереди сообщений (системные вызовы msgsnd,msgctl,msgget,msgrcv в linux), если я правильно понял man'ы. Мне доводилось использовать только пункты 1 и 2. Я не совсем понимаю как использовать 3. И кроме того, нет ли в linux, или в любом другом хорошем месте, реализаций событийно-ориентированного взаимодействия между процессами? То есть именно на уровне ядра, а не обёртки для конкретного языка над вышеперечисленными возможностями. Может быть я конечно глупости говорю, в таком случае поправьте меня пожалуйста. Спасибо за помощь!


Reply to: