C/++의 읽기 전용 공유 메모리에 입력 그래프가있는 그래프 알고리즘 (LIB)

StackOverflow https://stackoverflow.com/questions/2404880

문제

이 그래프에서 다양한 그래프 알고리즘을 실행하는 다른 프로세스에 대한 공유 메모리를 통해 관리자 프로세스 공유 그래프를 관리하고 싶습니다. 문제를 연구하는 동안 몇 가지 질문이 생겼습니다.

  • 읽기 전용 SHM에서 (아마도 자체) 그래프 구조에서 작동 할 수있는 그래프 라이브러리가 있습니까? 즉, 알고리즘에는 로컬 프로세스 메모리에 작업 공간 및 결과 버퍼가 있어야하며 그래프 구조에 선언 된 버퍼를 사용하지 않아야합니다.

  • 내가 아는 두 개의 libs는 유명합니다 이그랩 그리고 후원. 나는 전자의 C 인터페이스에 대해 많이 모르고 아직 부스트를 사용하지 않았습니다. 주제에 대한 경험 (SHM 호환성)이 있습니까?

  • 부스트 문서를 살펴보면 SHM 지원이 장착 된 Boost.interprocess 패키지가 있음을 알 수 있습니다.

    • 처음에는 mmapped shm (Linux 플랫폼)과 함께 수동으로 제작 된 SHM을 사용하는 것에 대해 생각했습니다. 부스트가 우수 하고이 방법보다 권장됩니까?
    • 부스트 그래프 라이브러리가 수동 SHM 또는 Interprocess와 함께 훌륭하게 재생됩니까?

이러한 질문에 대한 통찰력 외에도 그래프 처리 및 공유 메모리에 관한 귀하의 경험에 대해 읽어 드리겠습니다. 감사!

도움이 되었습니까?

해결책

Boost Graph 라이브러리에서 다양한 그래프 유형은 개념 일뿐입니다. http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/graph_concepts.html ).

자신의 그래프 구조를 구현하고 필요한 개념을 준수하고 자신의 데이터에 BGL 알고리즘을 적용 할 수 있어야합니다 (또는 공유 데이터를 Edge_list 클래스에 래핑 할 수 있습니다. http://www.boost.org/doc/libs/1_42_0/libs/graph/doc/edge_list.html ).

공유 메모리를보고 있으므로 병렬 BGL에도 관심이있을 수 있습니다 ( http://www.boost.org/doc/libs/1_42_0/libs/graph_parallel/doc/html/index.html )

HTH

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top