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

소득공제
멀티프로세서 프로그래밍
베스트
IT 모바일 top100 4주
가격
38,000
10 34,200
YES포인트?
1,900원 (5%)
5만원 이상 구매 시 2천원 추가 적립
결제혜택
카드/간편결제 혜택을 확인하세요

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

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

책소개

목차

1장 소개
1.1 공유 객체와 동기화
1.2 우화
1.3 생산자-소비자 문제
1.4 독자-저자 문제
1.5 병렬화의 잔혹한 현실
1.6 병렬 프로그래밍
1.7 일러두기
1.8 연습문제

2장 상호 배제
2.1 시간
2.2 임계영역
2.3 2-스레드 해법
2.4 필터 잠금
2.5 공정성
2.6 램포트의 빵집 알고리즘
2.7 유한 타임스탬프
2.8 (메모리) 위치 개수에 대한 하한
2.9 일러두기
2.10 연습문제

3장 병행 객체
3.1 병행성과 정확성
3.2 순차 객체
3.3 정지 무모순성
3.4 순차 무모순성
3.5 선형화 가능성
3.6 수학적 정의
3.7 진행조건
3.8 Java 메모리 모델
3.9 주의할 것
3.10 일러두기
3.11 연습문제

4장 공유 메모리의 기초
4.1 레지스터의 공간
4.2 레지스터 만들기
4.3 원자적인 스냅샷
4.4 일러두기
4.5 연습문제

5장 동기화 연산 요소들의 상대적인 능력
5.1 합의 수
5.2 원자적인 레지스터
5.3 합의 프로토콜
5.4 FIFO 큐
5.5 다중 대입 객체
5.6 읽기-변경-쓰기 연산
5.7 Common2 RMW 연산
5.8 CAS 연산
5.9 일러두기
5.10 연습문제

6장 합의의 만능성
6.1 소개
6.2 만능성
6.3 무잠금 만능 구성
6.4 무대기 만능 구성
6.5 일러두기
6.6 연습문제

7장 스핀락과 경쟁
7.1 현실 세계에 온 것을 환영한다
7.2 test-and-set 잠금
7.3 TAS 기반의 잠금 재검토
7.4 지수적인 백오프
7.5 큐 잠금
7.6 시간제한이 있는 큐 잠금
7.7 복합 잠금
7.8 계층적 잠금
7.9 모든 상황을 처리할 수 있는 하나의 잠금
7.10 일러두기
7.11 연습문제

8장 모니터와 멈춤 동기화
8.1 소개
8.2 모니터 잠금과 조건 변수
8.3 독자-저자 잠금
8.4 직접 만든 재진입성 잠금
8.5 세마포어
8.6 일러두기
8.7 연습문제

9장 연결리스트: 잠금의 역할
9.1 소개
9.2 리스트로 만든 집합
9.3 병행 추론
9.4 성긴 동기화
9.5 세밀한 동기화
9.6 낙천적인 동기화
9.7 게으른 동기화
9.8 비멈춤 동기화
9.9 토의
9.10 일러두기
9.11 연습문제

10장 병행 큐와 ABA 문제
10.1 소개
10.2 큐
10.3 제한된 부분 큐
10.4 무제한 완전 큐
10.5 무제한 무잠금 큐
10.6 메모리 재사용과 ABA 문제
10.7 이중 자료구조
10.8 일러두기
10.9 연습문제

11장 병행 스택과 소거
11.1 소개
11.2 무제한 무잠금 스택
11.3 소거
11.4 소거 백오프 스택
11.5 일러두기
11.6 연습문제

12장 숫자 세기, 정렬 그리고 분산 협조
12.1 소개
12.2 공유된 세기
12.3 소프트웨어 결합
12.4 정지 무모순한 풀과 카운터
12.5 계산 네트워크
12.6 회절 트리
12.7 병렬 정렬
12.8 정렬 네트워크
12.9 샘플 정렬
12.10 분산 협조
12.11 일러두기
12.12 연습문제

13장 병행 해시와 자연적인 병렬성
13.1 소개
13.2 닫힌 주소법 해시 집합
13.3 무잠금 해시 집합
13.4 열린 주소법 해시 집합
13.5 일러두기
13.6 연습문제

14장 스킵리스트와 균형 잡힌 검색
14.1 소개
14.2 순차 스킵리스트
14.3 잠금 기반의 병행 스킵리스트
14.4 무잠금 병행 스킵리스트
14.5 병행 스킵리스트
14.6 일러두기
14.7 연습문제

15장 우선순위 큐
15.1 소개
15.2 배열 기반의 제한된 우선순위 큐
15.3 트리 기반의 제한된 우선순위 큐
15.4 힙 기반의 무제한 우선순위 큐
15.5 스킵리스트 기반의 무제한 우선순위 큐
15.6 일러두기
15.7 연습문제

16장 미래, 스케줄링, 그리고 작업 분배
16.1 소개
16.2 병렬성 분석
16.3 현실적인 다중프로세서 스케줄링
16.4 작업 분배
16.5 작업 훔치기 덱
16.6 일러두기
16.7 연습문제

17장 배리어
17.1 소개
17.2 배리어 구현
17.3 센스리버싱 배리어
17.4 트리 결합 배리어
17.5 정적 트리 배리어
17.6 종료 감지 배리어
17.7 일러두기
17.8 연습문제

18장 트랜잭션 메모리
18.1 소개
18.2 트랜잭션과 원자성
18.3 소프트웨어 트랜잭션 메모리
18.4 하드웨어 트랜잭션 메모리
18.5 일러두기
18.6 연습문제

부록 A 소프트웨어의 기초
A.1 소개
A.2 Java
A.3 C#
A.4 Pthreads
A.5 일러두기

부록 B 하드웨어의 기초
B.1 소개(와 수수께끼)
B.2 프로세서와 스레드
B.3 인터커넥트
B.4 메모리
B.5 캐시
B.6 캐시를 고려한 프로그래밍 또는 수수께끼는 풀렸다!
B.7 다중코어와 다중스레드 구조
B.8 하드웨어 동기화 명령
B.9 일러두기
B.10 연습문제

참고문헌
찾아보기

저자 소개

저자 : 모리스 헐리히(Maurice Herlihy)
하버드 대학에서 수학사를 받았으며 M.I.T에서 전산학 박사학위를 받았다. 헐리히는 카네기 멜론 대학 교수진의 일원으로 DEC 케임브릿지 연구실에서 근무하며 현재 브라운 대학의 컴퓨터 과학부 교수다. 모리스 헐리히는 ACM 명예 회원이며, 2003년 분산 컴퓨팅에 관한 다익스트라 상을 받았다.
저자 : 니르 샤비트(Nir Shavit)
테크니온에서 컴퓨터 공학사 및 석사 학위를 받았으며 히브리 대학(Hebrew Univ.)에서 컴퓨터 공학 박사 학위를 받았다. 1999년부터 수년간 M.I.T에 방문 교수로 머물렀으며, 그동안 썬 연구실의 기술진으로 일했다. 샤비트는 1992년부터 텔아비브 대학의 전산학 교수로 있다. 저자들은 공동으로 2004년 ACM/EATCS 괴델 상을 받았으며 합쳐서 40년 이상 병행 프로그래밍을 가르쳐왔다.
역자 : 김진욱
서울대학교 컴퓨터공학부와 대학원을 졸업했다. 현재 병역특례 중으로 하고 싶었던 게임 만들기의 길에 들어서서 NCSoft에 입사하여 서버 프로그래밍을 하고 있다. 새로운 프로그래밍 언어와 테스팅에 관심이 많다. http://rein.upnl.org/에서 프로그래밍과 책에 관한 블로그를 운영하고 있다.
역자 : 하재승
서울대학교 컴퓨터공학부를 다니다 병역 특례로 NEXON에서 일하면서 BigShot!을 개발했다. 지금은 학교로 다시 돌아와 졸업을 준비 중이다. 세계 대학생 프로그래밍 경시대회 결선(ACM ICPC World Final)에 서울대 대표로 참가한 적이 있다.

관련 분류

품목정보

발행일
2009년 07월 16일
쪽수, 무게, 크기
668쪽 | 1222g | 183*235*35mm
ISBN13
9788979146820

출판사 리뷰

생각을 바꾸는 다중코어 프로그래밍

컴퓨터 산업은 속도 경쟁을 포기했고, 단일코어에서 다중코어 경쟁으로 돌아섰다. 이런 변화는 프로그래밍 방법에 근본적인 변화를 가져왔다. 이제 하드웨어를 업그레이드하면 프로그램이 빨라지던 시대는 끝났다. 다중코어를 활용하지 못하면 프로그램은 더 빨라지지 않는다. 지금까지 단일코어 중심으로 해왔던 프로그래밍이 아닌 다중코어 중심으로 프로그래밍해야 한다. 프로세서 간에는 어떻게 통신해야 하는지, 다중코어는 어떻게 동기화해야 하는지와 같은 다양한 문제가 남아 있다.

다중코어 환경에서 프로그램을 어떻게 작성해야 하고, 위와 같은 문제를 어떻게 해결해야 하는지, 자료 구조는 어떻게 디자인해야 하는지 명확하게 밝힌 첫 번째 책이다. 이 책을 통해 독자는 지금까지 문제 해결을 위해 동료나 선배들에게 물어서 알아낸 트릭이나 지루한 시행착오를 없애고 올바르게 다중코어 프로그램을 작성하는 데 필요한 원칙과 도구를 학습하게 된다.
여러 스레드가 공유 메모리에 접근하는 프로그래밍의 기초를 차근차근 학습한다.
현대 다중 프로세서가 어떻게 병행 프로그래밍을 지원하는지 자세히 설명한다.
현재 가장 주류인 자료 구조들을 자세히 살펴보며 각각의 핵심 디자인을 알아본다.
잠금에서부터 최첨단의 트랜잭션 메모리 시스템에 이르기까지의 동기화 기술을 완벽하고 면밀하게 설명한다.
Java Concurrency 패키지를 사용한 완전히 동작하는 자바 예제를 제공한다.
부록으로 하드웨어와 다른 프로그래밍 언어나 패키지를 사용한 프로그래밍에 관한 배경 자료를 제공한다. C#이나 Pthreads 라이브러리를 사용한 C, C++에 대한 내용을 포함한다.

리뷰/한줄평1

리뷰

8.0 리뷰 총점

한줄평

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