Lastverteilung (Informatik)

Diagramm zur Veranschaulichung der Benutzeranforderungen an ein Elasticsearch-Cluster, das durch einen Load Balancer verteilt wird. (Beispiel für Wikipedia).

Mittels Lastverteilung (englisch Load Balancing) werden in der Informatik umfangreiche Berechnungen oder große Mengen von Anfragen auf mehrere parallel arbeitende Systeme verteilt mit dem Ziel, ihre gesamte Verarbeitung effizienter zu gestalten.

Sind die einzelnen Prozesse weitgehend unabhängig voneinander, so bietet sich die Architekturform des Computerclusters an, bei dem die Prozesse auf eine gewisse Anzahl gleichartiger Server (Serverfarm) verteilt werden. Häufig findet man diesen Ansatz bei größeren Web-Anwendungen mit vielen Benutzern.

Handelt es sich dagegen um einen einzigen, sehr aufwändigen Prozess, kann versucht werden, die Aufgabe zu splitten und abschließend die Ergebnisse zusammenzuführen, wie beispielsweise bei der Saldenbildung über eine sehr große Anzahl von Buchungen. Für solche Aufgabenstellungen eignen sich Server mit vielen Prozessorkernen besonders gut (Multicore-Architektur mit gemeinsam genutztem Arbeitsspeicher).

Multicore-Architekturen eignen sich auch gut für typische Mischlasten auf einem kleineren Anwendungsserver, wo beispielsweise Betriebssystem, Datenbank, Applikation und Webserver eine Fülle unterschiedlicher und meist kurz laufender Threads hervorbringen. Diese Lasten werden vom Scheduler des Systems auf die verfügbaren Kerne verteilt. Der Scheduler hat keine Kenntnis über die Komplexität der anstehenden Aufgaben, sondern entscheidet aufgrund von Prozess-Priorität, Auslastung und anderen Kenngrößen.

Lastverteilung ist ursprünglich das Ergebnis der Forschung im Bereich der Parallelrechner. Zwei Hauptansätze existieren nebeneinander: statische Algorithmen, die den Zustand der verschiedenen Maschinen nicht berücksichtigen, und dynamische Algorithmen, die öfters allgemeiner und effizienter sind, aber dafür einen anspruchsvollen Informationsaustausch zwischen den verschiedenen Recheneinheiten erfordern, was der Effizienz schaden kann.


From Wikipedia, the free encyclopedia · View on Wikipedia

Developed by Nelliwinne