주 콘텐츠로 건너뛰기

Quantum Compute 실행 모드 소개

IBM Quantum Compute Service가 도입되었을 때, 사용자는 Circuit을 개별 작업으로만 실행할 수 있었습니다. 다양한 유형의 양자 워크로드가 등장하면서 서로 다른 스케줄링 전략의 필요성이 명확해졌습니다. 실행 모드는 작업이 스케줄링되는 방식을 결정하며, 올바른 실행 모드를 선택하면 예산 내에서 워크로드를 효율적으로 실행할 수 있습니다. 실행 모드에는 job, session, batch의 세 가지가 있습니다.

Job 모드​

컨텍스트 매니저 없이 단일 프리미티브 요청을 하는 방식입니다. Circuit과 입력값은 primitive unified blocs(PUBs)로 패키징되어 양자 컴퓨터에서 실행 작업으로 제출됩니다. Job 모드로 실행하려면 프리미티브를 인스턴스화할 때 mode=backend를 지정하세요. 사용 예시는 Estimator 예제 및 Sampler 예제를 참조하세요.

Batch 모드​

다중 작업 워크로드로 구성된 실험을 효율적으로 실행하기 위한 다중 작업 매니저입니다. 이러한 워크로드는 서로 조건부 관계가 없는 독립적으로 실행 가능한 작업들로 구성됩니다. Batch 모드를 사용하면 사용자는 모든 작업을 한 번에 제출합니다.

시스템은 각 프리미티브 작업의 전처리(고전 컴퓨팅) 단계를 병렬화하거나 스레드 처리하여 작업 간 양자 실행을 더욱 촘촘하게 패키징한 후, 각 작업의 양자 실행을 빠르게 연속으로 실행하여 가장 효율적인 결과를 제공합니다. 스레드 처리에 대한 자세한 내용은 실행 모드 FAQ 페이지를 참조하세요.

Batch 모드로 실행 중인 작업 세트. 각 작업의 고전 계산 부분이 동시에 진행된 후 모든 작업이 QPU로 전송됩니다. 첫 번째 작업이 QPU에 도달한 시점부터 마지막 작업이 QPU에서 처리 완료될 때까지 QPU가 독점적으로 사용됩니다. 작업 사이에 QPU가 유휴 상태인 간격은 없습니다.

참고 사항
  • Batching 시, 작업이 제출된 순서대로 실행된다는 보장이 없습니다. 또한 Batch 작업은 가능한 한 밀접하게 실행되지만 Backend에 대한 독점 접근권을 얻지는 못합니다. 따라서 QPU에 충분한 처리 용량이 있는 경우 Batch 작업이 다른 사용자의 작업과 병렬로 실행될 수 있습니다. 또한 Batching된 작업 사이에 QPU 캘리브레이션 작업이 실행될 수 있습니다.
  • Batch 내에서 제출된 첫 번째 작업의 대기 시간은 줄어들지 않습니다. 따라서 단일 작업을 실행할 때는 Batch가 어떠한 이점도 제공하지 않습니다.

Batch 모드로 실행하려면 프리미티브를 인스턴스화할 때 mode=batch를 지정하거나 Batch 컨텍스트 매니저 내에서 작업을 실행하세요. 예시는 Batch에서 작업 실행을 참조하세요.

Session 모드​

다중 작업 워크로드를 실행하기 위한 전용 창입니다. 이 창이 열려 있는 동안 사용자는 시스템에 독점적으로 접근할 수 있으며 캘리브레이션 작업을 포함한 다른 어떤 작업도 실행될 수 없습니다. 이를 통해 사용자는 변분 알고리즘을 보다 예측 가능한 방식으로 실험하고, 스택의 병렬성을 활용하여 여러 실험을 동시에 실행할 수도 있습니다. Session을 사용하면 각 작업을 별도로 대기열에 추가할 때 발생하는 지연을 방지할 수 있으며, 이는 고전 자원과 양자 자원 간의 빈번한 통신이 필요한 반복적인 작업에 특히 유용합니다.

Session 모드로 실행 중인 작업 세트와 Batch 모드로 실행 중인 또 다른 작업 세트. 각 작업 사이에는 대화형 TTL(interactive time to live)이 있습니다. 활성 창은 첫 번째 작업이 시작될 때 시작되고 마지막 작업이 완료된 후 종료됩니다. 첫 번째 작업 세트의 마지막 작업이 완료된 후 활성 창이 종료되고 Session이 일시 중지됩니다(닫히지는 않음). 그런 다음 또 다른 작업 세트가 시작되어 유사한 방식으로 작업이 계속됩니다. Session 전체 기간 동안 QPU가 독점적으로 사용됩니다.

Session 모드로 실행하려면 프리미티브를 인스턴스화할 때 mode=session을 지정하거나 Session 컨텍스트 매니저 내에서 작업을 실행하세요. 예시는 Session에서 작업 실행을 참조하세요.

참고 사항
  • Session 내에서 제출된 첫 번째 작업의 대기 시간은 줄어들지 않습니다. 따라서 단일 작업을 실행할 때는 Session이 어떠한 이점도 제공하지 않습니다.
  • Open Plan 사용자는 Session 작업을 제출할 수 없습니다.

기본 워크플로​

Batch와 Session의 기본 워크플로는 유사합니다:

  1. Batch 또는 Session의 첫 번째 작업은 일반 대기열에 들어갑니다. Batch의 경우 전체 Batch 작업이 함께 스케줄링됩니다.

  2. 첫 번째 작업이 실행되기 시작하면 최대 TTL(time to live) 타이머가 시작되며, 종료에 도달할 때까지 멈추거나 일시 중지되지 않습니다.

  3. 각 작업이 완료된 후 대화형 TTL 타이머가 시작됩니다. 대화형 TTL 창 내에 준비된 워크로드 작업이 없으면 워크로드가 일시적으로 비활성화되고 일반 작업 선택이 재개됩니다. Batch 또는 Session이 최대 TTL 값에 도달하지 않은 경우 작업이 비활성화된 워크로드를 다시 활성화할 수 있습니다.

    참고

    워크로드를 다시 활성화하려면 작업이 일반 대기열을 통과해야 합니다.

  4. 최대 TTL 값에 도달하면 워크로드가 종료되고 대기열에 남아 있는 모든 작업이 실패합니다. 현재 실행 중인 작업이 인스턴스의 비용 한도를 초과하게 될 경우 완료까지 실행되지 않습니다.

다음 동영상은 Session을 예시로 기본 워크플로를 설명합니다:

TTL 타이머에 대한 전체 세부 정보는 최대 실행 시간 가이드를 참조하세요.

다음 단계​