본문내용 바로가기
MD의선택 무료배송 이벤트 사은품 소득공제

입문자를 위한 병렬 프로그래밍

피터 파체코 지음 | 김성민 옮김 | 제이펍 | 2015년 02월 26일 출간
클로버 리뷰쓰기

이 책의 다른 상품 정보

  • 정가 : 30,000원
    판매가 : 27,000 [10%↓ 3,000원 할인]
  • 통합포인트 :
    [기본적립] 1,500원 적립 [5% 적립] [추가적립] 5만원 이상 구매 시 2천원 추가적립 안내 [회원혜택] 실버등급 이상, 3만원 이상 구매 시 2~4% 추가적립 안내
  • 추가혜택 : 포인트 안내 도서소득공제 안내 추가혜택 더보기
  • 배송비 : 무료 배송비 안내
  • 배송일정 : 서울특별시 종로구 세종대로 기준 지역변경
    당일배송 지금 주문하면 오늘(28일,수) 도착 예정 배송일정 안내
  • 바로드림 : 인터넷으로 주문하고 매장에서 직접 수령 안내 바로드림 혜택
    휴일에는 바로드림 픽업으로 더 빨리 받아 보세요. 바로드림 혜택받고 이용하기

이 책의 이벤트 해외주문/바로드림/제휴사주문/업체배송건의 경우 1+1 증정상품이 발송되지 않습니다.

  • 취업/수험서, 컴퓨터/IT 분야 도서 3만원 이상 구매 시 샤코..
    2020.10.14 ~ 2020.11.30
  • 개발자로 입문하기: 일단 이것부터 읽어보자!
    2019.05.31 ~ 2020.12.31
  • 제이펍의 도서를 한 눈에 살펴보세요
    2017.11.23 ~ 2020.12.31
상품상세정보
ISBN 9791185890159(1185890157)
쪽수 512쪽
크기 188 * 245 * 25 mm /1008g 판형알림
원서명/저자명 An Introduction to Parallel Programming/Peter Pacheco

책소개

이 책이 속한 분야

[입문자를 위한 병렬 프로그래밍]은 MPI, Pthreads, 그리고 OpenMP를 이용한 병렬 프로그래밍 가이드북이다. 책은 튜토리얼을 사용하여 작은 프로그래밍 예제로 시작해서 좀 더 규모가 큰 예제들을 구축하고, 분산과 공유 메모리 프로그램을 설계하고, 디버깅하며, 평가하는 데 초점을 맞추었다. 아울러 MPI, Pthreads, 그리고 OpenMP 프로그래밍 모델을 사용하여 병렬 프로그램에 대한 개발을 강조한다.

목차

CHAPTER 1 왜 병렬 컴퓨팅인가?
1.1 성능 증가의 필요성 2
1.2 병렬 시스템을 구축해야 하는 이유 3
1.3 병렬화 프로그래밍이 필요한 이유 4
1.4 병렬화 프로그램을 작성하는 방법 8
1.5 배울 내용 11
1.6 병행, 병렬, 분산 13
1.7 책의 구성 14
1.8 당부의 말 14
1.9 이 책의 표기 방법 15
1.10 요약 16
1.11 연습문제 17

CHAPTER 2 병렬 하드웨어와 병렬 소프트웨어
2.1 약간의 배경 지식 22
2.1.1 폰 노이만 아키텍처 22
2.1.2 프로세스, 멀티태스킹, 그리고 스레드 24
2.2 폰 노이만 모델의 수정 26
2.2.1 캐시의 기본 개념 26
2.2.2 캐시 매핑 29
2.2.3 캐시와 프로그램: 예제 30
2.2.4 가상 메모리 32
2.2.5 명령어 레벨 병렬화 35
2.2.6 하드웨어 멀티스레딩 39
2.3 병렬 하드웨어 40
2.3.1 SIMD 시스템 40
2.3.2 MIMD 시스템 44
2.3.3 인터커넥션 네트워크 48
2.3.4 캐시 일관성 57
2.3.5 공유 메모리와 분산 메모리 61
2.4 병렬 소프트웨어 62
2.4.1 경고 63
2.4.2 프로세스/스레드의 조정 63
2.4.3 공유 메모리 65
2.4.4 분산 메모리 71
2.4.5 하이브리드 시스템 프로그래밍 75
2.5 입력과 출력 76
2.6 성능 78
2.6.1 스피드업과 효율성 78
2.6.2 암달의 법칙 81
2.6.3 확장성 83
2.6.4 타이밍 84
2.7 병렬 프로그램 디자인 88
2.7.1 예제 89
2.8 병렬 프로그램의 작성과 실행 94
2.9 가정 94
2.10 요약 96
2.10.1 시리얼 시스템 96
2.10.2 병렬 하드웨어 98
2.10.3 병렬 소프트웨어 100
2.10.4 입력과 출력 102
2.10.5 성능 102
2.10.6 병렬 프로그램 설계 103
2.10.7 가정 104
2.11 연습문제 104

CHAPTER 3 MPI를 이용한 분산 메모리 프로그래밍
3.1 시작하기 112
3.1.1 컴파일과 실행 113
3.1.2 MPI 프로그램 115
3.1.3 MPI_Init과 MPI_Finalize 116
3.1.4 커뮤니케이터, MPI_Comm_size와 MPI_Comm_rank 117
3.1.5 SPMD 프로그램 117
3.1.6 통신 118
3.1.7 MPI_Send 118
3.1.8 MPI_Recv 121
3.1.9 메시지 매칭 121
3.1.10 status_p 인수 123
3.1.11 MPI_Send와 MPI_Recv의 동작 의미 124
3.1.12 약간의 심각한 문제 126
3.2 MPI를 사용한 사다리꼴 규칙 126
3.2.1 사다리꼴 규칙 126
3.2.2 사다리꼴 규칙의 병렬화 128
3.3 I/O의 처리 131
3.3.1 출력 132
3.3.2 입력 133
3.4 컬렉티브 통신 135
3.4.1 트리 구조 통신 135
3.4.2 MPI_Reduce 137
3.4.3 컬렉티브 통신 대 일대일 통신 139
3.4.4 MPI_Allreduce 141
3.4.5 브로드캐스트 141
3.4.6 데이터 분산 144
3.4.7 스캐터 146
3.4.8 게더 148
3.4.9 Allgather 150
3.5 MPI 파생 데이터 타입 153
3.6 프로그램의 성능 평가 157
3.6.1 수행 시간 159
3.6.2 결과 162
3.6.3 속도 향상과 효율성 165
3.6.4 확장성 166
3.7 병렬 정렬 알고리즘 167
3.7.1 간단한 시리얼 정렬 알고리즘 168
3.7.2 병렬 홀수-짝수 변환 정렬 170
3.7.3 MPI 프로그램에서 세이프티 173
3.7.4 병렬 홀수-짝수 정렬의 마지막 설명 177
3.8 요약 179
3.9 연습문제 185
3.10 프로그래밍 문제 194

CHAPTER 4 Pthreads를 이용한 공유 메모리 프로그래밍
4.1 프로세스, 스레드, 그리고 pthreads 200
4.2 HELLO, WORLD 202
4.2.1 실행 202
4.2.2 준비 204
4.2.3 스레드의 시작 206
4.2.4 스레드의 실행 208
4.2.5 스레드의 중지 209
4.2.6 에러 체킹 210
4.2.7 스레드의 시작에 대한 다른 접근 210
4.3 매트릭스-벡터 곱셈 211
4.4 크리티컬 섹션 214
4.5 비지-웨이팅 218
4.6 뮤텍스 222
4.7 프로듀서-컨슈머 동기화와 세마포어 227
4.8 배리어와 조건 변수 232
4.8.1 비지-웨이팅과 뮤텍스 233
4.8.2 세마포어 234
4.8.3 조건 변수 236
4.8.4 Pthreads 배리어 239
4.9 읽기-쓰기 잠금 239
4.9.1 링크드 리스트 함수 239
4.9.2 멀티스레드 링크드 리스트 242
4.9.3 Pthreads 읽기-쓰기 잠금 246
4.9.4 여러 가지 구현에 대한 성능 247
4.9.5 읽기-쓰기 잠금의 구현 249
4.10 캐시, 캐시 일관성, 그리고 거짓 공유 250
4.11 스레드 세이프티 257
4.11.1 올바르지 않은 프로그램이 올바른 출력을 낼 수 있다 260
4.12 요약 261
4.13 연습문제 264
4.14 프로그램 문제 272

CHAPTER 5 OpenMP를 사용한 공유 메모리 프로그래밍
5.1 시작 277
5.1.1 OpenMP 프로그램의 컴파일과 실행 방법 278
5.1.2 프로그램 279
5.1.3 오류 체크 283
5.2 사다리꼴 규칙 284
5.2.1 첫 번째 openMP 버전 285
5.3 변수의 범위 290
5.4 감소 클라우즈 291
5.5 parallel for 디렉티브 295
5.5.1 주의 사항 297
5.5.2 데이터 의존성 298
5.5.3 루프에 의한 의존성 찾기 300
5.5.4 의 계산 301
5.5.5 변수 범위 304
5.6 OpenMP에서 루프의 다른 예제: 정렬 305
5.6.1 버블 정렬 305
5.6.2 홀수-짝수 변환 정렬 307
5.7 루프 스케줄 310
5.7.1 schedule 클라우즈 312
5.7.2 static 스케줄 타입 313
5.7.3 dynamic과 guided 스케줄 타입 314
5.7.4 runtime 스케줄 타입 315
5.7.5 어떤 스케줄을 사용해야 할까? 316
5.8 프로듀서와 컨슈머 317
5.8.1 큐 317
5.8.2 메시지 패싱 318
5.8.3 메시지 전송 319
5.8.4 메시지 수신 319
5.8.5 종료 검출 320
5.8.6 시작 321
5.8.7 atomic 디렉티브 322
5.8.8 크리티컬 섹션과 잠금 323
5.8.9 메시지 패싱 프로그램에서 잠금의 사용 326
5.8.10 critical 디렉티브, atomic 디렉티브, 혹은 잠금? 327
5.8.11 몇 가지의 문제점 328
5.9 캐시, 캐시 일관성, 거짓 공유 330
5.10 스레드 세이프티 337
5.10.1 올바르지 않은 프로그램이 정상적인 결과를 만들어 낼 수도 있다 340
5.11 정리 341
5.12 연습문제 346
5.13 프로그래밍 문제 352

CHAPTER 6 병렬 프로그램 개발
6.1 두 개의 n-body 솔루션 357
6.1.1 문제 358
6.1.2 두 개의 시리얼 프로그램 359
6.1.3 솔루션의 병렬화 365
6.1.4 I/O 369
6.1.5 OpenMP를 사용한 기본 솔루션의 병렬화 370
6.1.6 OpenMP를 사용한 리듀스 솔루션의 병렬화 373
6.1.7 OpenMP 코드의 평가 378
6.1.8 Pthreads를 사용한 솔루션의 병렬화 380
6.1.9 MPI를 사용한 기본 솔루션의 병렬화 381
6.1.10 MPI를 사용한 리듀스 솔루션의 병렬화 384
6.1.11 MPI 솔루션의 성능 391
6.2 트리 검색 393
6.2.1 재귀적 깊이-우선 검색 396
6.2.2 비재귀적 깊이-우선 검색 397
6.2.3 시리얼 구현을 위한 자료 구조 400
6.2.4 시리얼 구현의 성능 402
6.2.5 트리 검색의 병렬화 402
6.2.6 pthreads를 사용한 트리 검색의 정적 병렬화 405
6.2.7 pthreads를 사용한 트리 검색의 동적 병렬화 408
6.2.8 Pthreads 트리-검색 프로그램의 평가 413
6.2.9 OpenMP를 사용한 트리-검색 프로그램의 병렬화 414
6.2.10 OpenMP 구현의 성능 418
6.2.11 MPI와 정적 파티셔닝을 사용한 트리 검색의 구현 419
6.2.12 MPI와 동적 파티셔닝을 사용한 트리 검색의 구현 429
6.3 조언 440
6.4 어떤 API가 최선인가? 440
6.5 요약 441
6.5.1 Pthreads와 OpenMP 443
6.5.2 MPI 444
6.6 연습문제 448
6.7 프로그래밍 연습 461

CHAPTER 7 그 다음에 해야 할 일

참고문헌 469
찾아보기 473

책 속으로

대부분 사용하고 있는 공유 메모리 시스템은 하나 혹은 두 개의 멀티코어(multicore) 프로세서를 사용한다. 1장에서 설명한 것처럼 멀티코어 프로세서는 여러 개의 CPU 혹은 여러 개의 코어를 하나의 칩에서 사용한다. 일반적으로 각 코어는 프라이빗 레벨 1 캐시를 갖고 있으며 다른 캐시는 코어들 간에 공유할 수도 있지만 공유할 수 없기도 한다. _46p

과거에는 모든 병렬 프로그램 개발은 vi나 Emacs와 같은 텍스트 에디터를 사용해서 개발됐다. 그 당시 프로그램은 커맨드 라인이나 에디터 내부에서 컴파일하고 실행했다. ... 더보기

출판사 서평

MPI, Pthreads, 그리고 OpenMP를 이용한 병렬 프로그래밍 완벽 가이드!
효율적 병렬 프로그래밍에 관한 완벽한 튜토리얼!
샌프란시스코 대학을 비롯한 세계 유명 대학 교재로 선정!

병렬 프로그래밍은 더 이상 전문가들만을 위한 기술이 아니다. 여러분들이 클러스터나 멀티코어 프로세서의 강력한 기능을 충분히 사용하고 싶다면, 분산 메모리 병렬 프로그래밍과 공유 메모리 병렬 프로그래밍에 대해 배워야 한다. 《입문자를 위한 병렬 프로그래밍》은 여러분들이 MPI, Pthreads, OpenMP를 사용하여 효율적인 병렬 프로... 더보기

Klover 리뷰 (0)

북로그 리뷰 (0) 쓰러가기

도서 구매 후 리뷰를 작성하시면
결제 90일 이내 300원, 발송 후 5일 이내 400원, 이 상품의 첫 리뷰 500원의 포인트를 드립니다.

포인트는 작성 후 다음 날 적립되며, 도서 발송 전 작성 시에는 발송 후 익일에 적립됩니다.
북로그 리뷰는 본인인증을 거친 회원만 작성 가능합니다.
(※ 외서/eBook/음반/DVD/GIFT 및 잡지 상품 제외) 안내
  • 해당도서의 리뷰가 없습니다.

문장수집 (0) 문장수집 쓰기 나의 독서기록 보기
※구매도서의 문장수집을 기록하면 통합포인트 적립 안내

교환/반품/품절안내

※ 상품 설명에 반품/교환 관련한 안내가 있는 경우 그 내용을 우선으로 합니다. (업체 사정에 따라 달라질 수 있습니다.)

교환/반품/품절안내
반품/교환방법 마이룸 > 주문관리 > 주문/배송내역 > 주문조회 > 반품/교환신청 ,
[1:1상담>반품/교환/환불] 또는 고객센터 (1544-1900)

※ 오픈마켓, 해외배송주문, 기프트 주문시 [1:1상담>반품/교환/환불]
    또는 고객센터 (1544-1900)
반품/교환가능 기간 변심반품의 경우 수령 후 7일 이내,
상품의 결함 및 계약내용과 다를 경우 문제점 발견 후 30일 이내
반품/교환비용 변심 혹은 구매착오로 인한 반품/교환은 반송료 고객 부담
반품/교환 불가 사유
  • 소비자의 책임 있는 사유로 상품 등이 손실 또는 훼손된 경우
    (단지 확인을 위한 포장 훼손은 제외)
  • 소비자의 사용, 포장 개봉에 의해 상품 등의 가치가 현저히 감소한 경우
    예) 화장품, 식품, 가전제품(악세서리 포함) 등
  • 복제가 가능한 상품 등의 포장을 훼손한 경우
    예) 음반/DVD/비디오, 소프트웨어, 만화책, 잡지, 영상 화보집
  • 소비자의 요청에 따라 개별적으로 주문 제작되는 상품의 경우 ((1)해외주문도서)
  • 디지털 컨텐츠인 eBook, 오디오북 등을 1회 이상 다운로드를 받았을 경우
  • 시간의 경과에 의해 재판매가 곤란한 정도로 가치가 현저히 감소한 경우
  • 전자상거래 등에서의 소비자보호에 관한 법률이 정하는 소비자 청약철회 제한 내용에
    해당되는 경우
(1) 해외주문도서 : 이용자의 요청에 의한 개인주문상품으로 단순변심 및 착오로 인한 취소/교환/반품 시 ‘해외주문 반품/취소 수수료’ 고객 부담 (해외주문 반품/취소 수수료 : ①서양도서-판매정가의 12%, ②일본도서-판매정가의 7%를 적용)
상품 품절 공급사(출판사) 재고 사정에 의해 품절/지연될 수 있으며, 품절 시 관련 사항에 대해서는
이메일과 문자로 안내드리겠습니다.
소비자 피해보상
환불지연에 따른 배상
  • 상품의 불량에 의한 교환, A/S, 환불, 품질보증 및 피해보상 등에 관한 사항은
    소비자분쟁해결 기준 (공정거래위원회 고시)에 준하여 처리됨
  • 대금 환불 및 환불지연에 따른 배상금 지급 조건, 절차 등은 전자상거래 등에서의
    소비자 보호에 관한 법률에 따라 처리함

바로가기

  • 우측 확장형 배너 2
  • 우측 확장형 배너 2

최근 본 상품