프로세스의 수 설정
병렬화를 사용하기 위해 가장 먼저 할 일은 몇 개의 프로세스를 사용할 것인지 선택해 registerDoParallel( )에 지정하는 것이다.
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 프로세스가 시작된 것을 볼 수 있다. 이 프로세스들이 병렬 작업을 처리하게 된다.