CTR

Backfilling, zu deutsch etwa: Auffüllung, ist ursprünglich im englischsprachigen Raum ein arbeitsrechtlicher Begriff, mit dem die Verweisung eines Arbeiters oder Angestellten aus seinem ursprünglichen Aufgabenbereich gemeint ist, um einen anderen Mitarbeiter zu ersetzen und dessen Aufgaben zu übernehmen. In der Sprache der Informatiker ist Backfilling ein Mittel zur maximalen Ausnutzung der Cluster auf Servern und zur Steigerung des Datentransfers. Es gibt verschiedene Arten von Backfilling. So erlaubt Backfilling beispielsweise die Durchführung kleinerer Operationen im Hintergrund, solange die Rechnerleistung, die für die Aufgabe im Vordergrund benötigt wird, nicht beeinträchtigt wird.

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.

Kostenlose Potentialanalyse anfordern Hier klicken

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.