실행 모드 FAQ
로컬 테스트 모드는 다양한 실행 모드에 대한 구문을 지원하지만 로컬에서 테스트할 때는 스케줄링이 포함되지 않으므로 해당 모드는 무시됩니다.
병렬로 실행되는 작업 수는 백엔드에 구성된 병렬 처리 정도에 따라 결정되며, 현재 대부분의 백엔드는 5개입니다.
실행 모드 페이지의 실패 및 취소된 작업 섹션을 참조하세요.
세션
qiskit-ibm-runtime에서Session클래스를 사용하는 경우:Session.close()는 세션이 더 이상 새 작업을 수락하지 않고 기존 작업이 완료될 때까지 실행됨을 의미합니다.Session.cancel()보류 중인 모든 세션 작업을 취소합니다.
REST API를 직접 사용하는 경우:
PATCH /sessions/{id}를accepting_jobs=False로 바꾸면 세션이 더 이상 새 작업을 수락하지 않고 기존 작업이 완료될 때까지 실행된다는 의미입니다.DELETE /sessions/{id}/close보류 중인 모든 세션 작업을 취소합니다.
아니오. 주문형 보정은 사용할 수 없습니다.
예. 이렇게 하면 사용자가 세션을 종료하는 것을 잊어버리는 경우 원치 않는 비용을 줄일 수 있습니다.
대화형 TTL 값은 변경할 수 없습니다. 세션의 최대 TTL 값을 변경할 수 있지만( 세션 길이 지정하기 참조), 시스템에서 정의한 최대값보다 작아야 합니다. 다른 대화형 TTL 또는 시스템 최대 TTL이 필요한 경우 관리자에게 IBM 지원팀에 문의하세요.
IBM Quantum Network 회원은 IBM Quantum® QPU에서 예약된 용량을 얻습니다. 이 용량에서 사용량이 차감되며 용량이 낮은 인스턴스는 대기 시간이 길어집니다.
예. 한 세션에서 여러 작업을 동시에 제출하는 경우 이러한 작업은 병렬로 실행됩니다.
아니오. 세션은 전용 모드로 실행되므로 사용자는 백엔드에 대한 전체 액세스 권한을 갖게 됩니다. 세션은 보정이나 소프트웨어 업그레이드로 인해 중단되지 않습니다.
예. 세션 모드에서 사용량은 QPU가 세션에 커밋된 벽시계 시간입니다. 첫 번째 세션 작업이 시작될 때 시작되어 세션이 비활성 상태가 되거나 닫힐 때 또는 마지막 작업이 완료될 때 중 가장 마지막에 발생하는 시점에 종료됩니다. 따라서 세션이 종료된 후에도 QPU가 작업을 계속 실행 중인 경우 사용량이 계속 누적됩니다. 또한 작업이 완료된 후 QPU가 다른 세션 작업(대화형 TTL)을 기다리는 시간도 사용량으로 계산됩니다. 그렇기 때문에 작업 제출이 끝나면 바로 세션이 닫히는지 확인해야 합니다.
일괄처리
병렬로 실행되는 작업 수는 백엔드에 구성된 병렬 처리 정도에 따라 결정되며, 대부분의 백엔드에서는 5개입니다. 그러나 배치가 활성화될 때 이미 다른 작업이 실행 중일 수 있으므로 활성화된 배치의 동시 작업 수는 더 적을 수 있습니다.
가장 큰 차이점은 시간과 비용의 절충입니다:
일괄처리 모드:
- 기존 프로세싱이 병렬로 실행될 수 있으므로 총 실행 시간이 더 짧습니다.
- 각 작업을 실행할 때마다 약간의 오버헤드가 발생하기 때문에, 모든 회로를 단일 작업으로 실행할 때보다 일괄 처리된 작업의 경우 비용이 조금 더 들게 됩니다.
- 배치 모드는 백엔드에 대한 독점적인 액세스 권한을 부여하지 않기 때문에 배치 내의 작업이 다른 사용자의 작업이나 보정 작업과 함께 실행될 수 있습니다.
- 일부 작업이 실패하더라도 완료된 작업의 결과를 얻을 수 있습니다.
- 완료된 작업의 결과에 따라 일괄 작업 중간에 조치를 취할 수 있습니다. 예를 들어 초기 결과가 올바르지 않은 경우 나머지 작업을 취소할 수 있습니다.
작업 모드:
- 병렬 처리가 없기 때문에 총 실행 시간이 더 길어질 수 있습니다.
- 배치 워크로드와 관련된 작업당 추가 오버헤드 비용을 지불하지 않아도 됩니다.
- 모든 회로가 함께 실행됩니다.
- 이 단일 작업이 실패하면 부분적인 결과를 얻지 못합니다.
- 작업에 너무 많은 회로가 포함되어 있거나 회로가 너무 크면 한계에 부딪힐 수 있습니다.
일반적으로 각 작업이 1분 미만의 QPU 시간을 소비하는 경우 더 큰 작업으로 결합하는 것이 좋습니다(이는 모든 실행 모드에 적용됨).
일괄 제출할 수 있는 작업 수에는 제한이 없지만 일괄 제출과 관련된 최대 시간은 정해져 있습니다. 즉, 배치의 벽시계 시간(첫 번째 배치 작업이 실행되기 시작할 때 시작)이 시스템에서 정의한 최대 시간을 초과하면 배치가 새 작업을 수락하지 않으며 대기 중이지만 실행되지 않는 모든 작업이 취소됩니다. 또한 요금제에 따라 작업에서 사용할 수 있는 사용량에는 제한이 있습니다. 배치와 관련된 최대 시간을 확인하려면
batch.details()메서드를 사용하여max_time값을 찾습니다.백엔드에 구성된 병렬 처리의 정도를 "실행 레인"이라고도 합니다. 사용 가능한 실행 레인이 하나 이상 있고 배치 작업이 다음 순서로 실행되는 경우 스케줄러는 레인을 채울 만큼의 작업을 시작합니다. 마찬가지로, 배치에 레인을 채울 만큼 작업이 충분하지 않으면 스케줄러가 다른 사용자의 작업을 시작합니다.
예시: 선택한 백엔드에는 5개의 실행 레인이 있고 그 중 2개는 현재 다른 사용자의 작업이 사용하고 있습니다. 다음으로 6개의 작업 배치를 실행할 차례입니다.
사용 가능한 레인이 3개이므로 스케줄러는 6개의 배치 작업 중 3개의 작업을 시작합니다. 작업이 완료되고 실행 레인을 사용할 수 있게 되면 배치에서 작업을 계속 시작합니다. 레인을 사용할 수 있게 되고 배치에 더 이상 작업이 없는 경우 스케줄러가 다음 작업을 시작합니다.
QPU는 한정된 공유 리소스이므로 모든 작업은 대기열에서 대기해야 합니다. 그러나 배치의 첫 번째 작업이 실행되기 시작하면 해당 배치의 다른 모든 작업은 기본적으로 대기열의 앞쪽으로 이동하여 스케줄러에 의해 우선순위가 지정됩니다.
예. 그러나 이 자동 감지와 관련된 약간의 오버헤드가 있으므로 항상 배치와 세션을 닫아야 합니다.
예. 보정 또는 소프트웨어 업그레이드로 인해 배치 워크로드가 중단될 수 있습니다.
아니오. 배치 모드에서는 퀀텀 하드웨어에 소요된 시간만 사용량으로 계산됩니다.