© Shahjehan/Shutterstock.com
Teil 1: Mean Value Analysis

Pimp your Application


Oft sieht sich die Softwareentwicklung mit Fragen konfrontiert: Was passiert, wenn wir die Anwendung erweitern? Wie viel mehr an Ressourcen, z. B. CPU, brauchen wir, wenn wir einen neuen Use Case implementieren? Einfach nur die zu erwartende Auslastung der CPU zu addieren, führt oft nicht zum Ziel oder gar in die Irre.

Oft zählt der Ressourcenbedarf zu den Unbekannten eines neuen Use Case. Zusätzlich fällt das Verhältnis I/O-Bedarf zu CPU-Bedarf ins Gewicht. Ein sehr prominentes und irritierendes Beispiel ist, dass I/O-lastige Programme unter bestimmten, vermeintlich besseren Bedingungen von der CPU verdrängt werden können. Diese laufen möglicherweise mit der neuen und schnelleren CPU wesentlich langsamer als zuvor [1]. Wir wollen daher einen Weg aufzeigen, wie der Softwareentwickler an viele solcher Fragestellungen methodisch herangehen und diese mit der Mean Value Analysis (MVA) untersuchen kann.

Unser grundlegendes Problem besteht darin, dass wir einen Verbund von Rechnern haben, über den verschiedene Auftragsströme fließen. Dieses Szenario ähnelt einem Optimierungsproblem einer Produktionsstraße oder einer Supply Chain in einem Logistikverbund. Probleme dieser Art erinnern an eine elektronische Schaltung mit verschiedenen Baugruppen (engl. device). Unsere Baugruppen sind Rechner in den einzelnen Hardware- bzw. Software-Tiers. Rechner werden aus Sicherheitsgründen über Web- oder Datenbank-Tier sowie Batch- und Applikation-Tier verteilt. Möglicherweise handelt es sich auch um Reliability-Gründe über mehrere Brandabschnitte oder Rechenzentrumsgrenzen hinweg. Router und Switches, allgemein das Netz, lassen sich als weitere Baugruppen verstehen. Die Performance wird von den langsamen Komponenten bestimmt. Ist Komponente X zehnmal langsamer als Komponente Y, macht es sicherlich keinen Sinn, Komponente Y mithilfe eines Profilers zu optimieren.

Mikrobenchmarks, Untersuchungen mit Profilern oder Code zu instrumentalisieren, liefert Einblick in das Laufzeitverhalten der...

Neugierig geworden?

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang