더북(TheBook)

프로세스의 수 설정

병렬화를 사용하기 위해 가장 먼저 할 일은 몇 개의 프로세스를 사용할 것인지 선택해 registerDoParallel( )에 지정하는 것이다.

표 5-16 프로세스 수 등록

doParallel::registerDoParallel : foreach에서 사용할 병렬 벡엔드를 등록한다.

doParallel::registerDoParallel(
  cl, # makeCluster()가 반환한 클러스터 객체 또는 클러스터에 만들 노드의 수. 이 값을 생략할 경우
      # 윈도우에서는 3개의 worker를 가진 클러스터가 자동으로 생성되어 사용된다.
  cores=NULL, # 병렬 실행을 위한 코어의 수. 이 값을 생략할 경우 현재 컴퓨터의 코어 개수의
              # 절반이 자동으로 지정된다.
)

다음은 registerDoParallel( )을 호출하는 예다.

> library(doParallel)
Loading required package: foreach
foreach: simple, scalable parallel programming from Revolution Analytics
Use Revolution R for scalability, fault tolerance and more.
http://www.revolutionanalytics.com
Loading required package: iterators
Loading required package: parallel
> registerDoParallel(cores=4)

윈도우의 경우 registerDoParallel( )을 호출 후 작업 관리자를 살펴보면 그림 5-1처럼 Rscript.exe 프로세스가 시작된 것을 볼 수 있다. 이 프로세스들이 병렬 작업을 처리하게 된다.

그림 5-1 registerDoParallel(cores=4) 수행 후 Rscript.exe가 실행된 화면
그림 5-1 registerDoParallel(cores=4) 수행 후 Rscript.exe가 실행된 화면
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.