Skip to main content
IBM Quantum Platform

Agendador de compartilhamento justo

Quando você envia uma carga de trabalho para uma unidade de processamento quântico (QPU), ela entra no agendador para a QPU específica, juntando-se ao pool de cargas de trabalho (de todos os usuários) que estão esperando para serem executadas nessa QPU. A ordem em que essas cargas de trabalho são executadas é, por padrão, determinada por uma fórmula de fair-share. 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 entrelaçadas de tal 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 agendador de fair-share.


Termos de repartição equitativa

  • Conta: Indivíduos e organizações usam uma conta IBM Cloud® para acessar IBM Quantum® Platform e Qiskit Runtime.

  • Instância: A construção de nível básico para a qual o tempo é alocado da conta abrangente para um conjunto de QPUs e para a qual os usuários são diretamente atribuídos. As instâncias são conectadas a uma região e a um plano específicos. Consulte o guia Instâncias para obter mais informações.

  • janela contínua de 28 dias: O agendador de fair-share considera o uso em uma janela de tempo contínuo. Somente o tempo de execução acumulado dentro dessa janela é contabilizado para fins de equidade. A duração dessa janela é atualmente de 28 dias. Quando o agendador de fair-share é chamado, ele leva em conta o uso iniciado há 28 dias. (Observação: a janela de tempo variável não se aplica ao Plano Flex. O índice de fair-share para o Plano Flex é o uso total versus a alocação)

  • Tempo usado: Para cada instância, durante a janela de rolagem de 28 dias, todo o uso em todas as QPUs é contabilizado. Isso inclui todas as cargas de trabalho bem-sucedidas, bem como as cargas de trabalho que retornam códigos de erro selecionados conhecidos. (Observação: a janela de tempo variável não se aplica ao Plano Flex. O índice de fair-share para o Plano Flex é o uso total versus a alocação)


Alocação e administração

IBM® atribui uma alocação de capacidade de computação quântica à conta IBM Cloud de cada organização, com base na capacidade contratada em seu plano. Os administradores de conta decidem então que parte dessa alocação deve ser atribuída a cada instância. O escalonador de fair-share usa a alocação das instâncias e o uso atual para escalonar as cargas de trabalho de forma a distribuir os recursos de maneira justa para cada instância.

Por exemplo, suponha que apenas duas instâncias mantenham cargas de trabalho na fila de um computador quântico. Se todos os outros fatores forem iguais, uma instância com o dobro do número de minutos pode executar o dobro do número de cargas de trabalho.

Se a conta da organização for uma conta corporativa, os administradores da conta precisarão primeiro distribuir suas alocações para as contas-filhas da conta, e o administrador da conta-filha distribuirá sua parte da alocação para as instâncias da conta-filha.


Como funciona o agendador de compartilhamento justo

O escalonador de fair-share seleciona as cargas de trabalho a serem executadas 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 fair-share. O comportamento padrão do agendador é 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 tiver enviado mais de uma carga de trabalho, o agendador selecionará primeiro a carga de trabalho mais antiga. Assim, em uma instância, o agendador trabalha com base no princípio FIFO (first-in-first-out).


Próximas etapas

Recomendações
Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.