양자 컴퓨팅 실행 모드 개요
IBM Quantum Compute Service가 출시되었을 당시, 사용자는 서킷을 개별 작업으로만 실행할 수 있었습니다. 다양한 유형의 양자 워크로드가 등장함에 따라, 각기 다른 스케줄링 전략의 필요성이 대두되었다. 실행 모드는 작업이 어떻게 스케줄링되는지를 결정하며, 적절한 실행 모드를 선택하면 예산 범위 내에서 워크로드를 효율적으로 실행할 수 있습니다. 실행 모드에는 작업(job), 세션(session), 일괄 처리(batch)의 세 가지가 있습니다.
작업 모드
컨텍스트 매니저 없이 수행된 단일 기본 요청. 회로와 입력값은 기본 통합 블록(PUB)으로 패키징되어 양자 컴퓨터에 실행 작업으로 제출됩니다. 작업 모드로 실행하려면, 프리미티브를 생성할 때 를 mode=backend 지정하십시오. 사용 방법은 Estimator 예제와 Sampler 예제를 참조하십시오.
일괄처리 모드
다중 작업 관리자로서 다중 작업 워크로드를 포함하는 실험을 효율적으로 실행합니다. 이러한 워크로드는 서로 조건부 관계가 없는 독립적으로 실행 가능한 작업들로 구성됩니다. 배치 모드에서는 사용자가 작업을 한 번에 모두 제출합니다.
시스템은 각 기본 작업의 전처리 단계(전통적 컴퓨팅)를 병렬화하거나 스레드화하여 작업 간 양자 실행을 더 밀접하게 패키징한 후, 각 작업의 양자 실행을 신속하게 연속 실행하여 가장 효율적인 결과를 제공합니다. 스레딩에 대한 자세한 내용은 실행 모드 FAQ 페이지를 참조하십시오.
- 일괄 처리 시 작업이 제출된 순서대로 실행되는 것은 보장되지 않습니다. 또한 배치 작업은 가능한 한 서로 밀접하게 실행되지만 백엔드에 대한 독점적인 액세스 권한을 갖지는 않습니다. 따라서 QPU에 충분한 처리 용량이 있는 경우 배치 작업이 다른 사용자의 작업과 병렬로 실행될 수 있습니다. 또한 일괄 처리된 작업 사이에 QPU 보정 작업을 실행할 수 있습니다.
- 배치 내에서 제출된 첫 번째 작업에 대해서는 대기 시간이 줄어들지 않습니다. 따라서 일괄 처리는 단일 작업을 실행할 때 아무런 이점을 제공하지 않습니다.
배치 모드로 실행하려면 프리미티브를 인스턴스화할 때 mode=batch 을 지정하거나 배치 컨텍스트 관리자에서 작업을 실행하세요. 예제는 일괄적으로 작업 실행하기를 참조하세요.
세션 모드
다중 작업 워크로드를 실행하기 위한 전용 창입니다. 이 기간 동안 사용자는 시스템에 대한 독점 액세스 권한을 가지며 보정 작업을 포함한 다른 작업을 실행할 수 없습니다. 이를 통해 사용자는 보다 예측 가능한 방식으로 변형 알고리즘을 실험할 수 있으며 스택의 병렬성을 활용하여 여러 실험을 동시에 실행할 수도 있습니다. 세션을 사용하면 각 작업을 개별적으로 대기열에 넣음으로써 발생하는 지연을 방지할 수 있으므로 클래식 리소스와 퀀텀 리소스 간에 빈번한 통신이 필요한 반복 작업에 특히 유용할 수 있습니다.
세션 모드에서 실행하려면 프리미티브를 인스턴스화할 때 mode=session 을 지정하거나 세션 컨텍스트 관리자에서 작업을 실행하세요. 예제는 세션에서 작업 실행을 참조하세요.
- 세션 내에서 제출된 첫 번째 작업에 대해서는 대기 시간이 줄어들지 않습니다. 따라서 세션은 단일 작업을 실행할 때 아무런 이점을 제공하지 않습니다.
- 오픈 플랜 사용자는 세션 작업을 제출할 수 없습니다.
기본 워크플로우
배치 및 세션의 기본 워크플로도 비슷합니다:
- 배치 또는 세션의 첫 번째 작업은 일반 대기열에 들어갑니다. 배치의 경우 전체 작업 배치가 함께 예약됩니다.
- 첫 번째 작업이 실행되기 시작하면 최대 생존 시간(TTL) 타이머가 시작되며 종료될 때까지 중지되거나 일시 중지되지 않습니다.
- 대화형 TTL 타이머는 각 작업이 완료된 후 시작됩니다. 대화형 TTL 창 내에 준비된 워크로드 작업이 없는 경우 워크로드가 일시적으로 비활성화되고 일반 작업 선택이 다시 시작됩니다. 배치 또는 세션이 최대 TTL 값에 도달하지 않은 경우 작업은 비활성화된 워크로드를 다시 활성화할 수 있습니다.
Note
작업은 일반 대기열을 거쳐야 워크로드를 다시 활성화할 수 있습니다.
- 최대 TTL 값에 도달하면 워크로드가 종료되고 대기 중인 나머지 작업은 모두 실패합니다. 현재 실행 중인 작업은 인스턴스의 비용 한도를 초과하는 경우 완료될 때까지 실행되지 않습니다.
다음 동영상에서는 세션을 예로 들어 기본 워크플로우를 설명합니다:
TTL 타이머에 대한 자세한 내용은 최대 실행 시간 가이드를 참조하세요.