메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

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

한빛미디어

번역서

절판

  • 저자 : 대릴 고브
  • 번역 : 권오인
  • 출간 : 2012-06-28
  • 페이지 : 512 쪽
  • ISBN : 9788979149289
  • 물류코드 :1928
  • 초급 초중급 중급 중고급 고급
4.3점 (3명)
좋아요 : 23
고성능 멀티코어 애플리케이션 개발을 위한 가이드

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

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

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

대릴 고브

대릴 고브(Darryl Gove)는 오라클의 수석 소프트웨어 엔지니어로 일하고 있으며 애플리케이션 및 벤치마크의 성능 분석과 최적화를 연구하고 있다. 그는 『Solaris Application Programming』(Prentice Hall, 2008)을 집필하였으며, 『OpenSPARC Internals』(Lulu.com, 2008)의 공동 저자로 참여했다. 또한, 집필 도서 및 연구 분야와 관련하여 현재 개인 블로그(www.darrylgove.com)를 운영 중이다.
권오인 역자

권오인

아르바이트, 창업, 벤처를 거쳐 잠시 생뚱맞게 이동 통신사 연구소에서 사업 기획을 하다가 현재 대형 제조사에서 시스템 소프트웨어 개발을 하고 있다.

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

재 판매 좀 부탁 드릴게요 ㅠ

시스템은 동시에 동작 가능한 여러 개의 하드웨어 위에 많은 수의 스레드를 운영한다. 하지만 지난날의 멀티 태스킹은 일종의 눈속임이였다. 여러 작업이 동시에 일어나는 것이 아니라 수 초의 짧은 시간을 쪼개서 여러 개의 태스크들을 번갈아 실행하는 방법으로 겉모양만 그럴듯하게 만든 것이었다. 또한 싱글 스레드로는 애플리케이션의 성능 이슈를 더 이상 해결할 수 없다. 멀티 스레드를 이용한 병렬화는 애플리케이션의 성능을 두 배, 세 배, 네 배씩 높여줄 수 있다. 이제 병렬화는 필수적이다.

이 책은 C언어에 익숙한 중급 이상의 개발자를 대상으로 하고 있으며, 병렬 애플리케이션을 개발하기 위해 특정한 방법론에 빠져들지 않고 여러 가지 접근 방법을 다루고 있다. POSIX, 윈도우 API, OpenMP, 스레딩 빌딩 블록, CUDA 등이다. 여기서 한 가지 확실한 점은 이제는 개발자가 병렬 애플리케이션에 친숙해져야 한다는 점이다. 이 책을 읽음으로써 병렬 프로그램을 작성하기 위한 도구와 그것이 올바르게 동작하고 많은 수의 CPU 코어에서 효율적으로 스케일링하기 위한 조건을 이해할 것이다.

이 책에서는 아주 깊이 있는 기술적 내용을 다루지는 않는다. 그러나 심도 있는 사항들에 익숙해질 수 있게 하기 위해 다양한 분야의 병렬화 방법과 주제를 다루고 있다. 하지만 이러한 지식을 실제 애플리케이션에 적용하는 것은 쉬워 보이지 않는다.

200 ~ 300 쪽 내외의 책들과 비슷한 두께를 가지고 있으면서도, 막상 안을 들여다 보면, 500쪽이 넘는, 막강한 내용을 담고 있는 책.
요즘 나오는 컴퓨터들은, 대부분 멀티코어이다. 기본 듀얼코어이거나, 그 이상이다. 하지만, 대부분의 컴퓨터 소프트웨어들은, 그 많은 코어들을 제대로 활용하지 못하고 있다. 대부분은 멀티코어를 가지고 있으면서도, 소프트웨어를 돌려보면, 하나의 코어만 가동하는 모습을 심심치 않게 볼 수있다. 이렇게 되면, 아무리 좋은 컴퓨터라고 해도, 제대로 된 성능을 낼 수 없는 것은 당연지사다.
이 책은, 이러한 것들을 해결할 수 있게, 멀티코어 프로그래밍이라는 주제로 아주 광범위한 주제를 다루고 있다. 어떻게 하면, 컴퓨터에 있는 멀티코어로, 소프트웨어를 작동 시킬 수 있을까, 어떻게 하면, 내가 가지고 있는 멀티코어를 효율적으로 작동 시킬 수 있을까를 정말 잘 배울 수 있는, 책 인 것 같다. 다만, 기본적으로, OS라던가, C 언어 프로그래밍을 알아야지만, 제대로 이해를 할 수 있을 것 같다. 책 대부분의 내용이, 그런 내용을 담고 있기 때문이다. 소스코드도 많이 나와있고, 소스코드에는 대부분 혼란스러워 하는 포인터라는 녀석도 가득가득 나와있다. 하지만, 이런 부분들을 정복하면, 어느새 한단계 발전해 있는 자신을 발견할 수 있을 것 같다. 그 만큼 심도있는 내용을 다루는 책이고, 유용한 내용을 다루고 있는 책이다. 나는 한번이 아니라, 두세번은 읽어봐야 좀 더 내용을 제대로 파악할 수 있을 것 같아서, 이제 두번째 읽어보려고 하고 있다. 내가 혹시나 지나친 부분이 있을 것, 같아서, 정말, 단 한부분도 놓치고 싶지 않다는 생각을 하게 만든 책이다.

결제하기
• 문화비 소득공제 가능
• 배송료 : 2,000원배송료란?

배송료 안내

  • 20,000원 이상 구매시 도서 배송 무료
  • 브론즈, 실버, 골드회원이 주문하신 경우 무료배송

무료배송 상품을 포함하여 주문하신 경우에는 구매금액에 관계없이 무료로 배송해 드립니다.

닫기

리뷰쓰기

닫기
* 도서명 :
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
* 제목 :
* 별점평가
* 내용 :

* 리뷰 작성시 유의사항

글이나 이미지/사진 저작권 등 다른 사람의 권리를 침해하거나 명예를 훼손하는 게시물은 이용약관 및 관련법률에 의해 제재를 받을 수 있습니다.

1. 특히 뉴스/언론사 기사를 전문 또는 부분적으로 '허락없이' 갖고 와서는 안됩니다 (출처를 밝히는 경우에도 안됨).
2. 저작권자의 허락을 받지 않은 콘텐츠의 무단 사용은 저작권자의 권리를 침해하는 행위로, 이에 대한 법적 책임을 지게 될 수 있습니다.

오탈자 등록

닫기
* 도서명 :
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
* 구분 :
* 상품 버전
종이책 PDF ePub
* 페이지 :
* 위치정보 :
* 내용 :

도서 인증

닫기
도서명*
성능을 100% 끌어내는 멀티코어 애플리케이션 프로그래밍
구입처*
구입일*
부가기호*
부가기호 안내

* 온라인 또는 오프라인 서점에서 구입한 도서를 인증하면 마일리지 500점을 드립니다.

* 도서인증은 일 3권, 월 10권, 년 50권으로 제한되며 절판도서, eBook 등 일부 도서는 인증이 제한됩니다.

* 구입하지 않고, 허위로 도서 인증을 한 것으로 판단되면 웹사이트 이용이 제한될 수 있습니다.

닫기

해당 상품을 장바구니에 담았습니다.이미 장바구니에 추가된 상품입니다.
장바구니로 이동하시겠습니까?

자료실