이미지 검색을 사용해 보세요
검색창 이전화면 이전화면
최근 검색어
인기 검색어

소득공제
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
베스트
IT 모바일 top100 5주
가격
34,000
10 30,600
YES포인트?
1,700원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

이미 소장하고 있다면 판매해 보세요.

  •  해외배송 가능?
  •  문화비소득공제 가능

책소개

목차

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

저자 소개

저자 : 대릴 고브
대릴 고브(Darryl Gove)는 오라클의 수석 소프트웨어 엔지니어로 일하고 있으며 애플리케이션 및 벤치마크의 성능 분석과 최적화를 연구하고 있다. 그는 『Solaris Application Programming』(Prentice Hall, 2008)을 집필하였으며, 『OpenSPARC Internals』(Lulu.com, 2008)의 공동 저자로 참여했다. 또한, 집필 도서 및 연구 분야와 관련하여 현재 개인 블로그(www.darrylgove.com)를 운영 중이다.
역자 : 권오인
.펌웨어, OS, 드라이버에서부터 미들웨어, 앱, 웹을 아우르는 수직 최적화에 관심이 많으며 새로운 개발 환경을 배우길 좋아한다. 프리랜서, 창업, 벤처, 통신사 등을 거쳐 현재 대형 제조사에서 시스템 소프트웨어 개발 업무를 담당하고 있다.

품목정보

발행일
2012년 07월 02일
쪽수, 무게, 크기
512쪽 | 918g | 188*254*35mm
ISBN13
9788979149289

책 속으로

스레드, 뮤텍스, 락… 프로그래밍 분야에서 일한 지 십 년이 넘었지만 병렬 프로그래밍은 여전히 까다롭고 어렵습니다. 자칫하면 데드락에 빠지거나 의도한대로 동작하지 않는데, 문제를 발견하는 것도 어렵고 발견하더라도 해결책이 쉽게 나오지 않을 때가 많습니다.
병렬 프로그래밍을 처음 접할 때는 단순히 스레드 라이브러리를 사용하는 것 정도로 대수롭지 않게 생각하기 쉽지만, 아주 근원적인 차이가 있습니다. 비유를 하자면 사람 한 명이 자기 할 일을 계획하는 것과 수 명 이상의 팀원으로 할 일을 계획하는 것의 차이입니다. 혼자 하는 일이야 내가 모든 걸 꽉 쥐고 있고, 내가 나를 잘 아니 내 일정만 챙기면 되지만, 여러 사람이 팀워크를 발휘하게 하려면 각 팀원의 성향은 물론 누가 누구와 장단이 맞는지도 알아야 하고 일들이 서로 원활하게 연계될 수 있게 팀원별 역할과 일정을 세심하게 계획해야 합니다. 선형 프로그래밍과 병렬 프로그래밍은 딱 이 정도의 차이가 있습니다.
저를 포함해서 주변의 여러 개발자가 "어디 속 시원하게 알려주는 자료가 없나?" 찾아보았지만 단편적인 API 사용법 설명에서 크게 벗어나지 않는 자료가 대부분이었습니다. 병렬 프로그래밍을 제대로 하려면 광범위하면서도 심도 있는 지식이 필요합니다. 저수준 하드웨어에서 스레드를 어떻게 지원하는지, 메모리 접근이 어떤 영향을 미치는지도 알아야 하고, 고수준의 병렬 작업 설계 방법도 알아야 합니다. CPU 인스트럭션에서부터 소프트웨어 아키텍처까지 전체 스택에 대한 지식이 필요한데, 적합한 교과 과정을 거칠 기회가 없었거나 실무에 바쁜 개발자가 스스로 공부하기는 참으로 어려운 일입니다.
이 책은 그러한 점에서 유일무이합니다. 오라클의 베테랑 개발자인 저자는 아주 광범위한 내용을 일맥상통하는 줄거리로 차근차근 설명해주고 있습니다. 병렬 소프트웨어가 있을 수 있는 하드웨어 기반이 무엇이고 그 특성이 어떠한지부터 시작해서 병렬 소프트웨어를 설계하고 구현 방법과 그때 빠지기 쉬운 함정까지 다루고 있습니다.
꼭 병렬 프로그래밍을 하고자 하는 개발자가 아니더라도 이 책을 통해 컴퓨팅 시스템 전반에 대한 이해를 한 단계 크게 발전시킬 수 있으리라 생각합니다. _2012. 6. 30 권오인

---옮긴이 서문 중에서

출판사 리뷰

이 책이 제시하는 핵심 내용
한 권으로 배우는 멀티코어 애플리케이션 프로그래밍

어떤 독자를 위한 책인가?
? C/C++ 중급 개발자 및 서버 프로그래머
? 플랫폼에 상관없이 멀티코어 애플리케이션 프로그래밍을 익히고자 하는 독자

도서 특징(책 표지 글)
고성능 멀티코어 애플리케이션 개발을 위한 가이드

프로세서의 성능을 100% 끌어내려면 멀티코어를 다룰 줄 알아야 한다. 멀티코어를 길들일 수 있어야 고성능이면서도 코어의 개수가 늘어남에 따라 성능도 향상되는 애플리케이션을 작성할 수 있다.
멀티코어 애플리케이션 작성은 일반 애플리케이션 작성보다 어려우며, 숨겨져 있는 함정도 많다. 솔라리스 스튜디오 컴파일러 팀의 선임 엔지니어인 저자는 실용적인 예제를 통해 멀티코어 프로세서를 100% 활용할 수 있는 애플리케이션을 작성하는 방법을 설명한다. 또한, 멀티코어에서 올바르게 동작하는 애플리케이션을 작성해서 8코어, 16코어, 그 이상의 코어에 대해서도 올바르게 동작함을 보장하는 데 도움이 되는 지침을 제공한다.
하드웨어 구현이 애플리케이션 성능에 어떻게 영향을 주는지, 일반적인 함정을 피하는 방법을 보여주고, 단계별로 예제를 따라 하면서 수많은 병렬 스레드를 다루는 방법, 고급 병렬 기법을 다루는 방법을 설명한다.

【주요 내용】
● 병렬화 가능한 코드 알아내기
● 병렬화 패턴
● 멀티 프로세스 프로그래밍
● POSIX, 윈도 스레드를 사용한 응용 프로그램 작성
● OpenMP를 이용한 자동화된 병렬화
● 동기화 장치와 데이터 공유의 직접 구현
● 락 없는 알고리즘
● 멀티코어 프로세서와 스레드 스케일링

예제 소스
http://www.hanb.co.kr/exam/1928

리뷰/한줄평11

리뷰

8.0 리뷰 총점

한줄평

첫번째 한줄평을 남겨주세요.