Dispatching i computere: Opgaveplanlægning og udførelse forklaret

Dispatching er mekanismen, der tildeler klare opgaver til udførelsesressourcer (CPU-kerner, tråde, GPU'er, noder).

I operativsystemer

  • Scheduler vælger næste opgave fra kørekø (prioritet, fairness, deadline, affinity).
  • Dispatcher udfører kontekst-skift: gemmer nuværende register-tilstand, indlæser næste opgaves tilstand, hopper til dens instruktions-peger.
  • Forekommer ved: time-slice-udløb, syscall, interrupt, lås-konflikt, eksplicit yield.

I parallelle/distribuerede systemer

  • Opgave-dispatchere (fx ThreadPoolExecutor, Celery, Kubernetes scheduler) matcher arbejds-enheder til arbejdere.
  • Strategier: FIFO, prioritet, locality-aware, load-balancing, spekulativ udførelse.

I kommunikation

  • Besked-dispatching: Routing af beskeder til håndterere (event-loops, actor-systemer, mikro-tjenester).
  • Mønstre: pub/sub, request/reply, streaming.

Nøgle-metricer

  • Dispatch-latens (kø → kørende)
  • Gennemstrømning (opgaver/sek)
  • Fairness (starvation-undgåelse)
  • Lokalitet (cache/NUMA-affinité)

Dispatching er "trafikstyringen" af beregning – effektiv dispatch maksimerer hardware-udnyttelse og responsivitet.

Operationer