파이썬 분산 컴퓨팅 [분산 컴퓨팅 기초부터 테스팅과 디버깅까지]
- 원서명Distributed Computing with Python (ISBM 9781785889691)
- 지은이프란세스코 피에르페데리시(Francesco Pierfederici)
- 옮긴이이승준
- ISBN : 9788960779303
- 20,000원
- 2016년 11월 28일 펴냄 (절판)
- 페이퍼백 | 192쪽 | 188*235mm
- 시리즈 : acorn+PACKT
판매처
- 현재 이 도서는 구매할 수 없습니다.
책 소개
소스 파일은 아래 깃허브 페이지에서 내려 받으실 수 있습니다.
(https://github.com/AcornPublishing/distributed-computing)
요약
병렬과 분산 컴퓨팅은 얼마 전까지만 해도 기업체와 연구실에 있는 개발자들만이 관여하던 분야였다. 이젠 시대가 바뀌어 파이썬으로 손쉽게 중소형 분산 애플리케이션을 만들 수 있게 됐다. 이 책은 분산 시스템을 제작하려는 파이썬 프로그래머에게 아주 실용적인 안내서다. 분산 애플리케이션에서 잘 사용되는 동기, 비동기, 병렬 프로그래밍으로 분산 컴퓨팅의 기본을 잡고, 클라우드와 HPC 클러스터, 테스팅과 디버깅까지 파이썬으로 병렬과 분산 시스템의 전반을 맛볼 수 있게 한다.
이 책에서 다루는 내용
■ 병렬과 분산 컴퓨팅 소개
■ 동기와 비동기 프로그래밍
■ 파이썬에서의 병렬성
■ 셀러리로 하는 분산 애플리케이션
■ 클라우드에서의 파이썬
■ HPC 클러스터에서의 파이썬
■ 분산 애플리케이션의 테스트와 디버그
이 책의 대상 독자
이 책은 이미 파이썬을 알고 있고 자신의 코드를 병렬화하거나 분산 시스템을 작성하려는 개발자를 위한 것이다. 유닉스 환경을 대상으로 하고 있지만 예제의 대부분은 윈도우 시스템에서도 잘 동작한다.
이 책의 구성
1장, ‘병렬과 분산 컴퓨팅 소개’에서는 병렬과 분산 컴퓨팅의 기본 이론 토대를 마련해 준다.
2장, ‘비동기 프로그래밍’에서는 분산 애플리케이션에서 사용되는 두 개의 주요 프로그래밍 스타일인 동기와 비동기 프로그래밍을 설명한다.
3장, ‘파이썬에서의 병렬성’에서는 파이썬 표준 라이브러리만을 사용해 동시에 여러 가지 일을 할 수 있는 방법을 보여준다.
4장, ‘셀러리와 함께 하는 분산 애플리케이션’에서는 셀러리(Celery)와 경쟁 제품인 Python-RQ와 Pyro를 사용해 간단한 분산 애플리케이션을 만드는 방법을 알아본다.
5장, ‘클라우드에서의 파이썬’에서는 아마존 웹 서비스를 사용해 클라우드에 파이썬 애플리케이션을 배치하는 방법을 설명한다.
6장, ‘HPC 클러스터에서의 파이썬’에서는 많은 대학과 국립 연구소에 있는 고전 방식의 HPC 클러스터에 파이썬 애플리케이션을 배치하는 방법을 살펴본다.
7장, ‘분산 애플리케이션의 테스팅과 디버깅’에서는 파이썬에 관한 분산 애플리케이션 테스팅, 프로파일링, 디버깅의 문제를 알아본다.
8장, ‘앞으로 가야 할 길’에서는 지금까지 배웠던 것을 돌아보고 관심 있는 독자라면 분산 시스템의 개발을 어느 방향으로 더 치중해야 할지 고민해본다.
목차
목차
- 1장. 병렬과 분산 컴퓨팅 소개
- 병렬 컴퓨팅
- 분산 컴퓨팅
- 공유 메모리 대 분산 메모리
- 암달의 법칙
- 혼합 패러다임
- 요약
- 2장. 비동기 프로그래밍
- 코루틴
- 비동기 예제
- 요약
- 3장. 파이썬에서의 병렬성
- 여러 개의 스레드
- 여러 개의 프로세스
- 멀티프로세스 큐
- 맺음말
- 요약
- 4장. 셀러리와 함께 하는 분산 애플리케이션
- 멀티머신 환경 만들기
- 셀러리 설치
- 설치 테스트
- 셀러리 둘러보기
- 더 복잡한 셀러리 애플리케이션
- 제품 생산 환경에서의 셀러리
- 셀러리 대체품 - Python-RQ
- 셀러리 대체품 - Pyro
- 요약
- 5장. 클라우드에서의 파이썬
- 클라우드 컴퓨팅과 AWS
- AWS 계정 만들기
- EC2 인스턴스 생성
- 아마존 S3에서의 데이터 저장
- 아마존 일래스틱 빈스토크
- 개인 클라우드 만들기
- 요약
- 6장. HPC 클러스터에서의 파이썬
- 전형적인 HPC 클러스터
- 잡 스케줄러
- HTCondor를 사용한 파이썬 잡 실행
- PBS를 사용한 파이썬 잡 실행
- 디버깅
- 요약
- 7장. 분산 애플리케이션의 테스팅과 디버깅
- 큰 그림
- 일반적인 문제 - 클럭과 시간
- 일반적인 문제 - 소프트웨어 환경
- 일반적인 문제 - 권한과 환경
- 일반적인 문제 - 하드웨어 자원의 가용성
- 도전 - 개발 환경
- 유용한 전략 - 전부 로그로 남기기
- 유용한 전략 - 컴포넌트 시뮬레이션
- 요약
- 8장. 앞으로 가야 할 길
- 맨 앞 두 개의 장
- 도구
- 클라우드와 HPC 세계
- 디버깅과 모니터링
- 다음으로 가야 할 곳