You need to log in to create posts and topics.

Por que ocorrem oscilações no hashrate?

O assunto deste post é velocidade de mineração, chamado comumente de hashrate. Ele vem esclarecer duas dúvidas muito comum dos mineradores: 1 - Por que ocorrem oscilações no meu hashrate? 2 - Por que existe diferença existe entre o hashrate exibido na tela do seu minerador e o exibido na pool. 

Primeiro, precisamos entender como o hashrate é calculado no minerador e na pool:

A velocidade exibida na tela do minerador é uma velocidade praticamente constante. Ela é baseada na capacidade do seu hardware processar aquele algorítimo com aquele software. Em outras palavras, é a velocidade que o seu equipamento está conseguindo processar aquele algorítimo naquele instante.

Já a pool, calcula o seu hashrate baseada nos shares válidos que são entregues por seu equipamento. Estes dados são plotados em um gráfico que mostra a quantidade de shares entregues em intervalos de tempo pré-definidos pela pool. Este gráfico, como veremos, apresenta oscilações. Estas oscilações podem ser características do processamento ou indicar alguma falha. Não se assuste agora, usaremos um exemplo prático para melhor entendimento. 

Oscilações características do processo:

Estas oscilações, como o nome sugere, são uma característica do processo de mineração e não significam um problema. Em outras palavras, não há com o que se preocupar. 

Vamos tentar explicar o porque disto através de exemplos:

Supondo que no seu software de mineração está apresentando uma velocidade de 30Mh/s. Ou seja seu equipamento é capaz de processar 30 milhões de hashes (possibilidades de solução) por segundo.

Quando você minera em uma pool, seu minerador vai receber tarefas chamadas de “jobs” contendo os hashes que ele tem que resolver. Estes hashes possuem dificuldades de solução variadas (recomendamos para melhor entendimento ler o artigo O que é uma Pool? Como funciona, por que utilizar e como escolher). Ao processar esses jobs o software devolve o resultado para a pool e a mesma confirma o recebimento com a mensagem “share accepted”. Ao fazer isso ela (a pool) registra que naquele momento aquele minerador entregou um share. 

Entendeu até aqui? Então agora imagine que vários desses “jobs” são processados simultaneamente por seu minerador. E que esse processamento não é linear pois a dificuldade dos jobs varia de um para o outro. Sendo assim há intervalos em que o software recebe muitos “jobs” da pool e há outros que ele entrega muitos jobs concluídas (shares), pois como já foi dito a dificuldade é diferente para cada job (e consequentemente o tempo de conclusão também). 

A partir deste registro que a pool faz ela consegue então saber quantos shares são entregues pelo minerador em um espaço de tempo pré-definido e isso é suficiente calcular a velocidade de mineração, que então é exibida no site da pool. Concluindo então, quando o minerador entrega poucos jobs nesse intervalo de tempo predefinido a pool calcula uma velocidade mais baixa e quando o minerador entrega muitos jobs neste mesmo intervalo de tempo a pool calcula velocidades maiores. E é aí que ocorre a oscilação e os picos, tanto pra cima quanto pra baixo.

Esta oscilação é mais visível quando o minerador possui pouco poder de processamento, como por exemplo, poucas GPUs. Vamos ilustrar isso atavés de 2 exemplos:

Exemplo 1:

No exemplo 1 temos um minerador que possui apenas 1 GPU minerando com velocidade próxima de 30Mh/s:

Note que há momentos que a pool registrou velocidades perto de 45Mh/s e outros que chegou perto de 15Mh/s, mas fazendo uma média, a velocidade deste minerador é bem próxima de 30Mh/s.

Exemplo 2:

Neste outro caso temos um farm com 5 RIGs gerenciando 30GPUs, resultando numa velocidade média de 850Mhs/s:

Neste exemplo, como são muitas GPUs entregando muitas tarefas de forma assíncrona, são poucos momentos que a velocidade oscila de forma visível.

Comparando os 2 casos, percebemos a diferença. Com 1 GPU há uma oscilação de quase 50%. Já no caso do farm com 30 GPUs a oscilação ficou menos perceptível, próxima de 15%.

Oscilações ocasionadas por outros fatores:

Além das oscilações características, também podemos ter oscilações causados por fatores externos, o que geralmente caracteriza algum problema na mineração. Nestes casos são vários fatores que você precisa identificar e tomar ações para solucionar ou ao menos minimizar o problema. Abaixo vemos uma situação de oscilação que não é considerada característica:

Neste exemplo temos 2 evidências claras de que há algum problema. O primeiro é o fato de que há momentos que a pool não está comunicando com nenhum worker (linha amarela). O segundo é a oscilação em excesso, onde vários momentos a velocidade fica quase zero e outros com picos muito altos.

Muitos motivos podem causar este tipo de problema, entre eles podemos listar alguns dos principais:

  • Instabilidade da conexão do minerador ou da própria pool gerando perdas de pacote;
  • Software/equipamento de mineração travando ou reinicializando por diversos motivos como: overclock acima do limite de estabilidade, superaquecimento, insuficiência no fornecimento de energia (fonte mal dimensionada);
  • Configuração incorreta do software de mineração.

Considerações finais

As variações do hashrate portanto podem ser completamente normais, apenas demonstrando uma característica da mineração. Característica esta que varia de acordo com a pool, algorítimo, equipamento, software utilizado, entre outros fatores. Apesar disso essa oscilação pode indicar algum problema, devido a travamentos, perdas de pacote, etc. Sendo assim, é importante saber diferenciar o que está causando oscilação no seu hashrate e assim saber se há algum problema para que você tome as medidas necessárias e tenha o melhor rendimento possível.

Para comentar acesse nosso forum: www.bitpapo.com.br