목록TBB (2)
no swim no life
분해(Decomposition) - 문제를 Task들로 분해 한다. 시작은 어디에 병렬성이 있는지 찾아보는 것이다. 모든 것은 경우에 따라 다르다. 조정(Scaling) - Task 관리에 대한 부담을 최소화하고, 프로세서들이 모두 가동되도록 한다. 스레드(Threads) - 스레드와 프로세스 사이의 가장 중요한 차이점은 프로세스 안에 있는 스레드들은 그 프로세스에 대한 모든 데이터를 공유한다는 것이다. - C++ 라이브러리에 있는 C 상속 함수 중에 asctime, ctime, gmtime, localtime, rand, strtok와 같음 함수들은 호출 사이에 내부 상태를 보유한다. 이들을 사용할 땐 스레드 안정성이 있는 버전을 확인하길 바란다. STL의 컨테이너 클래스는 일반적으로 스레드 안정성이 ..
다음 링크를 통해 TBB 설치를 위한 메뉴얼 팩과 Stable release를 얻을 수 있다. ref: http://www.threadingbuildingblocks.org/ 책은 다음과 같이 TBB를 소개하고 있다. TBB는 조정성(확장&축소)이 있는 데이터 병렬 프로그래밍을 지향한다. 원초적 쓰레드(Posix thread)와 MPI(Message Passing Interface)는 가장 낮은 수준에서 병렬처리를 구현한다. 따라서 높은 유연성을 주지만, 프로그래머의 노려그 디버깅 시간 및 유지보수 면에서 많은 비용이 필요하다. TBB를 이용하여 논리적 쓰레드 대신 태스크를 사용할 경우의 또 다른 이점은 태스크가 훨씬 가볍다는 점이다. 태스크를 시작하고 종료시키는 시간은 쓰레드의 그것보다 리눅스 시스템에..