병렬 프로그래밍에 대해서는 간간히 예제나 보는 수준이었는데 세미나 보면서 몇 가지 생각이 들었습니다.
앞으로의 프로그래밍 흐름의 대세 일 수 밖에 없다.
실제 CPU가 코어 증가 방향으로 진화?해 갈테니 당연한 일이겠지요.
병렬 관련 라이브러리는 인텔이 최고다.
인텔 세미나이니 그려려니 했지만 실제 슈퍼 컴터 적용 사레에서 어느정도 검증? 되었다니 써보지 않은 저로서는
믿을 수 밖에 없었습니다. 물론 컴파일러도 최고다 ㅎㅎ
하지만... 또 하나 중요한 점은
잘 쓰면 약이지만 잘 못 쓰면 오버헤드만 증가... 혹은 성능 저하?도 가져옵니다.
작은(?) 수준의 연산은 병렬로 나누는게 당연 더 부하가 크겠지요.
그 외에도 reduce 관련 라이브러리도 재밌게 봤습니다. 나름 병렬 프로그래밍을 잘 활용하기 위해 인텔 개발자들
만드느라 고생 많았을듯 합니다.
테스트 하려면 일단 /mp 컴파일러 옵션이 지원되는 컴파일러가 있어야 합니다.
세미나 예제는 물론 VC++이었습니다.
또한 TBB 기반이 함수 오브젝트이기 때문에 C++만 지원 됩니다.
(클래스가 되면 다 될듯하니 당연 델파이도 병렬 지원만 되면 가능할 것입니다. 언른 델파이 UI에 붙었으면 합니다. ㅎㅎ)
아직은 개발자들에게 도입되는 시기이므로 기존 프로젝트에 무조건 도입하는것 보다는 병렬 프로그래밍 관점을
미리 학습하는 정도가 적당 할 것 같습니다.
영상처리, 게임, 대용량 데이타 처리(DB, 사운드 등) 등에서 시도되고 있는듯 합니다.
순차처리 로직이 너무 많은데 각각의 처리가 독립적이라면 병렬 프로그래밍을 도입해볼 이유가 되리라 생각됩니다.
그렇지 않다면...
어느정도 성능 향상은 있지만 엄청난 향상은 개발 비용대비 크지 않으리라 생각됩니다.
(그래도 대세는 대세이니... ㅎㅎ)
끝으로...
쓰레드 프로그래밍의 시대도 이제 한 물 가는가 봅니다... (물론 중요한 프로그래밍 방법이지만... ㅎㅎ)
|