이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

클러스터 검색 및 클러스터 프로파일 사용하기

Parallel Computing Toolbox™는 미리 구성된 클러스터 프로파일 local을 제공하여 로컬 데스크탑 컴퓨터에서 병렬 코드를 실행할 수 있도록 합니다.

MATLAB® 홈(Home) 탭의 병렬연산(Parallel Operation) 메뉴를 사용하여 병렬 동작을 제어합니다.

병렬연산(Parallel Operation) 메뉴를 사용하여 다음을 수행할 수 있습니다.

  • 사용자 네트워크 또는 Amazon EC2에서 실행 중인 다른 클러스터를 검색합니다. 병렬연산(Parallel Operation) > 클러스터 검색(Discover Clusters)을 클릭합니다. 자세한 내용은 클러스터 검색하기 항목을 참조하십시오.

  • 클러스터 프로파일 관리자를 사용하여 클러스터 프로파일을 생성하고 관리합니다. 병렬연산(Parallel Operation) > 클러스터 생성 및 관리(Create and Manage Clusters)를 클릭합니다. 자세한 내용은 클러스터 프로파일 생성 및 관리하기 항목을 참조하십시오.

클러스터 프로파일 생성 및 관리하기

클러스터 프로파일을 사용하면 클러스터의 특정 속성을 정의한 후 MATLAB 클라이언트에서 cluster 객체, job 객체 및 task 객체를 만들 때 이러한 속성을 적용할 수 있습니다. 클러스터 프로파일을 사용할 수 있는 함수는 다음과 같습니다.

클러스터 프로파일 관리자를 사용하여 클러스터 프로파일을 관리합니다. 클러스터 프로파일 관리자를 열려면 홈(Home) 탭의 환경(Environment) 섹션에서 병렬연산(Parallel Operation) > 클러스터 생성 및 관리(Create and Manage Clusters)를 선택하십시오.

클러스터 프로파일 관리자를 사용하여 다음을 수행할 수 있습니다.

클러스터 검색하기

MATLAB에서 클러스터를 검색하도록 할 수 있습니다. 다음 방법 중 하나를 사용하여 사용 가능한 클러스터를 검색할 수 있습니다.

  • 홈(Home) 탭의 환경(Environment) 섹션에서 병렬연산(Parallel Operation) > 클러스터 검색(Discover Clusters)을 선택합니다.

  • 클러스터 프로파일 관리자에서 클러스터 검색(Discover Clusters)을 선택합니다.

이렇게 하면 클러스터 검색 대화 상자가 열리고 여기서 MATLAB Parallel Server™ 클러스터를 검색할 수 있습니다.

사용자 네트워크(User Network)를 선택하면 새 창이 표시됩니다. 클러스터가 MATLAB 작업 스케줄러 또는 Microsoft Windows HPC Server를 사용한다면 이 옵션을 선택합니다. 클러스터가 검색되면 선택 가능한 목록에 채워집니다. 나열된 클러스터 중 프로파일이 이미 있는 클러스터가 있으면 해당 프로파일 이름이 목록에 포함됩니다. 검색된 클러스터의 프로파일을 새로 만들려면 사용할 클러스터 이름을 선택하고 다음(Next)을 선택합니다. 표시되는 대화 상자에서 생성된 프로파일을 디폴트 값으로 설정할 수 있습니다.

Amazon EC2를 선택하면 Amazon EC2에서 실행 중인 클러스터를 검색합니다. 이러한 클러스터에 액세스하려면 MathWorks 계정 로그인 정보를 제공해야 합니다.

클러스터 검색 요구 사항

클러스터 검색은 MATLAB 작업 스케줄러, Microsoft® Windows® HPC Server 및 Amazon EC2 클라우드 클러스터에만 지원됩니다. 스케줄러를 MATLAB Parallel Server와 통합해야 하거나 지원되는 다른 스케줄러의 클러스터 프로파일을 만들어야 하는 경우에는 Getting Started with MATLAB Parallel Server (MATLAB Parallel Server) 항목을 참조하십시오. 클러스터 검색에 적용되는 요구 사항은 다음과 같습니다.

  • MATLAB 작업 스케줄러 — MATLAB 작업 스케줄러 클러스터는 두 가지 다른 검색 방법을 지원합니다.

    • 멀티캐스트: 클러스터 검색 기능은 클라이언트의 멀티캐스트 네트워킹 프로토콜을 사용하여 MATLAB 작업 스케줄러가 실행 중인 헤드 노드를 검색합니다. 이를 위해서는 멀티캐스트 네트워킹 프로토콜이 활성화되어 있어야 하며, MATLAB 작업 스케줄러 헤드 노드(스케줄러가 실행되는 노드)와 클라이언트 컴퓨터 사이를 연결한 네트워크에서 멀티캐스트 네트워킹 프로토콜이 작동 중이어야 합니다. 이러한 형태의 검색은 클라이언트 로컬 서브넷으로 제한될 수 있으며, 따라서 네트워크의 다른 영역에서는 MATLAB 작업 스케줄러를 검색하지 못할 수도 있습니다.

    • DNS SRV: 또 다른 검색 기법은 DNS 서비스 레코드별로 클러스터를 검색하는 것입니다.

      DNS(Domain Name System)는 인터넷이나 개인 네트워크에서 IP 주소를 사용하여 호스트 이름을 식별하는 표준입니다. DNS를 사용하면 네트워크를 통해 브로드캐스트하지 않고 특정 호스트를 식별하는 방법으로 MATLAB 작업 스케줄러 클러스터를 검색할 수 있습니다.

      DNS 서비스(SRV) 레코드는 예를 들어 검색하려는 클러스터와 연관된 호스트 위치와 서비스 포트를 정의합니다. 시스템 관리자는 조직의 DNS 인프라에 DNS SRV 레코드를 생성합니다. 필요한 레코드에 대한 설명과 구성을 확인하는 방법은 DNS SRV Record (MATLAB Parallel Server) 항목을 참조하십시오.

  • HPC Server — 클러스터 검색 기능은 Active Directory 도메인 서비스를 사용하여 헤드 노드를 검색합니다. HPC Server 헤드 노드는 HPC Server를 설치하는 동안 Active Directory에 추가됩니다.

  • Amazon EC2 — 클러스터 검색 기능을 사용하려면 mathworks.com에서 실행 중인 Cloud Center 웹 서비스와 클라이언트 간에 네트워크로 연결되어 있어야 합니다.

클라우드 클러스터 생성

클러스터 프로파일 관리자에서 직접 Amazon AWS와 같은 클라우드 서비스에 클러스터를 만들 수 있습니다. 클러스터 프로파일 관리자에서 클라우드 클러스터 생성을 선택합니다. MathWorks® 계정을 등록하고 필요한 단계를 완료합니다. 그런 다음 클라우드 클러스터를 만들고 컴퓨터 대수 또는 컴퓨터당 워커 개수 등의 파라미터를 구성할 수 있습니다. 사용 가능한 파라미터 각각에 대한 자세한 내용은 Create a Cloud Cluster를 참조하십시오. 모든 단계를 완료하면 MATLAB에서 새 클러스터 프로파일을 만듭니다. 클러스터 프로파일 관리자에서 속성을 수정할 수 있습니다.

라이선스를 관리하고, 클라우드 연결을 테스트하고, MathWorks Cloud Center에서 클라우드 클러스터를 관리하려면 클러스터 프로파일 관리자 툴스트립 > 클라우드(Cloud) 섹션으로 이동하십시오.

클러스터 프로파일을 추가하고 수정하기

클러스터 프로파일 관리자를 사용하면 MATLAB 작업 스케줄러 또는 타사 스케줄러에 대한 클러스터 프로파일을 추가할 수 있습니다. MATLAB에서 사용할 클러스터를 설정해야 하는 경우 Getting Started with MATLAB Parallel Server (MATLAB Parallel Server) 항목을 참조하십시오.

다음 예제에서는 클러스터 프로파일 관리자를 사용하여 프로파일을 추가하고 수정하는 방법에 대한 지침을 제공합니다.

MATLAB 작업 스케줄러 클러스터에서 실행할 작업의 속성을 설정하기 위해 프로파일을 만든다고 가정하겠습니다. 다음 예제는 사용하는 워커 개수만 다른 두 개의 프로파일을 만드는 워크플로를 설명합니다.

  1. 클러스터 프로파일 관리자에서 클러스터 프로파일 추가(Add Cluster Profile) > MATLAB Job Scheduler를 선택합니다. 이는 MATLAB 작업 스케줄러 클러스터에 새 프로파일을 추가하라고 지정하는 것입니다.

    이렇게 하면 MJSProfile1이라는 새 프로파일이 생성되고 표시됩니다.

  2. 목록에서 새 프로파일 이름을 더블 클릭하고 프로파일 이름을 MyMJSProfile1로 수정합니다.

  3. 프로파일 속성 값을 설정할 수 있도록 툴스트립에서 편집(Edit)을 선택합니다.

    다음 그림에 표시된 대로 설명 필드에 텍스트 MJS with 4 workers를 입력합니다. MATLAB 작업 스케줄러가 실행 중인 컴퓨터의 호스트 이름과 MATLAB 작업 스케줄러 이름을 입력합니다. 네트워크에서 이미 실행 중인 실제 MATLAB 작업 스케줄러 정보를 입력하는 경우 실제 이름을 입력합니다. 네트워크상의 MATLAB 작업 스케줄러 이름과 위치가 확실치 않은 경우 시스템 관리자에게 도움을 요청하십시오.

    참고

    MATLAB 작업 스케줄러가 디폴트 값 대신 mjs_def 파일에 정의된 BASE_PORT 설정을 사용하고 있다면 클러스터 프로파일의 Host 속성에 이 BASE_PORT 번호를 추가해야 합니다. 예를 들어 MJS-Host:40000으로 설정합니다.

  4. 워커 섹션으로 스크롤하여 워커 개수 범위에 요소를 2개 가진 벡터 [4 4]를 입력합니다. 이는 이 프로파일을 사용하는 작업에 필요한 워커 개수가 최소 4개이고 최대 4개라고 지정하는 것입니다. 따라서 이 프로파일을 사용하는 작업은 정확히 4개의 워커에서 실행되며, 작업을 시작하려면 사용 가능한 워커의 개수가 4개가 될 때까지 기다려야 합니다.

    사용하는 네트워크와 클러스터 상태에 따라 다른 속성들도 편집할 수 있습니다.

  5. 완료(Complete)를 선택하여 프로파일 설정을 저장합니다.

약간의 차이만 있는 비슷한 프로파일을 만들려면 다음과 같이 기존 프로파일을 복제하여 변경해야 할 부분만 수정하면 됩니다.

  1. 클러스터 프로파일 관리자에서 목록에 있는 프로파일 이름 MyMJSProfile1을 마우스 오른쪽 버튼으로 클릭하고 복제(Duplicate)를 선택합니다.

    이렇게 하면 원래 프로파일 이름에 _Copy가 덧붙여진 복제 프로파일이 생성됩니다.

  2. 새 프로파일 이름을 더블 클릭하고 이름을 MyMJSprofile2로 편집합니다.

  3. 편집(Edit)을 선택하면 프로파일 속성 값을 변경할 수 있습니다.

  4. 설명 필드를 편집하여 텍스트를 MJS with any workers로 변경합니다.

  5. 워커 섹션으로 스크롤하여 워커 개수의 범위에서 [4 4]를 지우고 필드를 비워 둡니다.

  6. 완료(Complete)를 선택하여 설정을 저장하고 속성 편집기를 닫습니다.

이제 작업을 실행하기 위해 필요한 워커 개수만 다른 두 개의 프로파일이 만들어졌습니다.

작업을 생성할 때 작업이 실행될 워커의 개수를 지정하기 위해 두 프로파일 중 하나를 적용할 수 있습니다.

Configure Your Cluster (MATLAB Parallel Server)에 나와 있는 MATLAB Parallel Server 설치 지침에서 지원되는 여러 종류의 스케줄러에 맞는 프로파일의 예를 확인할 수 있습니다.

클러스터 프로파일 가져오기 및 내보내기

클러스터 프로파일은 MATLAB 기본 설정의 일부로 저장되기 때문에 일반적으로 개별 사용자별로 사용 가능합니다. 다른 사용자가 클러스터 프로파일을 사용할 수 있도록 하려면 .settings 파일로 내보낼 수 있습니다. 이렇게 하면 프로파일을 모아놓은 저장 공간을 만들어서 하나의 연산 클러스터의 모든 사용자가 프로파일을 공유하도록 할 수 있습니다.

클러스터 프로파일을 내보내려면 다음을 수행하십시오.

  1. 클러스터 프로파일 관리자에서 내보낼 프로파일을 선택(강조 표시)합니다.

  2. 내보내기(Export) > 내보내기(Export)를 선택합니다. (또는 목록에서 프로파일을 마우스 오른쪽 버튼으로 클릭하고 내보내기(Export)를 선택할 수 있습니다.)

    모든 프로파일을 한 파일로 내보내려면 내보내기(Export) > 모두 내보내기(Export All)를 선택합니다.

  3. 프로파일을 파일로 내보내기 대화 상자에서 파일의 위치와 이름을 지정합니다. 디폴트 파일 이름은 프로파일 이름에 .settings 확장자가 추가되며, 필요하면 이름을 변경할 수 있습니다.

이렇게 저장된 프로파일은 다른 MATLAB 사용자가 다음과 같이 가져올 수 있습니다.

  1. 클러스터 프로파일 관리자에서 가져오기(Import)를 선택합니다.

  2. 파일에서 프로파일 가져오기 대화 상자에서 가져올 프로파일에 대한 .settings 파일을 찾습니다. 파일을 선택하고 열기(Open)를 선택합니다.

    가져온 프로파일이 클러스터 프로파일 관리자 목록에 표시됩니다. 목록에 포함된 이름이 프로파일 이름인 것을 볼 수 있습니다. 이 이름은 반드시 파일 이름과 같지는 않습니다. 가져올 프로파일과 동일한 이름의 프로파일이 이미 있는 경우, 가져온 프로파일에는 이름에 확장자가 추가되어 있으므로 구분할 수 있습니다.

또한 parallel.exportProfileparallel.importProfile 함수를 사용하여 프로그래밍 방식으로 프로파일을 내보내고 가져올 수 있습니다.

MATLAB Compiler용 프로파일 내보내기

내보낸 프로파일을 MATLAB Compiler™MATLAB Compiler SDK™에 사용하면 클러스터에서 컴파일된 응용 프로그램을 실행할 때 해당 클러스터 설정 정보를 식별할 수 있습니다. 예를 들어, setmcruserdata 함수는 내보낸 프로파일 파일 이름을 사용하여 키 ParallelProfile 값을 설정할 수 있습니다. 병렬 응용 프로그램 배포에 대한 자세한 내용 및 예제는 Pass Parallel Computing Toolbox Profile at Run Time (MATLAB Compiler) 및 Use Parallel Computing Toolbox in Deployed Applications (MATLAB Compiler SDK) 항목을 참조하십시오.

컴파일된 응용 프로그램은 사용자가 응용 프로그램을 컴파일하던 시점에 가지고 있던 것과 동일한 디폴트 프로파일과 대체 프로파일 목록을 가지고 있습니다. 이는 로컬 워커에 local 프로파일을 사용할 때 그러한 것처럼, 많은 경우 해당 프로파일 파일이 필요하지 않음을 의미합니다. 내보낸 파일을 사용하면 파일에 있는 첫 번째 프로파일이 디폴트가 됩니다. 가져온 프로파일 중 이름이 같은 기존 프로파일이 있는 경우 가져오는 동안 이름이 변경됩니다(파일에서의 해당 이름은 변경되지 않음).

워커 개수와 클러스터 설정 편집하기

클러스터 프로파일을 만들고 나면 워커의 개수와 여러 프로파일 속성을 지정할 수 있습니다.

  • NumWorkers: 풀을 시작할 워커 개수. 실제 풀 크기는 라이선싱, 클라스터 크기 및 클러스터 프로파일 설정에 따라 제한될 수 있습니다. 풀 크기 및 클러스터 선택 항목을 참조하십시오.

  • NumThreads: 각 워커에서 사용할 계산 스레드 개수. NumThreads를 변경하여 워커가 멀티스레드 모드에서 실행되고 클러스터의 모든 코어가 사용되도록 할 수 있습니다. 이렇게 하면 워커 개수 NumWorkers를 늘리지 않으면서 각 워커의 계산 스레드 개수 NumThreads를 늘릴 수 있습니다. 사용 가능한 코어가 더 있다면 NumThreads를 늘려서 많은 기본 MATLAB 라이브러리의 멀티스레드 특성이 지원하는 내장 병렬 처리를 최대한 활용하십시오. 자세한 내용은 Run MATLAB on multicore and multiprocessor machines를 참조하십시오.

    참고

    한 컴퓨터에서 모든 워커의 스레드 개수가 물리적 코어 개수를 초과하도록 늘리지 마십시오. 즉, NumWorkers x NumThreads가 컴퓨터의 물리적 코어 개수보다 작거나 같아야 합니다. 그렇지 않으면 성능이 저하될 수 있습니다.

MATLAB에서 클러스터 사용하기

parpool 또는 batch와 같은 병렬 언어 함수를 실행하려면 클러스터 프로파일을 디폴트 값으로 설정하거나 cluster 객체를 사용하십시오.

디폴트 클러스터 지정하기

클러스터 프로파일을 디폴트 값으로 설정하려면 다음 방법 중 하나를 사용하십시오.

  • 홈(Home) 탭의 환경(Environment) 섹션에서 병렬연산(Parallel Operation) > 디폴트 클러스터 선택(Select a Default Cluster)을 선택하면 사용 가능한 모든 프로파일이 표시됩니다. 디폴트 프로파일에는 표시가 되어 있습니다. 목록에 있는 프로파일 중 하나를 디폴트 프로파일로 선택할 수 있습니다.

  • 클러스터 프로파일 관리자에 어느 프로파일이 디폴트 프로파일인지 표시되어 있습니다. 목록에 있는 프로파일 중 하나를 선택한 다음 디폴트 값으로 설정(Set as Default)을 선택할 수 있습니다.

  • parallel.defaultClusterProfile 함수를 사용하여 프로그래밍 방식으로 디폴트 프로파일을 가져오거나 설정할 수 있습니다. 다음 명령은 둘 다 디폴트 프로파일을 설정합니다.

    parallel.defaultClusterProfile('MyMJSProfile1')
    parpool

    또는

    parpool('MyMJSProfile1')

프로그래밍 방식으로 클러스터 지정하기(parcluster)

parcluster 함수는 지정한 프로파일에 따라 작업 공간에 cluster 객체를 생성합니다. 프로파일은 특정 클러스터를 식별하고 속성 값을 적용합니다. 예를 들면 다음과 같습니다.

c = parcluster('MyMJSProfile1')

이 명령은 MyMJSProfile1이라는 이름의 프로파일 설정에서 정의된 클러스터를 찾고 프로파일의 설정을 기반으로 cluster 객체에 대한 속성 값을 설정합니다. parpool 또는 batch와 같은 함수에서 cluster 객체를 사용합니다. 다른 프로파일을 적용하면 MATLAB 응용 프로그램 코드를 변경하지 않고도 클러스터 선택을 변경할 수 있습니다.

참고 항목

| | | | | | |

관련 예제

세부 정보

외부 웹 사이트