HOME > 상세정보

상세정보

파이썬 병렬 프로그래밍 : threading, multiprocessing, PP, Celery, asyncio 모듈 이해와 활용

파이썬 병렬 프로그래밍 : threading, multiprocessing, PP, Celery, asyncio 모듈 이해와 활용 (3회 대출)

자료유형
단행본
개인저자
Palach, Jan 이문호, 역
서명 / 저자사항
파이썬 병렬 프로그래밍 : threading, multiprocessing, PP, Celery, asyncio 모듈 이해와 활용 / 얀 팔라흐 지음 ; 이문호 옮김
발행사항
서울 :   에이콘,   2016  
형태사항
146 p. : 삽화 ; 24 cm
총서사항
Acorn+PACKT technical book
원표제
Parallel programming with Python : develop efficient parallel systems using the robust Python environment
ISBN
9788960779204 9788960772106 (세트)
일반주기
기술 감수자: 사이러스 다사디아(Cyrus Dasadia), 웨이 디(Web Di), 마이클 갈로이(Michael Galloy), 루도빅 가스크(Ludovic Gasc), 카므란 후세인(Kamran Husain), 브루노 토레스(Bruno Torres)  
색인수록  
일반주제명
Parallel programming (Computer science)
000 00000cam c2200205 c 4500
001 000046032417
005 20200611175603
007 ta
008 200611s2016 ulka 001c kor
020 ▼a 9788960779204 ▼g 94000
020 1 ▼a 9788960772106 (세트)
035 ▼a (KERIS)BIB000014250660
040 ▼a 211048 ▼c 211048 ▼d 211062 ▼d 241050 ▼d 211009
041 1 ▼a kor ▼h eng
082 0 4 ▼a 005.133 ▼a 005.275 ▼2 23
085 ▼a 005.133 ▼2 DDCK
090 ▼a 005.133 ▼b P999 2016z24
100 1 ▼a Palach, Jan
245 1 0 ▼a 파이썬 병렬 프로그래밍 : ▼b threading, multiprocessing, PP, Celery, asyncio 모듈 이해와 활용 / ▼d 얀 팔라흐 지음 ; ▼e 이문호 옮김
246 1 9 ▼a Parallel programming with Python : ▼b develop efficient parallel systems using the robust Python environment
260 ▼a 서울 : ▼b 에이콘, ▼c 2016
300 ▼a 146 p. : ▼b 삽화 ; ▼c 24 cm
440 0 0 ▼a Acorn+PACKT technical book
500 ▼a 기술 감수자: 사이러스 다사디아(Cyrus Dasadia), 웨이 디(Web Di), 마이클 갈로이(Michael Galloy), 루도빅 가스크(Ludovic Gasc), 카므란 후세인(Kamran Husain), 브루노 토레스(Bruno Torres)
500 ▼a 색인수록
650 0 ▼a Parallel programming (Computer science)
700 1 ▼a 이문호, ▼e
900 1 0 ▼a 팔라흐, 얀, ▼e
945 ▼a KLPA

소장정보

No. 소장처 청구기호 등록번호 도서상태 반납예정일 예약 서비스
No. 1 소장처 과학도서관/Sci-Info(1층서고)/ 청구기호 005.133 P999 2016z24 등록번호 121253455 도서상태 대출가능 반납예정일 예약 서비스 B M

컨텐츠정보

책소개

acorn+PACKT 시리즈. 고성능 병렬 컴퓨팅 시스템을 개발하고 유지 보수하기 위해 필요한 모든 내용을 다룬다. 먼저 병렬, 동시성, 분산의 개념부터 병렬화와 관련된 문제점과 대안을 살펴본 후, 파이썬의 스레드 기반 threading 모듈과 프로세스 기반 multiprocessing 모듈, 병렬 태스크를 수행하는 패러럴 파이썬(PP)과 분산 처리를 위한 셀러리(celery), 비동기 프로그래밍이 가능한 asyncio 모듈을 설명한다. 각 파이썬 모듈 사용법에 대한 명쾌한 이해를 돕기 위해 피보나치 수열 계산과 웹 수집기 구현 방법을 사례로 들어 간결하게 풀어나간다.

★ 요약 ★

고성능 병렬 컴퓨팅 시스템을 개발하고 유지 보수하기 위해 필요한 모든 내용을 다룬다. 먼저 병렬, 동시성, 분산의 개념부터 병렬화와 관련된 문제점과 대안을 살펴본 후, 파이썬의 스레드 기반 threading 모듈과 프로세스 기반 multiprocessing 모듈, 병렬 태스크를 수행하는 패러럴 파이썬(PP)과 분산 처리를 위한 셀러리(celery), 비동기 프로그래밍이 가능한 asyncio 모듈을 설명한다. 각 파이썬 모듈 사용법에 대한 명쾌한 이해를 돕기 위해 피보나치 수열 계산과 웹 수집기 구현 방법을 사례로 들어 간결하게 풀어나간다.

★ 이 책에서 다루는 내용 ★

■ 병렬화 문제 관련 기술
■ 파이썬 코드를 구현하기 위한 패러럴 파이썬 모듈 통합
■ 간단한 문제에 관한 병렬 해결책 실행.
■ 파이프와 큐를 이용한 프로세스 간의 통신
■ 셀러리 분산 태스크 큐 사용
■ 파이썬 asyncio 모듈을 이용한 비동기 I/O 구현
■ 스레드에 안전한 구조 생성

★ 이 책의 대상 독자 ★

능숙한 파이썬 프로그래머며 간단한 방법으로 병렬 애플리케이션에서 가용 컴퓨팅 리소스를 활용하고 싶다면, 이 책은 당신을 위한 책이다. 이 책을 최대한 활용하기 위해서는 파이썬 개발에 대한 기본 지식이 필요하다.

★ 이 책의 구성 ★

1장, ‘병렬, 동시성, 분산 프로그래밍 문맥 설명’에서는 병렬 프로그래밍 모델의 개념, 장단점과 구현을 다룬다. 덧붙여 병렬 솔루션을 구현하기 위한 몇몇 파이썬 라이브러리를 제시한다.
2장, ‘병렬 알고리즘 설계’에서는 병렬 알고리즘을 설계하기 위한 몇 가지 기술에 관해 논의한다.
3장, ‘병렬화 문제 확인’에서는 병렬과 관련된 문제를 예시로 소개한 후, 이 문제를 병렬 조각으로 나눌 수 있는지 분석한다.
4장, ‘threading과 concurrent.futures 모듈 사용’에서는 3장, ‘병렬화 문제 확인’에서 제시한 각 문제를 threading과 concurrent.futures 모듈을 사용해 구현하는 방법을 설명한다.
5장, ‘multiprocessing과 ProcessPoolExecutor 모듈 사용’에서는 3장, ‘병렬화 문제 확인’에서 제시한 각 문제를 multiprocessing과 ProcessPoolExecutor 모듈을 사용해 구현하는 방법을 설명한다.
6장, ‘패러렐 파이썬 활용’에서는 3장, ‘병렬화 문제 확인’에서 제시한 각 문제를 병렬 파이썬 모듈을 사용해 구현하는 방법을 제시한다.
7장, ‘셀러리를 이용한 태스크 분산’에서는 3장, ‘병렬화 문제 확인’에서 제시한 각 문제를 셀러리 분산 태스크 큐를 사용해 구현하는 방법을 제시한다.
8장, ‘비동기 프로그래밍’에서는 asyncio 모듈을 사용하는 방법과 비동기 프로그래밍에 관한 방법을 설명한다.


정보제공 : Aladin

저자소개

얀 팔라흐(지은이)

경력 13년차의 소프트웨어 개발자다. C++, 자바, 파이썬 기술을 사용해 민간 회사를 위해 과학 시각화와 백엔드단을 개발해왔다. 브라질의 리우데자네이루(Rio de Janeiro)에 있는 에스따씨오 데 사(Estacio de Sa) 대학교에서 정보 시스템 학위, 파라나 주 연방 기술(Parana State Federal Technological) 대학교에서 석사 학위를 받았다. 현재는 C++ 시스템을 구현하는 통신 부문에 속한 민간 기업에서 수석 시스템 분석가로 근무하고 있다. 기술적으로 열광하는 파이썬과 얼랭으로 재미있게 실험하기를 좋아한다. 자연스러운 호기심으로 새로운 기술에 도전해 공부하고, 낯선 사람을 만나고, 다른 문화에 대해 배우기를 좋아한다.

이문호(옮긴이)

관심 분야는 정보 검색이며, 매일 4시간 이상 걸리는 출퇴근 시간에 다방면의 원서를 읽는 쏠쏠한 즐거움에 빠져 사는 아날로그 세대다. 영상처리를 전공으로 석사를 마쳤고, 현재 문헌정보학 박사 과정에 있으며, 컴퓨터 비전 기반 IoT 솔루션 개발에 전념하고 있다. 오픈소스 자바 검색 엔진인 루씬(Lucene)에 관한 첫 국내서인 『루씬 인 액션』(에이콘, 2005)을 공역했으며, 오픈소스 영상처리 라이브러리를 다룬 오픈소스 라이브러리 실무 시리즈 도서를 펴낸 저자로도 잘 알려져 있다. 『MATLAB을 활용한 실용 디지털 영상처리』(홍릉과학, 2005), 『오픈소스 OpenCV를 이용한 컴퓨터 비전 실무 프로그래밍』(홍릉과학, 2007) 등 7권의 책을 저술했으며, 번역서로는 에이콘출판사에서 출간한 『OpenCV 2 Computer Vision Application Programming Cookbook 한국어판』(2012), 『(개정판) OpenCV를 활용한 컴퓨터 비전 프로그래밍』(2015), 『matplotlib을 이용한 데이터 시각화 프로그래밍』(2015), 『OpenCV 컴퓨터 비전 프로젝트』(2016), 『매트랩 영상처리 프로그래밍』(2016), 『매트랩 영상처리 프로그래밍』(2016), 『매트랩 그래픽과 데이터 시각화』(2017)가 있다.

정보제공 : Aladin

목차

1장. 병렬, 동시성, 분산 프로그래밍 문맥 설명
__병렬 프로그래밍을 왜 사용하는가
__일반적인 병렬화
__병렬 프로그래밍에서의 통신
____공유 상태 이해
____메시지 전달 이해
__병렬 프로그래밍 문제점 확인
____교착상태
____기아상태
____경쟁 조건
__파이썬 병렬 프로그래밍 도구 찾기
____파이썬 threading 모듈
____파이썬 multiprocessing 모듈
____패러렐 파이썬 모듈
____셀러리: 분산 태스크 큐
__파이썬 GIL에 관한 주의 사항
__요약

2장. 병렬 알고리즘 설계
__분할 정복 기법
__데이터 분해 사용
__파이프라인으로 태스크 분해
__프로세스 매핑
____독립 태스크 식별
____데이터 교환이 필요한 태스크 식별
____부하 분산
__요약

3장. 병렬화 문제 확인
__여러 입력으로 가장 높은 피보나치 값 얻기
__웹 수집
__요약

4장. threading과 concurrent.futures 모듈 사용
__스레드 정의
____스레드 사용에 따른 장단점
____스레드의 다른 종류 이해
____스레드 상태 정의
____thread과 _thread 중 하나를 선택
__여러 입력으로 피보나치 수열 항을 얻기 위해 스레드 사용
__concurrent.futures 모듈을 이용해 웹 수집
__요약

5장. multiprocessing과 ProcessPoolExecutor 모듈 사용
__프로세스 개념 이해
____프로세스 모델 이해
________프로세스 상태 정의
____다중처리 통신 구현
____multiprocessing.Pipe 사용
____multiprocessing.Queue 이해
__여러 입력으로 피보나치 수열 항을 얻는 multiproce ssing 사용
__ProcessPoolExecutor를 이용한 웹 수집
__요약

6장. 패러렐 파이썬 활용
__프로세스 간 통신 이해
____네임드 파이프 살펴보기
____파이썬으로 네임드 파이프 사용
________네임드 파이프에 쓰기
________네임드 파이프 읽기
________PP 발견
__SMP 아키텍처에서 PP를 이용해 피보나치 수열 항 계산
__PP를 이용해 분산 웹 수집기 만들기
__요약

7장. 셀러리를 이용한 태스크 분산
__셀러리 이해
____왜 셀러리를 사용하는가
__셀러리 아키텍처 이해
____태스크로 작업
____메시지 전송(브로커) 발견
____작업자 이해
____결과 뒷단 이해
__환경 설정
____클라이언트 머신 설정
____서버 머신 설정
__간단한 태스크 디스패치
__셀러리로 피보나치 수열 항 얻기
__태스크 타입으로 큐 정의
__셀러리를 이용해 분산 웹 수집기 만들기
__요약

8장. 비동기 프로그래밍
__블록킹, 논블록킹, 비동기 연산 이해
____블록킹 연산 이해
____논블록킹 연산 이해
____비동기 연산 이해
__이벤트 루프 이해
____폴링 함수
____이벤트 루프 사용
__asyncio 사용
____동시 실행 루틴과 asyncio.Future 이해
________동시 실행 루틴과 asyncio.Future 사용
________asyncio.Task 사용
________호환성이 없는 라이브러리를 asyncio와 함께 사용하기
__요약

관련분야 신착자료

Ramamurthy, Bina (2021)
윤관식 (2020)