이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.
클러스터 검색 및 클러스터 프로파일 사용하기
Parallel Computing Toolbox™는 로컬 데스크탑 컴퓨터에서 병렬 코드를 실행할 수 있도록 클러스터 프로파일 Processes
와 Threads
가 사전에 구성되어 제공됩니다.
MATLAB® 홈 탭의 병렬연산 메뉴를 사용하여 병렬 동작을 제어합니다.
병렬연산 메뉴를 사용하여 다음을 수행할 수 있습니다.
사용자 네트워크 또는 Cloud Center에서 실행 중인 다른 클러스터를 검색합니다. 병렬연산 > 클러스터 검색을 클릭합니다. 자세한 내용은 클러스터 검색하기 항목을 참조하십시오.
클러스터 프로파일 관리자를 사용하여 클러스터 프로파일을 생성하고 관리합니다. 병렬연산 > 클러스터 생성 및 관리를 클릭합니다. 자세한 내용은 클러스터 프로파일 생성 및 관리하기 항목을 참조하십시오.
클러스터 프로파일 생성 및 관리하기
클러스터 프로파일을 사용하면 클러스터의 특정 속성을 정의한 후 MATLAB 클라이언트에서 cluster 객체, job 객체 및 task 객체를 만들 때 이러한 속성을 적용할 수 있습니다. 클러스터 프로파일을 사용할 수 있는 함수는 다음과 같습니다.
클러스터 프로파일 관리자를 사용하여 클러스터 프로파일을 관리합니다. 클러스터 프로파일 관리자를 열려면 홈 탭의 환경 섹션에서 병렬연산 > 클러스터 생성 및 관리를 선택하십시오.
클러스터 프로파일 관리자를 사용하여 다음을 수행할 수 있습니다.
사용자 네트워크 또는 Cloud Center에서 실행 중인 다른 클러스터를 검색합니다. 자세한 내용은 클러스터 검색하기 항목을 참조하십시오.
Amazon® AWS®와 같은 클라우드에서 클러스터를 만듭니다. 자세한 내용은 클라우드 클러스터 생성 항목을 참조하십시오.
클러스터 프로파일을 추가하고 속성을 수정합니다. 자세한 내용은 클러스터 프로파일을 추가하고 수정하기 항목을 참조하십시오.
클러스터 프로파일을 가져오고 내보냅니다. 자세한 내용은 클러스터 프로파일 가져오기 및 내보내기 항목을 참조하십시오.
프로파일 속성을 지정합니다. 자세한 내용은 워커 개수와 클러스터 설정 편집하기 항목을 참조하십시오.
MATLAB에서 클러스터 프로파일을 사용할 준비가 되었는지 확인합니다.
클러스터 검색하기
MATLAB에서 클러스터를 검색하도록 할 수 있습니다. 다음 방법 중 하나를 사용하여 사용 가능한 클러스터를 검색할 수 있습니다.
홈 탭의 환경 섹션에서 병렬연산 > 클러스터 검색을 선택합니다.
클러스터 프로파일 관리자에서 클러스터 검색을 선택합니다.
이렇게 하면 클러스터 검색 대화 상자가 열리고 여기서 MATLAB Parallel Server™ 클러스터를 검색할 수 있습니다.
사용자 네트워크에서를 선택하면 새 창이 표시됩니다. 클러스터가 MATLAB 작업 스케줄러, Microsoft® Windows® HPC Server 또는 기타 타사 스케줄러 클러스터를 사용하는 경우 이 옵션을 선택합니다. 클러스터가 검색되면 선택 가능한 목록에 채워집니다. 나열된 클러스터 중 프로파일이 이미 있는 클러스터가 있으면 해당 프로파일 이름이 목록에 포함됩니다. 검색된 클러스터의 프로파일을 새로 만들려면 사용할 클러스터 이름을 선택하고 다음을 선택합니다. 표시되는 대화 상자에서 생성된 프로파일을 디폴트 값으로 설정할 수 있습니다. 이 옵션은 MATLAB Online에서 지원되지 않습니다.
MathWorks Cloud Center에서를 선택하면 Cloud Center에서 실행 중인 클러스터를 검색합니다. 이러한 클러스터에 액세스하려면 MathWorks 계정 로그인 정보를 제공해야 합니다.
클러스터 검색 요구 사항
클러스터 검색은 MATLAB 작업 스케줄러, Microsoft Windows HPC Server 클러스터, 기타 타사 스케줄러 클러스터, MathWorks Cloud Center 클러스터에만 지원됩니다. 스케줄러를 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에 추가됩니다.
타사 스케줄러 — 클러스터 검색 기능은 구성 파일을 사용하여 타사 스케줄러 클러스터를 검색합니다. 자세한 내용은 Configure for Third-Party Scheduler Cluster Discovery (MATLAB Parallel Server) 항목을 참조하십시오.
Cloud Center — 클러스터 검색 기능을 사용하려면 mathworks.com에서 실행 중인 Cloud Center 웹 서비스와 클라이언트 간에 네트워크로 연결되어 있어야 합니다.
클라우드 클러스터 생성
클러스터 프로파일 관리자에서 직접 Cloud Center 클라우드 서비스에 클러스터를 만들 수 있습니다. 클러스터 프로파일 관리자에서 클라우드 클러스터 생성을 선택합니다.
MathWorks® 계정을 등록하고 필요한 단계를 완료합니다. 그런 다음 클라우드 클러스터를 만들고 컴퓨터 대수 또는 컴퓨터당 워커 개수 등의 파라미터를 구성할 수 있습니다. 사용 가능한 파라미터 각각에 대한 자세한 내용은 Create a Cloud Cluster를 참조하십시오. 모든 단계를 완료하면 MATLAB에서 새 클러스터 프로파일을 만듭니다. 클러스터 프로파일 관리자에서 속성을 수정할 수 있습니다.
라이선스를 관리하고, 클라우드 연결을 테스트하고, MathWorks Cloud Center에서 클라우드 클러스터를 관리하려면 클러스터 프로파일 관리자 툴스트립 > 클라우드 섹션으로 이동하십시오.
클러스터 프로파일을 추가하고 수정하기
클러스터 프로파일 관리자를 사용하면 MATLAB 작업 스케줄러 또는 타사 스케줄러에 대한 클러스터 프로파일을 추가할 수 있습니다. MATLAB에서 사용할 클러스터를 설정해야 하는 경우 설치 (MATLAB Parallel Server) 항목을 참조하십시오.
다음 예제에서는 클러스터 프로파일 관리자를 사용하여 프로파일을 추가하고 수정하는 방법에 대한 지침을 제공합니다.
MATLAB 작업 스케줄러 클러스터에서 실행할 작업의 속성을 설정하기 위해 프로파일을 만든다고 가정하겠습니다. 다음 예제는 사용하는 워커 개수만 다른 두 개의 프로파일을 만드는 워크플로를 설명합니다.
클러스터 프로파일 관리자에서 클러스터 프로파일 추가 > MATLAB Job Scheduler를 선택합니다. 이는 MATLAB 작업 스케줄러 클러스터에 새 프로파일을 추가하라고 지정하는 것입니다.
이렇게 하면 MJSProfile1이라는 새 프로파일이 생성되고 표시됩니다.
목록에서 새 프로파일 이름을 더블 클릭하고 프로파일 이름을
MyMJSProfile1
로 수정합니다.프로파일 속성값을 설정할 수 있도록 툴스트립에서 편집을 선택합니다.
다음 그림에 표시된 대로 설명 필드에 텍스트
MJS with 4 workers
를 입력합니다. MATLAB 작업 스케줄러가 실행 중인 컴퓨터의 호스트 이름과 MATLAB 작업 스케줄러 이름을 입력합니다. 네트워크에서 이미 실행 중인 실제 MATLAB 작업 스케줄러 정보를 입력하는 경우 실제 이름을 입력합니다. 네트워크상의 MATLAB 작업 스케줄러 이름과 위치가 확실치 않은 경우 시스템 관리자에게 도움을 요청하십시오.참고
MATLAB 작업 스케줄러가 디폴트 값 대신
mjs_def
파일에 정의된BASE_PORT
설정을 사용하고 있다면 클러스터 프로파일의Host
속성에 이BASE_PORT
번호를 추가해야 합니다. 예를 들어MJS-Host:40000
으로 설정합니다.워커 섹션으로 스크롤하여 워커 개수 범위에 요소를 2개 가진 벡터
[4 4]
를 입력합니다. 이는 이 프로파일을 사용하는 작업에 필요한 워커 개수가 최소 4개이고 최대 4개라고 지정하는 것입니다. 따라서 이 프로파일을 사용하는 작업은 정확히 4개의 워커에서 실행되며, 작업을 시작하려면 사용 가능한 워커의 개수가 4개가 될 때까지 기다려야 합니다.사용하는 네트워크와 클러스터 상태에 따라 다른 속성들도 편집할 수 있습니다.
완료를 선택하여 프로파일 설정을 저장합니다.
약간의 차이만 있는 비슷한 프로파일을 만들려면 다음과 같이 기존 프로파일을 복제하여 변경해야 할 부분만 수정하면 됩니다.
클러스터 프로파일 관리자에서 목록에 있는 프로파일 이름
MyMJSProfile1
을 마우스 오른쪽 버튼으로 클릭하고 복제를 선택합니다.이렇게 하면 원래 프로파일 이름에
_Copy
가 덧붙여진 복제 프로파일이 생성됩니다.새 프로파일 이름을 더블 클릭하고 이름을
MyMJSprofile2
로 편집합니다.편집을 선택하면 프로파일 속성값을 변경할 수 있습니다.
설명 필드를 편집하여 텍스트를
MJS with any workers
로 변경합니다.워커 섹션으로 스크롤하여 워커 개수의 범위에서
[4 4]
를 지우고 필드를 비워 둡니다.완료를 선택하여 설정을 저장하고 속성 편집기를 닫습니다.
이제 작업을 실행하기 위해 필요한 워커 개수만 다른 두 개의 프로파일이 만들어졌습니다.
작업을 생성할 때 작업이 실행될 워커의 개수를 지정하기 위해 두 프로파일 중 하나를 적용할 수 있습니다.
Configure Your Cluster (MATLAB Parallel Server)에 나와 있는 MATLAB Parallel Server 설치 지침에서 지원되는 여러 종류의 스케줄러에 맞는 프로파일의 예를 확인할 수 있습니다.
클러스터 프로파일 가져오기 및 내보내기
클러스터 프로파일은 MATLAB 기본 설정의 일부로 저장되기 때문에 일반적으로 개별 사용자별로 사용 가능합니다. 다른 사용자가 클러스터 프로파일을 사용할 수 있도록 하려면 .mlsettings
파일로 내보낼 수 있습니다. 이렇게 하면 프로파일을 모아놓은 저장 공간을 만들어서 하나의 연산 클러스터의 모든 사용자가 프로파일을 공유하도록 할 수 있습니다.
클러스터 프로파일을 내보내려면 다음을 수행하십시오.
클러스터 프로파일 관리자에서 내보낼 프로파일을 선택(강조 표시)합니다.
내보내기 > 내보내기를 선택합니다. (또는 목록에서 프로파일을 마우스 오른쪽 버튼으로 클릭하고 내보내기를 선택할 수 있습니다.)
모든 프로파일을 한 파일로 내보내려면 내보내기 > 모두 내보내기를 선택합니다.
프로파일을 파일로 내보내기 대화 상자에서 파일의 위치와 이름을 지정합니다. 디폴트 파일 이름은 프로파일 이름에
.mlsettings
확장자가 추가되며, 필요하면 이름을 변경할 수 있습니다.
참고로, Cloud Center 개인 클러스터용 프로파일은 내보낼 수 없습니다.
이렇게 저장된 프로파일은 다른 MATLAB 사용자가 다음과 같이 가져올 수 있습니다.
클러스터 프로파일 관리자에서 가져오기를 선택합니다.
파일에서 프로파일 가져오기 대화 상자에서 가져올 프로파일에 대한
.mlsettings
파일을 찾습니다. 파일을 선택하고 열기를 선택합니다.가져온 프로파일이 클러스터 프로파일 관리자 목록에 표시됩니다. 목록에 포함된 이름이 프로파일 이름인 것을 볼 수 있습니다. 이 이름은 반드시 파일 이름과 같지는 않습니다. 가져올 프로파일과 동일한 이름의 프로파일이 이미 있는 경우, 가져온 프로파일에는 이름에 확장자가 추가되어 있으므로 구분할 수 있습니다.
또한 parallel.exportProfile
과 parallel.importProfile
함수를 사용하여 프로그래밍 방식으로 프로파일을 내보내고 가져올 수 있습니다.
MATLAB Compiler용 프로파일 내보내기
내보낸 프로파일을 MATLAB Compiler™ 및 MATLAB Compiler SDK™에 사용하면 클러스터에서 컴파일된 애플리케이션을 실행할 때 해당 클러스터 설정 정보를 식별할 수 있습니다. 예를 들어, setmcruserdata
(MATLAB Compiler) 함수는 내보낸 프로파일 파일 이름을 사용하여 키 ParallelProfile
값을 설정할 수 있습니다. 병렬 애플리케이션 배포에 대한 자세한 내용 및 예제는 Pass Parallel Computing Toolbox Profile at Run Time (MATLAB Compiler) 및 Use Parallel Computing Toolbox in Deployed Applications (MATLAB Compiler SDK) 항목을 참조하십시오.
컴파일된 애플리케이션은 사용자가 애플리케이션을 컴파일하던 시점에 가지고 있던 것과 동일한 디폴트 프로파일과 대체 프로파일 목록을 가지고 있습니다. 이는 로컬 워커에 Processes
프로파일을 사용할 때 그러한 것처럼, 해당 프로파일 파일이 필요하지 않은 경우가 많다는 것을 의미합니다. 내보낸 파일을 사용하면 파일에 있는 첫 번째 프로파일이 디폴트가 됩니다. 가져온 프로파일 중 이름이 같은 기존 프로파일이 있는 경우 가져오는 동안 이름이 변경됩니다(파일에서의 해당 이름은 변경되지 않음).
워커 개수와 클러스터 설정 편집하기
클러스터 프로파일을 만들고 나면 워커의 개수와 여러 프로파일 속성을 지정할 수 있습니다.
NumWorkers
: 풀을 시작할 워커 개수. 실제 풀 크기는 라이선싱, 클라스터 크기 및 클러스터 프로파일 설정에 따라 제한될 수 있습니다. 풀 크기에 영향을 미치는 요인 항목을 참조하십시오.NumThreads
: 각 워커에서 사용할 계산 스레드 개수.NumThreads
를 변경하여 워커가 멀티스레드 모드에서 실행되고 클러스터의 모든 코어가 사용되도록 할 수 있습니다. 이렇게 하면 워커 개수NumWorkers
를 늘리지 않으면서 각 워커의 계산 스레드 개수NumThreads
를 늘릴 수 있습니다. 사용 가능한 코어가 더 있다면NumThreads
를 늘려서 많은 기본 MATLAB 라이브러리의 멀티스레드 특성이 지원하는 내장 병렬 처리를 최대한 활용하십시오. 자세한 내용은 Run MATLAB on multicore and multiprocessor machines를 참조하십시오.참고
한 컴퓨터에서 모든 워커의 스레드 개수가 물리적 코어 개수를 초과하도록 늘리지 마십시오. 즉,
NumWorkers x NumThreads
가 컴퓨터의 물리적 코어 개수보다 작거나 같아야 합니다. 그렇지 않으면 성능이 저하될 수 있습니다.
MATLAB에서 클러스터 사용하기
parpool
또는 batch
와 같은 병렬 언어 함수를 실행하려면 클러스터 프로파일을 디폴트 값으로 설정하거나 cluster 객체를 사용하십시오.
디폴트 클러스터 지정하기
클러스터 프로파일을 디폴트 값으로 설정하려면 다음 방법 중 하나를 사용하십시오.
홈 탭의 환경 섹션에서 병렬연산 > 디폴트 클러스터 선택을 선택하면 사용 가능한 모든 프로파일이 표시됩니다. 디폴트 프로파일에는 표시가 되어 있습니다. 목록에 있는 프로파일 중 하나를 디폴트 프로파일로 선택할 수 있습니다.
클러스터 프로파일 관리자에 어느 프로파일이 디폴트 프로파일인지 표시되어 있습니다. 목록에 있는 프로파일 중 하나를 선택한 다음 디폴트 값으로 설정을 선택할 수 있습니다.
parallel.defaultClusterProfile
함수를 사용하여 프로그래밍 방식으로 디폴트 프로파일을 가져오거나 설정할 수 있습니다. 다음 명령은 둘 다 디폴트 프로파일을 설정합니다.parallel.defaultClusterProfile('MyMJSProfile1') parpool
또는
parpool('MyMJSProfile1')
프로그래밍 방식으로 클러스터 지정하기(parcluster
)
parcluster
함수는 지정한 프로파일에 따라 작업 공간에 cluster 객체를 생성합니다. 프로파일은 특정 클러스터를 식별하고 속성값을 적용합니다. 예를 들면 다음과 같습니다.
c = parcluster('MyMJSProfile1')
이 명령은 MyMJSProfile1
이라는 이름의 프로파일 설정에서 정의된 클러스터를 찾고 프로파일의 설정을 기반으로 cluster 객체에 대한 속성값을 설정합니다. parpool
또는 batch
와 같은 함수에서 cluster 객체를 사용합니다. 다른 프로파일을 적용하면 MATLAB 애플리케이션 코드를 변경하지 않고도 클러스터 선택을 변경할 수 있습니다.
참고 항목
batch
| parpool
| parcluster
| createJob
| setmcruserdata
(MATLAB Compiler) | parallel.exportProfile
| parallel.importProfile
| parallel.defaultClusterProfile
관련 예제
- 병렬 풀에서 코드 실행하기
- Scale Up from Desktop to Cluster
- Pass Parallel Computing Toolbox Profile at Run Time (MATLAB Compiler)
- Use Parallel Computing Toolbox in Deployed Applications (MATLAB Compiler SDK)
- Verify Network Communications for Cluster Discovery (MATLAB Parallel Server)
세부 정보
- 설치 (MATLAB Parallel Server)
- 클러스터 및 클라우드