Introducing python 참고 개념 : multiprocessing

2020. 3. 17. 09:25·언어/Python
반응형

 

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

처리하는 작업

 

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

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

최근들어 대용량의 빅데이터 분석 및 예측 등의 머신 러닝을 지원하는 다양한 패키지에서 대부분 멀티 프로세싱을 활용하여 멀티코어의 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

 

반응형

'언어 > Python' 카테고리의 다른 글

python study : Generator  (0) 2020.03.28
Python IDE - VS code 단축키 정리 1  (0) 2020.03.17
String Split and Join? - Hacker Rank 파이썬 코드 챌린지 3  (0) 2020.02.16
What's Your Name? - Hacker Rank 파이썬 코드 챌린지 2  (0) 2020.02.14
Swap case - Hacker Rank 파이썬 코드 챌린지 1  (0) 2020.02.13
'언어/Python' 카테고리의 다른 글
  • python study : Generator
  • Python IDE - VS code 단축키 정리 1
  • String Split and Join? - Hacker Rank 파이썬 코드 챌린지 3
  • What's Your Name? - Hacker Rank 파이썬 코드 챌린지 2
쟈누
쟈누
Ad astra per aspera
    반응형
  • 쟈누
    쟈누의 기록공간
    쟈누
  • 전체
    오늘
    어제
    • 분류 전체보기 (444)
      • AWS (31)
        • Glue (4)
        • S3 (1)
      • 클라우드 (0)
      • Data Engineering (37)
        • GitHub (10)
        • NiFi (11)
        • Spark (10)
        • Snowflake (0)
        • 머신러닝, AI (6)
      • 언어 (118)
        • 데이터 베이스 (42)
        • JAVA (9)
        • Python (34)
        • Java Script (15)
        • Linux (18)
      • 프로젝트, 인강 그리고 책 (30)
        • Spotify Project (7)
        • RASA chatbot Project (9)
        • Naver shopping Project (6)
        • 빅데이터를 지탱하는 기술 (8)
      • OLD (56)
        • IT 용어 사전 (13)
        • Front End (12)
        • Back End (31)
      • Error code 모음 (165)
        • 1. SQL errors (17)
        • 2. Hadoop errors (20)
        • 3. Linux Errors (14)
        • 4. Python errors (33)
        • 5. JAVA, Spring errors (41)
        • 6. Jav Script errors (10)
        • 7. Dev Tools errors (9)
        • 8. Git errors (8)
        • 9. Jenkins Errors (4)
        • 10. airflow Errors (2)
        • 11. Aws errors (7)
      • 개인 (1)
        • 책 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
    • 블로그 관리
    • 글쓰기
  • 링크

  • 공지사항

    • 간단한 블로그 소개
  • 인기 글

  • 태그

    NiFi
    java
    리눅스
    자바
    AWS
    node
    에러
    error
    Python
    SQL
    MySQL
    install
    python error
    linux
    Git
    설치
    파이썬
    Spring
    json
    API
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
쟈누
Introducing python 참고 개념 : multiprocessing
상단으로

티스토리툴바