Top

파이썬 분산 컴퓨팅 [분산 컴퓨팅 기초부터 테스팅과 디버깅까지]

  • 원서명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장, ‘앞으로 가야 할 길’에서는 지금까지 배웠던 것을 돌아보고 관심 있는 독자라면 분산 시스템의 개발을 어느 방향으로 더 치중해야 할지 고민해본다.

저자/역자 소개

지은이의 말

병렬과 분산 컴퓨팅은 몇 년 전 극소수의 회사와 국립 연구실에 있는 개발자들만이 관여하던 매력적인 분야였다. 불과 10년 만에 시대가 바뀌어 이젠 모든 사람이 다양한 프로그래밍 언어로, 특히 우리가 좋아하는 파이썬 등으로 중소형 분산 애플리케이션을 만들 수 있다.

지은이 소개

프란세스코 피에르페데리시(Francesco Pierfederici)

파이썬을 사랑하는 소프트웨어 엔지니어다. 천문학, 생물학, 수치 일기 예보 분야에서 20년 동안 일해왔다.
한 번에 수만 코어를 사용하며 세계에서 가장 빠른 슈퍼컴퓨터에서 돌아가는 대규모 분산 시스템을 만들었다. 또한 실용성은 의문이지만 재미있는 애플리케이션을 다수 개발했다. 뭔가 만드는 것을 취미로 삼고 있다.

옮긴이의 말

최근 갑작스럽게 데이터 양이 증가해 시스템이 먹통이 되는 뉴스를 종종 접할 수 있다. 얼마 전, 경주에서 발생한 지진으로 카카오톡 사용량이 급증해 장애가 발생한 사태도 일어났었다. 한 예로 들었지만 그만큼 트래픽과 데이터 급증은 언제든지 발생할 수 있는 문제다.
다량의 데이터를 처리하기 위해서는 좀 더 많은 컴퓨터를 이용해 분산 컴퓨팅을 수행할 수밖에 없다. 게임과 인공지능 등의 분야에도 분산 컴퓨팅은 필수가 되었다. 하지만 프로그래밍 언어에 따라 분산 컴퓨팅 구현이 상당한 복잡하고 어려울 수도 있다. 소수의 전문가 영역이기도 했으나 고성능 PC와 네트워크 기술의 발달로 이제 그 문턱이 낮아졌다. 이런 때에 파이썬의 분산 컴퓨팅을 소개하는 이 책을 번역하게 돼 아주 기쁘게 생각한다. 책의 적은 분량으로도 핵심적인 부분들을 두루 다룬 저자의 필력에 감탄하면서 번역했다.
파이썬 독자라면 이 책에서 짧은 시간 내에 분산 컴퓨팅을 파악하고 바로 적용해 나갈 수 있는 힘을 찾을 것이다. 특히 6장은 파이썬의 확장력을 잘 보여주는 좋은 장이다. 분산 컴퓨팅의 안내서로써 우리나라 독자들에게 큰 도움이 되리라 여긴다.

옮긴이 소개

이승준

한아시스템에서 소프트웨어 엔지니어로 근무했으며, 현재 프리랜서로 일하고 있다. 틈틈이 중고등학생 수학을 지도하고 있으며 컴퓨팅 환경과 학습의 접목에 관심이 많다.
『Boogazine JFC PROGRAMMING』, 『Boogazine VisualJ++ 6.0』, 『Java Workshop 2.0 21일 완성』을 집필했고, 『JAVA 서블릿 & JSP 프로그래밍 한꺼번에 끝내기』, 『XML기본+활용 마스터하기』를 편저했다. 『INSIDE SECRETS VB6 개발자핸드북』, 『VISUAL C++ 6 21일 완성』, 에이콘출판사에서 출간한 『(개정판) C & C++ 시큐어코딩』(2015), 『닷넷 개발자를 위한 AngularJS』(2016)를 번역했다.

목차

목차
  • 1장. 병렬과 분산 컴퓨팅 소개
    • 병렬 컴퓨팅
    • 분산 컴퓨팅
    • 공유 메모리 대 분산 메모리
    • 암달의 법칙
    • 혼합 패러다임
    • 요약

  • 2장. 비동기 프로그래밍
    • 코루틴
    • 비동기 예제
    • 요약

  • 3장. 파이썬에서의 병렬성
    • 여러 개의 스레드
    • 여러 개의 프로세스
    • 멀티프로세스 큐
    • 맺음말
    • 요약

  • 4장. 셀러리와 함께 하는 분산 애플리케이션
    • 멀티머신 환경 만들기
    • 셀러리 설치
    • 설치 테스트
    • 셀러리 둘러보기
    • 더 복잡한 셀러리 애플리케이션
    • 제품 생산 환경에서의 셀러리
    • 셀러리 대체품 - Python-RQ
    • 셀러리 대체품 - Pyro
    • 요약

  • 5장. 클라우드에서의 파이썬
    • 클라우드 컴퓨팅과 AWS
    • AWS 계정 만들기
    • EC2 인스턴스 생성
    • 아마존 S3에서의 데이터 저장
    • 아마존 일래스틱 빈스토크
    • 개인 클라우드 만들기
    • 요약

  • 6장. HPC 클러스터에서의 파이썬
    • 전형적인 HPC 클러스터
    • 잡 스케줄러
    • HTCondor를 사용한 파이썬 잡 실행
    • PBS를 사용한 파이썬 잡 실행
    • 디버깅
    • 요약

  • 7장. 분산 애플리케이션의 테스팅과 디버깅
    • 큰 그림
    • 일반적인 문제 - 클럭과 시간
    • 일반적인 문제 - 소프트웨어 환경
    • 일반적인 문제 - 권한과 환경
    • 일반적인 문제 - 하드웨어 자원의 가용성
    • 도전 - 개발 환경
    • 유용한 전략 - 전부 로그로 남기기
    • 유용한 전략 - 컴포넌트 시뮬레이션
    • 요약

  • 8장. 앞으로 가야 할 길
    • 맨 앞 두 개의 장
    • 도구
    • 클라우드와 HPC 세계
    • 디버깅과 모니터링
    • 다음으로 가야 할 곳

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안