bc4.3. [entry] title: 병렬처리와 분산처리
Search
Share
⛳
bc4.3. [entry] title: 병렬처리와 분산처리
생성
prev summary
🚀 prev note
♻️ prev note
next summary
🚀 next note
♻️ next note
bc4.3.1. title: 병렬처리 및 분산처리시에는 모든 프로세스가 동시에 작업이 종료되지 않기 때문에, 일부 프로세스 먼저 다음 연산을 실행할 수 있어야 한다.
💡 아이디어조각
11 more properties
논하는 세부 주제들 개요
MAX 25 links
•
병렬처리와 분산처리의 원칙
◦
병렬처리나 분산처리의 단위는 일반적으로 큰 것이 더 좋다.
1.
분산되는 단위가 커야 데이터 교환 오버헤드가 작다.
•
작업의 크기가 작을수록(fine) 적절한 작업 분배(load balancing)가 쉬워지지만, 데이터 교환 오버헤드가 증가한다. 그리고 작업의 크기가 클수록(coarse) 데이터 교환 오버헤드가 감소하지만, 작업이 비효율적으로 분배될 수 있다. 일반적으로 최대한 작업의 크기를 크게 잡고, 작업 분배를 개선하는 방향으로 나아간다.
2.
병렬처리를 시키는 일 자체에도 오버헤드가 있다.
•
the natural instinct is to make every function or class remote. Unfortunately, this can lead to undesirable consequences; if the tasks are very small, the Ray program can take longer than the equivalent Python program. … Well, the issue here is that every task invocation has a non-trivial overhead (e.g., scheduling, inter-process communication, updating the system state)
◦
기본개념
▪
bc4.3.1. title: 병렬처리 및 분산처리시에는 모든 프로세스가 동시에 작업이 종료되지 않기 때문에, 일부 프로세스 먼저 다음 연산을 실행할 수 있어야 한다.
•
언어나 특정 도구에 국한된 내용
◦
파이썬의 쓰레드
▪
◦
파이썬의 멀티프로세싱 라이브러리 multiprocessing
▪
deer.a7.3_a0. title: Multiprocessing 을 이용해서 augmentation process 여러 개 돌리기
◦
파이썬의 고수준 멀티프로세싱 / 분산처리 라이브러리 Ray
▪
ba2.3.5.1. title: Ray 는 remote 로 데코레이팅한 함수를 비동기 실행하여 자바스크립트의 promise 객체같은 것을 반환한다.
기존 개요가 마음에 들지 않아서 엔트리를 다음과 같이 변경한다.