„Skalierbarkeit“ – Versionsunterschied

aus Wikipedia, der freien Enzyklopädie
Zur Navigation springen Zur Suche springen
[gesichtete Version][ungesichtete Version]
Inhalt gelöscht Inhalt hinzugefügt
Luckas-bot (Diskussion | Beiträge)
K r2.7.1) (Bot: Ergänze: bg:Мащабируемост
DerIIIfranz (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
Dieser Artikel wird zur Zeit neu überarbeitet. Die ursprüngliche Version davon finden Sie am Ende des Dokuments.

== Begriffsdefinition ==

Für den Begriff '''Skalierbarkeit''' gibt es keine allgemein gültige Definition. Im Zusammenhang mit Software versteht man darunter ein System aus Hard- und Software, dessen Leistung durch das Hinzufügen von Ressourcen oder weiteren Knoten/Rechnern in einem gewissen Bereich proportional (bzw. linear) zunimmt.

Ressourcen können z.B. sein: CPU, RAM, Festplatten, Netzwerk-Bandbreite,...

Der Skalierungsfaktor ist die Maßeinheit für die Skalierbarkeit eines Systems.

== Skalierungsfaktor ==
Der Skalierungsfaktor beschreibt den tatsächlich Leistungszuwachs einer zusätzlichen Ressourcen-Einheit. Z.B. bringt eine zweite CPU 90% zusätzliche Leistung.

Lineare Skalierbarkeit bedeutet, dass der Skalierungsfaktor pro hinzugefügter Ressourcen-Einheit gleich bleibt.

Sub-Lineare Skalierbarkeit steht im Gegensatz dazu für die Abnahme des Skalierungsfaktors beim Hinzufügen von Ressourcen.

Negative Skalierbarkeit wird erreicht, wenn sich die Leistung durch das Hinzufügen von Ressourcen/Rechnern sogar verschlechtert. Mit diesem Problem kann man zu kämpfen haben, wenn der Verwaltungsaufwand, welcher durch den zusätzlichen Rechner entsteht, größer ist als der dadurch erreichte Leistungszuwachs.

-->Abbildung

== Amdahl's Law ==
--> Ausarbeitung durch Autor in Arbeit
== Gustafson's Law ==

== vertikale vs. horizontale Skalierung ==

== Load Balancing - DNS ==

== Caching - Web Proxy ==


== Ursprüngliche Version dieses Dokuments ==
Die '''Skalierbarkeit''' beschreibt in der [[Informatik]] und [[Softwaretechnik]] das Verhalten von [[Computerprogramm|Programmen]] oder [[Algorithmus|Algorithmen]] bezüglich des [[Ressource (Computer)|Ressourcenbedarfs]] bei wachsenden Eingabemengen, also die [[Performance (Informatik)|Performance]] und die [[Komplexität]].
Die '''Skalierbarkeit''' beschreibt in der [[Informatik]] und [[Softwaretechnik]] das Verhalten von [[Computerprogramm|Programmen]] oder [[Algorithmus|Algorithmen]] bezüglich des [[Ressource (Computer)|Ressourcenbedarfs]] bei wachsenden Eingabemengen, also die [[Performance (Informatik)|Performance]] und die [[Komplexität]].



Version vom 12. Mai 2012, 18:36 Uhr

Dieser Artikel wird zur Zeit neu überarbeitet. Die ursprüngliche Version davon finden Sie am Ende des Dokuments.

Begriffsdefinition

Für den Begriff Skalierbarkeit gibt es keine allgemein gültige Definition. Im Zusammenhang mit Software versteht man darunter ein System aus Hard- und Software, dessen Leistung durch das Hinzufügen von Ressourcen oder weiteren Knoten/Rechnern in einem gewissen Bereich proportional (bzw. linear) zunimmt.

Ressourcen können z.B. sein: CPU, RAM, Festplatten, Netzwerk-Bandbreite,...

Der Skalierungsfaktor ist die Maßeinheit für die Skalierbarkeit eines Systems.

Skalierungsfaktor

Der Skalierungsfaktor beschreibt den tatsächlich Leistungszuwachs einer zusätzlichen Ressourcen-Einheit. Z.B. bringt eine zweite CPU 90% zusätzliche Leistung.

Lineare Skalierbarkeit bedeutet, dass der Skalierungsfaktor pro hinzugefügter Ressourcen-Einheit gleich bleibt.

Sub-Lineare Skalierbarkeit steht im Gegensatz dazu für die Abnahme des Skalierungsfaktors beim Hinzufügen von Ressourcen.

Negative Skalierbarkeit wird erreicht, wenn sich die Leistung durch das Hinzufügen von Ressourcen/Rechnern sogar verschlechtert. Mit diesem Problem kann man zu kämpfen haben, wenn der Verwaltungsaufwand, welcher durch den zusätzlichen Rechner entsteht, größer ist als der dadurch erreichte Leistungszuwachs.

-->Abbildung

Amdahl's Law

--> Ausarbeitung durch Autor in Arbeit

Gustafson's Law

vertikale vs. horizontale Skalierung

Load Balancing - DNS

Caching - Web Proxy

Ursprüngliche Version dieses Dokuments

Die Skalierbarkeit beschreibt in der Informatik und Softwaretechnik das Verhalten von Programmen oder Algorithmen bezüglich des Ressourcenbedarfs bei wachsenden Eingabemengen, also die Performance und die Komplexität.

Ein Software-Produkt ist gut skalierbar, wenn es beispielsweise bei der zehnfachen Leistung (Nennlast) mit etwa den zehnfachen Ressourcen auskommt. Ein schlecht skalierbares Produkt hingegen würde bei doppelter Last vielleicht bereits die zehnfachen Ressourcen benötigen und bei zehnfacher Last komplett ausfallen. Ein gut skalierbares paralleles Programm benötigt bei der doppelten Anzahl von Prozessoren die Hälfte der Rechenzeit. Aufgrund der Kommunikation zwischen den Prozessoren wird dieser Wert allerdings nie exakt erreicht (Communication Overhead).

Scale-In und Scale-Out

Oft wird zwischen horizontaler und vertikaler Skalierbarkeit von IT-Systemen unterschieden. Bei einer horizontalen Skalierung (Scale-Out) werden Funktionen auf zusätzliche Server verteilt. Das Blade-Konzept unterstützt einen solchen Ansatz. Bei einer vertikalen Skalierung (Scale-In) wird das System durch eine leistungsfähigere Lösung ersetzt. Dies wird im Allgemeinen durch Ergänzung weiterer Prozessoren in einem symmetrischen Multiprozessorsystem erfolgen.

Für Rechenzentrumsbetreiber ist beim Scale-Out oft der zusätzliche Platzbedarf ("footprint") ein Problem, während das Scale-In bzgl. der Umsetzung anspruchsvoller und daher komplizierter ist.

Im Marketing

Im IT-Marketing wird diese Bedeutung aufgegriffen: Skalierung oder Skalierbarkeit steht für die Anpassungsfähigkeit einer Software bei Änderung der Anforderungen. Da diese Verwendung selten mit qualitativen Aussagen verbunden wird, ist sie in der Regel nicht überprüfbar und impliziert ebenso wenig eine bestimmte Softwarearchitektur.