2012-03-06 3 views
5

데이터 청크를 처리하는 알고리즘 체인으로 구성된 데이터 처리 모델이 있습니다. 각 체인은 TBB 그래프 클래스로 구현 한 알고리즘 그래프입니다.인텔 TBB : 그래프 풀

이제 그래프 풀 (pool of tasks), 즉 풀 풀 (pool of tasks)을 갖고 싶습니다. 각 풀에는 tbb :: 그래프가 포함되어 있습니다. 이 방법으로 데이터 체인을 통해 알고리즘 체인을 병렬로 실행할 수 있습니다.

"풀 그래프"와 비슷한 TBB 예제를 지적 해 주시겠습니까? 아니면 구현을 제안하고 암시 할 수 있습니까?

답변

1

제 생각에는 tbb :: concurrent_queue 또는 tbb :: concurrent_vector를 사용하는 것이 좋습니다. 장점은 다중 액세스 중에 크기를 조정할 수 있다는 것입니다. 내 개인적인 힌트, 자물쇠/그래프 개체를 만들 수 있도록 병렬로 개체를 수정하지 마십시오.

http://threadingbuildingblocks.org/wiki/index.php?title=Concurrent_Vector

큐의 예는 여기에서 찾을 수 있습니다 : https://sites.google.com/site/samplecodesproject/tbb/containers-3/concurrent_queue

0

나는 완전히 당신이 달성하려고 정확히 이해하지만의 시도하자 모르겠어요 :). 처리를 위해 새로운 데이터 청크를 흐름 그래프에 던지기위한 적절한 source_node (https://www.threadingbuildingblocks.org/docs/help/reference/flow_graph/source_node_cls.htm) 만 필요합니다. 흐름 그래프 인스턴스는 약간 다른 방식으로 작성된 알고리즘 (예 : tbb :: parallel_pipeline)으로 처리 될 수 있습니다. 목록 또는 벡터와 같은 데이터 구조로 취급해서는 안됩니다. 따라서 그래프 풀이 필요하지 않을 가능성이 높습니다.