Aus gegebenem Anlass habe ich ein altes Testprojekt heraus gekramt, welches ein ganzes Netzwerk-Segment parallel pingt. In dieser Artikelserie habe ich mich damals damit näher befasst. Dieses Projekt habe ich damals noch unter Windows XP entwickelt. Jetzt unter Vista in Visual Studio geladen, F5 … und das Erstaunen war groß. Während ich unter XP noch eine Verarbeitungszeit von um die 4 Sekunden hatte, benötigte die Anwendung unter Vista nahezu 10 mal so lange. Das kann nicht sein! Also habe ich die Anwendung auf mein altes XP Notebook kopiert und gestartet. Das Ergebnis war verblüffend. Die Verarbeitungszeit lag auf dem XP Rechner immer noch unter 4 Sekunden. Wie man an den folgenden Screenshots sehen kann, wird bis auf die Verarbeitungszeit und die ID der erzeugten Threads, ein identisches Ergebnis geliefert.
Zuerst das Ergebnis unter XP:

ParallelScanXP

und hier das Ergebnis unter Vista:

ParallelScanVista

Auf beiden Rechnern ist die aktuelle .NET Version installiert, sowie die gleich Version der ParallelFX. Beiden Rechner sind via WLAN am gleichen Accesspoint im selben Netzsegment. Der gravierende Unterschied ist neben der RAM-Ausstattung die CPU. Das XP Notebook benutzt noch einen Intel P4 mit Hyperthreading Technologie der mit 3.2 GHz getaktet ist, wogegen das Vista Notebook über einen Core2Duo verfügt, der mit 2 GHz taktet. Wenn also hier ein Unterschied in der Verarbeitungsgeschwindigkeit auftritt, sollte dieser sich im Bereich von wenigen Millisekunden bewegen und nicht im Bereich eines Faktor 10. Als Desktopfirewall wird bei beiden OneCare verwendet. Bei beiden ist die Testanwendung in der Firewall freigegeben. Da bei beiden die Anwendung mit identischer Codebasis zum Einsatz kommt, kann es auch kein Fehler im Algorithmus sein.

Was bewirkt also diesen gravierenden Leistungsunterschied?
Es bleibt eigentlich nur der unterschiedliche TCP/IP-Stack der beiden unterschiedlichen Betriebssysteme übrig. eigentlich sollte Vistas neuer TCP/IP-Stack doch deutliche Verbesserungen in Sachen Leistung und Geschwindigkeit bringen. Zumindest wenn man diesem und diesem Artikel glauben darf.
Das Vista im Moment noch Probleme mit dem WLAN hat, der deutlich wird wenn ein Computer aus dem Standby geholt wird, ist bekannt und soll mit dem SP2 gefixt werden. Vieleicht wird ja auch die Verarbeitungsgeschwindigkeit des ICMP-Protokoll wieder etwas flotter.

Daraus ergibt sich für mich folgendes Bild: Was helfen mir die schnellsten parallelen Algorithmen, wenn die ausführende Schicht alles wieder zu Nichte macht.

Technorati-Tags:  |  |  | 
Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war, bitte "kicken" sie ihn.
kick it on dotnet-kicks.de