Sugestões para conseguir mais pontos

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.

passkey.png


- 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.
A opção "Medium" é a recomendada para quem não quer ter que andar a parar o folding quando está a usar o computador para outra coisa que também usa muitos recursos. "Full" é a melhor se o objectivo for processar cada Work Unit o mais rapidamente possível.

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.
A melhor opção para ganhar mais pontos é a primeira.

power-1.png


power-2.png


- 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
Por defeito, a prioridade é dada aos outros programas, mas isso pode afectar a performance do folding. A segunda opção (Slightly higher) é a melhor, mas no caso de estarem a fazer outra coisa no computador (ex: ver um filme), é possível que notem alguma lag.

priority.png


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.

checks.png


- 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.

slots.png


- 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.

slot-options.png


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.

windows-power.png


Alguns drivers da placa gráfica também permitem prioritizar a performance:

gpu-performance-1.png


- 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.)

gpu-fan-control.png


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!

:kfold:
 
Última edição:
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.

passkey.png


- 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.
A opção "Medium" é a recomendada para quem não quer ter que andar a parar o folding quando está a usar o computador para outra coisa que também usa muitos recursos. "Full" é a melhor se o objectivo for processar cada Work Unit o mais rapidamente possível.

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.
A melhor opção para ganhar mais pontos é a primeira.

power-1.png


power-2.png


- 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
Por defeito, a prioridade é dada aos outros programas, mas isso pode afectar a performance do folding. A segunda opção (Slightly higher) é a melhor, mas no caso de estarem a fazer outra coisa no computador (ex: ver um filme), é possível que notem alguma lag.

priority.png


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.

checks.png


- 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.

slots.png


- 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.

slot-options.png


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.

windows-power.png


Alguns drivers da placa gráfica também permitem prioritizar a performance:

gpu-performance-1.png


- 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.)

gpu-fan-control.png


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!

:kfold:
Grande tutorial, os meus sinceros parabens!
 
Segui o conselho do @Celso Azevedo e tenho só o GPU a trabalhar, cada vez que fez trabalho em conjunto com o cpu, ambos se atrasaram mutuamente.

Tenho o GPU no meu desktop a trabalhar sozinho e tenho um lenovo thinkcentre com um i5 da segunda gen a dar a fazer apenas WUs de CPU.
 
A questão de usar cpu e gpu ao mesmo tempo testei no meu. O uso da gpu sozinha é 97%, com cpu ao mesmo tempo desce para 93% flutuando até aos 95%.
Nao sei se faz assim tanta diferença (no meu caso).
Mas de certeza absoluta que faz no consumo energetico.

Com a cena da Beta client noto que à muito menos intervalo entre WUs
 
A questão de usar cpu e gpu ao mesmo tempo testei no meu. O uso da gpu sozinha é 97%, com cpu ao mesmo tempo desce para 93% flutuando até aos 95%.
Nao sei se faz assim tanta diferença (no meu caso).

Acho que a diferença é maior para quem tem um CPU antigo/menos capaz. Fazer o que o @God_Like talvez ajuda a minimizar o efeito de ter tudo a foldar ao mesmo tempo.

Para testar, comparem o PPD (points per day) de cada coisa (só CPU, só GPU, CPU+GPU) durante algumas horas. No meu caso, só GPU dá mais pontos do que CPU+GPU.
 
Última edição:
Acho que a diferença é maior para quem tem um CPU antigo/menos capaz. Fazer o que o @God_Like talvez ajuda a minimizar o efeito de ter tudo a foldar ao mesmo tempo.

Para testar, comparem o PPD (points per day) de cada coisa (só CPU, só GPU, CPU+GPU) durante algumas horas. No meu caso, só GPU dá mais pontos do que CPU+GPU.
Mesmo que nao seja por ai, em termos energeticos, os 100w que sou capaz de gastar a mais a usar o cpu se os "passar" para a gpu consigo po-la a bombar bem mais pontos que cpu.

Tenho um cap no power limit da gpu onde nao passa os 110w. Se deixar de usar o cpu e nao por cap na GPU então gasto basicamento o mesmo em overall mas produz muito mais :D
 
A questão de usar cpu e gpu ao mesmo tempo testei no meu. O uso da gpu sozinha é 97%, com cpu ao mesmo tempo desce para 93% flutuando até aos 95%.
Não sei se faz assim tanta diferença (no meu caso).

Pela percentagem também não tenho assim grande diferença, 5% ou 8%, mas na prática, CPU+GPU dá me menos pontos do que só GPU.
Isto acontece pelo que o Celso mencionou em cima, as WUs de GPU ainda consomem %CPU. Se o CPU está já trabalhar noutra WU, então o CPU vai atrasar o GPU. No meu caso pelo menos.

Acho que a diferença é maior para quem tem um CPU antigo/menos capaz. Fazer o que o @God_Like talvez ajuda a minimizar o efeito de ter tudo a foldar ao mesmo tempo.

Para testar, comparem o PPD (points per day) de cada coisa (só CPU, só GPU, CPU+GPU) durante algumas horas. No meu caso, só GPU dá mais pontos do que CPU+GPU.

Foi o que fiz, e tenho 140k-150k só com o GPU e 90k-100k com CPU+GPU
 
Tal como diz o @Celso Azevedo eu também sou um noob ou ainda mais fraco do que isso, mas atendendo a que tenho a opção de usar pens de arranque Linux, gostaria de saber se é possível executar algum programa FolderAtHome em formato executável na vez de ter de o instalar.
Nesse sentido arrancava sempre com com a pen Linux e colocava o executável em funções. O problema é seria talvez necessário voltar a configurar sempre que inicio o processo, visto que as alterações não ficam gravadas quando se desliga o computador.
Obrigado.
 
Tal como diz o @Celso Azevedo eu também sou um noob ou ainda mais fraco do que isso, mas atendendo a que tenho a opção de usar pens de arranque Linux, gostaria de saber se é possível executar algum programa FolderAtHome em formato executável na vez de ter de o instalar.
Nesse sentido arrancava sempre com com a pen Linux e colocava o executável em funções. O problema é seria talvez necessário voltar a configurar sempre que inicio o processo, visto que as alterações não ficam gravadas quando se desliga o computador.
Obrigado.

@Redin não sei se a flag -local ainda funciona, mas tenta: https://forum.zwame.pt/threads/tutorial-flags.57205/

:kfold:
 
Back
Topo