Я бы хотел, чтобы у менеджера был общий доступ к графикам через общую память, доступный только для чтения, для других процессов, которые будут запускать на них различные алгоритмы. Я хотел бы задать несколько вопросов, возникших при исследовании проблемы:
Существуют ли какие-либо библиотеки графов, которые могут работать (возможно, со своими) структурами графов в режиме только для чтения? То есть алгоритмы должны иметь свое рабочее пространство и буферы результатов в локальной памяти процесса и не использовать никаких буферов, объявленных в структуре графа.
Известны две известные мне библиотеки: igraph и Boost . Я не знаю много о интерфейсе C первого и еще не использовал Boost. Есть опыт в теме (по поводу совместимости с шм)?
При просмотре документов Boost я вижу, что есть пакет Boost.Interprocess с поддержкой shm.
- Сначала я подумал об использовании вручную созданного shm с mmapped shm (платформа Linux). Boost лучше и рекомендуется по этому методу?
- Играет ли библиотека Boost Graph вместе с ручным shm или Interprocess?
Помимо понимания этих вопросов, я был бы рад прочитать о вашем опыте обработки графиков и общей памяти. Спасибо!