Domanda per gli sviluppatori - usare tutti i core di calcolo durante l'ottimizzazione

 

Perché durante l'ottimizzazione metatrader 5 (ultime versioni) non utilizza tutti i core di calcolo disponibili? In verde ho segnato i core che eseguono i calcoli, il resto è inattivo.

 
Boris Egorov:

Perché durante l'ottimizzazione Metatrader 5 (ultime versioni) non utilizza tutti i core di calcolo disponibili? In verde ho segnato i core che eseguono i calcoli, mentre il resto è inattivo.

Non sono inattivi, hanno finito i calcoli e stanno aspettando che altri passaggi finiscano.

 
Ihor Herasko:

Non sono inattivi, ma hanno finito i calcoli e stanno aspettando che altri passaggi finiscano.

Esattamente, cosa stanno aspettando quando altri passaggi possono essere fatti su altri core e sembra avere qualcosa a che fare con questo, ho agenti sulla mia rete, e quando dice autorizzato ma il calcolo non è finito semplicemente non conta più

 
Boris Egorov:

Esattamente, che cosa stanno aspettando quando altri passaggi possono essere fatti su altri core e sembra avere qualcosa a che fare con questo, ho agenti sulla mia rete, e quando dice autorizzato ma il calcolo non è finito semplicemente non conta su

 
Mi sono imbattuto in QuickCPU su internet. Il sito web da cui l'ho scaricato dice qualcosa del genere. "Molti programmi non sanno nemmeno che esistono i core. QuickCPU li sfrutta per lavorare". Prova e vedi se ti aiuta. L'ho scaricato dahttps://howdyho.net/ - cercalo - non ci sono molti programmi lì - un sacco di roba utile.
 
Boris Egorov:

Esattamente, cosa stanno aspettando quando altri passaggi possono essere fatti su altri core e sembra essere legato a questo blocco, ho agenti nella mia rete, e così quando scrive autorizzato ma il calcolo non è finito semplicemente non conta più

Sfortunatamente, è così che funziona in MT5: i pacchetti sono generati e distribuiti, ma quando sono completati in alcuni agenti, non vengono ridistribuiti. Ho già scritto molto su questo argomento. È un peccato che i core siano inattivi.

Gli sviluppatori non la considerano una priorità. Sembra che abbiano un sacco di core sui loro computer da lavoro e sono veloci, e questo pareggia il problema. Inoltre, sono principalmente impegnati nella programmazione, non nell'ottimizzazione, come noi.

 

>Questo è il modo in cui funziona la MT5 per distribuire i pacchetti di lavori. i pacchetti sono generati, distribuiti, ma quando alcuni agenti finiscono, non vengono ridistribuiti.

e questo è un errore ... Ho avuto un'interruzione di corrente oggi e i pacchetti che sono stati distribuiti agli agenti di rete sono ancora irreperibili ....

 
Boris Egorov:

>Questo è il modo in cui funziona la MT5 per distribuire i pacchetti di lavori. i pacchetti sono generati, distribuiti, ma quando alcuni agenti finiscono, non vengono ridistribuiti.

e questo è un errore ... Ho avuto un'interruzione di corrente oggi e i pacchetti di lavori che sono stati distribuiti agli agenti non vengono calcolati ....

Ho trovato due post sugli agenti - #375 e #379

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

Riguardo all'uso dei soli core fisici -

Forum sul trading, sistemi di trading automatico e tester di strategie

Metatester 5 agent manager strategy tester non vede i thread del processore.

Renat Fatkhullin, 2019.11.27 06:12

A causa della franca mancanza di memoria con troppi agenti e del calo di velocità dei calcoli sui core di hypertrading, abbiamo deciso di limitarci ai core fisici solo quando si lavora nei cludi.

Attualmente ci sono compiti molto costosi che vengono eseguiti nel cludge, e la grande maggioranza dei partecipanti al cludge semplicemente non ha abbastanza memoria quando ci sono troppi agenti. Per esempio, 2 gb per agente e 16 agenti richiedono già almeno 32 gb di memoria, anche se di solito ci sono 8-16 gb disponibili.

Di conseguenza, un sacco di passaggi si incasinano, sprecando il carico della rete e dell'agente. Soprattutto, rallenta il calcolo a causa dell'attesa dei risultati e del riavvio dei compiti.

Abbiamo valutato a lungo l'adeguatezza approssimativa delle risorse degli agenti prima di assegnare loro dei compiti, e uno dei metodi più efficaci è quello di lavorare solo su core fisici nel cloud.

Localmente, si possono usare tutti i core, dato che si può facilmente riuscire a disabilitarli.

E questo post è su come tutto si sviluppa ulteriormente -

Forum sul trading, sistemi di trading automatico e test di strategie di trading

Metatester 5 agent manager strategy tester non vede i thread della CPU.

Renat Fatkhullin, 2019.11.27 07:18

Dopo il rilascio, stiamo intraprendendo una revisione radicale della gestione delle risorse del tester e dei suoi agenti.

Questo influenzerà principalmente l'efficienza degli agenti locali.


 

Non ho questi problemi, vede i thread e non si limita ai core fisici... l'immagine mostra i parametri dei processori e la dimensione della memoria ...

Per quanto riguarda la memoria non capisco affatto - swap per cosa? i venti non sono mai stati limitati alla quantità di RAM .... quindi non mi è chiaro dove sia il problema fin dall'inizio

>Sapete che oltre a SMT2, ci sono SMT4, SMT8 - quando un core fisico può fare 4 o 8 threads simultaneamente, invece di 2 come in Intel? E questa è una tendenza globale nel calcolo ad alte prestazioni, questi processori stanno eseguendo il più potente supercomputer sulla terra. Non consiglierei di fare con Metatrader quello che fanno le persone più esperte.


Il problema è diverso ed è presentato nell'immagine

per esempio, ci sono 20 core, 19 hanno finito i calcoli e sono inattivi, e uno ha bisogno di altri 10 calcoli, perché non fare questi calcoli su core/threads liberi - quindi la soluzione non è quella di dare ad ogni core un mucchio di lavori in una volta, e dare solo un lavoro, il principio è semplice: un thread - un lavoro, finito ottiene il prossimo lavoro ...

 
Boris Egorov:

Non ho questi problemi, vede i thread e non si limita ai core fisici... l'immagine mostra i parametri dei processori e la dimensione della memoria ...

Per quanto riguarda la memoria non capisco affatto - swap per cosa? i venti non sono mai stati limitati alla quantità di RAM .... quindi non mi è chiaro dove sia il problema fin dall'inizio

>Sapete che oltre a SMT2, ci sono SMT4, SMT8 - quando un core fisico può fare 4 o 8 threads simultaneamente, invece di 2 come in Intel? E questa è una tendenza globale nel calcolo ad alte prestazioni, questi processori stanno eseguendo il più potente supercomputer sulla terra. Non consiglierei di fare con Metatrader quello che fanno le persone più esperte.


Il problema è diverso ed è presentato nell'immagine

Il problema è diverso ed è presentato nell'immagine: avete, per esempio, 20 core, 19 hanno finito i calcoli e sono inattivi, e 10 calcoli in più sono richiesti su uno di loro, perché non dovrebbero usare i core/threads liberi invece di dare ad ogni core un mucchio gigantesco di lavori, solo un lavoro, il principio è semplice: un thread - un lavoro, quando si finisce si ottiene il lavoro successivo...

Sono d'accordo con te, è un'idea sensata. Anche se non sto usando l'ottimizzazione, ma quando lo facevo, mi chiedevo sempre perché tutti i thread avessero finito l'ottimizzazione e uno avesse diversi altri passaggi. Non è possibile ridistribuire i compiti rimanenti...

Motivazione: