от Mateev » 21 Яну 2018, 22:46
Започвам с твърдия диск, тъй като в повечето съвременни компютри той се явява тясното място. Причината за това вече ви я казах - всяко едно Nonce се записва на 4096 различни места във файла, защото съдържа в себе си 4096 различни Scoop-а. Това означава 4096 местения на главата на нова писта, 4096 изчаквания върху пътечката, докато въртенето на диска докара под нея верния сектор, 4096 четения на този сектор, 4096 модифицирания на част от байтовете, ново изчакване на един оборот на диска, запис на модифицирания сектор, ново изчакване на 1 оборот на диска, четене на записания сектор за проверка на записа. И всичко това по 4096 пъти за записването на някакви пикливи 256 MB, които при последователен запис биха се записали 100 пъти по-бързо.
От тука идват и огромния брой оплаквания на хората от изключително бавното плотване. Сменят USB 2.0 дисковете USB 3.0, и пак плотването е бавно. Сменят външните дискове с въпрешни и пак плотването е бавно. Купуват скъпи и прескъпи дискове и пак плотването е бавно. Правят RAID масиви и пак плотването е бавно. Правят се всякакви други глупости, чакат се дни и седмици наред, и най-накрая много хора се отказват заради нерешимите на пръв поглед проблеми.
Няма как да накараме главите на дисковете да се движат по-бързо, но можем да измислим някои хитринки. Например:
1. Ако искаме на един компютър да плотнем 5 диска, вместо да ги плотваме един по един, най-добре е да ги пуснем ЕДНОВРЕМЕННО да се плотват и 5-те, като направим 5 различни bat файла със съответните параметри и разделим наличните ядра между 5-те паралелни плотвания.
2. Втората хватка е да увеличим количеството памет, което го предоставяме на всяка една нишка. Вече казах, че по Default тя си взема около 0.5 GB, която памет стига за 2 блока от по 1024 Nonce-та. Един Scoop е 64 байта, което означава че на диска едновременно се записват по 1024 Scoop-a, или това прави точно 64 kB. Тоест главата записва 64 kB и след това сменя пътечката, за да запише следващите 64 кВ и така 4096 пъти. Ако удвоим паметта, която ползва една нишка, то тогава тя ще има място не за 2 блока от по 1024 Nonce-та, а за 2 блока по 2048 Nonce-та. Главата пак ще се премести 4096 пъти, но на всяко местене вече ще записва не по 64, а по 128 kB. Тоест с удвояването на паметта сме удвоили скороста на запис.
Ако компютъра има много RAM памет, раздайте я всичката на нишките, и така ще постигнете максимално възможната скорост на запис на диска, защото на всяко едно местене на главата ще се записват по-големи порции от данни. При това забележете - много по-добри резултати можете да постигнете с една нишка с много заделена за нея памет, отколкото с 8 нишки с по минимума от 0.5 ГБ. Просто поекспериментирайте малко, преди да пуснете плот и после да чакате няколко дена, псувайки се, че сте заложили грешни параметри.
Един много важен извод от всичко това е че няма никакво значение какво е бързодействието на диска. Колкото и да е супер бърз, ограничител за плотването се явява не неговия интерфейс, а броя на местенията на главата и размера на порцията данни, която се записва на едно местене. От практиката мога да ви кажа, че при грешни настройки скороста на запис на диска може да падне до под 1 MB/С, и да чакате плотването 1-2 седмици. При добре направени настройки можете да вдигнете скороста на запис до 12-14 MB/s. Само при RAID масиви може да се наблюдават по-високи скорости, но не с много.
Няма никакво значение дали диска е външен или вътрешен - все работи бавно, далече под скороста на самия интерфейс. Следователно смело можете да си купувате дори и USB 2.0 дискове, стига да са много евтини. Това, че диска е USB 3.0 не ви дава никакво преимущество. Това че е вътрешен диск също не ви дава преумущество. Това че оборотите му са по-големи от 5400 също не ви дава преимущество.
За да постигнете максимално възможната скорост на плотване ползвайте следните трикове и препоръки:
1. Фoрматирайте диска само с NTFS и с размер на клъстера 64 kB.
2. Плотвайте едновременно всички възможни дискове в компютъра.
3. Разпределете нишките развномерно между всичките дискове и им дайте на разположение всичката възможна свободна памет. Не им давайте памет, която вече е заета от друг процес, защото така ще накарате компютъра да използва Pagefile, и така силно ще забавите плотването.
4. Проверете дали случайно на диска не са включени Shadow Copies и ако са - изключете ги, защото те също драстично ще забавят записа.
5. Вижте в ресурс монитора дали антивирусната ви програма не се меси в записа и не го забавя допълнително. Ако да - изключете я.
6. Ако това е външен USB диск, вървете в Device Manager и включете Write кеша на Windows-a. По Default той е изключен за външни USB дискове, и ако се включи, може да ускори записа.
7. Ако настройките позволяват, включете и хардуерния Write кеш на самия диск.
8. Компютъра ви задължително трябва да е с UPS, за да не ви прекъсне някакво мигване на тока.
9. Задължително изключете автоматичния рестарт на WIndows 10 в неактивните часове, когато му дойде нов ъпдейт.
10. Записвайте на един диск поне по 4-5 файла с един Bat файл, за да може ако нещо прекрати записа, поне вече завършените файлове да не ги започвате отново. Когато се случи такъв гаф с прекъсване на плотването, аз гледам колко файла на диска са плотнати, и изтривам последния, защото той със сигурност не е довършен. Другите ги оставям и отбелязвам в Excel-а, че са готови.
11. Едновременно плотвайте по всички възможни компютри, които имате, пък после ще размествате дискове и файлове, за да ги наместите там, където ще ви е най-изгодно да копаете.
Още от сега ви казвам, че 99% от времето си ще го загубите в един или друг проблем около плотването, и само 1% време ще ви е достатъчен да подкарате всичко останало.
Последна промяна
Mateev на 23 Яну 2018, 00:02, променена общо 3 пъти