이는 Ubuntu Online, Fedora Online, Windows 온라인 에뮬레이터 또는 MAC OS 온라인 에뮬레이터와 같은 여러 무료 온라인 워크스테이션 중 하나를 사용하여 OnWorks 무료 호스팅 공급자에서 실행할 수 있는 salloc 명령입니다.
프로그램:
이름
salloc - Slurm 작업 할당(노드 집합)을 얻고 명령을 실행한 다음
명령이 완료되면 할당을 해제합니다.
개요
살록 [옵션] [명령> [명령 인수]]
기술
salloc은 리소스(노드)의 집합인 Slurm 작업 할당을 할당하는 데 사용되며,
일부 제약 조건(예: 노드당 프로세서 수)이 있을 수 있습니다. 살록 때
요청된 할당을 성공적으로 얻은 다음 지정된 명령을 실행합니다.
사용자. 마지막으로 사용자 지정 명령이 완료되면 salloc은 작업을 포기합니다.
배당.
명령은 사용자가 원하는 모든 프로그램이 될 수 있습니다. 몇 가지 일반적인 명령은 쉘인 xterm입니다.
srun 명령 및 srun을 포함하는 스크립트(예제 섹션 참조). 명령이 없으면
지정한 다음 값 SallocDefault명령 slurm.conf에서 사용됩니다. 만약에
SallocDefault명령 설정되지 않은 경우 살록 사용자의 기본 셸을 실행합니다.
다음 문서는 할당에 대한 다양한 옵션의 영향을 설명합니다.
cpus를 작업 및 태스크로.
http://slurm.schedmd.com/cpu_management.html
참고: salloc 논리에는 터미널 라인 설정을 저장하고 복원하는 지원이 포함되어 있으며
전경에서 실행되도록 설계되었습니다. Salloc을 실행해야 하는 경우
백그라운드에서 표준 입력을 일부 파일로 설정합니다. 예: "salloc -n16 a.out
옵션
-A, --계정=<계정>
이 작업에서 사용하는 리소스를 지정된 계정에 청구합니다. 그만큼 계정 는 Teledyne LeCroy 오실로스코프 및 LSA-XNUMX 시리즈 임베디드 신호 분석기가
임의 문자열. 계정 이름은 작업 제출 후 다음을 사용하여 변경할 수 있습니다.
제어 명령.
--acctg-주파수
작업 계정 및 프로파일링 샘플링 간격을 정의합니다. 이것은 다음에 사용할 수 있습니다
재정의 JobAcctGatherFrequency Slurm 구성 파일의 매개변수,
slurm.conf. 지원되는 형식은 다음과 같습니다.
--acctg-주파수==
어디에 = 작업 샘플링 간격을 지정합니다.
jobacct_gather 플러그인 또는 프로파일링 유형의 샘플링 간격
acct_gather_profile 플러그인에 의해. 다중, 쉼표로 구분
= 간격을 지정할 수 있습니다. 지원되는 데이터 유형
다음과 같습니다 :
작업=
어디에 에 대한 작업 샘플링 간격(초)입니다.
jobacct_gather 플러그인과
acct_gather_profile 플러그인. 참고: 이 주파수는 다음과 같은 용도로 사용됩니다.
메모리 사용량을 모니터링합니다. 메모리 제한이 가장 높은 경우
사용자가 요청할 수 있는 빈도는
slurm.conf 파일. 끌 수도 없습니다(=0).
에너지=
어디에 에너지에 대한 샘플링 간격(초)
acct_gather_energy 플러그인을 사용한 프로파일링
네트워크=
어디에 에 대한 샘플링 간격(초)
acct_gather_infiniband 플러그인을 사용한 infiniband 프로파일링.
파일 시스템=
어디에 에 대한 샘플링 간격(초)
acct_gather_filesystem 플러그인을 사용한 파일 시스템 프로파일링.
작업 샘플링 간격의 기본값
다른 모든 간격의 기본값은 30입니다. 간격이 0이면 비활성화됩니다.
지정된 유형의 샘플링. 작업 샘플링 간격이 0이면 회계
정보는 작업 종료 시에만 수집됩니다(Slurm 간섭 감소
작업).
작은(XNUMX이 아닌) 값은 작업 성능에 더 큰 영향을 주지만 값은
30초 미만인 애플리케이션의 경우 눈에 띄지 않을 수 있습니다.
10,000개의 작업.
-B --추가 노드 정보=<소켓[:코어[:스레드]]>
수 및 유형에 대한 세부 정보와 함께 리소스의 특정 할당을 요청합니다.
클러스터 내의 계산 리소스 수: 소켓 수(또는 물리적
프로세서), 소켓당 코어, 코어당 스레드. 총액
요청되는 자원은 모든 용어의 산물입니다. 지정된 각 값
최소로 간주됩니다. 별표(*)는 다음을 나타내는 자리 표시자로 사용할 수 있습니다.
해당 유형의 사용 가능한 모든 리소스를 활용해야 합니다. 노드와 마찬가지로
원하는 경우 개별 수준을 별도의 옵션으로 지정할 수도 있습니다.
--노드당 소켓=<소켓>
--소켓당 코어 수=<코어>
--코어당 스레드 수=<스레드>
SelectType이 select/cons_res로 구성된 경우 다음 매개변수가 있어야 합니다.
이 옵션이 될 CR_Core, CR_Core_Memory, CR_Socket 또는 CR_Socket_Memory
존경합니다. 이 옵션은 BlueGene 시스템(select/bluegene 플러그인
구성됨). 지정하지 않으면 scontrol show 작업이 표시됩니다.
'요청:C:T=*:*:*'.
--bb=<투기>
버스트 버퍼 사양. 사양의 형식은 시스템에 따라 다릅니다.
--시작하다=<시간>
평소와 같이 배치 스크립트를 Slurm 컨트롤러에 즉시 제출하지만
컨트롤러가 지정된 시간까지 작업 할당을 연기합니다.
시간은 다음과 같은 형식일 수 있습니다. HH : MM : SS 하루 중 특정 시간(초)에 작업을 실행하려면
선택 사항입니다). (이미 그 시간이 지난 경우에는 다음 날로 간주합니다.)
또한 지정 한밤중, 정오, 피카 (오후 3시) 또는 차 시간 (오후 4시) 그리고 당신은 가질 수 있습니다
접미사가 붙은 시간 AM or PM 아침이나 저녁에 달리기 위해. 너
형식의 날짜를 지정하여 작업이 실행될 요일을 말할 수도 있습니다. MMDDYY
or 월/일/연도 YYYY-MM-DD. 다음 형식을 사용하여 날짜와 시간을 결합합니다.
YYYY-MM-DD[THH:MM[:SS]]. 다음과 같은 시간을 줄 수도 있습니다. 지금 + 계산 시간 단위어디로
시간 단위는 초 (기본값), 분, 시간, 일및 주 당신은 할 수 있습니다
키워드로 오늘 작업을 실행하도록 Slurm에 지시 오늘 그리고 내일 일을 실행하기 위해
키워드로 내일. 작업 제출 후 다음을 사용하여 값을 변경할 수 있습니다.
제어 명령. 예를 들어:
--시작=16:00
--시작=지금+1시간
--begin=now+60(기본값은 초)
--begin=2010-01-20T12:34:00
날짜/시간 지정에 대한 참고 사항:
- HH:MM:SS 시간 지정의 '초' 필드는 다음에 의해 허용되지만
Slurm 스케줄러의 폴링 시간은 정확하지 않습니다.
정확한 시간에 작업 파견을 보장합니다. 직업은 자격이 될 것입니다
지정된 시간 이후의 다음 투표에서 시작합니다. 정확한 폴링 간격
Slurm 스케줄러에 따라 다릅니다(예: 기본 sched/builtin의 경우 60초).
- 시간(HH:MM:SS)을 지정하지 않은 경우 기본값은 (00:00:00)입니다.
- 연도 없이 날짜를 지정한 경우(예: MM/DD) 현재 연도는
MM/DD 및 HH:MM:SS 조합이 이미 통과하지 않은 경우 가정
이 경우 다음 연도가 사용됩니다.
--벨 작업 할당이 승인되면 salloc이 터미널 벨을 울리도록 강제합니다.
stdout이 tty인 경우). 기본적으로 salloc은 할당이 다음과 같은 경우에만 벨을 울립니다.
XNUMX초 이상 대기 중입니다(stdout이 tty인 경우에만). 또한 참조
option --노벨.
--논평=<현>
임의의 의견입니다.
-C, --강제=<명부>
노드는 가질 수 있습니다 풍모 Slurm 관리자가 할당했습니다. 사용자는
이 중 어느 것을 지정 풍모 제약 조건을 사용하는 작업에 필요합니다.
옵션. 작업 제약 조건과 일치하는 기능이 있는 노드만 다음 작업에 사용됩니다.
요청을 만족시키십시오. AND, OR, 일치하는 여러 제약 조건을 지정할 수 있습니다.
OR, 리소스 수 등. 지원되는 제약 조건 옵션은 다음과 같습니다.
하나의 성함
지정된 기능이 있는 노드만 사용됩니다. 예를 들어,
--constraint="인텔"
노드 카운트
요청은 일부 기능에 필요한 노드 수를 다음과 같이 지정할 수 있습니다.
기능 이름 뒤에 별표와 개수를 추가합니다. 예를 들어
"--노드=16 --constraint=그래픽*4 ... " 작업에 16이 필요함을 나타냅니다.
노드 중 최소 XNUMX개 노드에 해당 기능이 있어야 합니다.
"제도법."
및 지정된 모든 기능이 있는 노드만 사용되는 경우. 앰퍼샌드는
AND 연산자에 사용됩니다. 예를 들어, --constraint="인텔&GPU"
OR 지정된 기능 중 하나 이상이 있는 노드만 사용되는 경우. 그만큼
세로 막대는 OR 연산자에 사용됩니다. 예를 들어,
--constraint="인텔|AMD"
매칭 OR
할당된 모든 옵션에 대해 가능한 옵션 집합 중 하나만 사용해야 하는 경우
그런 다음 OR 연산자를 사용하고 사각형 안에 옵션을 묶습니다.
괄호. 예를 들어: "--constraint=[랙1|랙2|랙3|랙4]" 수 있습니다
모든 노드가 서버의 단일 랙에 할당되어야 함을 지정하는 데 사용됩니다.
XNUMX개의 랙 중 아무거나 사용할 수 있습니다.
배수 카운트
AND를 사용하여 여러 리소스의 특정 수를 지정할 수 있습니다.
연산자를 사용하고 옵션을 대괄호로 묶습니다. 예를 들어:
"--constraint=[랙1*2&랙2*4]" 두 개의 노드를 지정하는 데 사용할 수 있습니다.
"rack1" 기능이 있는 노드에서 할당해야 하며 XNUMX개의 노드는
"rack2" 기능이 있는 노드에서 할당되어야 합니다.
--인접
설정된 경우 할당된 노드는 연속 집합을 형성해야 합니다. 존경받지 못함
토폴로지/트리 or 토폴로지/3d_torus 둘 다 노드를 수정할 수 있는 플러그인
주문.
--소켓당 코어 수=<코어>
최소 코어 수가 지정된 노드로 노드 선택을 제한합니다.
소켓. 아래에서 추가 정보를 참조하십시오. -B 작업/친화성 플러그인인 경우 위의 옵션
사용 가능합니다.
--cpu-주파수 =<p1[-p2[:p3]]>
이 할당 내에서 srun 명령으로 시작된 작업 단계가 다음 위치에서 실행되도록 요청합니다.
가능한 경우 일부 요청된 주파수는 해당 단계에 대해 선택된 CPU에서
컴퓨팅 노드.
p1 [#### | 낮은 | 매체 | 높은 | highm1] 주파수를 설정합니다
scaling_speed를 해당 값으로 설정하고 주파수 scaling_governor를 다음으로 설정합니다.
UserSpace. 값의 정의는 아래를 참조하십시오.
p1 [보수적 | 주문형 | 실적 | PowerSave]는
scaling_governor를 해당 값으로. 거버너는 목록 세트에 있어야 합니다.
slurm.conf 옵션 CpuFreqGovernors에 의해.
인셀덤 공식 판매점인 p2 가 있으면 p1은 최소 스케일링 주파수이고 p2는
최대 스케일링 주파수.
p2 [#### | 매체 | 높은 | highm1] p2는 p1보다 커야 합니다.
p3 [보수적 | 주문형 | 실적 | 절전 | 사용자 공간] 어느
거버너를 해당 값으로 설정합니다.
If p3 UserSpace인 경우 주파수 scaling_speed는 전력 또는 에너지에 의해 설정됩니다.
p1과 p2 사이의 값에 대한 인식 스케줄링 전략
사이트의 전원 목표. p1이 다음 주파수보다 높으면 작업이 지연될 수 있습니다.
목표와 함께 작업을 실행할 수 있습니다.
현재 주파수가 < min이면 min으로 설정됩니다. 마찬가지로 현재의 경우
주파수가 > 최대인 경우 최대로 설정됩니다.
현재 허용되는 값은 다음과 같습니다.
#### 킬로헤르츠 단위의 주파수
높음 사용 가능한 최저 주파수
높음 사용 가능한 가장 높은 주파수
하이M1 (높은 빼기 XNUMX) 다음으로 사용 가능한 가장 높은 주파수를 선택합니다.
중급 사용 가능한 범위의 중간에 주파수를 설정하려고 시도합니다.
보수적 인 보수적 CPU 거버너 사용 시도
주문형 OnDemand CPU 거버너 사용 시도(기본값)
성능 성능 CPU 거버너 사용 시도
절전 PowerSave CPU 거버너 사용 시도
사용자 공간 UserSpace CPU 거버너 사용 시도
다음 정보 환경 변수는 작업에 설정됩니다.
때 단계 --cpu-주파수 옵션이 요청됩니다.
SLURM_CPU_FREQ_REQ
이 환경 변수는 CPU에 대한 값을 제공하는 데에도 사용할 수 있습니다.
'srun' 명령이 실행될 때 설정된 경우 주파수 요청입니다. 그만큼 --cpu-주파수
명령줄에서 환경 변수 값을 재정의합니다. 에 있는 양식
환경 변수는 명령줄과 동일합니다. 참조 환경
변수 SLURM_CPU_FREQ_REQ 변수에 대한 설명 섹션.
주의사항: 이 매개변수는 요구 사항이 아닌 요청으로 처리됩니다. 작업 단계의 경우
노드가 CPU 주파수 설정을 지원하지 않거나 요청된 값이 외부에 있습니다.
유효한 빈도의 범위를 벗어나면 오류가 기록되지만 작업 단계는 다음과 같습니다.
계속할 수 있습니다.
주의사항: 작업 단계의 CPU에 대해서만 빈도를 설정한다는 것은
작업은 해당 CPU로 제한됩니다. 작업 제한(즉,
TaskPlugin=task/affinity 또는 TaskPlugin=task/cgroup("ConstrainCores" 포함)
옵션)이 구성되지 않은 경우 이 매개변수는 무시됩니다.
주의사항: 단계가 완료되면 선택한 각 CPU의 주파수와 거버너가
구성된 상태로 재설정 CPUFreqDef OnDemand CPU의 기본값이 있는 값
지사.
주의사항: 작업을 제출할 때 --cpu-주파수 linuxproc이 있는 옵션
ProctrackType으로 인해 Accounting이 폴링하기 전에 작업이 너무 빨리 실행될 수 있습니다.
직업 정보를 위해. 결과적으로 모든 회계 정보가 제공되지는 않습니다.
-c, --작업당 cpus=<NCPU>
후속 작업 단계에 필요한 Slurm 컨트롤러를 알려줍니다. NCPU 수
작업당 프로세서. 이 옵션이 없으면 컨트롤러는 할당을 시도합니다.
작업당 하나의 프로세서.
예를 들어, 각각 4개를 요구하는 3개의 태스크가 있는 애플리케이션을 고려하십시오.
프로세서. 클러스터가 쿼드 프로세서 노드로 구성되어 있고 간단히 질문하는 경우
12개의 프로세서에 대해 컨트롤러는 3개의 노드만 제공할 수 있습니다. 그러나,
--cpus-per-task=3 옵션을 사용하면 컨트롤러는 각 작업에 3
동일한 노드의 프로세서이며 컨트롤러는 4개의 할당을 부여합니다.
노드, 4개의 작업 각각에 대해 하나씩.
-d, --의존=<의존성 목록>
지정된 종속성이 충족될 때까지 이 작업의 시작을 연기합니다.
완전한.의존성 목록> 형식이다
<유형:작업 ID[:작업 ID][,유형:작업 ID[:작업 ID]]> 또는
<유형:작업 ID[:작업 ID][?유형:작업 ID[:작업 ID]]>. 모든 종속성을 충족해야 합니다.
"," 구분자가 사용된 경우. "?" 분리 기호
사용. 많은 작업이 동일한 종속성을 공유할 수 있으며 이러한 작업은
다른 사용자. scontrol을 사용하여 작업 제출 후 값이 변경될 수 있습니다.
명령. 이전 작업의 종료 상태로 인해 작업 종속성이 실패하면
이전 작업이 다시 대기열에 추가되고
후속 실행에서 다른 종료 상태를 갖습니다.
이후:작업_ID[:작업ID...]
이 작업은 지정된 작업이 실행을 시작한 후에 실행을 시작할 수 있습니다.
afterany:작업_ID[:작업 ID...]
이 작업은 지정된 작업이 종료된 후 실행을 시작할 수 있습니다.
afternotok:작업_ID[:작업 ID...]
이 작업은 지정된 작업이 종료된 후에 실행을 시작할 수 있습니다.
일부 실패한 상태(XNUMX이 아닌 종료 코드, 노드 오류, 시간 초과 등).
afterok:작업 ID[:작업 ID...]
이 작업은 지정된 작업이 성공적으로 수행된 후 실행을 시작할 수 있습니다.
실행됨(종료 코드 XNUMX으로 완료될 때까지 실행됨).
펼치기:job_id
이 작업에 할당된 리소스는 지정된 작업을 확장하는 데 사용해야 합니다.
확장할 작업은 동일한 QOS(Quality of Service)를 공유해야 하며
분할. 파티션에 있는 리소스의 갱 스케줄링도
지원.
싱글
이 작업은 이전에 시작된 작업이 공유된 후에 실행을 시작할 수 있습니다.
동일한 작업 이름과 사용자가 종료되었습니다.
-D, --chdir=<통로>
디렉토리를 다음으로 변경 통로 실행을 시작하기 전에. 경로는 다음과 같이 지정할 수 있습니다.
명령이 실행되는 디렉토리의 전체 경로 또는 상대 경로입니다.
--독점[=사용자]
작업 할당은 실행 중인 다른 작업(또는 다른 사용자와 노드를 공유할 수 없습니다.
"=user" 옵션 사용). 기본 공유/독점 동작은 시스템에 따라 다릅니다.
구성 및 파티션의 공유 옵션이 작업보다 우선합니다.
옵션을 선택합니다.
-F, --노드파일=<노드 파일>
--nodelist와 매우 유사하지만 목록은 이름의 파일에 포함되어 있습니다. 노드 파일. 그만큼
목록의 노드 이름은 파일에서 여러 줄에 걸쳐 있을 수도 있습니다. 중복 노드
파일의 이름은 무시됩니다. 목록에 있는 노드 이름의 순서는
중요한; 노드 이름은 Slurm별로 정렬됩니다.
--get-사용자 환경[=시간 제한][모드]
이 옵션은 다음에 지정된 사용자의 로그인 환경 변수를 로드합니다.
--유체 옵션. 환경 변수는 다음을 실행하여 검색됩니다.
정렬 "수 - -씨 /usr/빈/환경" 및 출력을 구문 분석합니다.
salloc의 환경에 이미 설정된 환경 변수가 우선합니다.
사용자 로그인 환경의 모든 환경 변수. 옵션 시간 제한
값은 초 단위입니다. 기본값은 3초입니다. 옵션 모드 가치 통제
"su" 옵션. 로 모드 "S"의 값, "su"는 "-" 없이 실행됩니다.
옵션. 로 모드 "L"의 값, "su"는 "-" 옵션으로 실행되며,
로그인 환경을 복제합니다. 만약에 모드 지정되지 않은 경우 모드는
Slurm 빌드 시간이 사용됩니다. 사용 예에는 "--get-user-env"가 포함됩니다.
"--get-user-env=10" "--get-user-env=10L" 및 "--get-user-env=S". 참고: 이
옵션은 호출자에게 "루트"의 유효 uid가 있는 경우에만 작동합니다. 이 옵션은
원래 Moab에서 사용하기 위해 만들어졌습니다.
--gid=<그룹>
지정된 작업을 제출하십시오. 그룹의 그룹 액세스 권한입니다. 그룹 수
그룹 이름 또는 숫자 그룹 ID. 기본 Slurm 구성에서 이
옵션은 루트 사용자가 사용할 때만 유효합니다.
--gres=<명부>
일반 소비 가능 자원의 쉼표로 구분된 목록을 지정합니다. 의 형식
목록의 각 항목은 "name[[:type]:count]"입니다. 그 이름은
소모성 자원. 개수는 기본값이 있는 리소스의 수입니다.
값 1. 지정된 자원이 각 노드의 작업에 할당됩니다.
사용 가능한 일반 소비 가능 리소스는 시스템에서 구성할 수 있습니다.
관리자. 사용 가능한 일반 소모성 리소스 목록이 인쇄됩니다.
옵션 인수가 "help"이면 명령이 종료됩니다. 사용 예
"--gres=gpu:2,mic=1", "--gres=gpu:kepler:2" 및 "--gres=help"를 포함합니다.
-시간, --잡고있다
작업이 보류 상태(우선순위 XNUMX)로 제출되도록 지정합니다. 보류 작업
이제 우선순위를 재설정하기 위해 scontrol을 사용하여 해제할 수 있습니다(예: "제어 공개
").
-h, --도움
도움말 정보를 표시하고 종료합니다.
--힌트=<유형>
응용 프로그램 힌트에 따라 작업을 바인딩합니다.
계산_바운드
컴퓨팅 바인딩된 애플리케이션에 대한 설정 선택: 각각의 모든 코어 사용
소켓, 코어당 하나의 스레드.
메모리 바운드
메모리 바운드 애플리케이션에 대한 설정 선택: 각각에 하나의 코어만 사용
소켓, 코어당 하나의 스레드.
[아니오]멀티스레드
이점을 얻을 수 있는 인코어 멀티스레딩과 함께 추가 스레드를 사용하지 마십시오.
커뮤니케이션 집약적 애플리케이션. 작업/친화도에서만 지원됨
플러그인.
도움 이 도움말 메시지 표시
-I, --즉각적인[=초>]
지정된 기간 내에 자원을 사용할 수 없으면 종료하십시오. 아니오인 경우
인수가 주어지면 요청에 대해 리소스를 즉시 사용할 수 있어야 합니다.
성공하다. 기본적으로, --즉각적인 꺼지고 명령은 다음까지 차단됩니다.
리소스를 사용할 수 있게 됩니다. 이 옵션의 인수는 선택적이므로 적절한
단일 문자 옵션을 구문 분석할 때는 바로 뒤에 값이 와야 합니다.
그들 사이에 공백을 포함하지 마십시오. 예를 들어 "-I 60"이 아니라 "-I60"입니다.
-J, --직업 이름=<직업 이름>
작업 할당의 이름을 지정합니다. 지정된 이름이 함께 나타납니다.
시스템에서 실행 중인 작업을 쿼리할 때 작업 ID 번호입니다. 기본 작업 이름
명령줄에 지정된 "명령"의 이름입니다.
--작업 비드=<조이드>
지정된 작업 ID로 리소스를 할당합니다. 참고: 루트 사용자에게만 유효합니다.
-K, --kill 명령[=신호]
salloc은 일단 할당이 부여되면 항상 사용자 지정 명령을 실행합니다. 살록
해당 명령이 종료될 때까지 무기한 대기합니다. --kill-command를 지정하는 경우
옵션 salloc은 Slurm 컨트롤러가
작업 할당이 취소되었음을 salloc에 알립니다. 작업 할당은 다음과 같습니다.
몇 가지 이유로 취소됨: 누군가 사용함 스캔셀 할당을 취소하거나
할당이 시간 제한에 도달했습니다. 신호 이름을 지정하지 않거나
번호 및 Slurm은 작업 종료 시 생성된 명령에 신호를 보내도록 구성됩니다.
기본 신호는 대화형의 경우 SIGHUP이고 비대화형의 경우 SIGTERM입니다.
세션. 이 옵션의 인수는 선택적이므로 적절한 구문 분석을 위해 단일
문자 옵션 바로 뒤에 값이 와야 하며 공백을 포함하지 않아야 합니다.
그들 사이에. 예를 들어 "-K1"이 아니라 "-K1"입니다.
-k, --살인 금지
노드 중 하나가 할당된 경우 자동으로 작업을 종료하지 마십시오.
실패합니다. 사용자는 내결함성에 대한 책임을 집니다.
실패하다. 노드 장애가 있는 경우 모든 활성 작업 단계(일반적으로 MPI 작업)는
해당 노드는 거의 확실하게 치명적인 오류가 발생하지만 --no-kill을 사용하면 작업이
할당이 취소되지 않으므로 사용자는 새 작업 단계를 시작할 수 있습니다.
할당된 나머지 노드.
기본적으로 Slurm은 노드가 실패하면 전체 작업 할당을 종료합니다.
할당된 노드의 범위.
-L, --라이선스=<라이센스>
라이센스 사양(또는 서버의 모든 노드에서 사용 가능한 기타 리소스)
클러스터)를 이 작업에 할당해야 합니다. 라이선스 이름 뒤에는
콜론 및 개수(기본 개수는 XNUMX)입니다. 여러 라이선스 이름은 쉼표여야 합니다.
구분됩니다(예: "--licenses=foo:4,bar").
-m, --분포=
임의|<블록|순환기의|비행기=[:블록|순환기의|순환]>
원격 프로세스에 대한 대체 배포 방법을 지정합니다. salloc에서는 이것만
후속 srun 요청에서 사용할 환경 변수를 설정합니다. 이것
옵션은 리소스가 할당된 노드에 대한 작업 할당을 제어합니다.
바인딩을 위한 태스크에 할당된 자원의 분배(태스크
유연). 첫 번째 배포 방법(":" 앞)은 배포를 제어합니다.
노드 전체의 리소스. 선택적 두 번째 배포 방법(":" 뒤)
노드 내의 소켓에서 자원 분배를 제어합니다. 참고
select/cons_res를 사용하면 각 소켓과 노드에 할당된 CPU 수는 다음과 같을 수 있습니다.
다른. 인용하다 http://slurm.schedmd.com/mc_support.html 자세한 내용은
리소스 할당, 노드에 작업 할당, CPU에 작업 바인딩.
첫 번째 배포 방법:
블록 블록 분배 방법은 다음과 같이 작업을 노드에 분배합니다.
연속 작업은 노드를 공유합니다. 예를 들어, XNUMX개의 할당을 고려하십시오.
각각 두 개의 cpus가 있는 노드. XNUMX가지 작업 블록 배포 요청은
첫 번째에 작업 XNUMX과 XNUMX가 있는 노드에 해당 작업을 배포합니다.
노드, 두 번째 노드의 작업 XNUMX, 세 번째 노드의 작업 XNUMX. 차단하다
작업 수가 다음을 초과하는 경우 배포는 기본 동작입니다.
할당된 노드 수.
순환기의 순환 분배 방법은 다음과 같이 작업을 노드에 분배합니다.
연속 작업은 연속 노드에 분산됩니다(라운드 로빈 방식).
패션). 예를 들어, 각각 XNUMX개가 있는 XNUMX개의 노드 할당을 고려하십시오.
cpus. XNUMX가지 작업 순환 배포 요청은 해당 작업을 다음에 배포합니다.
첫 번째 노드에 작업 XNUMX과 XNUMX가 있는 노드, 두 번째 노드에 작업 XNUMX가 있는 노드
노드 및 세 번째 노드의 작업 XNUMX. SelectType이
select/cons_res, 동일한 수의 CPU가 각 노드에 할당되지 않을 수 있습니다.
작업 분배는 아직 CPU가 없는 모든 노드 간에 라운드 로빈 방식으로 이루어집니다.
작업에 할당됩니다. 순환 분포는 다음과 같은 경우 기본 동작입니다.
작업 수는 할당된 노드 수보다 크지 않습니다.
평면 작업은 지정된 크기의 블록으로 분산됩니다. 옵션
작업 블록의 크기를 나타내는 숫자를 포함합니다. 이것은 다음과 같습니다
블록 내 작업 분배 체계의 선택적 사양에 의해
작업과 작업 블록 사이. 배포된 작업 수
각 노드에 대한 순환 분배와 동일하지만 태스크 ID는
각 노드에 할당되는 것은 평면 크기에 따라 다릅니다. 자세한 내용은 (포함
예제 및 다이어그램)을 참조하십시오.
http://slurm.schedmd.com/mc_support.html
그리고
http://slurm.schedmd.com/dist_plane.html
임의
임의의 배포 방법은 다음과 같이 프로세스를 순서대로 할당합니다.
환경 변수 SLURM_HOSTFILE로 지정된 파일에 나열됩니다. 만약에
이 변수가 나열되면 지정된 다른 방법을 무시합니다. 만약에
설정하지 않으면 메서드가 기본적으로 차단됩니다. 호스트 파일 내부에는 다음이 포함되어야 합니다.
최소한 요청된 호스트 수이며 한 줄 또는 쉼표당 하나여야 합니다.
분리. 작업 수를 지정하는 경우(-n, --ntasks=<번호>), 귀하의 작업
파일의 순서대로 노드에 배치됩니다.
알림: 작업 할당에 대한 임의 배포 옵션은 제어만 수행합니다.
CPU 할당이 아니라 작업에 할당될 노드
노드. 이 옵션은 기본적으로 작업 단계의 작업 레이아웃을 제어하기 위한 것입니다.
srun 명령에 대한 기존 작업 할당.
두 번째 배포 방법:
블록 블록 분배 방법은 다음과 같은 작업을 소켓에 분배합니다.
연속 작업은 소켓을 공유합니다.
순환기의 순환 배포 방법은 다음과 같은 작업을 소켓에 배포합니다.
연속 작업은 연속 소켓을 통해 배포됩니다(라운드 로빈 방식).
패션). 둘 이상의 CPU가 필요한 작업에는 해당 CPU가 모두 있습니다.
가능한 경우 단일 소켓에 할당됩니다.
순환
fcyclic 배포 방법은 다음과 같은 작업을 소켓에 배포합니다.
연속 작업은 연속 소켓을 통해 배포됩니다(라운드 로빈 방식).
패션). 둘 이상의 CPU가 필요한 작업에는 각 CPU가 할당됩니다.
소켓에서 주기적으로.
--메일 유형=<유형>
특정 이벤트 유형이 발생하면 이메일로 사용자에게 알립니다. 유효한 유형 값은 NONE,
BEGIN, END, FAIL, REQUEUE, ALL(BEGIN, END, FAIL, REQUEUE 및
STAGE_OUT), STAGE_OUT(버스트 버퍼 스테이지 아웃 완료), TIME_LIMIT, TIME_LIMIT_90
(제한 시간의 90% 도달), TIME_LIMIT_80(제한 시간의 80% 도달)
제한) 및 TIME_LIMIT_50(시간 제한의 50% 도달). 다수의 유형 값
쉼표로 구분된 목록으로 지정할 수 있습니다. 알림을 받을 사용자가 표시됩니다.
과 --메일 사용자.
--메일 사용자=<사용자>
에 의해 정의된 대로 상태 변경에 대한 이메일 알림을 수신하는 사용자 --메일 유형. 그만큼
기본값은 제출하는 사용자입니다.
--멤=<MB>
메가바이트 단위로 노드당 필요한 실제 메모리를 지정합니다. 기본값은
DefMemPerNode 최대 값은 MaxMemPerNode. 구성된 경우 둘 다
파라미터는 다음을 사용하여 볼 수 있습니다. 제어 표시 설정 명령. 이 매개변수
전체 노드가 작업에 할당된 경우 일반적으로 사용됩니다.
(SelectType=선택/선형). 참조 --cpu당 메모리. --멤 그리고 --cpu당 메모리 are
상호 배타적. 참고: 메모리 크기 사양은 특별한 경우로 취급됩니다.
각 노드의 모든 메모리에 대한 작업 액세스 권한을 부여합니다. 참고: 시행
메모리 제한은 현재 task/cgroup 플러그인 또는
주기적으로 메모리 사용을 샘플링하는 회계(데이터를 저장할 필요가 없음,
그냥 수집). 두 경우 모두 메모리 사용은 작업의 상주 집합 크기를 기반으로 합니다.
(RSS). 작업은 다음 정기 계산까지 메모리 제한을 초과할 수 있습니다.
견본.
--cpu당 메모리=<MB>
할당된 CPU당 필요한 최소 메모리(메가바이트)입니다. 기본값은
DefMemPerCPU 최대 값은 MaxMemPerCPU (아래 예외 참조). 만약에
두 매개변수는 다음을 사용하여 볼 수 있습니다. 제어 표시 설정 명령.
작업의 경우 --cpu당 메모리 값이 구성된 값을 초과합니다. MaxMemPerCPU,
그런 다음 사용자의 제한은 작업당 메모리 제한으로 처리됩니다. --cpu당 메모리
보다 크지 않은 값으로 감소됩니다. MaxMemPerCPU; --작업당 cpus 설정됩니다
가치 --작업당 cpus 곱하기 새로운 --cpu당 메모리 가치는
원본과 동일 --cpu당 메모리 사용자가 지정한 값. 이 매개변수는
일반적으로 개별 프로세서가 작업에 할당된 경우 사용됩니다.
(SelectType=선택/cons_res). 리소스가 코어, 소켓 또는
전체 노드; 작업에 할당된 CPU 수가 작업보다 높을 수 있음
개수와 값 --cpu당 메모리 그에 따라 조정되어야 합니다. 참조
--멤. --멤 그리고 --cpu당 메모리 상호 배타적입니다.
--mem_bind=[{조용하고 장황한},]유형
작업을 메모리에 바인딩합니다. 작업/친화도 플러그인이 활성화되고
NUMA 메모리 기능을 사용할 수 있습니다. 주의 사항 그 전에, 분해능 of CPU 그리고 기억
제본 5월 다르다 on 일부 아키텍처. 예를 들어, CPU 바인딩이 수행될 수 있습니다.
메모리 바인딩이 수행되는 동안 프로세서 내의 코어 수준에서
노드 수준에서 "노드"의 정의는 시스템마다 다를 수 있습니다.
시스템. The 사용 of 어떤 유형 기타 보다 "없음" or "현지의" is 지원 좋습니다. If
더 많은 제어를 원하면 옵션을 사용하여 간단한 테스트 코드를 실행해 보십시오.
"--mem_bind=verbose,none" 특정 구성을 결정합니다.
참고: Slurm이 모든 명령에 대해 선택한 메모리 바인딩을 항상 보고하도록 하려면
셸에서 실행되면 SLURM_MEM_BIND를 설정하여 자세한 정보 표시 모드를 활성화할 수 있습니다.
환경 변수 값을 "verbose"로 변경합니다.
다음 정보 환경 변수는 다음과 같은 경우에 설정됩니다. --mem_bind 에
용도:
SLURM_MEM_BIND_VERBOSE
SLURM_MEM_BIND_TYPE
SLURM_MEM_BIND_LIST
을 참조 환경 변수 섹션에 대한 자세한 설명은
개별 SLURM_MEM_BIND* 변수.
지원되는 옵션은 다음과 같습니다.
조용한]
작업이 실행되기 전에 조용히 바인드(기본값)
말 수가 많은]
작업이 실행되기 전에 자세한 보고서 바인딩
없음] 작업을 메모리에 바인딩하지 않음(기본값)
순위 작업 순위로 바인드(권장하지 않음)
지방의 사용 중인 프로세서에 로컬인 메모리 사용
map_mem:
노드의 메모리를 지정된 작업에 매핑하여 바인딩합니다. 여기서 ~이다
, ,... . CPU ID는 십진수 값으로 해석됩니다.
'0x'가 선행되지 않는 한 다음과 같이 해석됩니다.
XNUMX진수 값(권장하지 않음)
mask_mem:
지정된 대로 태스크에 메모리 마스크를 설정하여 바인드합니다. ~이다
, ,... . 메모리 마스크는 항상 로 해석
0진수 값. 마스크가 다음과 같은 경우 앞에 'XNUMXx'가 와야 합니다.
srun에 의해 숫자 값으로 표시되도록 [0-9]로 시작하지 마십시오.
도움 이 도움말 메시지 표시
--mincpus=<n>
노드당 논리적 CPU/프로세서의 최소 수를 지정합니다.
-N, --노드=<미노드[-최대 노드]>
최소 미노드 노드가 이 작업에 할당됩니다. 최대 노드
카운트는 다음과 같이 지정할 수도 있습니다. 최대 노드. 하나의 숫자만 지정된 경우 이
최소 및 최대 노드 수로 모두 사용됩니다. 파티션의 노드 제한
직업을 대체합니다. 작업의 노드 제한이 범위를 벗어난 경우
연결된 파티션에 대해 허용되는 경우 작업은 PENDING 상태로 유지됩니다.
이렇게 하면 파티션 제한이 있을 때 나중에 실행할 수 있습니다.
변경되었습니다. 작업 노드 제한이 작업 노드에 구성된 노드 수를 초과하는 경우
작업이 거부됩니다. 참고로 환경변수
SLURM_NNODES 작업에 실제로 할당된 노드 수로 설정됩니다. 보다
전에, 환경 변수 자세한 내용은 섹션을 참조하십시오. 만약에 -N 지정되지 않고,
기본 동작은 요구 사항을 충족하기에 충분한 노드를 할당하는 것입니다.
-n 그리고 -c 옵션. 작업은 작업 내에서 가능한 한 많은 노드에 할당됩니다.
작업 시작을 지연시키지 않고 지정된 범위. 노드 수
사양에는 숫자 값 뒤에 "k" 접미사가 붙을 수 있습니다(곱하기
숫자 값에 1,024를 곱함) 또는 "m"(숫자 값에 1,048,576을 곱함).
-n, --ntasks=<번호>
salloc은 작업을 시작하지 않고 리소스 할당을 요청하고 실행됩니다.
어떤 명령. 이 옵션은 작업 단계가 내에서 실행되는 Slurm 컨트롤러에 알립니다.
이 할당은 최대 번호 작업과 충분한 리소스는
이를 달성하기 위해 할당되었습니다. 기본값은 노드당 하나의 작업이지만
--작업당 cpus 옵션은 이 기본값을 변경합니다.
--회로망=<유형>
스위치 또는 네트워크와 관련된 정보를 지정합니다. 의 해석
유형 시스템에 따라 다릅니다. 이 옵션은 Cray에서 Slurm을 실행할 때 지원됩니다.
기본적으로. 네트워크 성능 카운터를 사용하여 요청하는 데 사용됩니다. 단 하나의 값
요청당 유효합니다. 모든 옵션은 대소문자를 구분합니다. 이 구성에서
지원되는 값은 다음과 같습니다.
체계
시스템 전체 네트워크 성능 카운터를 사용합니다. 요청된 노드만
작업 할당에 사용 중으로 표시됩니다. 작업이 채워지지 않으면
전체 시스템 나머지 노드는 다른 작업에서 사용할 수 없습니다.
NPC를 사용하여 유휴 상태인 경우 상태가 PerfCnts로 표시됩니다. 이러한 노드는
NPC를 사용하지 않는 다른 작업은 계속 사용할 수 있습니다.
블레이드 블레이드 네트워크 성능 카운터를 사용합니다. 요청된 노드만
작업 할당에 사용 중으로 표시됩니다. 작업이 전체를 채우지 않는 경우
작업에 할당된 블레이드는 다른 사용자가 사용할 수 없습니다.
NPC를 사용하는 작업이 유휴 상태이면 상태가 PerfCnts로 표시됩니다. 이러한 노드는
NPC를 사용하지 않는 다른 작업은 계속 사용할 수 있습니다.
모든 경우에 작업 할당 요청 절대로 필요한 것 지정하다 전에,
--독점 옵션. 그렇지 않으면 요청이 거부됩니다.
또한 이러한 옵션 단계에서는 블레이드 공유가 허용되지 않으므로 리소스
블레이드에서 실행 중인 단계가 수행되지 않는 경우 할당 내에서 유휴 상태로 유지됩니다.
블레이드의 모든 노드를 올립니다.
The 네트워크 옵션은 IBM의 병렬 환경이 있는 시스템에서도 지원됩니다.
(체육). 키워드에 대한 IBM의 LoadLeveler 작업 명령 키워드 문서를 참조하십시오.
자세한 내용은 "네트워크"를 참조하십시오. 여러 값을 쉼표로 지정할 수 있습니다.
분리된 목록. 모든 옵션은 대소문자를 구분합니다. 지원되는 값은 다음과 같습니다.
BULK_XFER[=자원>]
RDMA(Remote Direct-Memory Access)를 사용하여 데이터 대량 전송을 활성화합니다.
선택적 자원 사양은 다음을 가질 수 있는 숫자 값입니다.
킬로바이트, 메가바이트 또는
기가바이트. 참고: 자원 사양은 에서 지원하지 않습니다.
Parallel Environment 버전 2.2의 기본 IBM 인프라
현재 값을 지정하지 않아야 합니다.
CAU=<계산> 필요한 Collectve Acceleration Units(CAU)의 수. 에만 적용
IBM Power7-IH 프로세서. 기본값은 XNUMX입니다. 독립 CAU는
프로그래밍 인터페이스(MPI, LAPI 등)별로 할당
개발자 이름=<name>
통신에 사용할 장치 이름을 지정하십시오(예: "eth0" 또는
"mlx4_0").
개발 유형=<유형>
통신에 사용할 장치 유형을 지정합니다. 지원되는
~의 가치 유형 "IB"(InfiniBand), "HFI"(P7 호스트 패브릭)
인터페이스), "IPONLY"(IP 전용 인터페이스), "HPCE"(HPC 이더넷) 및
"KMUX"(HPCE의 커널 에뮬레이션). 작업에 할당된 장치는
모두 같은 유형이어야 합니다. 기본값은 다음에 따라 다릅니다.
사용 가능한 하드웨어는 기본 설정 순서대로 IPONLY(
사용자 공간 모드에서는 고려되지 않음), HFI, IB, HPCE 및 KMUX.
즉시 =<계산>
필요한 창당 즉시 전송 슬롯 수입니다. 에만 적용
IBM Power7-IH 프로세서. 기본값은 XNUMX입니다.
인스턴스 =<계산>
각 네트워크의 각 작업에 대한 네트워크 연결 수 지정
연결. 기본 인스턴스 수는 1입니다.
IPV4 인터넷 프로토콜(IP) 버전 4 통신(기본값)을 사용합니다.
IPV6 인터넷 프로토콜(IP) 버전 6 통신을 사용합니다.
라피 LAPI 프로그래밍 인터페이스를 사용합니다.
MPI MPI 프로그래밍 인터페이스를 사용하십시오. MPI는 기본 인터페이스입니다.
파미 PAMI 프로그래밍 인터페이스를 사용합니다.
SHEMEM OpenSHMEM 프로그래밍 인터페이스를 사용합니다.
SN_ALL 사용 가능한 모든 스위치 네트워크를 사용합니다(기본값).
SN_싱글 사용 가능한 하나의 스위치 네트워크를 사용합니다.
UPC UPC 프로그래밍 인터페이스를 사용하십시오.
US 사용자 공간 통신을 사용합니다.
네트워크 사양의 몇 가지 예:
인스턴스=2,US,MPI,SN_ALL
모든 시스템에서 MPI 통신을 위한 두 개의 사용자 공간 연결을 만듭니다.
각 작업에 대해 네트워크를 전환합니다.
US,MPI,인스턴스=3,Devtype=IB
모든 시스템에서 MPI 통신을 위한 XNUMX개의 사용자 공간 연결 생성
각 작업에 대한 InfiniBand 네트워크.
IPV4,LAPI,SN_싱글
하나의 스위치에서 LAPI 통신을 위한 IP 버전 4 연결 생성
각 작업에 대한 네트워크.
인스턴스=2,US,LAPI,MPI
LAPI 및 MPI 통신을 위해 각각 두 개의 사용자 공간 연결 생성
각 작업에 대한 모든 스위치 네트워크에서. SN_ALL은 기본값입니다.
옵션이 있으므로 모든 스위치 네트워크가 사용됩니다. 또한 Instances=2
각 프로토콜(LAPI
및 MPI) 및 각 작업. XNUMX개의 네트워크와 XNUMX개의 작업이 있는 경우
그러면 노드에서 총 32개의 연결이 설정됩니다(인스턴스 2개 x
프로토콜 2개 x 네트워크 2개 x 작업 4개).
--멋진[=조정]
Slurm 내에서 조정된 일정 우선 순위로 작업을 실행합니다. 조정 없음
일정 우선 순위가 100씩 감소합니다. 조정 범위는 다음과 같습니다.
-10000(가장 높은 우선순위) ~ 10000(가장 낮은 우선순위). 권한이 있는 사용자만 가능
마이너스 조정을 지정합니다. 참고: 이 옵션은 다음과 같은 경우 현재 무시됩니다.
스케줄러 유형=sched/wiki or 스케줄러 유형=sched/wiki2.
--n코어당 작업=<n태스크>
최대 요청 n태스크 각 코어에서 호출됩니다. 와 함께 사용하는 의미
--ntasks 옵션. 와 연관되다 --n노드당 작업 대신 핵심 수준을 제외하고
노드 수준. 참고: 이 옵션은 다음이 아닌 경우 지원되지 않습니다.
SelectTypeParameters=CR_Core or SelectTypeParameters=CR_Core_Memory 구성됩니다.
--소켓당 태스크=<n태스크>
최대 요청 n태스크 각 소켓에서 호출됩니다. 와 함께 사용하는 의미
--ntasks 옵션. 와 연관되다 --n노드당 작업 대신 소켓 수준을 제외하고
노드 수준의. 참고: 이 옵션은 다음이 아닌 경우 지원되지 않습니다.
SelectTypeParameters=CR_Socket or SelectTypeParameters=CR_Socket_Memory is
구성되었습니다.
--n노드당 작업=<n태스크>
요청 n태스크 각 노드에서 호출됩니다. 와 함께 사용하는 경우 --ntasks 옵션,
--ntasks 옵션이 우선하며 --n노드당 작업 로 취급됩니다
최고 노드당 작업 수. 와 함께 사용하는 의미 --노드 선택권. 이
~와 연관되어있는 --작업당 cpus=NCPU, 그러나 실제 지식이 필요하지 않습니다.
각 노드의 CPU 수. 어떤 경우에는 할 수 있는 것이 더 편리합니다.
각 노드에서 특정 수의 태스크만 호출하도록 요청합니다.
이에 대한 예로는 하나의 MPI만 있는 하이브리드 MPI/OpenMP 앱 제출이 포함됩니다.
"task/rank"는 각 노드에 할당되어야 하며 OpenMP 부분은
노드에 있는 모든 병렬 처리를 활용하거나 단일
기존 할당의 각 노드에 대한 설정/정리/모니터링 작업을 한 단계로
더 큰 작업 스크립트에서.
--노벨
사일런스 샐록의 종소리 사용법. 또한 옵션을 참조하십시오 --벨.
--쉘 없음
명령을 실행하지 않고 리소스를 할당한 후 즉시 종료합니다. 하지만,
Slurm 작업은 계속 생성되고 활성 상태로 유지되며
활성 상태인 동안 할당된 리소스입니다. 없는 Slurm 작업 ID를 갖게 됩니다.
관련 프로세스 또는 작업. 당신은 제출할 수 있습니다 서두르다 이 리소스에 대한 명령
할당, 지정하는 경우 --작업 ID= 이 Slurm 작업의 작업 ID가 있는 옵션입니다.
또는 리소스 세트를 일시적으로 예약하여 다른 작업이
일정 기간 동안 사용할 수 없습니다. (Slurm 작업은
시간 제한을 포함하여 작업에 대한 일반적인 제약으로 인해 결국 작업이
종료되고 리소스가 해제되거나 작업을 종료할 수 있습니다.
를 사용하여 수동으로 스캔셀 명령.)
-O, --오버커밋
리소스를 오버커밋합니다. 작업 할당에 적용하면 하나의 CPU만 할당됩니다.
노드당 작업 및 노드, 소켓당 작업 수를 지정하는 데 사용되는 옵션,
코어 등은 무시됩니다. 작업 단계 할당에 적용될 때( 서두르다 명령
기존 작업 할당 내에서 실행될 때) 이 옵션을 사용하여 시작할 수 있습니다.
CPU 당 하나 이상의 작업. 보통, 서두르다 둘 이상의 프로세스를 할당하지 않습니다
CPU당. 지정하여 --오버커밋 명시적으로 둘 이상을 허용하고 있습니다.
CPU당 프로세스. 그러나 MAX_TASKS_PER_NODE 작업이 허용됩니다
노드별로 실행합니다. 메모: MAX_TASKS_PER_NODE 파일에 정의되어 있습니다. slurm.h 이고
변수가 아니라 Slurm 빌드 시간에 설정됩니다.
--힘=<플래그>
쉼표로 구분된 전원 관리 플러그인 옵션 목록입니다. 현재 사용 가능한 플래그
포함: 레벨(작업에 할당된 모든 노드는 동일한 전원 캡을 가져야 합니다.
Slurm 구성 옵션 PowerParameters=job_no_level에 의해 비활성화될 수 있습니다.
--우선 순위=
특정 작업 우선 순위를 요청합니다. 특정 구성에 따라 달라질 수 있습니다.
제약. Slurm 운영자와 관리자만 우선 순위를 설정할 수 있습니다.
일.
--프로필=
acct_gather_profile 플러그인에 의한 상세한 데이터 수집을 가능하게 합니다. 상세 데이터
일반적으로 작업에 대한 HDF5 파일에 저장되는 시계열입니다.
All 모든 데이터 유형이 수집됩니다. (다른 값과 결합할 수 없습니다.)
없음 데이터 유형이 수집되지 않습니다. 이것이 기본값입니다.
(다른 값과 결합할 수 없습니다.)
에너지 에너지 데이터가 수집됩니다.
태스크 작업(I/O, 메모리, ...) 데이터가 수집됩니다.
광택 광택 데이터가 수집됩니다.
네트워크 네트워크(InfiniBand) 데이터가 수집됩니다.
-p, --분할=<파티션 이름>
리소스 할당을 위해 특정 파티션을 요청합니다. 지정하지 않으면,
기본 동작은 slurm 컨트롤러가 기본 파티션을 선택하도록 허용하는 것입니다.
시스템 관리자가 지정한 대로. 작업이 둘 이상을 사용할 수 있는 경우
파티션, 쉼표로 구분된 목록에 이름을 지정하고 하나의 오퍼링
파티션 이름에 관계없이 가장 빠른 초기화가 사용됩니다.
순서 지정(우선 순위가 높은 파티션이 먼저 고려되지만). 때
작업이 시작되면 사용된 파티션의 이름이 작업의 첫 번째 위치에 놓입니다.
레코드 파티션 문자열.
-Q, --조용한
salloc의 정보 메시지를 억제합니다. 오류는 계속 표시됩니다.
--qos=<qos>
작업에 대한 서비스 품질을 요청합니다. 각각에 대해 QOS 값을 정의할 수 있습니다.
Slurm 데이터베이스의 사용자/클러스터/계정 연결. 사용자는 다음으로 제한됩니다.
Slurm 구성 매개변수,
AccountingStorageEnforce는 정의에 "qos"를 포함합니다.
--재부팅
작업을 시작하기 전에 할당된 노드를 강제로 재부팅합니다. 이것은 단지
일부 시스템 구성에서 지원되며 그렇지 않으면 자동으로 무시됩니다.
--예약=<name>
명명된 예약에서 작업에 대한 리소스를 할당합니다.
-s, --공유하다
작업 할당은 실행 중인 다른 작업과 리소스를 공유할 수 있습니다. 리소스
공유 대상은 노드, 소켓, 코어 또는 하이퍼스레드가 될 수 있습니다.
구성. 기본 공유 동작은 시스템 구성 및
파티션의 공유 옵션이 작업의 옵션보다 우선합니다. 이 옵션은
--share 옵션이 지정되지 않은 경우보다 더 빨리 할당이 부여됩니다.
더 높은 시스템 활용도를 설정하고 허용하지만 애플리케이션 성능은
자원 경쟁으로 인해 어려움을 겪습니다. --exclusive 옵션도 참조하십시오.
-S, --코어-사양=<NUM>
시스템 작업을 위해 작업에서 예약한 노드당 특수 코어 수 및
응용 프로그램에서 사용하지 않습니다. 애플리케이션은 이러한 코어를 사용하지 않지만
그들의 할당에 대해 청구됩니다. 기본값은 노드의
CoreSpecCount 값을 구성했습니다. XNUMX의 값이 지정되고 Slurm이
구성 옵션 AllowSpecResourcesUsage가 활성화되어 있으면 작업이 허용됩니다.
CoreSpecCount를 재정의하고 할당된 노드에서 특수 리소스를 사용합니다.
이 옵션은 --스레드 사양 옵션을 선택합니다.
--sip 다른 클러스터에 제출된 작업이 종속될 수 있는 작업으로 작업을 식별합니다.
--신호=<서명번호>[@시그타임>]
이내일 때 시그타임 종료 시간의 초, 신호를 보냅니다. 서명번호.
Slurm에 의한 이벤트 처리의 해상도로 인해 신호가 최대 60개까지 전송될 수 있습니다.
지정된 것보다 초 빠릅니다. 서명번호 신호 번호 또는 이름일 수 있습니다.
(예: "10" 또는 "USR1"). 시그타임 0에서 65535 사이의 정수 값을 가져야 합니다.
기본적으로 작업 종료 시간 전에는 신호가 전송되지 않습니다. 만약 서명번호 지정됨
어떤없이 시그타임, 기본 시간은 60초입니다.
--노드당 소켓=<소켓>
최소한 지정된 수의 소켓이 있는 노드로 노드 선택을 제한합니다.
아래에서 추가 정보를 참조하십시오. -B 작업/친화도 플러그인이 있는 경우 위의 옵션
사용하도록 설정되었습니다.
--스위치=<계산>[@최대 시간>]
트리 토폴로지를 사용하는 경우 원하는 최대 스위치 수를 정의합니다.
작업 할당 및 선택적으로 해당 작업 수를 기다리는 최대 시간
스위치. Slurm이 개수보다 더 많은 스위치를 포함하는 할당을 찾은 경우
지정된 경우 작업은 원하는 할당을 찾을 때까지 보류 상태로 유지됩니다.
스위치 카운트 또는 시간 제한이 만료됩니다. 스위치 수 제한이 없습니다.
작업 시작이 지연되지 않습니다. 허용되는 시간 형식에는 "분",
"분:초", "시:분:초", "일-시", "일-시:분" 및
"일-시간:분:초". 작업의 최대 시간 지연은 다음에 의해 제한될 수 있습니다.
사용하는 시스템 관리자 스케줄러 매개변수 구성 매개변수
최대_스위치_대기 매개변수 옵션. 기본 최대 시간은 max_switch_wait입니다.
스케줄러 매개변수.
-t, --시각=<시간>
작업 할당의 총 실행 시간에 대한 제한을 설정합니다. 요청한 시간이면
제한이 파티션의 시간 제한을 초과하면 작업이 PENDING 상태로 유지됩니다.
(아마도 무기한). 기본 시간 제한은 파티션의 기본 시간입니다.
한계. 시간 제한에 도달하면 각 작업 단계의 각 태스크가 SIGTERM으로 전송됩니다.
다음은 SIGKILL입니다. 신호 사이의 간격은 Slurm에 의해 지정됩니다.
구성 매개 변수 킬웨이트. 그만큼 초과 시간 제한 구성 매개변수는
작업이 예약된 것보다 더 오래 실행되도록 허용합니다. 시간 해상도는 XNUMX분이며
초 값은 다음 분으로 반올림됩니다.
시간 제한이 없는 제로 요청의 시간 제한. 허용 시간
형식에는 "분", "분:초", "시:분:초",
"일-시", "일-시:분" 및 "일-시:분:초".
--스레드 사양=<NUM>
시스템 작업을 위해 작업에서 예약한 노드당 특수 스레드 수 및
응용 프로그램에서 사용하지 않습니다. 애플리케이션은 이러한 스레드를 사용하지 않지만
그들의 할당에 대해 청구됩니다. 이 옵션은 --코어-사양
옵션을 선택합니다.
--코어당 스레드 수=<스레드>
노드 당 최소한 지정된 수의 스레드가 있는 노드로 노드 선택을 제한합니다.
핵심. 참고: "스레드"는 각 코어의 처리 장치 수를 의미합니다.
코어당 실행할 애플리케이션 작업 수보다 많습니다. 추가 보기
아래의 정보 -B 작업/친화성 플러그인이 활성화된 경우 위의 옵션.
--시간-분=<시간>
작업 할당에 대한 최소 시간 제한을 설정합니다. 지정된 경우 작업에 다음이 있을 수 있습니다.
그건 --시각 보다 낮지 않은 값으로 제한 --시간-분 허용하는 경우
다른 경우보다 더 일찍 실행을 시작하는 작업. 작업의 시간 제한
작업에 리소스가 할당된 후에는 변경되지 않습니다. 이것은 a에 의해 수행됩니다.
그렇지 않으면 더 높은 용도로 예약된 리소스를 할당하는 백필 스케줄링 알고리즘
우선순위 작업. 허용되는 시간 형식에는 "분", "분:초",
"시:분:초", "일-시", "일-시:분" 및
"일-시간:분:초".
--tmp=<MB>
최소 임시 디스크 공간을 지정합니다.
-u, --용법
간단한 도움말 메시지를 표시하고 종료합니다.
--유체=<사용자>
다음으로 작업 제출 및/또는 실행 시도 사용자 호출하는 사용자 ID 대신. 그만큼
사용자 자격 증명 호출은 대상에 대한 액세스 권한을 확인하는 데 사용됩니다.
분할. 이 옵션은 root 사용자에게만 유효합니다. 이 옵션은 사용자가 사용할 수 있습니다.
root는 이 옵션을 사용하여 RootOnly 파티션에서 일반 사용자로 작업을 실행할 수 있습니다.
예. 루트로 실행하면 살록 지정된 uid에 대한 권한을 삭제합니다.
노드 할당이 성공한 후. 사용자 사용자 이름 또는 숫자 사용자일 수 있습니다.
ID.
-V, --번역
버전 정보를 표시하고 종료합니다.
-v, --말 수가 많은
salloc의 정보 메시지의 자세한 정도를 높입니다. 다수의 -v의 의지
salloc의 장황함을 더 높입니다. 기본적으로 오류만 표시됩니다.
-w, --노드리스트=<노드 name 명부>
특정 호스트 목록을 요청합니다. 작업에는 다음이 포함됩니다. 모든 이러한 호스트와
리소스 요구 사항을 충족하기 위해 필요에 따라 호스트를 추가할 수 있습니다. 목록은
쉼표로 구분된 호스트 목록, 호스트 범위(host[1-5,7,...])로 지정되어야 합니다.
예를 들어) 또는 파일 이름입니다. 호스트 목록은 다음과 같은 경우 파일 이름으로 간주됩니다.
"/" 문자를 포함합니다. 최소 노드 또는 프로세서 수를 더 크게 지정하는 경우
제공된 호스트 목록에서 충족할 수 있는 것보다 추가 리소스가
필요에 따라 다른 노드에 할당됩니다. 목록의 중복 노드 이름은
무시했다. 목록에 있는 노드 이름의 순서는 중요하지 않습니다. 노드 이름
Slurm으로 정렬됩니다.
--대기-모든 노드=<가치>
명령 실행이 시작되는 시기를 제어합니다. 기본적으로 작업이 시작됩니다
할당이 완료되는 즉시 실행됩니다.
0 할당이 가능한 즉시 실행을 시작합니다. 모든 노드를 기다리지 않음
사용할 준비가 되었습니다(예: 부팅됨).
1 모든 노드가 사용할 준비가 될 때까지 실행을 시작하지 마십시오.
--wckey=<화장실>
작업과 함께 사용할 wckey를 지정합니다. slurm.conf에서 TrackWCKey=no(기본값)인 경우
이 값은 무시됩니다.
-x, --들어오지 못하게 하다=<노드 name 명부>
작업에 부여된 리소스에서 특정 노드를 명시적으로 제외합니다.
다음 옵션은 Blue Gene 시스템을 지원하지만 다음과 같이 다른 시스템에 적용할 수 있습니다.
잘.
--blrts-이미지=<통로>
bluegene 블록에 대한 blrts 이미지의 경로입니다. BGL 전용. 기본값 blugene.conf if
설정되지 않았습니다.
--cnload-이미지=<통로>
bluegene 블록의 컴퓨팅 노드 이미지에 대한 경로입니다. BGP 전용. 기본값
blugene.conf 설정되지 않은 경우.
--conn 유형=<유형>
블록 연결 유형이 특정 유형이어야 합니다. 블루진에
허용되는 유형 MESH, TORUS 및 NAV입니다. NAV인 경우 또는 설정되지 않은 경우 Slurm은
그렇지 않은 경우 defaultConnType이 bluegene.conf에 설정된 내용에 맞추십시오.
기본값은 TORUS로 설정합니다. 일반적으로 이 옵션을 설정하면 안 됩니다. 에서 실행하는 경우
BGP 시스템이고 HTC 모드에서 실행하려고 합니다(미드플레인 1개 이하에만 해당). 너
SMP에는 HTC_S, 듀얼에는 HTC_D, 가상 노드 모드에는 HTC_V, HTC_L에는 HTC_L을 사용할 수 있습니다.
리눅스 모드. 치수별로 다른 연결 유형을 허용하는 시스템의 경우
쉼표로 구분된 연결 유형 목록을 제공할 수 있습니다.
각 치수(예: M,T,T,T는 토러스 연결이 모든 치수임을 나타냅니다.
첫 번째를 기대하십시오).
-g, --기하학=<XxYxZ> |도끼XxYxZ>
작업에 대한 지오메트리 요구 사항을 지정합니다. BlueGene/L 및 BlueGene/P 시스템에서
X, Y, Z 방향의 치수를 나타내는 세 개의 숫자가 있습니다.
BlueGene/Q 시스템에는 A, X, Y 및 Z에 치수를 제공하는 XNUMX개의 숫자가 있습니다.
방향 및 하위 블록을 할당하는 데 사용할 수 없습니다. 예를 들어
"--geometry=1x2x3x4", 1 x 2 x 3 x 4 = 24개 노드가 있는 노드 블록 지정
(실제로는 BlueGene의 미드플레인).
--ioload-이미지=<통로>
bluegene 블록의 io 이미지 경로입니다. BGP 전용. 기본값 blugene.conf 그렇지 않다면
설정할 수 있습니다.
--리눅스-이미지=<통로>
bluegene 블록의 Linux 이미지 경로입니다. BGL 전용. 기본값 blugene.conf if
설정되지 않았습니다.
--mloader-이미지=<통로>
bluegene 블록의 mloader 이미지 경로입니다. 기본값 blugene.conf 설정되지 않은 경우.
-R, --회전하지 않음
적절한 크기에 맞추기 위해 작업에서 요청한 지오메트리의 회전을 비활성화합니다.
차단하다. 기본적으로 지정된 형상은 XNUMX차원으로 회전할 수 있습니다.
--ramdisk-이미지=<통로>
bluegene 블록의 ramdisk 이미지 경로입니다. BGL 전용. 기본값 blugene.conf if
설정되지 않았습니다.
입력 환경 변수
시작할 때 salloc은 다음 환경에서 설정된 옵션을 읽고 처리합니다.
변수. 참고: 명령줄 옵션은 항상 환경 변수 설정보다 우선합니다.
SALLOC_ACCOUNT 과 동일 -NS, --계정
SALLOC_ACCTG_FREQ 과 동일 --acctg-주파수
SALLOC_BELL 과 동일 --벨
SALLOC_BURST_BUFFER 과 동일 --bb
SALLOC_CONN_TYPE 과 동일 --conn 유형
SALLOC_CORE_SPEC 과 동일 --코어-사양
SALLOC_DEBUG 과 동일 -V, --말 수가 많은
SALLOC_독점 과 동일 --독점적 인
SALLOC_기하학 과 동일 -NS, --기하학
SALLOC_HINT or SLURM_힌트
과 동일 --힌트
SALLOC_IMMEDIATE 과 동일 -NS, --즉각적인
SALLOC_JOBID 과 동일 --작업 비드
SALLOC_KILL_CMD 과 동일 -K, --kill 명령
SALLOC_MEM_BIND 과 동일 --mem_bind
SALLOC_NETWORK 과 동일 --회로망
SALLOC_NO_BELL 과 동일 --노벨
SALLOC_NO_ROTATE 과 동일 -NS, --회전하지 않음
SALLOC_OVERCOMMIT 과 동일 -영형, --오버커밋
SALLOC_PARTITION 과 동일 -NS, --분할
SALLOC_POWER 과 동일 --힘
SALLOC_PROFILE 과 동일 --프로필
SALLOC_QOS 과 동일 --qos
SALLOC_REQ_SWITCH 트리 토폴로지를 사용하는 경우 최대 개수를 정의합니다.
작업 할당에 필요한 스위치 및 선택적으로 최대
해당 스위치 수를 기다리는 시간입니다. 보다 --스위치.
SALLOC_RESERVATION 과 동일 --예약
SALLOC_SICP 과 동일 --sip
SALLOC_SIGNAL 과 동일 --신호
SALLOC_THREAD_SPEC 과 동일 --스레드 사양
SALLOC_TIMELIMIT 과 동일 -NS, --시각
SALLOC_WAIT_ALL_NODES 과 동일 --대기-모든 노드
SALLOC_WCKEY 과 동일 --wckey
SALLOC_WAIT4SWITCH 요청된 스위치를 기다리는 최대 시간입니다. 보다 --스위치
SLURM_CONF Slurm 구성 파일의 위치입니다.
SLURM_EXIT_ERROR Slurm 오류가 발생할 때 생성되는 종료 코드를 지정합니다(예:
유효하지 않은 옵션). 이것은 스크립트에서 구별하는 데 사용할 수 있습니다.
다양한 Slurm 오류 조건의 애플리케이션 종료 코드. 또한
참조 SLURM_EXIT_IMMEDIATE.
SLURM_EXIT_IMMEDIATE 때 생성되는 종료 코드를 지정합니다. --즉각적인 옵션은
현재 리소스를 사용할 수 없습니다. 이것은 다음에서 사용할 수 있습니다.
다양한 Slurm에서 애플리케이션 종료 코드를 구별하는 스크립트
오류 조건. 참조 SLURM_EXIT_ERROR.
출력 환경 변수
salloc은 실행된 환경에서 다음 환경 변수를 설정합니다.
프로그램 :
BASIL_RESERVATION_ID
ALPS/BASIL만 실행하는 Cray 시스템의 예약 ID입니다.
SLURM_CLUSTER_NAME
작업이 실행 중인 클러스터의 이름입니다.
MPIRUN_NOALLOCATE
Blue Gene L/P 시스템에만 블록을 할당하지 마십시오.
MPIRUN_NOFREE
Blue Gene L/P 시스템에서만 블록을 해제하지 마십시오.
MPIRUN_PARTITION
Blue Gene 시스템에서만 블록 이름입니다.
SLURM_CPUS_PER_TASK
작업당 요청된 CPU 수입니다. 경우에만 설정 --작업당 cpus 옵션은
지정되었습니다.
SLURM_분배
과 동일 -미디엄, --분포
SLURM_JOB_ID (그리고 SLURM_JOBID 이전 버전과의 호환성을 위해)
작업 할당의 ID입니다.
SLURM_JOB_CPUS_PER_NODE
이 노드에서 작업에 사용할 수 있는 프로세서 수입니다. 선택/선형에 유의하십시오.
플러그인은 전체 노드를 작업에 할당하므로 값은 총 노드 수를 나타냅니다.
각 노드의 CPU. select/cons_res 플러그인은 다음에 개별 프로세서를 할당합니다.
따라서 이 숫자는 작업에 할당된 각 노드의 프로세서 수를 나타냅니다.
작업 할당.
SLURM_JOB_NODELIST (그리고 SLURM_NODELIST 이전 버전과의 호환성을 위해)
작업에 할당된 노드 목록입니다.
SLURM_JOB_NUM_NODES (그리고 SLURM_NNODES 이전 버전과의 호환성을 위해)
작업 할당의 총 노드 수입니다.
SLURM_JOB_PARTITION
작업이 실행 중인 파티션의 이름입니다.
SLURM_MEM_BIND
--mem_bind 옵션의 값으로 설정합니다.
SLURM_SUBMIT_DIR
디렉토리 살록 호출되었습니다.
SLURM_SUBMIT_HOST
컴퓨터의 호스트 이름 살록 호출되었습니다.
SLURM_NODE_ALIASES
노드에 할당된 노드에 대한 노드 이름, 통신 주소 및 호스트 이름의 집합
클라우드에서 작업. 콜론으로 구분되고 각 세트가 다음과 같은 경우 세트의 각 요소
쉼표로 구분됩니다. 예: SLURM_NODE_ALIASES=ec0:1.2.3.4:foo,ec1:1.2.3.5:bar
SLURM_NTASKS
과 동일 -N, --ntasks
SLURM_NTASKS_PER_NODE
지정된 경우 --ntasks-per-node 옵션의 값으로 설정합니다.
SLURM_PROFILE
과 동일 --프로필
SLURM_TASKS_PER_NODE
각 노드에서 시작할 작업 수입니다. 값은 쉼표로 구분되며
SLURM_NODELIST와 동일한 순서입니다. XNUMX개 이상의 연속된 노드가
동일한 작업 수, 해당 수 뒤에 "(x#)"가 붙습니다. 여기서 "#"은 반복입니다.
세다. 예를 들어 "SLURM_TASKS_PER_NODE=2(x3),1"은 처음 세 개가
노드는 각각 XNUMX개의 작업을 실행하고 네 번째 노드는 XNUMX개의 작업을 실행합니다.
신호
salloc이 PENDING 작업 할당을 기다리는 동안 대부분의 신호로 인해 salloc이
할당 요청을 취소하고 종료합니다.
그러나 할당이 승인되었고 salloc이 이미 지정된
명령을 실행하면 salloc은 대부분의 신호를 무시합니다. salloc은 종료하거나 해제하지 않습니다.
명령이 종료될 때까지 할당합니다. 한 가지 주목할만한 예외는 SIGHUP입니다. SIGHUP 신호는
salloc이 할당을 해제하고 명령이 완료될 때까지 기다리지 않고 종료되도록 합니다.
또 다른 예외는 생성된 프로세스로 전달되는 SIGTERM입니다.
사용 예
할당을 받고 srun 명령을 입력할 수 있는 새 xterm을 열려면
대화식으로:
$ salloc -N16 xterm
salloc: 부여된 작업 할당 65537
(이 시점에서 xterm이 나타나고 salloc은 xterm이 종료될 때까지 기다립니다)
salloc: 작업 할당 포기 65537
노드 할당을 가져오고 하나의 명령줄에서 병렬 응용 프로그램을 시작하려면(참조:
전에, 살록 더 많은 예를 보려면 매뉴얼 페이지):
salloc -N5 srun -n10 myprogram
사자
Copyright (C) 2006-2007 The Regents of the University of California. 로렌스에서 제작
리버모어 국립 연구소(면책 조항 참조).
Copyright (C) 2008-2010 Lawrence Livermore 국가 안보.
저작권 (C) 2010-2015 SchedMD LLC.
이 파일은 리소스 관리 프로그램인 Slurm의 일부입니다. 자세한 내용은 다음을 참조하십시오.
<http://slurm.schedmd.com/>.
Slurm은 무료 소프트웨어입니다. 당신은 그것을 재배포 및/또는 수정할 수 있습니다.
자유 소프트웨어 재단에서 발행한 GNU 일반 공중 사용 허가서; 버전 2
라이센스 또는 (귀하의 선택에 따라) 이후 버전.
Slurm은 유용할 것이라는 희망으로 배포되지만 어떠한 보증도 하지 않습니다. 없이
상품성 또는 특정 목적에의 적합성에 대한 묵시적 보증도 포함됩니다. 참조
자세한 내용은 GNU General Public License.
onworks.net 서비스를 사용하여 온라인에서 salloc 사용