Evaluación de los núcleos de la CPU para su optimización - página 15

 
Fast235:
No entiendo porque le cambie la ram de 16gb a 32, el probador como se comía 16 pcs +16 virtuales, ahora se come 32 pcs + 31 virtuales, un sinsentido, me compre un SSD de 32gb para descargarlo y prolongar su vida, pero Pish. por día por terrabyte escribe, pobre ssd

¿Qué tal si se desactiva la creación de un archivo de intercambio? Y, alternativamente, crear este archivo en un disco de 16 gigas de RAM.

 
Aleksey Vyazmikin:

¿Qué tal si se desactiva la creación de un archivo de intercambio? También puede crear el archivo en un disco RAM de 16 gigas.

Si desactiva el swap, el probador dice que no hay suficiente memoria en el modo Todos los ticks

 
Fast235:

Si la paginación está desactivada, el probador dice que no hay suficiente memoria

Esto deja la opción del disco RAM.

 

No se puede compilar Tree_Brut_TestPL_F_Fast

Falla en la compilación al 16%. Lo he probado en dos ordenadores diferentes. Puede ser debido a la construcción del MetaEditor. Por favor, restablece el compilado.

 
dsfx:

No se puede compilar Tree_Brut_TestPL_F_Fast

Falla en la compilación al 16%. Lo he probado en dos ordenadores diferentes. Puede ser debido a la construcción del MetaEditor. Por favor, restablece el compilado.

¿Cuánto tiempo has esperado? Se tarda hasta una hora en compilar - depende de la potencia del núcleo de la CPU.

Está prohibido subir archivos compilados al foro.

 
Aleksey Vyazmikin:

¿Cuánto tiempo has esperado? La compilación puede tardar hasta una hora, dependiendo de la potencia del núcleo de la CPU.

No está permitido subir archivos compilados al foro.

Hmm, esperé unos 10 minutos)). Pero del mismo tamaño Tree_Brut_TestPL_F parece compilar en unos 5 minutos. Esperaré más tiempo...

 

Resultados del Ryzen 9 3950X

Todavía no he averiguado qué es lo que realmente afecta a la velocidad de prueba de este procesador. He probado todo, los resultados están dentro de los mismos valores. Cambiar la frecuencia base de la CPU con los valores preestablecidos de la placa base hasta +600MHz no conduce a nada. Aparentemente, esto se debe a que hace overclocking en las pruebas sin ninguna ayuda. Las características de la memoria, como puedes ver en la tabla, tampoco afectan realmente. Si hay alguna idea que le interese, ¡publíquela, por favor!


En cuanto al uso práctico de este procesador para las pruebas en MT5 - ¡aquí hay algunos matices en los que no pensará de inmediato!

En primer lugar, cada agente en MT5 por alguna razón asigna un pedazo de memoria separado para sí mismo, incluso si la prueba se ejecuta en un par y no en diferentes pares. Y, por ejemplo, si hacemos la prueba en las cruces, se cargan más mayores. Como resultado, al realizar las pruebas con ticks reales durante el periodo de 2 años, cada agente ocupa 7GB de memoria. Sí, vale la pena mencionar que lo probé en un corredor popular, que tiene un 70% de ticks que se repiten (con el mismo Ask y Bid). Voy a probar un poco más en una historia personalizada y voy a publicar los números más tarde. Por lo tanto, para cargar 64GB de memoria sólo puedo probar en 8 agentes. Salida - historia personalizada con filtrado de ticks repetitivos, control constante del tamaño de la memoria y, por tanto, del periodo de prueba, 128GB de memoria y prueba en 16 agentes. ¿¡Es así como funciona!? Así que esto es lo que estoy probando durante dos años.... ¿y si se toma un período más largo...?


En segundo lugar. He puesto un SSD temporal de otro ordenador EVO 860. Me encontré con otro problema (ya he escrito sobre algo similar antes). Cuando inicio la optimización, incluso de 8 pases, los agentes intentan acceder al SSD simultáneamente para bombearse en el historial de ticks de la RAM. No hay cola, por lo que el SSD se vuelve "rojo" y aparecen errores en el diario de MT5:

Es decir, el probador no puede ejecutar pases, porque no pudo descargar los ticks, ¡aunque escribe que no hay suficiente memoria! De hecho, si se tiene en cuenta que mi SSD estaba empujando hasta 600 MB/s según las lecturas del sistema en ese momento, le llevaría más de 100 segundos llenar incluso 64 GB de RAM. Por lo tanto, el viejo SSD no es adecuado en absoluto, a la espera de EVO 970 con 3500GB / s, pero incluso con él 128GB llenará más de 30 segundos. Es decir, los errores se mantendrán.


Así que, señores desarrolladores. Necesitamos que se preste atención a este problema, ya que, de lo contrario, el uso de procesadores multinúcleo es extremadamente incómodo, si no imposible.

Si es posible, estaría bien utilizar la memoria RAM de forma más económica. Aunque sólo sea para optimizar un par de divisas. Después de todo, si la prueba se ejecuta en un símbolo, seguramente todos los agentes pueden acceder a un mismo espacio de memoria. ¿Por qué cada uno de ellos produciría copias? Entonces no habrá problemas de escasez de memoria, de velocidad de lectura del disco duro y ¡se abaratará el diseño!

Si esto no es posible, al menos haz algún tipo de cola para que los agentes accedan al disco duro y/o aumenta el tiempo de espera para copiar. Pero optimizar el uso de la memoria sería, por supuesto, mucho más eficiente.

Gracias.

 
dsfx:

Resultados del Ryzen 9 3950X

Todavía no he averiguado qué es lo que realmente afecta a la velocidad de prueba de este procesador. He probado todo, los resultados están dentro de los mismos valores. Cambiar la frecuencia base de la CPU con los valores preestablecidos de la placa base hasta +600MHz no conduce a nada. Aparentemente, esto se debe a que hace overclocking en las pruebas sin ninguna ayuda. Las características de la memoria, como puedes ver en la tabla, tampoco afectan mucho. ¡Cualquier idea, quien esté interesado, que postee por favor!

La frecuencia de la CPU afectará al rendimiento: intente fijarla o establecer límites. Para los cálculos, el coprocesador tiene una importancia primordial, por lo que el multithreading (XMP) le proporciona una ganancia no lineal, es decir, una aceleración debida a una preparación más rápida de los datos para los cálculos por parte de los coprocesadores.

En cuanto al resto del post - las garrapatas son malvadas, especialmente si necesitan cruces - la tasa de error aumenta significativamente. Los cruces y las monedas base fluctúan de forma desincronizada.

Los errores del SSD son extraños: ¿hay realmente suficiente RAM en este punto? ¿Se ha desactivado la memoria virtual?

 
Aleksey Vyazmikin:

La frecuencia del procesador afectará al rendimiento: intente arreglarlo o establezca límites. Para los cálculos, el coprocesador es lo más importante, por lo que el multithreading (XMP) proporciona una ganancia no lineal, es decir, una aceleración debida a una preparación más rápida de los datos para los cálculos por parte de los coprocesadores.

En cuanto al resto del post - las garrapatas son malvadas, especialmente si necesitan cruces - la tasa de error aumenta significativamente. Los cruces y las monedas base fluctúan de forma desincronizada.

Los errores del SSD son extraños: ¿hay realmente suficiente RAM en este punto? ¿Se ha desactivado la memoria virtual?

Sí, claro. Después de fijar la CPU a diferentes frecuencias, resultado notable. La práctica demostró que es mejor no arreglar - el último firmware en la bios no tiene ese modelo de CPU todavía, y se sabe que las frecuencias fijas preinstaladas por debajo consiguen la máxima frecuencia en modo turbo sin arreglar. Todavía no me he metido en las bios, pero los criterios de dependencia ya están claros. A la espera de un nuevo firmware.


Memoria virtual "por elección del sistema". Cambié mi SSD de evo 860 a evo 970 plus - se volvió más divertido llenar la RAM (unas 3-4 veces mejor) y puedo empezar con más agentes, pero todavía hay errores si dejo más agentes que la memoria suficiente para ellos. Pero en la práctica, he desarrollado la siguiente estrategia de optimización. El gestor de tareas está siempre activado. Primero inicio 8 agentes y controlo la carga de la RAM, luego enciendo 4 más hasta que la RAM está llena en un 80%. Si no toco nada, todo se optimiza sin forzar la unidad. Pero en cuanto me equivoco y añado más agentes, inmediatamente el ssd se pone a tope y por alguna razón el windup descarga la memoria en un 50% aproximadamente. La optimización se ralentiza notablemente y la única forma de solucionarlo es reiniciar el terminal y volver a arrancar. Así.

 

Resultados de la prueba "Tree_Brut_TestPL_F_Fast" para esto:

Agente por núcleo:

2020.01.20 16:28:24.603 Tester  optimization finished, total passes 12
2020.01.20 16:28:24.614 Statistics      optimization done in 0 minutes 20 seconds
2020.01.20 16:28:24.614 Statistics      shortest pass 0:00:18.226, longest pass 0:00:19.507, average pass 0:00:18.679
2020.01.20 16:28:24.614 Statistics      12000 frames (4.71 Mb total, 412 bytes per frame) received
2020.01.20 16:28:24.614 Statistics      local 12 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Agente por hilo:

2020.01.20 16:29:29.065 Tester  optimization finished, total passes 24
2020.01.20 16:29:29.076 Statistics      optimization done in 0 minutes 25 seconds
2020.01.20 16:29:29.076 Statistics      shortest pass 0:00:22.934, longest pass 0:00:24.012, average pass 0:00:23.194
2020.01.20 16:29:29.076 Statistics      24000 frames (9.43 Mb total, 412 bytes per frame) received
2020.01.20 16:29:29.076 Statistics      local 24 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Tree_Brut_TestPL

2020.01.20 16:50:25.514 Statistics      optimization done in 0 minutes 39 seconds
2020.01.20 16:50:25.514 Statistics      shortest pass 0:00:36.626, longest pass 0:00:38.832, average pass 0:00:37.448
2020.01.20 16:50:25.514 Statistics      12000 frames (4.71 Mb total, 412 bytes per frame) received
2020.01.20 16:50:25.514 Statistics      local 12 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


2020.01.20 16:51:48.969 Statistics      optimization done in 1 minutes 01 seconds
2020.01.20 16:51:48.969 Statistics      shortest pass 0:00:54.094, longest pass 0:01:01.868, average pass 0:00:58.784
2020.01.20 16:51:48.969 Statistics      24000 frames (9.43 Mb total, 412 bytes per frame) received
2020.01.20 16:51:48.969 Statistics      local 24 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)

Tree_Brut_TestPL_F

2020.01.20 16:55:17.840 Statistics      optimization done in 0 minutes 57 seconds
2020.01.20 16:55:17.840 Statistics      shortest pass 0:00:53.159, longest pass 0:00:56.540, average pass 0:00:54.924
2020.01.20 16:55:17.840 Statistics      12000 frames (4.71 Mb total, 412 bytes per frame) received
2020.01.20 16:55:17.840 Statistics      local 12 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)


2020.01.20 16:57:48.843 Statistics      optimization done in 2 minutes 18 seconds
2020.01.20 16:57:48.843 Statistics      shortest pass 0:01:57.327, longest pass 0:02:18.116, average pass 0:02:06.879
2020.01.20 16:57:48.843 Statistics      24000 frames (9.43 Mb total, 412 bytes per frame) received
2020.01.20 16:57:48.843 Statistics      local 24 tasks (100%), remote 0 tasks (0%), cloud 0 tasks (0%)
Razón de la queja: