Plotting Chia

Le nozioni Base per Plottare Chia


Come già saprai ci sono due parti molto diverse per fare il farming di Chia. Una è la creazione dei Plot e poi il Farming. Con questo articolo ti spiegherò il processo di creazione delle tue Plot. Il tipo di macchinario e lo spazio di archiviazione sono molto diversi dai tipi di hardware è ottimale utilizzare per la farm.

Il consiglio per chi comincia è quello di provare con ciò che hai già a portata di mano. L’unica cosa a cui devi fare attenzione sarà quella di limitare la quantità di Plot che creerai con il tuo SSD interno (per fare le Plot vengono generati dei file temporanei). Gli hard disk di tipo SSD hanno una durata si usurano molto più velocemente degli HDD.

Attualmente non esiste un motivo per fare delle plot con k maggiore di 32. Plot più grandi vengono fatte per dieltto o per ottimizzare il riempimento degli hard disk. Una plot k32 occuperà 101,3 GiB (giga byte) di spazio una volta pronto, ma durante la sua creazione avrà bisogno di un totale di 332 GiB di spazio libero per generare i file temporanei. Un singolo processo di stampa k32 non richiede mai più di 332 GiB di spazio. Attenzione, 332 gigabite usano 1024 come divisore dove GB o gigabyte usano 1000 come divisore. Ciò significa che avrai bisogno di 356,5 GB di spazio temporaneo e la plot ultimata richiederà 108,8 GB. Una plot k32 può essere realizzata anche in poco meno di 4 ore con macchinari realizzati appositamente e finemente ottimizzati, ma la maggior parte degli utenti esperti crea grafici in 5 ore e la maggior parte delle persone comuni ha una media di circa 9-12 ore.

La creazione di una Plot è un processo che richiede velocità del processore (CPU), RAM, I / O ai tuoi hard disk e utilizza queste risorse in modo diverso in ciascuna delle quattro fasi del plotting. Tutti vogliono una risposta magica “giusta” o utilizzare l’IA per capire la strategia di plottaggio ottimale per la propria macchina. Tuttavia quasi ogni macchina è diversa in base a uno di questi parametri, quindi devi solo provare. A lungo termine è previsto di implementare una storta di tuning automatico, ma non oggi, avverrà in futuro. Devi procedere per tentativi.


La prima fase genera tutte le tue prove di spazio creando sette tabelle di hash crittografici e salvandole nella tua directory temporanea. La fase 2 si propaga indietro attraverso gli hash, la fase 3 ordina e comprime algoritmicamente questi hash nella directory temporanea mentre si inizia a costruire il file finale e la fase 4 completa il file e lo sposta nel file di trama finale.

Procedimento:

Uno dei principali colli di bottiglia che rallenta la creazione delle tue plot è solitamente la velocità di scrittura totale del disco in cui si trova la directory temporanea. Il consiglio è quello di utilizzare un SSD per data center se desideri andare davvero veloce e non sacrificare SSD di fascia consumer nella creazione delle Plot. NVMe è più veloce di SAS e SAS è più veloce di SATA. TBW, o terabyte written (scritti), è generalmente il modo in cui viene misurata la durata della vita delle unità SSD. Un k32 scrive 1,8 TiB in modalità non bitfield e 1,6 TiB con bitfield abilitato(ti dirò di più sul Bitfield tra un momento).

Rendere il singolo processo più veloce non è generalmente la migliore strategia di plottaggio. Spesso ottieni una velocità incredibile perché stai utilizzando il turbo core di quel processore multi core. Le persone che creano più plot hanno dimostrato che dovresti misurare in TB (TiB o se sei della vecchia scuola) al giorno. Il metodo per ottenere il massimo rapporto TB / giorno è avere molti processi di plotting in parallelo. I risultati migliori li stanno utilizzando coloro che adottano un SSD per data center. Altri hanno buoni risultati utilizzando unità SAS. Raid 0 può essere ivnece molto utile per collegare un paio di piccole unità veloci in una partizione da 2 TB, in modo da poter adattare 5 spazi temporanei k32 su quell’unico disco virtuale.

Detto questo, per realizzare le mie plot utilizzo un portatile dotato di SSD interno da 500 Gb per la cartella temporanea, mentre utilizzo un HDD esterno da 4Tb per le Plot ultimate. Riesco così a Realizzare una plot ogni 9-10 ore.

Consigli pratici


Le regole per plottare efficientemente sono valide ad ora, in futuro potrebbero cambiare perchè verranno apportate modifiche a Chia per migliorare la velocità di plotting. In primo luogo va spiegata la differenza “bitfield” rispetto a “non bitfield”. Il back sort di bitfield è teoricamente più veloce del non utilizzare il bitfield e sappiamo già che consente di risparmiare il 12% delle scritture totali ma richiede più RAM. Sista lavorando per poter accelerare il bitfield fino al 10% e farlo funzionare su più processori, ma non è stato ancora implementato. Quello che si sà è che, fintanto che sei d’accordo con il 12% in più di scritture totali, nessun bitfield funzionerà più velocemente quando utilizzi un SSD o SAS per la directory temporanea. Se invece la tua directory temporanea si trova su un normale HDD, bitfield è il 20% più veloce di non bitfield. Ah, è probabile che le vecchie CPU potrebbero non vedere un aumento di velocità.

Torniamo ora alle regole per il buon plotting.

Non si desidera quasi mai utilizzare valori di bucket diversi da 128. Meno bucket significano più RAM per ogni processo di plotting. 64 bucket richiedono il doppio della RAM.

Per quanto riguarda il numero di thread, generalmente se ne utilizzano da 2 a 4. Utilizzare più di 4 thread sembra che abbia un rendimento decrescente, mentre 2 thread sono molto meglio di 1. Più thread richiedono anche un po ‘più di memoria RAM per completare con successo una plot. In questo momento il threading viene utilizzato solamente nella fase 1.

La quantità di RAM necessaria è diversa tra bitfield e nessun bitfield. Bitfield richiede più RAM di nessun bitfield con le stesse impostazioni. Questa è una tabella dei vari usi di RAM ipotizzando un k32 con 128 bucket e da 2 a 4 thread:

RAM MiB: minimomediomassimo
Bifgiled:2,5Gb3,4Gb6,7Gb
Nessun Bitfield 1,4Gb3,5Gb3,99Gb


Al di sotto del minimo il plot non verrà prodotto. Medio è il valore di RAM sufficiente per ottenere la maggior parte dei miglioramenti di velocità, ma non tutti. Ciò è utile quando stai cercando di ottenere più processi di plottaggio paralleli e hai una RAM limitata. Usare qualsiasi cosa oltre il massimo sta sprecando RAM in quanto non ti permetterà di andare più velocemente. Si è abbastanza sicuri degli estremi di minimo e di massimo, però c’è ancora incertezza sui valori medi corretti. Aggiornerò questo articolo non appena arriveranno dati migliori, ma ora voglio che venga pubblicato il prima possibile.

Maestri del Plotting


La maggior parte delle persone inizia a tracciare dalla GUI (dall’interfaccia grafica). Puoi completare con successo un paio di plot in parallelo utilizzando questo sistema, giusto epr farti un idea di come funziona. Quando le persone cominciano ad acquisire dimestichezza ed a fare sul serio preferiscono usare la riga di comando. Tengo a precisare che al momento Windows ha tempi di plottaggio più lenti del 5-10% rispetto a Linux o MacOS.

Quando avrai più esperienza, vorrai sapere sicuramente come creare sempre più plot in contemporanea. Tra gli utenti che lo fanno abitaualemnte alcuni hanno preso dei server usati e degli SSD per data center, alcuni hanno sempre acquistato server usati ma unità SAS per directory temporanee, alcuni invece espandono i loro computer di fascia consumer o da gaming, mentre altri ancora si sono concentrati su molte macchine più piccole. In molti hanno poi compilato un foglio di calcolo dell’hardware di plotting di riferimento con velocità di plot per aiutarti a pensare a qualsiasi hardware che potresti voler cambiare o acquisire e vedere come sono i tuoi risultati di plotting.

Una strategia molto diffusa per plottare prevede di utilizzare il tuo pc da gaming e poi spostare i plot su un Raspberry Pi 4 con molte porte USB a cui saranno attaccati tanti HDD esterni. Tutto ciò di cui hai bisogno è utilizzare la stessa sequenza mnemonica di 24 parole sulle varie macchine. Alternativamente, puoi semplicemente eseguire una macchina da farming remota sul tuo Pi4 e collegarlo al tuo gaming pc dove stai eseguendo node e farmer ed avrai cosìle tue chiavi private solo su una macchina.


Come plotto io

Ho iniziato da poco a plottare, circa 10 giorni ed ho già fatto vari esperimenti. Ad ora non prevedo di costruire un macchinario dedicato, ma di adattare dei computer che già possiedo installandovi degli SSD. Ho quindi recuperato 3 portatili ed un pc fisso di amici e parenti e dove non potevo installare un SSD interno ne ho attaccato uno esterno.
L’idea di usare SSD esterni mi piace per la sua flessibilità, attaccandolo ad un pc qualunque (assieme ad un HDD dove depositare le plot finite) mi permette di arruolare molti più dispositivi senza rischiare di danneggiare i loro hard disk interni che contengono magari dati importanti.
Gli SSD che consiglio per il plotting e che utilizzo in prima persona perchè il rapporto qualità prezzo mi sembra ottimale sono i seguenti:

Che rispettivamente sinistra verso destra sono: SSD interno da 500GB, SSD esterno da 500GB (di dimensioni contenutissime!), SSD interno da 1TB.
Ho scelto di utilizzare SSD da 500GB perché mi permettono di fare 1 plot alla volta anche su pc datati, mentre per plottare in parallelo su un pc prestate ho preso quello da 1TB.
L’SSD esterno è quello che mi permette di schiavizzare un pc in maniera poco invasiva 😉

PS: per plottare un PC necessita di almeno 2.5 GB di RAM liberi, quindi su un pc Windows deve avere qualcosa come 6-8 GB di RAM totale (win 10 usa 2-3 GB di ram per funzionare)