Vista ReadyBoost: Zrychlení systému rovnou z kapsy

Windows Vista obsahují několik provázaných technologií pro zrychlení systému. V našich dřívějších článcích jsme se však Windows SuperFetch, ReadyDrive a ReadyBoost nevěnovali, jak si zasluhují. Jako ochutnávku z připravovaného redakčního testu třiceti USB flash disků jsme připravili úvod do technologie ReadyBoost.

Windows ReadyBoost je technologie umožňující ve Windows Vista využít USB flash disk ke zvýšení výkonu. Teorie (a u podporovaných zařízení i praxe) je taková, že do USB portu zasuneme flash disk, v okně automatického přehrání zvolíme ReadyBoost a během několika sekund si užíváme zvýšeného výkonu počítače. Jako ochutnávku pro redakční test třiceti USB flash disků jsme zpracovali tento úvodní článek, na nějž v příštím týdnu navážeme konkrétními měřeními.

ReadyBoost má suplovat především paměť RAM, nejlepších výsledků tedy dosahuje na počítačích, které jí nemají dostatek pro hladký běh systému a aplikací. U počítačů s 512 MB paměti je efekt ReadyBoost značný, u počítačů se dvěma a více gigabajty se již začíná snižovat, ale nepředbíhejme - konkrétní testy ReadyBoost najdete na stránkách Živě.cz již za několik dní.

Tak to všechno začíná

Nic není zadarmo

Bohužel, luxusu zrychlení si neužije každý. Ne každá USB flash je totiž s touto technologií kompatibilní. Aby měl ReadyBoost pozitivní efekt, musí použité zařízení splňovat minimální výkonnostní požadavky. Kapacita se musí pohybovat v rozmezí od 230 MB výše. Menší zařízení by nepřinesla kýžený efekt. Nejvýše pak ReadyBoost obsadí 4 GB prostoru. Více Microsoft nepovoluje použít kvůli kompatibilitě této první verze ReadyBoost. Základním problémem je mj. fakt, že systém ukládá všechna s ReadyBoost spojená data do jediného souboru, přičemž 4 GB jsou velikostním limitem souboru v souborovém systému FAT32, který se na flash discích obvykle používá.

Vybereme celé volné místo na flash disku?

Flash diskem myslíme klasické USB prstíky stejně jako i paměťové karty (externí USB čtečky ale nejsou podporovány). V přípravě rovněž jsou flash paměti určené pro ReadyBoost, které budou výrobci počítačů (zejména notebooků) integrovat přímo na základní desku. Pro připojení bude využita sběrnice PCI-E.

Zařízení musí být schopno číst náhodné čtyřkilobajtové bloky rychlostí alespoň 2,5 MB/s. Skutečnost, že na vaší flashi je napsáno, že zvládá číst například 10 MB/s ještě neznamená, že je tento požadavek ReadyBoost splněn. Výrobci uváděné hodnoty jsou totiž obvykle platné jen pro sekvenční čtení. Mnohá zařízení nejsou vyrobena celá z jednoho typu flash paměti, ale obsahují například polovinu kapacity rychlejší (pro ReadyBoost dostatečnou) a druhou polovinu pomalejší. Požadavek na výkon při náhodném čtení je však přísný a Windows i takové zařízení vyhodnotí jako nepoužitelné.

Minimum pro ReadyBoost je 230 MB

Stran zápisu je požadována rychlost alespoň 1,75 MB/s v náhodných 512KB blocích. Zásahem do registru Windows lze systému vnutit použití i zařízení, které rozezná jako příliš pomalé. Podle zdrojů přímo z Microsoftu jsou však nastavené požadavky na spodní hranici reálného výkonnostního zisku, pomalejší zařízení systému může spíše ublížit. Toto tvrzení se samozřejmě chystáme ověřit. Výrobce doporučuje vyčlenit na flash disku pro ReadyBoost prostor v poměru 1 : 1 až 2,5 : 1 vůči RAM.

ReadyBoost.sfcache o velikosti 230 MB

Jak to vlastně funguje?

Zařízení použité pro ReadyBoost nahrazuje částečně paměť RAM i pevný disk. Používá se jako write-through cache, tedy vyrovnávací paměť, do níž se při samotné práci nezapisuje, čímž se flash paměti s omezeným počtem přepisů šetří. Pokud v systému žádné ReadyBoost zařízení není, Windows pracují s daty v operační paměti, případně při vyčerpání její kapacity tzv. swapují, neboli vytvářejí na pevném disku soubor virtuální paměti. Pevné disky jsou však příliš pomalé při náhodném čtení, kdy se hlavičky musí pohybovat z místa na místo, čímž vzniká zdržení. Paměti flash mají díky svému principu fungování toto zdržení prakticky nulové, proto v náhodném čtení s přehledem poráží pevné disky. Jinak je tomu samozřejmě u čtení sekvenčního (tedy souvislého bloku dat), kde mají pevné disky s dnešními rychlostmi v desítkách MB/s jasný náskok.

Flash disk je možno kdykoli standardně odpojit

ReadyBoost vytváří na flash disku jediný soubor nazvaný ReadyBoost.sfcache. Data v něm jsou komprimována (přibližně na polovinu své originální velikosti) a rovněž zabezpečena šifrou AES-128. Data nacházející se na flash disku jsou vždy redundantní kopií dat, která systém shromažďuje i jinde - buď v paměti RAM, nebo na pevném disku. Windows nikdy nedovolí, aby data na flash disku byla jedinou existující kopií. Z toho plyne, že flash disk je možno kdykoli bez obtíží vyjmout, aniž by tím systém utrpěl nějakou škodu. Ztracená data si jednoduše dohledá v jejich originálním umístění.

Ve Windows Vista obsažená verze ReadyBoost není připravena na hibernaci či vypínání systému. Jelikož Windows nemají šanci zjistit, zda flash disk nebyl během vypnutí či hibernace odpojen a obsah ReadyBoost.sfcache nezměn, vždy po startu počítače (i po opakovaném zapojení flash disku za běhu) se vytváří cache zcela nová. Rovněž pro nízký věk technologie ReadyBoost je v současnosti možno použít pouze jediný flash disk.

Tento Flash disk je příliš pomalý

Čekáte-li na odpověď na otázku, jaká data vůbec systém do své ReadyBoost cache ukládá, jste na správném místě. Microsoft sice nijak neupřesňuje, co přesně Windows s flash diskem provádí, avšak z dostupných pramenů se dá vytvořit poměrně dobrý (byť ne zcela spolehlivý) obrázek. Jednotka systému ReadyBoost je zároveň prostorem pro swap i diskovou vyrovnávací pamětí - prostorem pro práci funkce SuperFetch.

Windows SuperFetch
 
Windows SuperFetch je nástupcem technologie Prefetch použité ve Windows XP. SuperFetch inteligentně, na základě odpozorovaného chování uživatele, přednačítá aplikace, o nichž předpokládá, že je uživatel bude potřebovat.
 
Každý den při příchodu do zaměstnání tak například dopředu načte Word či Outlook. Výsledkem je, že z pohledu uživatele trvá spouštění aplikace kratší dobu. Word 2007 přečtený dopředu se spouští za méně než 2 vteřiny.
 
SuperFetch inteligentně rozhoduje, kam přednačtená data uloží. Nabízí se umístění do operační paměti, na jednotku ReadyBoost či přímo do stránkovacího souboru na pevný disk.
 

Funkci ReadyBoost nelze představovat bez jejích velmi blízkých sestřenic SuperFetch a ReadyDrive. ReadyDrive je funkce využívající flash paměť integrovanou v tzv. solid state pevném disku. O Windows SuperFetch se dočtete v rámečku. Zásadní rozdíl mezi nimi je v typu dat, s nímž pracují. Zatímco Superfetch pracuje se soubory, ReadyBoost a ReadyDrive leží pod souborovým systémem a tedy pracují s daty na úrovni diskových sektorů.

Výše zmíněná podmínka rychlosti náhodného ukládání čtyřkilobajtových bloků není náhodná jakož ani práce s diskovými sektory místo souborů. V případě, že se flash disk využívá místo systémové operační paměti (tedy jako swap), systém na něj odkládá čtyřkilobajtové stránky operační paměti. Inteligentně určuje, které stránky na flash umístí a následně v kopii odloží do stránkovacího souboru na pevný disk (a až poté uvolní z RAM).

Při spolupráci ReadyBoost a SuperFetch opět systém vyhodnotí, která data zpracovávaná SuperFetch je lepší načíst do RAM (či do stránkovacího souboru, což může mít například při vysoké fragmentaci také smysl) a která na jednotku ReadyBoost. Systém vyhodnotí, které diskové sektory by se měly načíst do ReadyBoost flash disku, aby se optimalizovala zátěž pevného disku při náhodném čtení. Všechny tanečky okolo Superfetch a ReadyBoost vždy zatěžují procesor počítače hluboko pod 1 %.

A tento je zase připojen do nepodporovaného rozhraní

Detailní popis práce Windows ReadyBoost by při uvolnění podrobnějších specifikací ze strany Microsoftu jistě vydal na několik stran velmi zajímavého a především stoprocentně správného a pravdivého čtení. V současnosti jsme mohli vycházet pouze z dostupných, více či méně oficiálních zdrojů. Důležité je, že víme, že ReadyBoost funguje. Flash disky jsou při náhodném čtení až desetkrát rychlejší, než disky pevné. Jak, se to projeví na výkonu systému si změříme a ukážeme již za několik dní.

Doplňující zdroje: MSDN blog Toma Archera, Jim Allchin na Windows Vista blogu, Adrian Kongsley-Hughes na Hardware 2.0 blogu, ExtremeTech, Hanselman`s Computer Zen, Tales from the crypto, nepříliš přesný ReadyBoost na Wikipedii

Diskuze (152) Další článek: 37 milionů webových útoků v roce 2006

Témata článku: , , , , , , , , , , , , , , , , ,