Pregunta para los desarrolladores: uso de todos los núcleos de cálculo durante la optimización

Ihor Herasko  
Boris Egorov:

¿Por qué durante la optimización Metatrader 5 (últimas versiones) no utiliza todos los núcleos de cálculo disponibles? En verde he marcado los núcleos que realizan cálculos, mientras que el resto están inactivos.

No están ociosos, han terminado los cálculos y están esperando a que terminen otros pases.

Евгений Иванов  
Boris Egorov:

Exacto, a qué esperan cuando se pueden hacer otras pasadas en otros núcleos y parece que tiene algo que ver, yo tengo agentes en mi red, y cuando dice autorizado pero el cálculo no está terminado simplemente no cuenta

Edgar Akhmadeev  
Boris Egorov:

Exacto, a qué esperan cuando se pueden hacer otras pasadas en otros núcleos y parece que está relacionado con este cuelgue, tengo agentes en mi red, y por eso cuando escribe autorizado pero no se termina el cálculo simplemente no cuenta más

Desgraciadamente, así es como funciona en MT5: los paquetes se generan y se distribuyen, pero cuando se completan en algunos agentes, no se redistribuyen. Ya he escrito mucho sobre esto. Es una pena que los núcleos estén inactivos.

Los desarrolladores no lo consideran una prioridad. Parece que tienen muchos núcleos en sus ordenadores de trabajo y son rápidos, y eso iguala el problema. Además, se dedican principalmente a la programación, no a la optimización, como nosotros.

Sergey Golubev  
Boris Egorov:

>así es como funciona la MT5 para distribuir paquetes de trabajos. se generan paquetes, se distribuyen, pero cuando algunos agentes terminan, no se redistribuyen.

y esto es un error ... Hoy he tenido un corte de luz y los paquetes de trabajos que se han distribuido a los agentes no se calculan ....

Encontré dos posts sobre agentes - #375 y #379

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

Acerca de que sólo se utilicen los núcleos físicos -

Foro sobre trading, sistemas de trading automatizados y comprobación de estrategias

El probador de estrategias del gestor de agentes Metatester 5 no ve los hilos del procesador.

Renat Fatkhullin, 2019.11.27 06:12

Debido a la franca falta de memoria con demasiados agentes y a la caída de la velocidad de los cálculos en los núcleos de hipercomercio, hemos decidido limitarnos a los núcleos físicos sólo cuando trabajemos en las cludes.

Actualmente se ejecutan tareas muy costosas en el cludge, y la gran mayoría de los participantes en el cludge simplemente no tienen suficiente memoria cuando hay demasiados agentes. Por ejemplo, 2 gb por agente y 16 agentes ya requieren al menos 32 gb de memoria, aunque normalmente hay 8-16 gb disponibles.

Como resultado, muchos pases se estropean, desperdiciando la carga de la red y de los agentes. Y lo que es más importante, ralentiza el cálculo debido a la espera de los resultados y al reinicio de las tareas.

Llevamos mucho tiempo evaluando la adecuación aproximada de los recursos de los agentes antes de asignarles tareas, y una de las más eficaces es trabajar sólo en los núcleos físicos de la nube.

A nivel local, puedes utilizar todos los núcleos, ya que puedes conseguir desactivarlos fácilmente.

Y este es un post sobre cómo se desarrolla todo más -

Foro sobre trading, sistemas de trading automatizados y pruebas de estrategias de trading

El probador de estrategias del gestor de agentes Metatester 5 no ve los hilos del procesador.

Renat Fatkhullin, 2019.11.27 07:18

Tras el lanzamiento, estamos llevando a cabo una revisión radical de la gestión de recursos del probador y sus agentes.

Esto afectará principalmente a la eficacia de los agentes locales.


Boris Egorov  

No tengo esos problemas, ve hilos y no se limita a los núcleos físicos... la imagen muestra los parámetros de los procesadores y el tamaño de la memoria ...

acerca de la memoria no lo entiendo en absoluto - swap para qué? vientos nunca se ha limitado a la cantidad de RAM .... así que no me queda claro dónde está el problema desde el principio

>¿Sabes que además de SMT2, existen SMT4, SMT8 - cuando un núcleo físico puede hacer 4 u 8 hilos simultáneamente, en lugar de 2 como en Intel? Y esta es una tendencia global en la computación de alto rendimiento, estos procesadores están haciendo funcionar el superordenador más potente del planeta. Yo no recomendaría hacer con Metatrader lo que hace la gente más experimentada.


El problema es diferente y se presenta en la imagen

por ejemplo, hay 20 núcleos, 19 han terminado los cálculos y están ociosos, y uno necesita otros 10 cálculos, por qué no hacer estos cálculos en los núcleos/hilos libres - así que la solución es no dar a cada núcleo un montón de trabajos a la vez, y dar sólo un trabajo, el principio es simple: un hilo - un trabajo, terminado obtiene el siguiente trabajo ...

Maxim Romanov  
Boris Egorov:

No tengo esos problemas, ve hilos y no se limita a los núcleos físicos... la imagen muestra los parámetros de los procesadores y el tamaño de la memoria ...

acerca de la memoria no lo entiendo en absoluto - swap para qué? vientos nunca se ha limitado a la cantidad de RAM .... así que no me queda claro dónde está el problema desde el principio

>¿Sabes que además de SMT2, existen SMT4, SMT8 - cuando un núcleo físico puede hacer 4 u 8 hilos simultáneamente, en lugar de 2 como en Intel? Y esta es una tendencia global en la computación de alto rendimiento, estos procesadores están haciendo funcionar el superordenador más potente del planeta. Yo no recomendaría hacer con Metatrader lo que hace la gente más experimentada.


El problema es diferente y se presenta en la imagen

El problema es diferente y se presenta en la imagen: tienes, por ejemplo, 20 núcleos, 19 han terminado los cálculos y están ociosos, y se requieren 10 cálculos más en uno de ellos, por qué no deberían utilizar los núcleos/hilos libres en lugar de dar a cada núcleo una pila gigantesca de trabajos, sólo un trabajo, el principio es simple: un hilo - un trabajo, cuando se termina se obtiene el siguiente trabajo...

Estoy de acuerdo contigo, es una idea sensata. Aunque no estoy usando la optimización, pero cuando lo hacía, siempre me preguntaba por qué todos los hilos habían terminado la optimización y uno tenía varias pasadas más. ¿No es posible redistribuir las tareas restantes...

Razón de la queja: