앎을 경계하기

[가짜연구소3기] Data Engineer

[가짜연구소 3기] 데이터 엔지니어링 - 9 Parallel computing

양갱맨 2021. 8. 22. 11:55

주제

병렬컴퓨팅이 무엇인지, 장단점에 대해 배웠다.


병렬 컴퓨팅

  • 데이터 처리 도구의 기초를 형성한다.
  • 주로 메모리 문제를 중요하게 보고 또한 처리 능력도 중요하다.
  • 빅데이터 처리 작업이 있으면 그것을 작은 작업 단위로 나누고, 나눈 작업들을 수행할 컴퓨터에 분산시킨다.

예시)

가상의 음악 스트리밍 서비스 회사 spotflix에서 티셔츠 1000장을 접어야한다.

선임 영업 보조원 - 15분에 100장 티셔츠 접음

주니어 영업 보조원은 - 30분에 100장 티셔츠 접음

만약 한 번에 한명의 영업 보조원만 일할 수 있다면 가장 빠른 직원을 선택해야한다.

그러나 4명의 주니어 영업 보조원에게 250장씩 나눠 티셔츠를 접게한다면 1시간 15분이면 끝난다.

 

 


병렬컴퓨팅의 장단점

위 티셔츠 접기 예시의 경우 직원이 처리 단위가 된다.

장점

  • 추가적인 처리 능력
  • 한 컴퓨터에 모든 데이터를 로드할 필요 없기 때문에 컴퓨터 당 메모리 사용량이 상대적으로 적어 효율적이다.

단점

  • 데이터 이동에서 추가적인 비용이 발생한다.
  • 작업을 하위작업 단위로 나누기 때문에 하나로 합치는 작업이 필요하다.


다시 예시를 보면, 티셔츠를 주니어 영업 보조원들에게 나누는 시간이 10분 걸릴 수 있다.

그리고 결과에 대해 합치는데 5분이 소요될 수 있다.

그렇다면 1시간 15분이 아니라 총 1시간 30분이 걸리게 된다.