책 이미지
책 정보
· 분류 : 국내도서 > 컴퓨터/모바일 > 프로그래밍 언어 > C++
· ISBN : 9788979149289
· 쪽수 : 512쪽
책 소개
목차
01장 하드웨어, 프로세스, 스레드
__1.1 컴퓨터 내부 살펴보기
__1.2 멀티코어 프로세서의 도입
__1.3 멀티 프로세서 시스템의 특징
__1.4 소스 코드 -> 어셈블리 언어로의 변환
__1.5 요약
02장 성능 최적화를 고려한 코딩
__2.1 성능 지표의 정의
__2.2 알고리즘 복잡도의 이해
__2.3 애플리케이션의 구조화 방식에 따른 성능 변화
__2.4 컴파일러의 역할
__2.5 프로파일링을 이용한 병목 지점 분석
__2.6 잘못된 최적화 방법
__2.7 요약
03장 병렬화 가능한 코드의 탐색
__3.1 멀티 프로세스를 이용한 시스템 생산성 향상
__3.2 한 개의 시스템을 공유하는 멀티 유저
__3.3 통합을 통한 시스템 효율성 증대
__3.4 병렬화를 통한 싱글 태스크의 성능 개선
__3.5 병렬화 패턴
__3.6 병렬 코드의 실행에 코드 간 종속성이 미치는 영향
__3.7 병렬화 기회의 탐색
__3.8 요약
04장 동기화와 데이터 공유
__4.1 데이터 레이스
__4.2 동기화 장치
__4.3 데드락과 라이브락
__4.4 스레드, 프로세스 간 통신
__4.5 스레드 전용 데이터
__4.6 요약
05장 POSIX 스레드의 이용
__5.1 스레드의 생성
__5.2 멀티 스레드 코드 컴파일하기
__5.3 프로세스의 종료
__5.4 스레드 간의 데이터 공유
__5.5 변수와 메모리
__5.6 멀티 프로세스 프로그래밍
__5.7 소켓의 이용
__5.8 재진입 가능한 코드와 컴파일러 플래그
__5.9 요약
06장 윈도 운영체제에서의 스레드 사용
__6.1 네이티브 윈도 스레드 생성
__6.2 리소스 공유 및 동기화를 위한 도구
__6.3 윈도에서의 와이드 문자열 처리
__6.4 프로세스의 생성
__6.5 아토믹한 변수 조작
__6.6 스레드 로컬 저장소의 이용
__6.7 스레드 실행 우선순위 설정
__6.8 요약
07장 OpenMP를 이용한 자동화된 병렬화
__7.1 자동 병렬화를 통한 병렬 애플리케이션 생성
__7.2 OpenMP를 이용한 병렬 애플리케이션 개발
__7.3 병렬 코드 영역의 실행 순서 강제
__7.4 작업 부하 배분을 위한 루프 해제
__7.5 메모리 일관성 유지
__7.6 병렬화 예제
__7.7 요약
08장 동기화 장치와 데이터 공유의 직접 구현
__8.1 아토믹 작업
__8.2 운영체제에서 지원되는 아토믹 함수
__8.3 락 없는 알고리즘
__8.4 요약
09장 멀티코어 프로세서와 스레드 스케일링
__9.1 애플리케이션 스레드 스케일링의 제약 조건
__9.2 스레드 스케일링의 하드웨어 제약 사항
__9.3 운영체제의 의한 스레드 스케일링 제약
__9.4 멀티코어 프로세서의 스레드 스케일링
__9.5 요약
10장 다른 병렬화 기술
__10.1 GPU 기반 컴퓨팅
__10.2 프로그래밍 언어 확장
__10.3 병렬화를 위한 대체 언어
__10.4 클러스터링 기술
__10.5 트랜잭셔널 메모리
__10.6 벡터화
__10.7 요약
11장 정리
__11.1 병렬 애플리케이션의 개발
__11.2 멀티코어 프로세서에서의 병렬 코드
__11.3 병렬화의 미래