Celso Azevedo
I folded Myself
Como muitas pessoas decidiram juntar-se ao folding@home devido ao SARS-CoV-2, decidi criar este post com algumas sugestões para conseguir gerar mais pontos. Não sou nenhum especialista, mas tenho alguma experiência com o folding (já participo desde 2010/11, comecei a sério em 2014 e desde 2016 que tenho um computador a trabalhar 24/7).
O mais importante neste projecto é a parte científica. Os pontos, equipas, etc, vêm em segundo lugar.
Para quem tem hardware mais fraco e não consegue competir com quem produz mais pontos: Não desistam, o importante é ajudar.
Dito isto e já que a competição entre equipas e membros acabam por ajudar o projecto (mais pontos = mais work units completadas), porque não tentar extrair o máximo do hardware que temos?
- Usar uma passkey:
Se estiverem numa equipa (ex: portugal@folding), usem uma passkey. O número de work units (WU) é o mesmo, o tempo que demora para cada WU terminar também é, mas recebemos mais pontos pelo mesmo trabalho.
Podem pedir a vossa passkey nesta página: https://apps.foldingathome.org/getpasskey
Depois no cliente vão à Configure > Identity e no campo Passkey colam a chaves que receberam via email.
- Folding power = Full:
Existem 3 opções que podem ser alteradas no cliente ou através do "web control" (a página que abre no browser):
Depois existem duas opções que determinam quando é que o folding ocorre:
- Prioridade do folding e checkpoints:
Em Configure > Advanced existe uma opção que permite mudar a prioridade do folding no vosso computador:
Na mesma tab (Advanced), existe uma opção chamada Checkpoiting frequency. Usar o valor máximo (30 minutos) resulta em mais pontos, mas no caso do computador desligar (crash, falha de electricidade, etc) algum do trabalho vai ser perdido.
- Foldar só com a Placa Gráfica (GPU) (para quem tem GPUs):
Quando abrimos o cliente do folding@home pela primeira vez, todos CPUs e GPUs que temos são adicionados. Talvez a ideia é usar os recursos todos do sistema, mas o efeito é o contrário.
Primeiro, o número de pontos que um CPU consegue produzir é muito baixo. No meu caso estamos a falar de um i5 que comprei em 2016 vs uma GTX 1080Ti e nem há comparação. ~15 000 vs ~1 300 000 por dia.
Segundo, quando foldamos com a GPU, o processo usa uma % de um dos cores do CPU. Se o processador está ocupado, a placa gráfica não consegue operar no limite e o resultado é menos pontos/work units processadas.
Para remover o CPU, abre o cliente, vai a Configure > Slots > Escolhe o CPU > Remove > Save.
- Aceitar Work Units antes de serem estáveis:
Antes de uma work unit chegar ao estado "estável" e ficar disponível para todas as pessoas, ela é testada em "canais" de teste. De vez em quanto uma nova work unit que dá mais pontos ou um novo core mais eficiente é disponibilizado e as vezes (mas não sempre) compensa estar num "canal" de testes (beta e advanced).
É importante notar que quando uma work unit não é estável, o efeito pode ser o contrário. Se há um crash, por exemplo, parte ou todo o trabalho é perdido.
Para entrar num destes canais de teste, vai a Configure > Slots > Escolhe o CPU ou GPU > Edit. Na nova janela vai até Extra slot options (expert only) > Add. No campo Name escreve client-type. Em Value escreve beta ou advanced (uma nova work unit começa em beta, depois passa para advanced e só depois passa a ser estável). Clica em OK nas várias janelas para guardar as alterações.
No caso de teres mais do que um CPU ou GPU no sistema, isto tem que ser feito para cada slot (cada CPU/GPU).
Depois de fazeres isto, quando o cliente for descarregar uma nova work unit, o servidor pode enviar uma work unit que ainda está a ser testada ou uma estável.
OUTRAS SUGESTÕES:
Nem todas as pessoas sabem, podem ou devem fazer isto.
- Optimizar o Windows:
As opções de energia do Windows afetam a performance do computador. Coisas como a velocidade do CPU podem ser limitadas com esta opção, se o computador hiberna ou não, se o ecrã pode ficar desligado sem o computador hibernar, etc.
Idealmente cada pessoa devia alterar o plano e mudar o que acha mais importante, mas no caso de não saberes o que deves mudar, o mais simples é usar o plano de alto desempenho.
Alguns drivers da placa gráfica também permitem prioritizar a performance:
- Controlar temperaturas:
O folding puxa muito pelo hardware e o resultado é calor. Embora processadores e placas gráficas estejam preparadas para trabalharem com temperaturas altas (75-90ºC, dependendo do CPU/GPU), altas temperaturas fazem mal ao hardware (especialmente às baterias) e depois de um certo ponto a performance é automaticamente reduzida (throttling) para manter as temperaturas dentro dos limites operacionais.
Existem algumas ferramentas que permitem controlar as ventoinhas do computador. Maior circulação de ar normalmente resulta em temperaturas mais baixas, o que acaba por manter ou melhorar a performance.
Para placas gráficas, o MSI Afterburner permite controlar coisas como o clock, temperatura máxima, velocidade das ventoinhas, etc. No computador que tenho para fazer folding, uso uma curva agressiva para manter as temperaturas (mais) baixas. A principal desvantagem é o ruído.
(Nota: algumas marcas têm um software próprio, mas o Afterburner deve conseguir controlar o básico, pelo menos em GPU mais recentes.)
Para controlar as ventoinhas da torre... é um pouco mais complicado porque algumas têm uma velocidade fixa. Em qualquer caso, algumas motherboards vêm com software que permitem controlar a velocidade (criar curvas que vão aumentando conforme a temperatura, usar perfis diferentes dependendo no programa que estão a usar, etc).
Uma ferramenta "universal" é o SpeedFan. Infelizmente é um pouco difícil de usar, mas existem alguns tutoriais no YouTube.
- Overclocking:
Tenham cuidado com isto porque podem danificar o hardware! Procurem informação na internet sobre isto, mas a ideia é "brincar" com os limites da vossa placa gráfica.
- Usar Linux:
Eu sou um noob e por isso uso Windows, mas para quem está à vontade com Linux, aparentemente a performance é melhor do que em Windows (+10-20% dependendo do hardware e work unit).
Se o objectivo for espremer o máximo possível do hardware e se usar Linux não for um problema, evita usar Windows. Ubuntu e Linux Mint são boas opções para novos utilizadores.
Espero que estas sugestões sejam úteis. Se tiverem outras/melhores ideas, deixem um comentário!
O mais importante neste projecto é a parte científica. Os pontos, equipas, etc, vêm em segundo lugar.
Para quem tem hardware mais fraco e não consegue competir com quem produz mais pontos: Não desistam, o importante é ajudar.
Dito isto e já que a competição entre equipas e membros acabam por ajudar o projecto (mais pontos = mais work units completadas), porque não tentar extrair o máximo do hardware que temos?
- Usar uma passkey:
Se estiverem numa equipa (ex: portugal@folding), usem uma passkey. O número de work units (WU) é o mesmo, o tempo que demora para cada WU terminar também é, mas recebemos mais pontos pelo mesmo trabalho.
Podem pedir a vossa passkey nesta página: https://apps.foldingathome.org/getpasskey
Depois no cliente vão à Configure > Identity e no campo Passkey colam a chaves que receberam via email.
- Folding power = Full:
Existem 3 opções que podem ser alteradas no cliente ou através do "web control" (a página que abre no browser):
- Light: Apenas metade do CPU é usado. GPUs não são usadas.
- Medium: CPU fica limitado a 75%. GPUs são usadas.
- Full: Sem limites.
Depois existem duas opções que determinam quando é que o folding ocorre:
- While I’m working: Está sempre a foldar, mesmo quando estamos a usar o computador.
- Only when idle: Apenas quando o computador está ligado, mas não está a ser usado.
- Prioridade do folding e checkpoints:
Em Configure > Advanced existe uma opção que permite mudar a prioridade do folding no vosso computador:
- Lowest possible
- Slightly higher
Na mesma tab (Advanced), existe uma opção chamada Checkpoiting frequency. Usar o valor máximo (30 minutos) resulta em mais pontos, mas no caso do computador desligar (crash, falha de electricidade, etc) algum do trabalho vai ser perdido.
- Foldar só com a Placa Gráfica (GPU) (para quem tem GPUs):
Quando abrimos o cliente do folding@home pela primeira vez, todos CPUs e GPUs que temos são adicionados. Talvez a ideia é usar os recursos todos do sistema, mas o efeito é o contrário.
Primeiro, o número de pontos que um CPU consegue produzir é muito baixo. No meu caso estamos a falar de um i5 que comprei em 2016 vs uma GTX 1080Ti e nem há comparação. ~15 000 vs ~1 300 000 por dia.
Segundo, quando foldamos com a GPU, o processo usa uma % de um dos cores do CPU. Se o processador está ocupado, a placa gráfica não consegue operar no limite e o resultado é menos pontos/work units processadas.
Para remover o CPU, abre o cliente, vai a Configure > Slots > Escolhe o CPU > Remove > Save.
- Aceitar Work Units antes de serem estáveis:
Antes de uma work unit chegar ao estado "estável" e ficar disponível para todas as pessoas, ela é testada em "canais" de teste. De vez em quanto uma nova work unit que dá mais pontos ou um novo core mais eficiente é disponibilizado e as vezes (mas não sempre) compensa estar num "canal" de testes (beta e advanced).
É importante notar que quando uma work unit não é estável, o efeito pode ser o contrário. Se há um crash, por exemplo, parte ou todo o trabalho é perdido.
Para entrar num destes canais de teste, vai a Configure > Slots > Escolhe o CPU ou GPU > Edit. Na nova janela vai até Extra slot options (expert only) > Add. No campo Name escreve client-type. Em Value escreve beta ou advanced (uma nova work unit começa em beta, depois passa para advanced e só depois passa a ser estável). Clica em OK nas várias janelas para guardar as alterações.
No caso de teres mais do que um CPU ou GPU no sistema, isto tem que ser feito para cada slot (cada CPU/GPU).
Depois de fazeres isto, quando o cliente for descarregar uma nova work unit, o servidor pode enviar uma work unit que ainda está a ser testada ou uma estável.
OUTRAS SUGESTÕES:
Nem todas as pessoas sabem, podem ou devem fazer isto.
- Optimizar o Windows:
As opções de energia do Windows afetam a performance do computador. Coisas como a velocidade do CPU podem ser limitadas com esta opção, se o computador hiberna ou não, se o ecrã pode ficar desligado sem o computador hibernar, etc.
Idealmente cada pessoa devia alterar o plano e mudar o que acha mais importante, mas no caso de não saberes o que deves mudar, o mais simples é usar o plano de alto desempenho.
Alguns drivers da placa gráfica também permitem prioritizar a performance:
- Controlar temperaturas:
O folding puxa muito pelo hardware e o resultado é calor. Embora processadores e placas gráficas estejam preparadas para trabalharem com temperaturas altas (75-90ºC, dependendo do CPU/GPU), altas temperaturas fazem mal ao hardware (especialmente às baterias) e depois de um certo ponto a performance é automaticamente reduzida (throttling) para manter as temperaturas dentro dos limites operacionais.
Existem algumas ferramentas que permitem controlar as ventoinhas do computador. Maior circulação de ar normalmente resulta em temperaturas mais baixas, o que acaba por manter ou melhorar a performance.
Para placas gráficas, o MSI Afterburner permite controlar coisas como o clock, temperatura máxima, velocidade das ventoinhas, etc. No computador que tenho para fazer folding, uso uma curva agressiva para manter as temperaturas (mais) baixas. A principal desvantagem é o ruído.
(Nota: algumas marcas têm um software próprio, mas o Afterburner deve conseguir controlar o básico, pelo menos em GPU mais recentes.)
Para controlar as ventoinhas da torre... é um pouco mais complicado porque algumas têm uma velocidade fixa. Em qualquer caso, algumas motherboards vêm com software que permitem controlar a velocidade (criar curvas que vão aumentando conforme a temperatura, usar perfis diferentes dependendo no programa que estão a usar, etc).
Uma ferramenta "universal" é o SpeedFan. Infelizmente é um pouco difícil de usar, mas existem alguns tutoriais no YouTube.
- Overclocking:
Tenham cuidado com isto porque podem danificar o hardware! Procurem informação na internet sobre isto, mas a ideia é "brincar" com os limites da vossa placa gráfica.
- Usar Linux:
Eu sou um noob e por isso uso Windows, mas para quem está à vontade com Linux, aparentemente a performance é melhor do que em Windows (+10-20% dependendo do hardware e work unit).
Se o objectivo for espremer o máximo possível do hardware e se usar Linux não for um problema, evita usar Windows. Ubuntu e Linux Mint são boas opções para novos utilizadores.
----#----
Espero que estas sugestões sejam úteis. Se tiverem outras/melhores ideas, deixem um comentário!
Última edição: