간편결제, 신용카드 청구할인
카카오페이 3,000원
(카카오페이 결제 시 최대할인 3천원 / 5만원 이상 결제, 기간 중 1회)
PAYCO(페이코) 최대 5,000원 할인
(페이코 신규 회원 및 90일 휴면 회원 한정)
북피니언 롯데카드 30% (18,900원)
(최대할인 3만원 / 3만원 이상 결제)
EBS 롯데카드 20% (21,600원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 NEW 우리V카드 10% (24,300원)
(최대할인 3만원 / 3만원 이상 결제)
인터파크 현대카드 7% (25,110원)
(최대할인 3만원 / 3만원 이상 결제)
Close

C++ 병렬 분산 프로그래밍

소득공제

2013년 9월 9일 이후 누적수치입니다.

판매지수 40
?
판매지수란?
사이트의 판매량에 기반하여 판매량 추이를 반영한 인터파크 도서에서의 독립적인 판매 지수입니다. 현재 가장 잘 팔리는 상품에 가중치를 두었기 때문에 실제 누적 판매량과는 다소 차이가 있을 수 있습니다. 판매량 외에도 다양한 가중치로 구성되어 최근의 이슈도서 확인시 유용할 수 있습니다. 해당 지수는 매일 갱신됩니다.
Close
공유하기
정가

30,000원

  • 27,000 (10%할인)

    1,500P (5%적립)

할인혜택
적립혜택
  • I-Point 적립은 출고완료 후 14일 이내 마이페이지에서 적립받기한 경우만 적립됩니다.
  • 추가혜택
    배송정보
    주문수량
    감소 증가
    • 이벤트/기획전

    • 연관도서

    • 사은품(3)

    출판사 서평

    이 책의 특징

    병렬 프로그래밍에 대한 하나의 아키텍처적 접근방식을 제시하는 ?C++ 병렬·분산 프로그래밍?은 컴퓨터 프로그래머, 소프트웨어 개발자, 설계자, 연구자, 소프트웨어 아키텍트는 물론 전산학 학생들에게도 많은 도움을 제시할 것이다.

    이 책이 다루는 내용

    이 책 "C++ 병렬·분산 프로그래밍"은 다중 프로세서 컴퓨터의 장점을 취할 수 있는 프로그램의 구축 방법을 자세히 소개한다. 병렬 가상 기계의 프로그래밍을 위한 간단한 접근 방식을 제시하며, 클러스터 응용프로그램 개발의 기초들도 설명한다. 다중 스레드 프로그래밍에 대한 이해하기 쉬운 개요를 통해서, 이 책은 네트워크 상에서 협동적으로 문제를 풀고 작업을 수행하는 소프트웨어 구성요소들을 작성하는 방법도 보여준다.

    이 책에 포함된 내용
    - 에이전트와 칠판 아키텍처를 이용해서 병렬 프로그래밍을 좀 더 쉽게 만드는 방법을 보여준다.
    - 다중 태스킹 및 다중 스레딩에 대한 객체지향적 접근방식을 제시한다.
    - 병렬 프로그래밍 또는 분산 프로그래밍이 요구되는 설계를 UML을 이용해 문서화하는 방법을 보여준다.
    - Pthreads 라이브러리에 대한 새로운 POSIX/UNIX IEEE 표준을 수록했다.

    목차

    제1장 동시적 프로그래밍의 즐거움
    1.1 동시성이란 무엇인가?
    1.1.1 동시성 달성을 위한 기본적인 접근방식 두 가지
    1.2 병렬 프로그래밍의 이점
    1.2.1 가장 단순한 병렬 모형: PRAM
    1.2.2 가장 간단한 병렬 분류법
    1.3 분산 프로그래밍의 이점
    1.3.1 가장 단순한 분산 프로그래밍 모형
    1.3.2 다중 에이전트(동위간) 분산 모형
    1.4 필요한 최소의 노력
    1.4.1 분해
    1.4.2 통신
    1.4.3 동기화
    1.5 소프트웨어 동시성의 기본 계층들
    1.5.1 명령 수준의 동시성
    1.5.2 루틴 수준의 동시성
    1.5.3 객체 수준의 동시성
    1.5.4 응용프로그램의 동시성
    1.6 C++은 병렬성을 위한 키워드를 제공하지 않는다
    1.6.1 C++로 병렬성을 구현하는 데 사용할 수 있는 수단들
    1.6.2 MPI 표준
    1.6.3 PVM: 클러스터 프로그래밍의 한 표준
    1.6.4 CORBA 표준
    1.6.5 표준에 기초한 라이브러리 구현들
    1.7 병렬 및 분산 프로그래밍을 위한 프로그래밍 환경들
    요약 - 동시성을 향해

    제2장 병렬 및 분산 프로그래밍의 어려움
    2.1 패러다임의 대전환
    2.2 중재 문제
    2.3 하드웨어가 고장나거나 소프트웨어가 종료되기도 한다
    2.4 과도한 병렬화나 분산이 부정적인 결과를 내기도 한다
    2.5 적합한 아키텍처를 선택하려면 연구가 필요하다
    2.6 다른 종류의 검사 및 디버깅 기법들이 필요하다
    2.7 병렬 또는 분산 설계의 의사소통이 필요하다
    요약

    제3장 C++ 프로그램을 여러 개의 태스크들로 분할하기
    3.1 프로세스의 정의
    3.1.1 두 종류의 프로세스
    3.1.2 프로세스 제어 블록
    3.2 프로세스의 해부
    3.3 프로세스 상태
    3.4 프로세스 스케줄링
    3.4.1 스케줄링 정책
    3.4.2 ps 유틸리티 사용법
    3.4.3 프로세스 우선순위 설정 및 조회
    3.5 문맥 전환
    3.6 프로세스 생성
    3.6.1 프로세스들의 부모-자식 관계
    3.6.1.1 pstree 유틸리티
    3.6.2 시스템 함수 fork()
    3.6.3 exec류 시스템 함수들
    3.6.3.1 execl() 함수들
    3.6.3.2 execv() 함수들
    3.6.3.3 exec()류 함수들에 대한 제약 파악
    3.6.3.4 환경 변수 읽고 쓰기
    3.6.4 system() 함수로 프로세스 생성하기
    3.6.5 POSIX 함수들로 프로세스 생성하기
    3.6.6 프로세스 관리 함수들로 부모 및 자식 프로세스 식별하기
    3.7 프로세스 종료하기
    3.7.1 시스템 함수 exit(), kill(), abort()
    3.8 프로세스 자원
    3.8.1 자원의 종류
    3.8.2 자원 한계를 설정하는 POSIX 함수들
    3.9 비동기 프로세스와 동기 프로세스
    3.9.1 fork(), exec(), system(), posix_spawn() 함수를 이용한 동기 및 비동기 프로세스 생성
    3.9.2 wait() 함수 호출
    3.10 프로그램을 여러 태스크들로 분할하기
    3.10.1 함수 또는 객체에 의한 프로세스 생성
    요약

    제4장 C++ 프로그램을 여러 개의 스레드들로 분할하기
    4.1 스레드의 정의
    4.1.1 스레드 문맥 요구사항
    4.1.2 스레드와 프로세스의 비교
    4.1.2.1 주소 공간 공유
    4.1.2.2 다른 스레드의 제어
    4.1.3 스레드의 장점
    4.1.3.1 좀 더 가벼운 문맥 전환
    4.1.3.2 더 나은 산출량
    4.1.3.3 동시에 수행되는 부분들 사이의 좀 더 간단한 의사소통
    4.1.3.4 프로그램 구조의 단순화
    4.1.4 스레드의 단점
    4.1.4.1 스레드는 프로세스의 자료를 망치기 쉽다
    4.1.4.2 잘못된 스레드 하나가 프로그램 전체를 죽일 수 있다
    4.1.4.3 스레드는 다른 프로그램에서 재사용할 수 없다
    4.2 스레드의 해부
    4.2.1 스레드 특성들
    4.3 스레드 스케줄링
    4.3.1 스레드 상태
    4.3.2 스케줄링과 스레드 경쟁 범위
    4.3.3 스케줄링 정책과 우선순위
    4.3.3.1 스레드 우선순위의 변경
    4.4 스레드 자원
    4.5 스레드 모형
    4.5.1 위임 모형
    4.5.2 동급간 모형
    4.5.3 파이프라인 모형
    4.5.4 생산자-소비자 모형
    4.5.5 스레드 모형의 SPMD와 MPMD
    4.6 Pthreads 라이브러리 소개
    4.7 간단한 다중 스레드 프로그램의 해부
    4.7.1 다중 스레드 프로그램의 컴파일과 링크
    4.8 Pthreads 라이브러리로 스레드 만들기
    4.8.1 스레드 ID 얻기
    4.8.2 스레드 결합
    4.8.3 탈착된 스레드 생성
    4.8.4 Pthreads 특성 객체
    4.8.4.1 Pthreads 특성 객체를 이용해서 탈착된 스레드 만들기
    4.9 스레드 관리
    4.9.1 스레드의 종료
    4.9.1.1 취소 지점
    4.9.1.2 종료 이전의 마무리 작업
    4.9.2 스레드 스택 관리
    4.9.3 스레드 스케줄링 정책과 우선순위 설정
    4.9.3.1 스레드의 경쟁 범위 설정
    4.9.4 sysconf() 함수
    4.9.5 임계 영역의 관리
    4.10 스레드 안전성과 라이브러리
    4.11 프로그램을 여러 스레드들로 분할하기
    4.11.1 위임 모형
    4.11.2 동급간 모형
    4.11.3 파이프라인 모형
    4.11.4 생산자-소비자 모형
    4.11.5 다중 스레드 객체 만들기
    요약

    제5장 동시에 수행되는 태스크들의 동기화
    5.1 수행 순서의 중재
    5.1.1 동기화되는 태스크들 사이의 관계
    5.1.2 시작-시작 관계
    5.1.3 완료-시작 관계
    5.1.4 시작-완료 관계
    5.1.5 완료-완료 관계
    5.2 자료 접근의 동기화
    5.2.1 PRAM 모형
    5.2.1.1 동시 및 독점 메모리 접근
    5.3 세마포와 동기화 메커니즘들
    5.3.1 세마포 연산
    5.3.2 뮤텍스 세마포
    5.3.2.1 뮤텍스 특성 객체
    5.3.2.2 뮤텍스 세마포를 이용한 임계 영역 보호
    5.3.3 읽기-쓰기 자물쇠
    5.3.3.1 읽기-쓰기 자물쇠를 이용한 접근 정책 구현
    5.3.4 조건 변수
    5.3.4.1 조건 변수를 이용한 동기화 관계의 관리
    5.4 동기화: 객체지향적 접근
    요약

    제6장 PVM을 이용한 C++ 병렬 프로그래밍
    6.1 PVM이 지원하는 고전적인 병렬성 모형들
    6.2 C++용 PVM 라이브러리
    6.2.1 C++/PVM 프로그램의 컴파일과 링크
    6.2.2 PVM 프로그램을 독립적으로 실행
    6.2.2.1 PVM 콘솔로 PVM 프로그램을 실행
    6.2.2.2 XPVM을 이용해서 PVM 프로그램을 실행
    6.2.3 PVM의 운용에 필요한 설정 사항들
    6.2.4 C++ 런타임 라이브러리와 PVM 라이브러리의 결합
    6.2.5 PVM 태스크들의 구성
    6.2.5.1 PVM과 C++을 이용한 SPMD(SIMD) 모형의 구현
    6.2.5.2 PVM과 C++을 이용한 MPMD(MIMD) 모형의 구현
    6.3 PVM의 기본적인 작동 방식
    6.3.1 프로세스 관리 및 제어 함수들
    6.3.2 메시지 포장과 전송
    6.4 PVM 태스크에서 표준 입력(stdin)과 표준 출력(stdout) 사용하기
    6.4.1 자식 태스크의 표준 출력 가로채기
    요약

    제7장 오류 처리, 예외, 소프트웨어 신뢰성
    7.1 소프트웨어 신뢰성이란?
    7.2 소프트웨어 계층들과 하드웨어 구성요소들의 실패
    7.3 결함의 정의는 소프트웨어 명세에 따라 다르다
    7.4 결함과 예외의 구분
    7.5 소프트웨어 신뢰성을 위한 간단한 계획 하나
    7.5.1 계획 A: 재개 모형, 계획 B: 종료 모형
    7.6 오류 처리에서 map 객체 활용하기
    7.7 C++의 예외 처리 메커니즘
    7.7.1 C++ 표준 예외 클래스
    7.7.1.1 runtime_error 클래스들
    7.7.1.2 logic_error 클래스들
    7.7.1.3 새 예외 클래스의 파생
    7.7.1.4 예외 클래스가 예외를 던지지 않게 하는 방법
    7.8 사건 다이어그램, 논리 표현식, 논리 다이어그램
    요약

    제8장 C++을 이용한 분산 객체지향 프로그래밍
    8.1 작업의 분해 및 캡슐화
    8.1.1 분산 객체들 사이의 통신
    8.1.2 지역 객체와 원격 객체의 상호작용 동기화
    8.1.3 분산 환경에서의 오류 및 예외 처리
    8.2 다른 주소 공간에 있는 객체에 접근하기
    8.2.1 원격 객체에 대한 IOR 접근
    8.2.2 ORB
    8.2.3 IDL과 CORBA 객체
    8.3 기본적인 CORBA 소비자 프로그램의 해부
    8.4 CORBA 생산자 프로그램의 해부
    8.5 CORBA 응용프로그램의 기본 청사진
    8.5.1 IDL 컴파일러
    8.5.2 원격 객체의 IOR 얻기
    8.6 명명 서비스
    8.6.1 명명 서비스 활용 및 명명 문맥의 생성
    8.6.2 명명 서비스 소비자/클라이언트
    8.7 객체 적응자
    8.8 구현 저장소와 인터페이스 저장소
    8.9 CORBA를 이용한 간단한 분산 웹 서비스
    8.10 교역 서비스
    8.11 클라이언트/서버 패러다임
    요약

    제9장 템플릿과 MPI를 이용한 SPMD와 MPMD
    9.1 MPI를 위한 작업 분할 구조
    9.1.1 등급에 따른 태스크 차별화
    9.1.2 통신자를 기준으로 한 태스크 그룹 분류
    9.1.3 MPI 태스크의 해부
    9.2 템플릿 함수를 이용한 MPI 태스크 구현
    9.2.1 템플릿을 이용해서 서로 다른 형식의 자료를 다루는 SPMD 구현
    9.2.2 다형성을 이용한 MPMD의 구현
    9.2.3 함수 객체를 이용한 MPMD 구현
    9.3 MPI 통신의 단순화
    9.3.1 MPI 통신을 위한 <<, >> 연산자의 중복적재
    요약

    제10장 동시·분산 시스템 설계의 시각화
    10.1 구조의 시각화
    10.1.1 클래스와 객체
    10.1.1.1 특성과 서비스 명세
    10.1.1.2 특성과 서비스의 순서
    10.1.1.3 템플릿 클래스
    10.1.2 클래스와 객체의 관계 표현
    10.1.2.1 인터페이스 클래스
    10.1.3 상호작용적인 객체들의 조직화
    10.2 동시적 행동의 시각화
    10.2.1 협동 객체
    10.2.1.1 프로세스와 스레드
    10.2.1.2 다수의 제어 흐름들과 통신들의 표현
    10.2.2 객체들 사이의 메시지 시퀀스
    10.2.3 객체의 활동
    10.2.4 상태기계
    10.2.4.1 동시적인 하위상태들
    10.2.5 배치 다이어그램
    10.3 시스템 전체의 시각화
    10.3.1 시스템 배치의 시각화
    10.3.2 시스템 아키텍처의 시각화
    요약

    제11장 동시성을 지원하는 구성요소의 설계
    11.1 인터페이스 클래스의 활용
    11.2 객체지향적 뮤텍스와 인터페이스 클래스
    11.2.1 동시성을 지원하는 덜 두터운 인터페이스
    11.3 스트림 비유의 유지
    11.3.1 PVM 스트림에 대한 <<, >> 연산자의 중복적재
    11.4 PVM 스트림에 사용할 사용자 정의 클래스의 설계
    11.5 저수준 구축 요소로서의 객체지향적 파이프와 FIFO
    11.5.1 파일 서술자를 이용해서 파이프를 iostream 객체에 붙이기
    11.5.2 ostream_iterator를 이용한 익명 파이프 접근
    11.5.3 FIFO(명명된 파이프), iostream, ostream_iterator 클래스들
    11.5.3.1 FIFO 인터페이스 클래스
    11.6 동시성을 지원하는 프레임워크 클래스 구성요소
    요약

    제12장 에이전트 지향적 아키텍처의 구현
    12.1 에이전트란 무엇인가?
    12.1.1 에이전트의 첫 번째 정의
    12.1.2 에이전트의 종류
    12.1.3 객체와 에이전트의 차이
    12.2 에이전트 지향적 프로그래밍이란 무엇인가?
    12.2.1 분산 프로그래밍에서 에이전트가 유용한 이유
    12.2.2 에이전트와 병렬 프로그래밍
    12.3 에이전트의 기본 구성요소
    12.3.1 인지적 자료구조
    12.3.1.1 추론 메서드
    12.4 C++로 에이전트 구현하기
    12.4.1 명제 자료형식과 믿음 자료구조
    12.4.2 에이전트 클래스
    12.4.2.1 에이전트 루프
    12.4.2.2 에이전트의 추론 메서드
    12.4.3 간단한 자율성
    12.5 다중 에이전트 시스템
    요약

    제13장 PVM, 스레드, C++ 구성요소를 이용한 칠판 아키텍처
    13.1 칠판 모형
    13.2 여러 가지 칠판 구조화 방식
    13.3 지식원의 해부
    13.4 칠판 제어 전략
    13.5 CORBA 객체를 이용한 칠판 구현
    13.5.1 CORBA 칠판의 예
    13.5.2 black_board 인터페이스 클래스의 구현
    13.5.3 칠판 생성자에서 지식원들을 생성, 실행
    13.5.3.1 PVM 태스크를 이용한 지식원 실행
    13.5.3.2 칠판과 지식원들을 연결하기
    13.5.3.3 posix_spawn 함수를 이용한 지식원 실행
    13.6 전역 객체를 이용한 칠판 구현
    13.7 Pthreads를 이용한 지식원 활성화
    요약

    부록 A UML 다이어그램
    A.1 클래스 다이어그램과 객체 다이어그램
    A.2 상호작용 다이어그램
    A.2.1 협동 다이어그램
    A.2.2 시퀀스 다이어그램
    A.2.3 활동 다이어그램
    A.3 상태 다이어그램
    A.4 패키지 다이어그램

    부록 B 시스템 인터페이스 레퍼런스
    참고문헌
    찾아보기

    저자소개

    카메론 휴즈 (Cameron Hughes) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    해당작가에 대한 소개가 없습니다.

    트레시 휴즈(Tracey Hughes) [저] 신작알림 SMS신청 작가DB보기
    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    해당작가에 대한 소개가 없습니다.

    생년월일 -
    출생지 -
    출간도서 0종
    판매수 0권

    25년여의 번역 경력을 가진 전문 번역가로, 커누스 교수의 『The art of computer programming』(한빛미디어) 시리즈와 『컴퓨터과학의 기초를 다지는 단단한 수학』(인사이트, 2018), 『UNIX 고급 프로그래밍』(퍼스트북, 2014), 『Game Programming Gems』 시리즈 등 60여 권의 다양한 IT 전문서를 번역했다.

    번역과 프로그래밍 외에 소프트웨어 문서화에도 많은 관심이 있으며, 수많은 오픈소스 프로젝트의 표준 문서 형식으로 쓰이는 DocBook의 국내 사용자 모임인 닥북 한국(http://docbook.kr)의 일원이다. 홈페이지 occam's Razor(http://occamsrazr.net )와 게임 개발

    펼쳐보기

    역자의 다른책

    전체보기
    펼쳐보기

    이 책과 내용이 비슷한 책 ? 내용 유사도란? 이 도서가 가진 내용을 분석하여 기준 도서와 얼마나 많이 유사한 콘텐츠를 많이 가지고 있는가에 대한 비율입니다.

      리뷰

      0.0 (총 0건)

      기대평

      작성시 유의사항

      평점
      0/200자
      등록하기

      기대평

      0.0

      교환/환불

      교환/환불 방법

      ‘마이페이지 > 취소/반품/교환/환불’ 에서 신청함, 1:1 문의 게시판 또는 고객센터(1577-2555) 이용 가능

      교환/환불 가능 기간

      고객변심은 출고완료 다음날부터 14일 까지만 교환/환불이 가능함

      교환/환불 비용

      고객변심 또는 구매착오의 경우에만 2,500원 택배비를 고객님이 부담함

      교환/환불 불가사유

      반품접수 없이 반송하거나, 우편으로 보낼 경우 상품 확인이 어려워 환불이 불가할 수 있음
      배송된 상품의 분실, 상품포장이 훼손된 경우, 비닐랩핑된 상품의 비닐 개봉시 교환/반품이 불가능함

      소비자 피해보상

      소비자 피해보상의 분쟁처리 등에 관한 사항은 소비자분쟁해결기준(공정거래위원회 고시)에 따라 비해 보상 받을 수 있음
      교환/반품/보증조건 및 품질보증 기준은 소비자기본법에 따른 소비자 분쟁 해결 기준에 따라 피해를 보상 받을 수 있음

      기타

      도매상 및 제작사 사정에 따라 품절/절판 등의 사유로 주문이 취소될 수 있음(이 경우 인터파크도서에서 고객님께 별도로 연락하여 고지함)

      배송안내

      • 인터파크 도서 상품은 택배로 배송되며, 출고완료 1~2일내 상품을 받아 보실 수 있습니다

      • 출고가능 시간이 서로 다른 상품을 함께 주문할 경우 출고가능 시간이 가장 긴 상품을 기준으로 배송됩니다.

      • 군부대, 교도소 등 특정기관은 우체국 택배만 배송가능하여, 인터파크 외 타업체 배송상품인 경우 발송되지 않을 수 있습니다.

      • 배송비

      도서(중고도서 포함) 구매

      2,000원 (1만원이상 구매 시 무료배송)

      음반/DVD/잡지/만화 구매

      2,000원 (2만원이상 구매 시 무료배송)

      도서와 음반/DVD/잡지/만화/
      중고직배송상품을 함께 구매

      2,000원 (1만원이상 구매 시 무료배송)

      업체직접배송상품 구매

      업체별 상이한 배송비 적용