Pergunta para os desenvolvedores - usando todos os núcleos computacionais durante a otimização

 

Por que durante a otimização do metatrader 5 (últimas versões) não utiliza todos os núcleos computacionais disponíveis? Marquei em verde os núcleos que realizam cálculos, os demais são ociosos.

 
Boris Egorov:

Por que durante a otimização o Metatrader 5 (últimas versões) não usa todos os núcleos de computação disponíveis? Em verde marquei os núcleos que realizam os cálculos, enquanto os demais estão ociosos.

Eles não estão ociosos, já terminaram os cálculos e estão à espera de outros passes para terminar.

 
Ihor Herasko:

Eles não são ociosos, mas já terminaram os cálculos e estão aguardando outros passes para terminar.

Exatamente, o que eles estão esperando quando outros passes podem ser feitos em outros núcleos e parece ter algo a ver com isso, eu tenho agentes em minha rede, e quando diz autorizado, mas o cálculo não está terminado, simplesmente não conta mais

 
Boris Egorov:

Exatamente, o que eles estão esperando quando outros passes podem ser feitos em outros núcleos e parece ter algo a ver com isso, eu tenho agentes em minha rede, e quando diz autorizado, mas o cálculo não está terminado, simplesmente não conta

 
Encontrei o QuickCPU na Internet. O site do qual eu fiz o download disse algo como isto. "Muitos programas nem sequer sabem que existem núcleos. QuickCPU aproveita-os para trabalhar". Experimente e veja se isso ajuda. Fiz o download a partir dosite https://howdyho.net/ - procure-o - não há muitos programas lá - muitas coisas úteis.
 
Boris Egorov:

Exatamente, o que eles estão esperando quando outros passes podem ser feitos em outros núcleos e parece estar relacionado a este desligamento, eu tenho agentes em minha rede, e assim, quando ele escreve autorizado, mas o cálculo não está terminado, ele simplesmente não conta mais

Infelizmente, é assim que funciona no MT5: os pacotes são gerados e distribuídos, mas quando são completados em alguns agentes, eles não são redistribuídos. Eu já escrevi muito sobre isso. É uma pena que os núcleos estejam ociosos.

Os desenvolvedores não consideram isto uma prioridade. Eles parecem ter muitos núcleos em seus computadores de trabalho e são rápidos, e isso resolve o problema. Além disso, eles estão principalmente envolvidos na programação, não na otimização, como nós estamos.

 

>é assim que o MT5 funciona para distribuir pacotes de trabalhos. os pacotes são gerados, distribuídos, mas quando alguns agentes terminam, eles não são redistribuídos.

e isto é um erro ... Eu tive uma queda de energia hoje e os pacotes que foram distribuídos aos agentes da rede ainda não foram contabilizados ....

 
Boris Egorov:

>é assim que o MT5 funciona para distribuir pacotes de trabalhos. os pacotes são gerados, distribuídos, mas quando alguns agentes terminam, eles não são redistribuídos.

e isto é um erro ... Eu tive uma queda de energia hoje e os pacotes de empregos que foram distribuídos aos agentes não são calculados ....

Encontrei dois postos sobre agentes - #375 e #379

Новая версия платформы MetaTrader 5 build 2190
Новая версия платформы MetaTrader 5 build 2190
  • 2019.11.22
  • www.mql5.com
В пятницу 18 октября 2019 года будет выпущена обновленная версия платформы MetaTrader 5...
 

Sobre somente núcleos físicos sendo utilizados -

Fórum sobre comércio, sistemas automatizados de comércio e testes estratégicos

Metatester 5 Agent Manager Strategy Tester não vê os fios do processador.

Renat Fatkhullin, 2019.11.27 06:12

Devido à franca falta de memória com demasiados agentes e a queda da velocidade dos cálculos sobre os núcleos hypertrading, decidimos nos limitar aos núcleos físicos somente quando trabalhamos nos cludes.

Atualmente, há tarefas muito dispendiosas sendo executadas no aglomerado, e a grande maioria dos participantes do aglomerado simplesmente não tem memória suficiente quando há muitos agentes. Por exemplo, 2 gb por agente e 16 agentes já requerem pelo menos 32 gb de memória, embora geralmente haja 8-16 gb disponíveis.

Como resultado, muitos passes são estragados, desperdiçando a rede e a carga de agentes. Mais importante ainda, retarda o cálculo por causa da espera de resultados e do reinício das tarefas.

Há muito tempo temos avaliado a adequação aproximada dos recursos dos agentes antes de emiti-los com tarefas, e uma das mais eficazes é trabalhar apenas com núcleos físicos na nuvem.

Localmente, você pode usar todos os núcleos, pois pode facilmente conseguir desativá-los.

E este é um post sobre como tudo isso se desenvolve ainda mais...

Fórum sobre comércio, sistemas automatizados de comércio e testes de estratégia comercial

Metatester 5 Agent Manager Strategy Tester não vê os fios do processador.

Renat Fatkhullin, 2019.11.27 07:18

Após a liberação, estamos empreendendo uma revisão radical da gestão de recursos do testador e de seus agentes.

Isto afetará principalmente a eficiência dos agentes locais.


 

Não tenho tais problemas, ele vê fios e não está limitado a núcleos físicos ... a figura mostra os parâmetros dos processadores e o tamanho da memória ...

sobre a memória eu não entendo nada - trocar por quê? ventos nunca foram limitados à quantidade de RAM .... por isso não está claro para mim para onde vai o problema a partir da palavra

>Você sabe que além do SMT2, existem SMT4, SMT8 - quando um núcleo físico pode fazer 4 ou 8 fios simultaneamente, ao invés de 2 como na Intel? E esta é uma tendência global em computação de alto desempenho, estes processadores estão rodando o supercomputador mais poderoso do mundo. Eu não recomendaria fazer com a Metatrader o que pessoas mais experientes fazem.


O problema é diferente e é apresentado na figura

por exemplo, existem 20 núcleos, 19 têm cálculos concluídos e estão ociosos, e um precisa de outros 10 cálculos, por que não fazer estes cálculos em núcleos/três livres - assim a solução não é dar a cada núcleo um monte de trabalhos de uma vez, e dar apenas um trabalho, o princípio é simples: um fio - um trabalho, terminado recebe o próximo trabalho ...

 
Boris Egorov:

Não tenho tais problemas, ele vê fios e não está limitado a núcleos físicos ... a figura mostra os parâmetros dos processadores e o tamanho da memória ...

sobre a memória eu não entendo nada - trocar por quê? ventos nunca foram limitados à quantidade de RAM .... por isso não está claro para mim para onde vai o problema a partir da palavra

>Você sabe que além do SMT2, existem SMT4, SMT8 - quando um núcleo físico pode fazer 4 ou 8 fios simultaneamente, ao invés de 2 como na Intel? E esta é uma tendência global em computação de alto desempenho, estes processadores estão rodando o supercomputador mais poderoso do mundo. Eu não recomendaria fazer com a Metatrader o que pessoas mais experientes fazem.


O problema é diferente e é apresentado na figura

O problema é diferente e é apresentado na figura: você tem, por exemplo, 20 núcleos, 19 têm cálculos terminados e estão ociosos, enquanto um precisa de outros 10 cálculos, por que você não faz cálculos sobre núcleos/três livres, então, em vez de dar a cada núcleo uma pilha gigantesca de trabalhos, apenas um trabalho, princípio simples: um fio - um trabalho, quando terminado você recebe o próximo trabalho...

Concordo com você, é uma idéia sensata. Embora eu não esteja usando otimização, mas quando eu estava, sempre me perguntei por que todos os fios tinham terminado a otimização e um tinha vários outros passes. Não é possível redistribuir as tarefas restantes...

Razão: