abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 23:11 | Nová verze

Do 3. prosince probíhá na Humble Bundle slevová akce Fall Sale. V rámci této akce lze do neděle do 19:00 získat počítačovou hru Serial Cleaner (YouTube) běžící také v Linuxu zcela zdarma.

Ladislav Hagara | Komentářů: 0
včera 20:55 | Nová verze

Byla vydána nová verze 2.81 svobodného 3D softwaru Blender. Podrobný přehled novinek v oznámení o vydání.

Ladislav Hagara | Komentářů: 0
včera 16:22 | Zajímavý článek

Nadace Raspberry Pi vydala knihu s názvem Get Started With Arduino. Elektronická kniha je ke stažení zdarma (pdf). Tištěnou verzi lze koupit za 10 liber.

Ladislav Hagara | Komentářů: 1
včera 13:22 | IT novinky

Společnost Slimbook prodávající notebooky s nainstalovaným Linuxem, viz například KDE Slimbook, dnes představila svůj nový notebook PRO X 15. Cena notebooku je od 1 199 eur a porovnáván je s notebooky Apple MacBook PRO 16 nebo Dell XPS 15 2019.

Ladislav Hagara | Komentářů: 6
20.11. 15:44 | Nová verze

Byla vydána nová major verze open source komunikačního softwaru Jami (Wikipedie, GitLab). Její název je Free as in Freedom. Dřívější názvy projektu Jami byly SFLphone a následně Ring.

Ladislav Hagara | Komentářů: 0
20.11. 00:33 | Zajímavý projekt

Společnost MNT Research má v plánu na Crowd Supply spustit kampaň na podporu open source notebooku MNT Reform. Vývoj notebooku lze sledovat na Mastodonu.

Ladislav Hagara | Komentářů: 16
20.11. 00:11 | Zajímavý software

Chcete si zahrát víceuživatelský tetris v terminálu? Stačí spustit ssh netris.rocketnine.space. Na straně serveru běží netris. Zdrojové kódy v programovacím jazyce Go jsou k dispozici pod licencí GPLv3.

Ladislav Hagara | Komentářů: 0
19.11. 19:44 | Nová verze

Po čtyřech měsících vývoje od vydání verze 4.10 byla vydána nová verze 4.11 svobodné náhrady proprietárních BIOSů a UEFI coreboot (Wikipedie). Na vývoji se podílelo 130 vývojářů. Provedli 1630 změn. Přidána byla podpora pro 25 mainboardů.

Ladislav Hagara | Komentářů: 0
19.11. 16:22 | Nová verze

Byla vydána verze 1.6.0 emulátoru terminálu Terminology (GitHub) postaveného nad EFL (Enlightenment Foundation Libraries). Přehled novinek v poznámkách k vydání.

Ladislav Hagara | Komentářů: 0
19.11. 14:22 | Komunita

Vydání verze 1.0 svobodného multiplatformního vektorového grafického editoru Inkscape se blíží. Registrovaní uživatelé mají možnost hlasovat o obrázku, který bude zobrazován v okně O Inkscapu. Vybírá se ze 124 návrhů.

Ladislav Hagara | Komentářů: 10
Jaké hodinky nosíte (nejčastěji)?
 (25%)
 (5%)
 (17%)
 (53%)
Celkem 301 hlasů
 Komentářů: 35, poslední včera 20:49
Rozcestník

SSD cache na linuxu

29.7.2011 12:19 | Přečteno: 2471× | Linuxové drobty | poslední úprava: 29.7.2011 12:19

Myšlenka použít flash disky jako diskovou cache je poměrně stará. Nicméně na linuxu se moc nepoužívá. Je to dobře nebo špatně? Nedávno Intel přišel na svém chipsetu Z68 s velmi zajímavou myšlenkou integrace cache s deskou. Dokonce začal vyrábět SSD disk speciálně pro cache určený. Je na technologii SLC tedy jednotlivé buňky nesou jen jeden bit a tím pádem jsou řádově odolnější před násobnými přepisy, které nastávájí v případě cache.

Vzhledem k tomu ze kamarád stavěl počítač postavený na desce s touto technologií GIGABYTE Z68XP-UD3-iSSD zkusil jsem se s technologií trochu seznámit. První zklamání bylo v tom, že disková cache není pouze hardwarová záležitost. Doufal jsem, že by to mohlo fungovat tak, že na úrovni BIOSu definuji vazbu mezi cache a diskem, a tím dostanu jedno blokové zařízení, které pak se bude chovat transparentně pro systémy nad ním, že chipset spolu s BIOSem zařídí řízení cache. Bohužel není to tak. Kromě nadefinování přístupnosti SSD disku na motherboadu pro cachování je hlavní části driver, který (jak překvapivě) je pouze pro Windows 7. Takže takto přímo je to pro linux nepoužitelné.

Nicméně myšlenka i testovací výsledky jsou takové, že by na podobné cesty se v linuxu mělo zareagovat. Při práci s malými soubory (4kB) dosahuje reálná přenosová rychlost samostatného disku cca 500kB-1MB/s. (což je pochopitelné, většinu času je seek time, a pro každý soubor je to pak kolem 5ms takže přečte se 200 souborů po 4kB) pro cache je dosažená rychlost 20MB/s pro read a 40MB/s pro write a při paralením přístupu více procesů na malé soubory jsou vysledné rychlosti přes 100MB/s tedy v podstatě rychlost sekvenčního čtení (viz už uvedený odkaz). Takže zrychlení řekněme 20x až 100x pro tuto specifickou situaci malých souborů, v jiných je zrychlení také i když ne tak výrazně.

Cache jsou v počítačích po celou dobu jejich existence jako prostředek pro vyrovnání datových toků mezi zařízeními, které mají různé přenosové charakteristiky. Cache procesoru má nekolik úrovní, buffery pro disky a pro síťové prvky též zvládnou hodně. V podstatě vždy je to o tom, že rychlé zařízení je málokapacitní (za rozumnou cenu) a vysokokapacitní zařízení je pomalé. A přesně tahle souvislost je mezi operační pamětí, SSD cache a HDD. Když bych to měl parafrázovat přístup k HDD jako přístup procesoru k paměti, tak vůči tomu HDD je operační paměť jako L1 cache procesoru, SSD cache jako L2, a vlastní HDD jako hlavní paměť. Zatím používáme jen L1 cache. Hledal jsem je-li podobná SSD cache jako Intelovský driver i pro linux, jediné, co jsem našel je bcache. Bohužel jsem nestihl si tohle vyzkoušet, protože kamarád ten systém stavěl pro někoho a už ho předával.

Zkoušel někdo cachování. To řešení Intelu je i zajímavé v tom, že si systém pamatuje vazbu s cache ihned od startu (asi je to jeden z prvních driverů který loaduje) takže celý systém startuje za cca 10 vteřin, z hibernace za 6. Osobně si myslím, že optimálně by bylo mít takovou cache ne slepou (jako je bcache, která se řídí heuristikou, co v cache ponechat), ale navázanou na filesystem, protože filesystem ví, která data jsou potřeba mít rychle k dispozici a je vhodné je cacheovat. Asi tak, že při vytváření filesystému, by se napsala jako option cache=/dev/sdh a filesystém by blokové zařízení /dev/sdh používal jako cache. Je jasné, že tohle by se dalo dát jen do systémů, které jsou aktivně ve vývoji, jako btrfs nebo ext4.        

Hodnocení: 88 %

        špatnédobré        

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

29.7.2011 14:10 Suchý čert
Rozbalit Rozbalit vše Re: SSD cache na linuxu
ZFS tohle umí, jmenuje se to L2ARC. Pokud vím, tak to ale, narozdíl třeba od toho Intelu, neumí přežít reboot. A ZFS na Linuxu je celkově pořád docela problém.
29.7.2011 14:29 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Diky za tip! Na oplatku pridam svuj, co jsem na zaklade podnetu v podobe bcache nasel - https://github.com/facebook/flashcache.
Btw, nepotrebujes SSD, na to, abys to zkusil - staci mit dost RAM a udelat si RAM disk.
--- vpsFree.cz --- Virtuální servery svobodně
29.7.2011 15:03 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Poznamka pro mne, abych to nemusel priste hledat, v Debianu udelam 1 ramdisk o velikosti 2GB takhle:
modprobe brd rd_size=2097152 rd_nr=1
--- vpsFree.cz --- Virtuální servery svobodně
29.7.2011 16:42 lertimir | skóre: 63 | blog: Par_slov
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Tato cache má rozumně smysl až tak od 10GB. Aby se tam vešly inode struktury a nějaká množina souborů. A nerisknul bych to na RAM. Tam mnohem lépe slouží buffery, které jsou přímo přístupné.
20.3.2012 00:43 snajpa | skóre: 20 | blog: snajpuv_blocek | Brno
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Jenom kratka informace ke staremu clanku - ve vpsFree uz 4 mesice flashcache uspesne pouzivame a je to fakt znat na latenci jednotlivych VPS, uplne nejvic na MySQL-type workloadu.
--- vpsFree.cz --- Virtuální servery svobodně
29.7.2011 16:07 R
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Nieco podobne uz pred par rokmi Intel predaval - Turbo Memory (miniPCI-E flash karty do notebookov). Driver pre Linux neexistuje. Keby existoval, aby bola pamat pristupna ako nejake zariadenie (mtd?, blokove?), potom by malo zmysel robit nejake cachovanie.
29.7.2011 19:45 Kvakor
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Pokud by šlo hlavně o urychlení startu systému a natahování aplikací (takže by se cachovala jen malá čast točivého disku), tak by šlo použit device mapper a trvalý (perzistentní) snapshot. Výhoda je, že ho jde nahodit relativně krátce po bootu (optimálně z initramdisku) a jádro není třeba nijak upravovat, nevýhoda je to, že takto cachovaná disková oblast bude velká jen jako onen SSD disk a točivý disk bude fungovat jako jeho snapshot, kam budou směřovat veškeré zápisy (více viz popis v dokumenaci jádra a jeho srovnání s cowloop).

Toto řešení by tedy bylo výhodné jen pro oblast, ze které se často čte, ale jen vyjímečně zapisuje (např,. jen při aktualizaci), například pro /usr by to bylo ideální. Vlastně výhodné by bylo pro všechno mimo míst, kam se často zapisuje, tj. /home, /var, /tmp a případně /etc. A pokud by snapshot příliš narostl, je možné změněná data zapsat na původní zařízení (snapshot merge), což má výhodu, že jde zapsat zařízení celé (pokud je místo, kam se dočasně spojená data uloží), takže se všechny buňky budou opotřebovávat stejně a řadič SSD nebude muset dělat přemapovávání.

30.7.2011 08:36 xxx
Rozbalit Rozbalit vše Re: SSD cache na linuxu
+1
30.7.2011 18:29 nyan
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Nejak mi unika, co je vlastne HW cast reseni. Jestli maji driver, tak v podstate nic vic nepotrebujou, a navic by to mohlo fungovat s libovolnou kombinaci SSD/hdd (tedy kdyby byl open-source).

Uprimne mi to prijde, ze je to soucast marketingu typu "aby ste meli feature X musite si koupit nas novej skvelej Y".
msk avatar 1.8.2011 11:42 msk | skóre: 27 | blog: msk
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Mam ten isty pocit.
8.8.2011 18:28 lertimir | skóre: 63 | blog: Par_slov
Rozbalit Rozbalit vše Re: SSD cache na linuxu
Nelezl jsem do hlubin toho řešení, ale spíše než marketing očekávám, že za běhu skutečně provede cache přímo ten čip z68 a data při cacheování vůbec neprojdou přes paměť tak že by se z ní zapisovaly do cache. Driver je pak na řízení cache, jsou tam nějak volby a patrně v paměti má tabulky, který blok HDD je na který blok SSD cachován. Při vypnutí cache je obsluze driveru vidět, jak se přesouvají data z cache na HDD. Třeba Intel zveřejní API pro ten chip.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.