Nutzen
Nicht immer werden alle Ressourcen eines Servers für im Vordergrund laufende Programme benötigt. Kapazitäten, die für die Aufgabe mit der höchsten Priorität nicht beansprucht werden, können für kleinere Jobs, die im Hintergrund laufen, zur Verfügung stehen. Dann kann eine Art des Backfillings zur Anwendung kommen, bei der Kapazitäten, die im Vordergrund nicht vonnöten sind, für Aufgaben, die weiter hinten in der Schlange stehen, verwendet werden. Sollten mehrere Jobs anstehen, jedoch für den Job, der zunächst an der Reihe wäre, nicht genug Ressourcen verfügbar sein, dann wird durch Backfilling zuerst ein anderer Job erledigt, der genau die Ressourcen benötigt, die in diesem Moment vorhanden sind. Auf dieses Weise werden die zur Verfügung stehenden Ressourcen immer optimal genutzt.
Funktionsweise
Mit Backfilling können auf einem Server etwa 100 Jobs gleichzeitig ausgeführt werden. Ein Scheduler stellt für die aktuell im Vordergrund laufenden Programme das Maximum der bereitstehenden Ressourcen zur Verfügung. Erst dann versucht er, die restlichen Kapazitäten durch Backfilling für andere Aufgaben zu nutzen. Welche Prioritäten dabei gesetzt werden, lässt sich in den Konfigurationseinstellungen des Schedulers festlegen. Dabei kann auch die Anzahl der Jobs bestimmt werden, die auf dem Server maximal gleichzeitig ausgeführt werden sollen. Um die Serverkapazitäten optimal auszulasten, sucht der Scheduler immer nach Aufgaben, die mit vorhandenen Restressourcen erledigt werden können. Es werden also alle Lücken durch Backfilling aufgefüllt, sodass immer die Gesamtkapazität des Servers nutzbar ist.