나에게 필요한 지식과 기술을 검색해 보세요.

성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍

지은이

대릴 고브

옮긴이

권오인

출간일

2012.06.28

레벨

중고급

평점

4.3(3명)

정가

34,000

판매가

30,600

총 결제 금액

10%

30,600

적립 예정

1,530P

쪽수

512P

ISBN

9788979149289

브랜드

한빛미디어
고성능 멀티코어 애플리케이션 개발을 위한 가이드

프로세서의 성능을 100% 끌어내려면 멀티코어를 다룰 줄 알아야 한다. 멀티코어를 길들일 수 있어야 고성능이면서도 코어의 개수가 늘어남에 따라 성능도 향상되는 애플리케이션을 작성할 수 있다.

멀티코어 애플리케이션 작성은 일반 애플리케이션 작성보다 어려우며, 숨겨져 있는 함정도 많다. 솔라리스 스튜디오 컴파일러 팀의 선임 엔지니어인 저자는 실용적인 예제를 통해 멀티코어 프로세서를 100% 활용할 수 있는 애플리케이션을 작성하는 방법을 설명한다. 또한, 멀티코어에서 올바르게 동작하는 애플리케이션을 작성해서 8코어, 16코어, 그 이상의 코어에 대해서도 올바르게 동작함을 보장하는 데 도움이 되는 지침을 제공한다.

하드웨어 구현이 애플리케이션 성능에 어떻게 영향을 주는지, 일반적인 함정을 피하는 방법을 보여주고, 단계별로 예제를 따라 하면서 수많은 병렬 스레드를 다루는 방법, 고급 병렬 기법을 다루는 방법을 설명한다.
  • 병렬화 가능한 코드 알아내기
  • 병렬화 패턴
  • 멀티 프로세스 프로그래밍
  • POSIX, 윈도 스레드를 사용한 응용 프로그램 작성
  • OpenMP를 이용한 자동화된 병렬화
  • 동기화 장치와 데이터 공유의 직접 구현
  • 락 없는 알고리즘
  • 멀티코어 프로세서와 스레드 스케일링

저자

목차

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  병렬화의 미래

리뷰

전체 평점

4.3

오탈자

등록된 오탈자가 없어요

오탈자를 발견하셨다면 작성해주세요.

34,000

10%

30,600