안녕하세요.
자바 개발자 입니다.
우연치 않게 책을 구매하게 되어 읽어 봤는데요.
정말 읽기 쉽고, 이해가 잘 가게 쓰여진 책이네요.
이 책의 내용이 전부 일수는 없겠지만
시작을 한다면 정말 많은 도움이 되는 내용이라고 느껴집니다.
병렬 프로그래밍에 대해서 크게 배우고 갑니다.
감사합니다~
PPL로 병렬 프로그래밍을 손쉽게 구현해보자!
CPU가 멀티 코어로 진화하면서, CPU 리소스를 적극적으로 활용하여 성능을 최대한 향상하기 위한 병렬 프로그래밍이 이슈가 되고 있다. 현재 프로그램 대부분이 순차처리를 하고 있는데, 이러한 방식은 멀티 코어의 장점을 제대로 살리지 못한다. 최근 다양한 분야에서 대용량 데이터 처리 작업 및 복잡도가 높은 연산 처리 작업이 증가하는 추세이므로, 점점 더 병렬 프로그래밍이 필요하게 될 것이다.
병렬 프로그래밍이 유용할 것이라는 인식은 있지만, 기존의 개발 언어로는 병렬 프로그래밍하는 게 어려워서 병렬 프로그래밍에 접근하지 못하였다. 이런 문제를 덜어주기 위해 Visaul C++에서 Parallel Patterns Library(PPL) 제공하는 데, 이를 이용하면 손쉽게 병렬 프로그램을 구현할 수 있다.
이 책은 다양한 예제를 통해 PPL을 소개하고 그 사용 방법을 알려준다. 내용의 신뢰성을 높이고자 MSDN을 참고하였으며, 다양한 예제와 그림으로 병렬 프로그래밍을 쉽게 설명하였다.
대상 독자
C++로 병렬 프로그래밍을 시작하는 개발자를 위한 바른 가이드
병렬 프로그래밍이 좋다는 것은 알고 있지만, 알아야 할 지식이 방대하고 고려해야 할 사항이 너무 많아서 이를 시작하고 구현하는 것은 힘들고 어려운 일이다. 이 책은 C++로 병렬 프로그래밍을 시작하는 개발자를 위한 '바른 가이드'다. 다양한 예제를 통해서 PPL이 무엇이며, 어떻게 사용해야 하는지 제대로 알려준다. 이 책에 있는 예제를 하나하나 따라 하다 보면 PPL을 이용하여 어떻게 병렬 프로그래밍을 하는지, 병렬 프로그래밍할 때 어떤 점을 주의해야 하는지 알게 될 것이다.
INTRO
멀티 코어 시대, 병렬 프로그래밍합시다
병렬 프로그래밍 도구
동시성 런타임
시작하기 전에
1장. PPL 시작하기
1.1 문제를 태스크로 분리하자
1.2 태스크 그룹을 이용하여 태스크를 병렬 처리하자
2장. 병렬 알고리즘
2.1 병렬 실행 알고리즘
2.2 반복 알고리즘
2.3 변형 및 수치 알고리즘
2.4 정렬 알고리즘
3장. 병렬 컨테이너와 오브젝트
3.1 병렬 오브젝트
3.2 시퀀스 컨테이너와 컨테이너 어댑터
3.3 연관 컨테이너
4장. 의존성을 가지는 태스크 집합 구성
4.1 task 클래스
4.2 태스크 연결
4.3 태스크 집합의 Join과 Select
4.4 람다 표현식 사용 시 주의사항
5장. 병렬 작업의 취소
5.1 태스크 그룹 취소
5.2 병렬 알고리즘 취소
5.3 task 클래스 취소
6장. PPL 활용 및 주의사항
6.1 작업의 크기가 작은 루프는 병렬 처리하지 말자
6.2 병렬 루프 안에서 작업이 자주 블로킹되지 않게 하자
6.3 병렬 루프 안에서는 공유 데이터 쓰기 작업을 수행하지 말자
6.4 태스크에서 참조하는 변수의 수명을 태스크가 종료될 때까지 유지하자
6.5 취소 메커니즘 또는 예외 처리 방식을 통해 병렬 루프를 탈출하자
6.6 병렬화 수준을 최대한 끌어올리자
6.7 parallel_invoke 함수를 활용하여 분할 정복 알고리즘을 구현하자
6.8 취소 및 예외 처리가 객체 소멸에 미치는 영향을 이해하자
6.9 병렬 작업이 취소 조건에 도달하면 즉시 취소하자
6.10 가능한 한 거짓 공유 문제를 피해 가자
참고 문헌
자료명 | 등록일 | 다운로드 |
---|---|---|
예제소스 | 2021-09-27 | 다운로드 |
리얼타임 eBook 안내
PDF 형식으로 제공되며, 다운로드한 eBook은 PDF 포맷을 지원하는 디바이스 또는 프로그램에서 제한없이 열람할 수 있습니다. 또한 eBook 내의 텍스트 검색 및 인쇄도 가능합니다.