언어/Python

Introducing python 참고 개념 : multiprocessing

쟈누이 2020. 3. 17. 09:25
반응형

 

싱글 머신에서 다수의 작업을 가능한 한 빠르게 처리하고 싶을 때, 이들을 독립적으로 만들어 

처리하는 작업

 

멀티 프로세싱을 활용하면 복잡하고 시간이 걸리는 작업을 벼롣의 프로세스를 생성 후 병렬처리해서 보다 빠른 

응답처리 속도를 기대할 수 있는 장점이 있다.

최근들어 대용량의 빅데이터 분석 및 예측 등의 머신 러닝을 지원하는 다양한 패키지에서 대부분 멀티 프로세싱을 활용하여 멀티코어의 CPU의 장점을 극대화하고 빠른 처리를 지원하고 있다.

 

하지만, 멀티프로세싱은 오버해드의 증가 및 메모리 사용률이 높아지는 단점도 있다.

대표적인 파이썬의 multiprocessing 라이브러리는 Pool 객체가 있다.

아래 링크들을 통해 자세한 내용을 이해할 수가 있다.

첫번째 링크는 multiprocessing 에 대한 좋은 예제가 있으니 참고할 것

 

 

참고 링크

https://niceman.tistory.com/145

 

파이썬(Python) - multiprocessing(멀티프로세싱) 설명 및 예제(1) - Pool

파이썬(Python) Multiprocessing - Pool 오늘은 파이썬 멀티프로세싱을 활용하는 첫 번째 예제를 설명하겠습니다. 멀티 프로세싱을 활용하면 복잡하고 시간이 걸리는 작업을 별도의 프로세스를 생성 후 병렬처리해..

niceman.tistory.com

https://docs.python.org/ko/3/library/multiprocessing.html

 

multiprocessing — 프로세스 기반 병렬 처리 — Python 3.8.2 문서

multiprocessing 은 threading 모듈과 유사한 API를 사용하여 프로세스 스포닝(spawning)을 지원하는 패키지입니다. multiprocessing 패키지는 지역과 원격 동시성을 모두 제공하며 스레드 대신 서브 프로세스를 사용하여 전역 인터프리터 록 을 효과적으로 피합니다. 이것 때문에, multiprocessing 모듈은 프로그래머가 주어진 기계에서 다중 프로세서를 최대한 활용할 수 있게 합니다. 유닉스와 윈도우에서 모두 실행됩니다

docs.python.org

https://hamait.tistory.com/755

 

파이썬 동시성 프로그래밍 - (4) multiprocessing

연재 순서 1. threading 2. Condition & Semaphore 3. Queue 4. multiprocessing 5. 비동기 (gevent) 6. 분산 (celery) 7. GPGPU (PyCUDA) 8. 코루틴,asyncio,async/awiat 9. concurrent.future 4. Multiprocessin..

hamait.tistory.com

 

반응형