casa |  | Saúde e Doença >  | Cirurgias e Procedimentos | Operações Cirúrgicas

Dispatching em Computação: Agendamento e Execução de Tarefas Explicados

Dispatching é o mecanismo que atribui tarefas prontas a recursos de execução (núcleos de CPU, threads, GPUs, nós).

Em Sistemas Operacionais

  • Escalonador seleciona a próxima tarefa da fila de execução (prioridade, justiça, prazo, afinidade).
  • Despachante realiza a troca de contexto: salva o estado atual dos registradores, carrega o estado da próxima tarefa, salta para seu ponteiro de instrução.
  • Ocorre em: expiração de fatia de tempo, chamada de sistema, interrupção, contenção de lock, yield explícito.

Em Sistemas Paralelos/Distribuídos

  • Despachantes de tarefa (ex., ThreadPoolExecutor, Celery, escalonador do Kubernetes) correspondem unidades de trabalho a workers.
  • Estratégias: FIFO, prioridade, consciente de localidade, balanceamento de carga, execução especulativa.

Em Comunicações

  • Despacho de mensagens: Roteamento de mensagens para manipuladores (loops de evento, sistemas de ator, microsserviços).
  • Padrões: pub/sub, request/reply, streaming.

Métricas Chave

  • Latência de despacho (fila → execução)
  • Taxa de transferência (tarefas/seg)
  • Justiça (evitar inanição)
  • Localidade (afinidade de cache/NUMA)

O despacho é o "controle de tráfego" da computação — despacho eficiente maximiza a utilização de hardware e a capacidade de resposta.