파비의 매일매일 공부기록

파이썬으로 하는 데브옵스 - 9장 #3 본문

Study/Python

파이썬으로 하는 데브옵스 - 9장 #3

fabichoi 2022. 1. 7. 23:30

분산 컴퓨팅의 도전과 기회
- 병렬적이지 않은 문제에 더 많은 코어는 추가해봐야 의미가 없음.
- 무어의 법칙 종료. 싱글 프로세서 속도의 한계에 대응하기 위해 만든 멀티 코어 머신이 소프트웨어 언어에 파급효과를 초래

클라우드 시대의 파이썬 병행 처리, 성능 및 프로세스 관리
- 멀티프로세싱과 비동기 I/O 같은 편리한 패턴이 있지만, 병행처리 사용은 삼가는 것이 좋음.

프로세스 관리
- 파이썬 언어의 뛰어난 기능 중 하나.

subprocess를 통한 프로세스 관리
- 가장 간단하고 효과적인 방법 : subprocess.run() 함수를 사용
- shell=True는 사용 금지
- 타임아웃 설정 및 적절한 경우의 처리
- 파이썬 스레드의 문제점 : 파이썬에서 스레드는 별로임. 다른 대안에 초점을 맞출 것.

문제 해결을 위한 멀티프로세싱 활용
- 멀티프로세싱 라이브러리는 모든 코어를 사용할 수 있는 유일한 통합 방법.
- 거인의 어깨에 설 때 가장 좋은 결정을 내린다는 말을 기억할 것.

Pool()을 통한 프로세스 포크
- 코드 프로파일링이 필수적이며 병행처리로 즉시 뛰어드는 것을 주의해야 함.

결론
- 당면한 작업에 대한 올바른 병행처리 기법 숙지
- 고성능 컴퓨팅 라이브러리 넘버를 사용해 실제 스레드, JIT 및 GPU로 코드를 보강.

 

반응형
Comments