프로세스의 수 설정

    병렬화를 사용하기 위해 가장 먼저 할 일은 몇 개의 프로세스를 사용할 것인지 선택해 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가 실행된 화면
    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.