PÍŠU DO STEJNÉHO PŘÍSPĚVKU, AKTUÁLNÍ VÝSLEDKY JSOU NA JEHO KONCI
Čekám, než mi přijde hardware a tak jsem udělal pokus na zbytcích, co jsem doma našel a část dokonce přivezl ze sběrného dvora. Na temporary soubory jsem úmyslně použil obyčejné plotnové disky, ne SSD. Dva z nich měly vadné sektory. Zajímalo mě, jak moc to bude vadit a jak se bude plotting chovat.
Cíl bylo rozjet čtyři paralelní fronty, každá na jiný TEMP disk, výsledné ploty pak ukládat do jedné složky na nezávislém disku. Zajímalo mě, jestli by tohle mohla být alternativa proti jednomu rychlému SSD disku, který ale po pár týdnech chcípne. Dát temp disky do 2x RAID0 ani 1xRAID5 mi předtím moc nepomohlo, tak jsem teď nechal disky samostatně.
Sestava:
xubuntu 20.04 kvůli minimálním nárokům na režie systému, ale s GUI
CPU i7 4790 (4 jádra, 8 vláken), 12GB RAM
1xHDD 80GB na operační systém
4xHDD 320GB na TEMP soubory, dva z těchto disků mají vadné sektory (testuji, co to udělá)
1x 512GB na hotové ploty.
Pokus 1:
Zkusil jsem nejdřív nastavit v grafickém rozhraní plotování jako QUEUE. Myslel jsem, že vytvořím 4 různé fronty, každá zápis na jiný TEMP disk. Po založení první se rozjelo plotování na disku TEMP1. Pak jsem zkusil přidat další frontu s cílem na TEMP2, ale po odeslání se požadavek přidal do původní fronty a pořád to počítalo jen jeden PLOT a ukládalo jen na TEMP1. Nepřišel jsem na to, jak v GUI víc paralelních front založit, tak jsem počítání stopl.
Pokus 2
Nechal jsem v jedné frontě vytvořit 4 ploty paralelně, ostatní volby jsem nechal default, jen u temporary disků jsem vybral Advanced a k disku TEMP1 přidal druhý disk TEMP2. K mému překvapení to vytvořilo 4 ploty, které počítal všechny zaráz, ale stejně používal jen disk TEMP1, zatímco na TEMP2 vytvořil jen jeden soubor o velikosti 0 Bytů. Počítání bylo extrémně pomalé, tak jsem to stopl.
Pokus 3
Vytvořil jsem pro každý TEMP disk jen jeden paralelní plot. Počítalo to tedy 4 ploty souběžně a zapisovalo na 4 různé TEMP disky. Podle rychlosti prvních pár procent to vypadalo, že dopočítá všechny 4 ploty do konce asi za 10 hodin. Vytížilo to jen cca 3GB RAM a procesor se vysloveně flákal, nepřelezl přes 10%. Tak jsem to stopl.
Pokus 4
Opět jsem vytvořil čtyři 1 plot paralel úkoly, každý na jiný TEMP disk, ale v advanced volbě jsem všem nastavil stejně: RAM max. 10 000 MB, CPU max. 7 vláken (tedy 2GB RAM a jedno CPU vlákno jsem nechal pro systém).
Začalo to počítat všechny ploty zaráz, vytěžovalo to všechny 4 temporary disky rovnoměrně, procesor jel na všech vláknech max. cca 40%. a za celou dobu nepřelezl přes 50%. RAM byla zprvu vytížená jen 4GB, ale pomalu lezla nahoru. Po dvou hodinách vyšplhala na cca 10GB a tam už zůstala.
Nejprve to vypadalo, že do 100% dopočítá všechny čtyři úkoly za cca 5 hodin, ale pak zůstal TEMP1 viset na 21% a přestal přibývat. Po půl hodině se zastavil TEMP3 na 24% a přestal přibývat, druhé dva ploty počítaly dál a po 14 hodinách dojely do 100%, nicméně pak trvalo dalších 6 hodin, než zezelenaly a přeply se do režimu farming. Možná to bylo tím, že se praly o uložení výsledného plotu na final disk.
Výsledek tedy 2 funkční ploty za 20 hodin. Vadné sektory na discích se nijak neprojevily (disk TEMP1 byl bez vadných sektorů a výpočet se zastavil, zatímco disk TEMP2 vadné sektory měl a přitom dojel do konce)
Pokus 5
Nastavil jsem úplně stejně jako Pokus 4, jen jsem dal jiné pořadí TEMP disků. Do konce doběhly opět jen dva, druhé dva se zasekly, jeden na 14%, druhý na 27%. Jeden zaseklý byl stejný jako z předchozího pokusu, druhý zaseklý byl jeden z těch, co předtím doběhly. Takže na pořadí disků ani na fyzickém kusu nezáleží. To zasekávání dělá něco v softwaru.
Výsledek: Paralelní plotting mi tedy udělal 2 ploty za 20 hodin, tedy v průměru jeden kompletní plot za 10 hodin.
Pokus 6
Cílový disk jsem dal 18TB, aby mě nelimitovala kapacita. Zadal jsem vytvoření 5 plotů ve frontě. Fronty jsem nechal jako normální QUEUE, nikoliv paralel. Nechal jsem výchozí hodnoty 3,3GB RAM a 2 vlákna CPU. Do názvu fronty jsem dal místo "default" název QUEUE1), na který se bude zapisovat. Temporary disk vybral TEMP1 320GB, cílový disk jsem nechal ten 18GB. Procesor jel na cca 10%, RAM byla obsazena 4GB.
Po šesti hodinách jsem nechal vytvořit druhou frontu (5 plotů) s názvem QUEUE2, která zapisovala na druhý disk TEMP2 320GB, cílový disk a ostatní parametry zůstaly stejné jako u první fronty. Procesor popolezl na cca 15%, RAM na 7GB.
Po dalších šesti hodinách jsem udělal třetí frontu QUEUE3 se zápisem na třetí disk TEMP3 320GB. Procesor vylezl na 30%, RAM je obsazena 10,7GB z 12GB.
Další frontu z důvodu nedostatku RAM vytvářet nebudu, ale každopádně všechny tři vytvořené fronty počítají. Fronta QUEUE1 je po 15 hodinách o startu na 100% a čeká, QUEUE2 na 76%, QUEUE3 38%.
Nechal jsem to počítat 2,5 dne. Bohužel se v průběhu jedna fronta zasekla při tvorbě druhého plotu na 27% a musel jsem ten jeden plot zahodit. Takže výsledek je, že tři fronty směřované na tři různé temporary plotnové disky mi za 60 hodin práce vygenerovaly 7 plotů, tedy v průměru jeden plot za 8,5 hodiny, ale potenciál je cca 1 plot za 7 hodin, kdyby se nezasekla fronta.
Vzhledem k tomu, že nemám více RAM, nemá cenu rozjíždět další frontu, tak mám už jen jednu možnost na zrychlení - přidám další 3 disky 320 GB jako paralelní (HW RAID0) k těm stávajícím.