AMIGA REVIEW online
  Uvodná stránka     Software     Hry     Obaly     Download     Amiga na PC     Amiga Forever  

DynamiCache 1.03

Luboš Němec

Pokud jste nikdy žádnou diskovou cache nepoužívali nebo nedej bože dokonce nevíte, co to DynamiCache je, možná po přečtení tohoto článku změníte názor. DynamiCache je inteligentní disková cache pro všechny počítače Amiga. Jejím autorem je Christopher A. Wolf a tento špičkový prográmek pochází již z roku 1993. Asi před měsícem se v balíku „SCSI Tools 2.4“ od phase 5 (ke stažení na ftp.phase5.de/pub/phase5/SCSI objevila nová (nebo spíš upravená) verze DynamiCache 1.03 a já si rázem vzpomněl, že tento velmi užitečný a pro mne již prakticky nepostradatelný software není mezi amigisty téměř vůbec znám a nikdo jej nepoužívá. Děláte velkou chybu! Proč? Inu, čtete dále.

A co DynamiCache vlastně umí? Jak již bylo řečeno, je to inteligentní (velmi inteligentní!) disková cache urychlující práci s téměř všemi typy harddiskům, disket a výměnných médií o 500% až 1000%. Podle mého názoru se jedná o nejlepší ze všech cache prográmků, jaké jsem kdy na Amize i PC viděl a vzhledem k tomu, že DynamiCache je opravdu dynamická a zabranou paměť v případě potřeby opět uvolní, je to vlastně ďábelský systém pro schování nejpoužívanějších nebo naposledy načtených dat z harddisku/disket do RAMky. No a jak velký je rozdíl v rychlosti načítání dat z RAM proti načítání z HD či v tom horším případě dokonce z diskety? Zde není třeba komentáře, rozdíl je tak propastný, že i při minimální úspěšnosti předpovídání (prediction) a zásahům (sorry, jinak „hits“ nazvat nelze) v cache systému by se DynamiCache vyplatila.každému majiteli harddisku.

Možnosti programu
A teď už konkrétně. DynamiCache umí cachovat nejrůznější typy floppy disků, harddisků, floptických mechanik, výměnných médií (Bernouli, SyQuest, Ricoh, Nomai, ZIP atp.), CDROM mechanik a obdobných zařízení. DynamiCache je kompatibilní s širokou paletou SCSI, Fast SCSI-II i IDE řadičů, spolehlivě funguje např. na řadičích firmy phase 5, GVP, Supra, IVS, ICD, Xetec a mnoha dalších, samozřejmě včetně interního amigovského ATBUS/IDE či SCSI řadiče. DynamiCache podporuje všechny originální commodorovské amigovské filesystémy včetně OFS, FFS a DCFS, funguje i s harddisky či HD partitiony zformátovanými pod CrossDOSem nebo pod libovolným dalším filesystémem používajícím standardní device interface (např. CrossMAC, nové verze FFS, ne však PFS či AFS!). V programu je implementován kvalitní sofistický předpovídací algoritmus zajišťující vynikající výsledky při cachování. Speciální mód „trackread“ je optimalizován pro cachování floppy disků. Dříve naprosto unikátní a i dnes ještě programátory poměrně málo používaná technika dynamického přidělování paměti mohla být díky hardwarové architektuře Amigy použita bez jakýchkoliv problémů (což je dobrý výsměch majitelům PC, kde ostatně ani mizerný RAM disk nebyl dynamický). DynamiCache umí obsloužit neomezený (!) počet zařízení současně. Cachování může být povoleno či zakázáno pro každé zařízení či partition zvlášť, a to vše samozřejmě bez nutnosti resetu počítače.

Instalace a nároky programu
Program funguje jako komodita a vyžaduje AmigaOS 2.04 a vyšší. Fungovat bude už s 1 MB RAM, doporučeno je 2 MB FAST RAM. Je sice jedno, jestli paměť bude typu CHIP nebo FAST, pro mnohem rychlejší odezvu je samozřejmě doporučen dostatek FAST RAM. Čím rychlejší procesor, tím pochopitelně lépe, ale nevěšte hlavu, DynamiCache dosahuje skvělých výsledků i s procesory 68000! Omezení programu jsou následující - při startu „natvrdo“ zabere 64 KB až 4 MB RAM (lze nastavit v preferencích jako základ pro cache buffer) a nelze cachovat zařízení se sekvenčním přístupem (což jsou např. streamery a různá pásková zařízení), cachovat nelze ani PARNET:, NFS: a podobně simulovaná zařízení. DynamiCache také nefunguje s většinou managerů virtuálních pamětí typu „Gigamem“ a „VMM“ využívajících MMU (na druhou stranu s virtuálkou např. od „ImageFX“ či „ArtEffect“ ale funguje bez problémů), chcete-li používat nějakou virtuální paměť, budete muset DynamiCache vypnout.
Instalace spočívá v překopírování programu do WBStartupu a nastavení několika tooltypů. Pominu ty obecné a pro všechny komodity stejné tooltypy typu priorita, popup klávesa atd. a rovnou Vám prozradím, že bez tooltypů „USEIMMEDIATE“ a „QUIET“ se DynamiCache hned neaktivuje a navíc budete muset při každém jejím startu odkliknout jeden requester.

Nastavení cache systému
Grafické GUI programu je velmi přehledné. V levé polovině jsou volby týkající se názvu zařízení, případně typu řadiče a volby pro paměťová nastavení, v pravé polovině je pak seznam všech zařízení, která lze cachovat a s tím související volby pro nastavení cache. Cachované zařízení je označeno jako „enabled“ (povoleno), zakázané pak jako „disabled“ (zakázáno). DynamiCache zná tři hlavní typy zařízení (Device Type) - „Hard Drive“, „Floppy“ a „Removable“. U prvních dvou snad není třeba rozvádět, o co se jedná, mezi výměnná zařízení (Removable) patří CDROM, SyQuest atp. a lze je cachovat pouze jako celý disk a ne jen jejich jednotlivé partitiony (pokud nějaké mají). I zde je však několik možností, protože třeba u SyQuestu můžete mít médium rozdělené na několik partitionů (i když by se to u výměnných médií NEMĚLO dělat!) a cahovat je jako jednotlivé disky každý zvlášť.
Gadget „Purge Scheme“ slouží k nastavení algoritmu, který bude DynamiCache používat pro uvolňování dynamicky alokované paměti pro ostatní aktivní či neaktivní aplikace, které si to v daném okamžiku vyžádají. Nastavit můžete dva typy algoritmu, „LRU“ (Least Recently Used) a „Random“. Druhý z nich je mnohem jednodušší variantou, DynamiCache v tomto případě prostě jednoduše uvolní alokovanou část paměti bez jakékoliv analýzy dat v cache. Metoda „LRU“ je mnohem inteligentnější a efektivnější, protože DynamiCache kontroluje obsah dat v alokované části paměti a používaná data nebo naposledy používaná data vybraná předpovídacím algoritmem (prediction logic) jsou odstraněna až jako poslední. Tato metoda ovšem vyžaduje nesrovnatelně vyšší procesorový výkon a na konfiguracích s procesory 68000 bez FAST RAM může vést k značnému zpomalení celého systému. Jestliže tedy máte procesor 68000 a pouze CHIP RAM, nastavte gadget „Purge Scheme“ na „Random“. S procesory 68020 si už můžete dovolit zapnout metodu „LRU“.
Gadget „Minimum Size“ slouží k nastavení minimálního bufferu, který bude DynamiCache používat pro svoji potřebu. Tato zabraná paměť není po startu DynamiCache dostupná pro systém, po případném ukončení programu je do systému samozřejmě opět navrácena. Teoreticky by měla být v „Minimum Size“ nastavena hodnota zhruba velikosti 1/4 normálně volné RAM ve Vašem systému (čili máte-li volných 16 MB, měli byste nastavit 4 MB), prakticky ale stačí hodnoty mnohem nižší a podle mých zkušeností bohatě postačuje 1 až 2 MB, se kterými se samozřejmě budete muset rozloučit. 1 MB na výrazné urychlení diskových operací snad obětuje každý, nastavit ale můžete i nižší hodnoty, naopak nejvyšší možné číslo jsou právě již zmíněné 4 MB.
V gadgetu „Maximum Size“ se nastavuje maximální velikost dynamického bufferu (udávané číslo je včetně již zabrané paměti nastavené v „Minimum Size“!), který bude DynamiCache používat pro cachování dat. Zde není příliš co zkoumat, nastavte jednoduše „No Max“ (bez omezení). Tato paměť je až na nezbytné „Minimum Size“ v případě potřeby opět navrácena do systému, takže si nemusíte dělat starosti s tím, že by v něm někdy chyběla. Na systémech s FAST RAM i CHIP RAM bude DynamiCache pro dosažení nejvyššího možného výkonu automaticky používat pouze FAST RAM, při definování minimálních a maximálních velikostí bufferu s tím tedy počítejte. Pod typem zařízení, u kterého musíte cachování povolit či zakázat po nakliknutí jeho názvu, se nastavuje počet sektorů (Read Ahead), které bude DynamiCache předčítat a ukládat do volné paměti. Předčítáním sektorů se práce s diskem výrazně urychlí, čím pomalejší disk, tím větší urychlení. Navíc se šetří čtecí hlavičky, které nemusí provádět velké přesuny z místa na místo, což nemalou měrou přispívá k prodloužení životnosti a současně samozřejmě i ke snížení hlučnosti disku! Standardní hodnota pro harddisky je zde 8, pro CD-ROM atp. 2 - 4, pro floppy disky je pak nutné zapnout speciální „Track-Mode“, neboť amigovské diskové floppy mechaniky používají na rozdíl od harddisků „trackdisk.device“. Čím rychlejší máte disk, tím vyšší hodnotu předčítaných sektorů si můžete dovolit. Dnes můžete prakticky s každým novějším diskem (pokud máte ovšem alespoň procesor 68020 a FAST RAM!) nastavit nejvyšší možné hodnoty, což je 32 a v tom úplně nejlepším případě 64 sektorů. Nemusím snad připomínat, že defragmentace a optimalizace disku (např. pomocí programu „ReOrg“) dramaticky zvýší výkon DynamiCache, protože data budou v jednotlivých sektorech ležet pěkně za sebou a DynamiCache bude moci předčítat najednou vyšší počet sektorů.
Gadget „Write Cache“ slouží k nastavení způsobu cachování. Metoda „Write-Thru“ kopíruje data do cache při každém zápisu na disk, což size o něco zpomaluje zápis (s procesory 68030 nebo rychlejšími a FAST RAM to ani nepoznáte), ale na druhou stranu významným způsobem zrychluje subsekvenční přístup k těmto zapsaným datům, protože jsou prostě už jednou v cache! Tento způsob má ještě jednu obrovskou výhodu - jestliže byla data zapsána na disk a program si vyžádal jejich verifikaci, nebude se verify provádět na disku, ale přímo v cache, což jak jistě uznáte, povede k dramatickému nárůstu rychlosti práce s diskem. Druhý možný způsob „Disable“ sice nijak nezpomaluje zápis na disk, ale jestliže byla data uložena subsekvenčně (čti nebyla uložena v jedné řadě za sebou sektor po sektoru), při dalším případném čtení se budou tato data načítat z disku znovu. Volba „Disable“ není sice příliš užitečná, ale někdy se může hodit. Po uložení preferencí (je jedno jestli na disk nebo jen do ENV:) se GUI zmenší na informační okénko s informacemi o názvu a nastavených parametrech cachovaného zařízení, případně komplexní práce celé cache (Global) s počtem přístupů na disk, do cache a úspěšností cache systému v procentech. Gadget „Flush“ slouží k vyčištění cache v RAM a nemusíte se obávat jej nakliknout i při zápisu na disk nic tím sice nepokazíte, ale data z paměti pochopitelně zmizí. I toto malé informační okénko samozřejmě můžete zavřít normálním Glose gadgetem v levém horním rohu - protože DynamiCache funguje jako komodita, bude stále funkční, dokud ji nezrušíte z menu („Quit“) nebo příslušnou klávesovou zkratkou. Z menu rovněž můžete DynamiCache dočasně zakázat „Inactivate“, vyprázdnit cache („Flush“) a posléze opět povolit „Activate“.

Pár slov na závěr
Prediction logic neboli předpovídací logika v DynamiCache je úspěšná v naprosté většině případů a podle mých zkušeností Vám výrazně pomůže zrychlit všechny diskové operace. Autor programu dále doporučuje přidat pomocí „AddBuffers“ (příkazu AmigaDOSu, ve WB 3.0+ standardně ve startovací sekvenci) každému cachovanému zařízení 50 až 100 bufferů (1 buffer = 512 bytes) pro dosažení maximálního možného výkonu při načítaní adresářů. Úspěšnost zásahů do cache by se měla podle autora programu pohybovat v rozsahu 40 - 60%. Objevují-li se v informačním requesteru nižší čísla (vyšší rozhodně nejsou na škodu!), měli byste změnit počet předčítaných sektorů u jednotlivých cachovaných zařízení.
Snad jsem Vám alespoň trochu přiblížil možnosti a výhody cachovacího systému a doufám, že jste dnes opět objevili nějaký program, který by jinak zůstal zapomenut a který Vám přinese značný užitek. Za DynamiCache nemusíte navíc platit žádné poplatky a od phase 5 si jej můžete stáhnout společně s balíkem „SCSI Tools“ zcela zdarma. A na úplný závěr to nejlepší - celý tento bombastický cache systém pod názvem DynamiCache má přitom pouhopouhých 47 KB!

Vytlačiť článok


© ATLANTIDA Publishing Všechna práva vyhrazena.
Žádna část nesmí být reprodukována nebo jinak šířena bez písemného svolení vydavatele.



Amiga na Vašem PC rychle, snadno a zdarma!


none

AMIGA REVIEW

57 ( 11-12 / 2000 )
56 ( 9-10 / 2000 )
55 ( 7-8 / 2000 )
54 ( 5-6 / 2000 )
53 ( 3-4 / 2000 )
52 ( 1-2 / 2000 )
 
51 ( 12 / 1999 )
50 ( 11 / 1999 )
49 ( 10 / 1999 )
48 ( 9 / 1999 )
46-47 ( 7-8 / 1999 )
45 ( 6 / 1999 )
44 ( 5 / 1999 )
43 ( 4 / 1999 )
42 ( 3 / 1999 )
41 ( 2 / 1999 )
40 ( 1 / 1999 )
 
39 ( 12 / 1998 )
38 ( 11 / 1998 )
37 ( 10 / 1998 )
36 ( 9 / 1998 )
35 ( x / 1998 )
34 ( x / 1998 )
33 ( 1-2 / 1998 )
 
32 ( 11-12 / 1997 )
31 ( 9-10 / 1997 )
30 ( 7-8 / 1997 )
29 ( 6 / 1997 )
28 ( 5 / 1997 )
27 ( 4 / 1997 )
26 ( 3 / 1997 )
25 ( 2 / 1997 )
24 ( 1 / 1997 )
 
23 ( 12 / 1996 )
22 ( 11 / 1996 )
21 ( 10 / 1996 )
20 ( 9 / 1996 )
18-19 ( 7-8 / 1996 )
17 ( 6 / 1996 )
16 ( 5 / 1996 )
15 ( 4 / 1996 )
14 ( 3 / 1996 )
13 ( 2 / 1996 )
12 ( 1 / 1996 )
 
11 ( 12 / 1995 )
10 ( 11 / 1995 )
9 ( 10 / 1995 )
8 ( 9 / 1995 )
7 ( 7 / 1995 )
6 ( 5 / 1995 )

ATLANTIDA NEWS

5 ( 3 / 1995 )
4 ( 1 / 1995 )
 
3 ( 11 / 1994 )
2 ( 9 / 1994 )
1 ( 7 / 1994 )
0 ( 5 / 1994 )