Escalonador de compartilhamento justo
Quando você envia uma carga de trabalho para uma unidade de processamento quântico (QPU), ela entra no escalonador específico daquela QPU, juntando-se ao conjunto de cargas de trabalho (de todos os usuários) que aguardam execução nessa QPU. A ordem em que essas cargas de trabalho são executadas é, por padrão, determinada por uma fórmula de compartilhamento justo. Conforme discutido abaixo, essa fórmula tenta equilibrar a carga de trabalho entre diferentes instâncias de acordo com a quantidade de acesso à QPU alocada em uma determinada janela de tempo. Na prática, isso significa que as cargas de trabalho de várias instâncias são intercaladas de forma que a ordem em que as cargas de trabalho são concluídas não é necessariamente a ordem em que foram enviadas. Como a ordem é calculada dinamicamente à medida que novas cargas de trabalho chegam, geralmente é impossível garantir quando uma carga de trabalho será executada pelo escalonador de compartilhamento justo.
Termos do compartilhamento justo
-
Conta: Pessoas e organizações usam uma conta do IBM Cloud® para acessar o IBM Quantum® Platform e o Qiskit Runtime.
-
Instância: A construção de nível base para a qual o tempo é alocado a partir da conta principal para um conjunto de QPUs, e à qual os usuários são diretamente atribuídos. As instâncias estão conectadas a uma região específica e a um plano. Consulte o guia de Instâncias para mais informações.
-
Janela deslizante de 28 dias: O escalonador de compartilhamento justo considera o uso ao longo de uma janela de tempo deslizante. Somente o tempo de execução acumulado dentro dessa janela é contabilizado para fins de equidade. O comprimento dessa janela é atualmente de 28 dias. Quando o escalonador de compartilhamento justo é invocado, ele leva em conta o uso a partir de 28 dias atrás. (Observação: A janela de tempo deslizante não se aplica ao Plano Flex. A proporção de compartilhamento justo para o Plano Flex é o uso total versus a alocação.)
-
Tempo utilizado: Para cada instância, durante a janela deslizante de 28 dias, todo o uso em todas as QPUs é contabilizado. Isso inclui todas as cargas de trabalho bem-sucedidas, bem como cargas de trabalho que retornam códigos de erro conhecidos específicos. (Observação: A janela de tempo deslizante não se aplica ao Plano Flex. A proporção de compartilhamento justo para o Plano Flex é o uso total versus a alocação.)
Alocação e administração
A IBM® atribui uma alocação de capacidade de computação quântica à conta do IBM Cloud de cada organização, com base na capacidade contratada no plano. Os administradores de conta então decidem qual parte dessa alocação será atribuída a cada instância. O escalonador de compartilhamento justo usa a alocação e o uso atual das instâncias para agendar cargas de trabalho de forma a distribuir os recursos de maneira justa para cada instância.
Por exemplo, suponha que apenas duas instâncias mantêm cargas de trabalho na fila de um computador quântico. Com tudo mais sendo igual, uma instância com o dobro de minutos pode executar o dobro de cargas de trabalho.
Se a conta da organização for uma conta empresarial, os administradores de conta precisarão primeiro distribuir suas alocações para as contas filhas da conta, e o administrador da conta filha então distribuirá sua parte da alocação para as instâncias da conta filha.
Como funciona o escalonador de compartilhamento justo
O escalonador de compartilhamento justo seleciona cargas de trabalho para executar em uma QPU em uma ordem dinâmica, de modo que nenhuma instância possa monopolizar a QPU. Quando uma QPU está pronta para trabalho adicional, ela solicita a próxima carga de trabalho ao escalonador de compartilhamento justo. O comportamento padrão do escalonador é selecionar a próxima carga de trabalho identificando primeiro a instância que usou a menor quantidade de sua alocação dentro da janela de agendamento atual. Se a instância selecionada enviou mais de uma carga de trabalho, o escalonador selecionará a carga de trabalho mais antiga primeiro. Portanto, dentro de uma instância, o escalonador funciona com base em primeiro a entrar, primeiro a sair (FIFO).
Próximos passos
- Experimente o tutorial do Algoritmo de Grover.
- Aprenda como Monitorar uma carga de trabalho.