Diit.cz - Novinky a informace o hardware, software a internetu

Vista má problém se souběžným přehráváním a kopírováním po síti

Windows Vista logo bílé
Minulý měsíc se objevily zvěsti, že je „něco shnilého ve státě dánském“, pardon, ve Vistě. Když si totiž i jen posloucháte MP3, pak kopírování po gigabitové síťovce je tak nějak příliš pomalé. Do zjišťování, co se vlastně děje, se pustil známý Mark Russinovich, toho času zaměstnanec Microsoftu, který nakonec svá zjištění napsal do svého blogu.

Zásadní problém nastává v Multimedia Class Scheduler Service (MMCSS), která se ve Vistě stará o přehrávání audio a video souborů. Aby bylo přehrávání multimédií dostatečně plynulé, má vlákno, které se stará o samotné přehrávání, prioritu v rozsahu realtime. To znamená, že běžné spuštěné aplikace nemají šanci nějak překazit plynulost přehrávání. Jenže síťová komunikace probíhá tak, že v momentě, kdy dorazí paket s novými daty, je vygenerováno přerušení, které když je obsluhováno, tak přeruší to, co zrovna dělal operační systém a musí se zpracovat příchozí požadavek (ono je to trošku složitější, ale takto to pro pochopení problému postačí). Zpracování tedy probíhá nezávisle na tom, jakou prioritu mají nastaveny aplikace a tudíž při častých příchozích paketech dochází ke snížení času pro aplikace, což může vést až k trhanému přehrávání videa či audia.

Aby se tomu u Visty předešlo, bylo do MMCSS zabudováno zpomalování síťové komunikace při přehrávání multimédií. Jenže místo toho, aby toto zpomalování bylo nějak dynamicky omezováno podle náročnosti přehrávaného souboru, je natvrdo zavedeno maximálně 10 příchozích paketů za milisekundu. Protože typická velikost paketu v ethernetových sítích je 1 500 bajtů, vychází nám maximální propustnost při přehrávání na zhruba 15 MB/s. A to v případě, že máte gigabitovou síťovku, je dnes už poněkud málo.

A jako by toho nebylo dost, je ve zpomalovacím kódu navíc i chyba, která způsobuje, že v případě přítomnosti dvou síťových adapterů se snižuje limit na 8 000 paketů za sekundu, v případě tří pak na 6 000 za sekundu. To potom znamená omezení na 9 MB/s, což je znatelné i na 100Mbitové síťové kartě. A mít tři síťové adaptéry v počítači dnes není žádná velká výjimka, stačí si uvědomit, že mimo klasických a bezdrátových síťovek můžete mít ještě i Bluetooth, či FireWire, které jako síťové adaptéry také vystupují.

Mark tento problém krásně demonstroval na svém notebooku, kde právě tři síťové rozhraní má a jak si v následujícím obrázku můžete všimnout, propad síťové komunikace na gigabitové síťovce může být opravdu dost výrazný:

Zpomalování síťové komunikace ve Vistě

Podle Marka se na opravě těchto nepříjemností už v Microsoftu pracuje. Dělá na tom MMCSS tým společně s týmem, který má na starosti síťovou komunikaci. Doufejme, že to stihnou uspokojivě opravit do připravovaného Service Packu 1.

Zdroje: 

Diskuse ke článku Vista má problém se souběžným přehráváním a kopírováním po síti

Úterý, 30 Říjen 2007 - 20:00 | Anonym | Na obycejne nejlevnejsi 100Mbit sitove karte ve...
Úterý, 11 Září 2007 - 22:16 | Anonym | ok, to je neco co sem potreboval vedet :-) ze na...
Úterý, 11 Září 2007 - 18:33 | Anonym | Já bych na to tolik nenadával :) škoda jen, že...
Úterý, 11 Září 2007 - 13:15 | Anonym | Teď to sice člověk nepozná, ale za dva nebo tři...
Úterý, 11 Září 2007 - 02:35 | Anonym | re slahoun: tak na domácím 100mbitu by ses hodně...
Úterý, 11 Září 2007 - 00:41 | Anonym | Dobre dobre .. obrazek od Marka R. je docela...
Pondělí, 10 Září 2007 - 09:55 | Anonym | Reseni problemu M$ jsou nekdy opravdu sverazna...
Neděle, 9 Září 2007 - 21:22 | Anonym | To, je dost, možná, že v tomhle, je Linux,...
Neděle, 9 Září 2007 - 06:58 | Anonym | Zaujimavy rozdiel medzi Linuxom a Windows XP (...
Neděle, 9 Září 2007 - 02:03 | Anonym | next_ghost: uz myslim rozumim jak to bylo mysleno...

Zobrazit diskusi