se è come per gli FPGA il comando --icarus-timing xx=yy serve per misurare la velocità di hashing e quanto tempo passa in decimi di secondo per scartare un lavoro.
Se ho capito bene quello che ha spiegato Kano nel thread ufficiale, il valore xx (2.0, 2.5, 3.0) serve per avere una misurazione della velocità corretta (2.0 da 500 a 600, 2.5 nell'ordine dei 400, 3.0 nell'ordine dei 300). Cambiarlo non varia la capacità di "mining" ma solo la correttezza della velocità misurata.
yy indica dopo quanto tempo "scade" una working unit prima di scartarla e inviarne un'altra.
Un valore troppo alto può mandare in "idle" l'asic (che risolve il lavoro e lo spedisce senza riceverne uno nuovo), uno troppo basso può portare cgminer a scartare un lavoro troppo presto e quindi inviare un risultato errato alla pool (con errore unknown work se ho capito bene).
yy a 100 significa che il lavoro dura massimo 10 secondi (100 nel timing) poi viene scartato, ma se il vostro asic lo chiude in media ogni 8 secondi (significherebbe circa 440MHash), "buttate via" 2 secondi di hashing power e quindi il numero di working unit inviate. Questo valore influenza (e di molto) il lavoro di mining.
Per fare le cose più semplici ci sono i comandi "short" e "long":
- la funzione --icarus-timing short permette al sistema di adeguarsi da solo, e ti indica quanto tempo ci mette l'asic a fare ogni lavoro (in secondi, lo vedi comparire nel feed in basso). Una volta calibrato lo mantiene per tutta la sessione di mining (praticamente fino a quando non viene chiuso)
- la funzione --icarus-timing long invece mantiene costante il lavoro di misurazione, e torna utile quando l'hashing power è variabile in base alla temperatura del device (es. i BFL). In questo caso il valore è variabile e imposta il timing di volta in volta (non so ogni quanto però).
L'ideale sarebbe:
- fare una sessione con icarus-timing short e vedere a quanto cgminer calibra il sistema (per esempio 9 secondi) e aggiungere qualcosa in più per i chunk più "duri"
- impostare quindi --icarus-timing 3.0=95 (9 secondi * 10 più qualcosa) per forzare il timing a questa velocità
Si occupa più cpu, l'asic consuma e scalda di più ma imponete un ritmo più sostenuto al chip, sfruttandolo al 100%