Среда для моделирования классической модели распределенных вычислений на одной машине
Я ищу инструмент для моделирования классической модели распределенных вычислений на одной машине для реализации нескольких алгоритмов в целях работы, над которой я работаю. Таким образом, производительность не так важна, она только для научных приложений.
Я хочу иметь возможность указать количество процессов и каналов связи между ними. Другими словами, я хочу определить структуру сетевого графа.
Вычисления должны быть асинхронными и управляемыми сообщениями, т.е. я хочу отправлять сообщения между подключенными процессами и реагировать на эти сообщения.
Есть ли библиотека или фреймворк для таких вычислений? Проще лучше. Язык не имеет большого значения, но я бы предпочел Python или C++. Я посмотрел на Celery, но не нашел там возможности указать связь между процессами.
2 ответа
Очень просто - удаленные объекты Python - Pyro будет работать на одной машине или на нескольких по сети.
Вы также можете придерживаться многопроцессорных примитивов Python, которые позволяют создавать процессы, которые взаимодействуют через очереди, разделяемую память и т. Д. Намного проще, чем кажется;)
Смотрите: http://docs.python.org/3/library/multiprocessing.html