28.08.2007 14:57
Mark Russinovich, Microsoft-Mitarbeiter und Entwickler der Sysinternals-Tools, hat in einem Artikel auf seinem Weblog erklärt, warum Windows Vista den Netzwerkverkehr bei gleichzeitiger Wiedergabe von Musik oder Videos drosselt: Schon vor einigen Wochen hatten mehrere Vista-Benutzer diesen Umstand in Internet-Foren publiziert und ihn in Zusammenhang mit dem Multimedia Class Scheduler Service (MMCSS) gebracht.
Den Ausführungen zufolge läuft der MMCSS im generischen Dienste-Prozess svchost.exe. Dieser priorisiert die Wiedergabe von Audio und Video, sodass andere Prozesse die Wiedergabe nicht stören können. Das wirkt sich auch auf die Behandlung des Netzwerkverkehrs aus: Eingehende Pakete lösen eine Unterbrechung (Interrupt) aus, woraufhin der Gerätetreiber eine Interrupt Service Routine (ISR) ausführt, die nur das Nötigste erledigt. Andere Interrupts werden derweilen blockiert. Die eigentliche Datenverarbeitung geschieht in einem Deferred Procedure Call (DPC), der vorrangig ausgeführt wird und deshalb die Audio- und Videowiedergabe beeinflussen kann.
Die Ausführung von Netzwerk-DPCs ist laut Russinovich sehr aufwendig, denn sie behandeln Netzwerk-Pakete für den TCP/IP-Treiber, was viel Rechenzeit beansprucht. Die Vista-Entwickler haben deshalb dem obengenannten Multimedia Class Scheduler Service die Fähigkeit verliehen, den Netzwerkverkehr zu drosseln. Der MMCSS sendet dazu Kommandos an den NDIS-Gerätetreiber, der dann nur noch 10 Pakete pro Millisekunde verarbeitet (10.000 Pakete/s). Bei der üblichen Ethernet-Paketgröße von 1500 Byte kann die Netzwerkverbindung damit maximal 15 MByte/s transportieren.
Bei einer Fast-Ethernet-Verbindung merkt man davon nichts, denn diese kann schon hardwareseitig höchstens 12,5 MByte/s übertragen. Doch bei Gigabit-Netzwerk-Verbindungen bricht die Datenrate deutlich ein, stellte Russinovich fest. Hat man gar mehrere Netzwerkkarten im Rechner, senkt ein zusätzlicher Fehler im NDIS-Treiber die maximal mögliche Paketzahl weiter: Bei zwei Karten beträgt sie nur noch 8000/s, bei drei Netzwerkkarten sogar nur 6000/s. Letzteres entspricht circa neun MByte/s.
Nach Aussagen von Russinovich wurden die Werte bei Experimenten mit 1-CPU-Rechner und Fast-Ethernet-Karten ermittelt. Im Hinblick auf aktuelle Mehrprozessorsysteme mit Gigabit-Netzwerk sei die Durchsatzdrosselung kurzsichtig gewesen, kommentiert der Entwickler und verspricht Abhilfe. Die Entwicklerteams würden bereits an der Behebung des Problems arbeiten.
(rek/c't)
Version zum Drucken | Per E-Mail versenden | Newsletter abonnieren
Kommentare lesen (365 Beiträge)
Themen-Forum Protokolle
Linux ist die reinste Plaudertasche – was die Systemdienste und der Kernel so melden, landet, oft recht unübersichtlich, in Log-Dateien. Der Dienst rsyslog erleichtert es dem Admin, relevante Informationen in den Systemprotokollen zu finden.
mehr…
Die VPN-Software Tinc braucht keinen zentralen Einwahl-Server, sondern verbindet mehrere Tinc-Rechner gleichzeitig. Fällt eine der Verbindungen aus, liefert die Software die Netzwerkpakete auf dem kürzesten Weg über die verbleibenden ans Ziel.
mehr…
Bürgerrechtler nehmen Podcast-Patent auf die Abschussliste
EU-Kommission genehmigt Nortel-Übernahme durch Avaya
Neue Veranstaltungsreihe: Rechenzentren & Infrastruktur
Machtpoker um die Vergabe von IP-Adressen und die DNS-Aufsicht
ENISA-Studie hilft bei Risikoabschätzung für Cloud Computing
ONLINE MARKT
Werbung