본문 바로가기
반응형

multiprocessing2

Python Multiprocessing으로 병렬처리, 비디오 처리로 맛보기 Why Multiprocessing? 이전 포스트(링크)에서도 언급했듯이, Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. Multiprocessing을 통해서 이런 한계점을 극복할 수 있는데, 이번 포스트에서는 그 중 Process를 이용한다. SIMD vs Pipeline 내가 사용하는 병렬화 방식은 크게 두가지인데, 이 중 Process를 이용한 파이프라인 기반의 병렬처리는 아래 2번의 설명과 같이 한번에 처리해야하는 데이터의 양보다도 하나의 데이터에 대해 수행해야하는 작업 자체가 복잡하고 여러 단계로 이루어져 있을 때 유용하다. 단순한 작업이 매우 많이 반복되어야한다 --> Pool을 사용하는 SIMD스.. 2023. 2. 20.
Python Multiprocessing으로 병렬처리, 크롤링으로 맛보기 Why Multiprocessing? Python은 Global Interpreter Lock(GIL) 로 인해서 원칙적으로는 c에서와 같이 fork 등 프로세스 분기가 막혀있다. 그럼에도 불구하고 유사한 효과를 제공할 수 있는 여러가지 방법들을 제공하는데, 이 중 multiprocessing, 그 중에서도 Pool을 다뤄본다. 크롤러나 I/O를 포함하는 파이썬 스크립트나 c backend가 없는 프로그램의 경우 단일 스레드만 사용하면 시스템 리소스 사용 효율이 너무 떨어지는 경우가 생기는데, 이 때 이걸 어느정도 해결하는 방법이 multiprocessing이다. SIMD vs Pipeline 공식문서에서 수 많은 용례를 확인할 수 있고, threadpoolexecutor, processpool exec.. 2023. 2. 18.