Frage an Entwickler - Nutzung aller Rechenkerne während der Optimierung

 

Warum nutzt Metatrader 5 (neueste Versionen) während der Optimierung nicht alle verfügbaren Rechenkerne? Ich habe die Kerne, die Berechnungen durchführen, grün markiert, der Rest ist im Leerlauf.

 
Boris Egorov:

Warum nutzt Metatrader 5 (neueste Versionen) während der Optimierung nicht alle verfügbaren Rechenkerne? Ich habe die Kerne, die Berechnungen durchführen, grün markiert, während der Rest im Leerlauf ist.

Sie sind nicht untätig, sondern haben ihre Berechnungen abgeschlossen und warten darauf, dass andere Durchgänge beendet werden.

 
Ihor Herasko:

Sie sind nicht untätig, sondern haben ihre Berechnungen abgeschlossen und warten darauf, dass andere Durchgänge beendet werden.

Genau, worauf warten sie, wenn andere Durchgänge auf anderen Kernen durchgeführt werden können, und es scheint etwas damit zu tun zu haben, ich habe Agenten in meinem Netzwerk, und wenn es heißt, dass sie autorisiert sind, aber die Berechnung noch nicht abgeschlossen ist, zählt es einfach nicht weiter

 
Boris Egorov:

Genau, worauf warten sie, wenn andere Durchgänge auf anderen Kernen gemacht werden können, und es scheint etwas damit zu tun zu haben, ich habe Agenten in meinem Netzwerk, und wenn er sagt, dass er autorisiert ist, aber die Berechnung nicht abgeschlossen ist, zählt er einfach nicht weiter

 
Ich bin im Internet auf QuickCPU gestoßen. Auf der Website, von der ich es heruntergeladen habe, stand etwas Ähnliches. "Viele Programme wissen nicht einmal, dass es Kerne gibt. QuickCPU macht sie für die Arbeit nutzbar." Probieren Sie es aus und sehen Sie, ob es hilft. Ich habe es vonhttps://howdyho.net/ heruntergeladen- schauen Sie nach - es gibt nicht viele Programme dort - viele nützliche Dinge.
 
Boris Egorov:

Genau, worauf warten sie, wenn andere Durchgänge auf anderen Kernen gemacht werden können, und es scheint mit diesem Hänger zusammenzuhängen, ich habe Agenten in meinem Netzwerk, und so, wenn es autorisiert schreibt, aber die Berechnung nicht beendet ist, zählt es einfach nicht weiter

Leider funktioniert das in MT5 so: Pakete werden erzeugt und verteilt, aber wenn sie in einigen Agenten abgeschlossen sind, werden sie nicht weiterverteilt. Darüber habe ich schon viel geschrieben. Es ist eine Schande, dass die Kerne im Leerlauf sind.

Für die Entwickler hat das keine Priorität. Sie scheinen viele Kerne auf ihren Arbeitscomputern zu haben, und die sind schnell, und das gleicht das Problem aus. Außerdem beschäftigen sie sich hauptsächlich mit der Programmierung und nicht mit der Optimierung, wie wir es tun.

 

>So funktioniert der MT5 bei der Verteilung von Auftragspaketen. Pakete werden erzeugt und verteilt, aber wenn einige Agenten fertig sind, werden sie nicht weiterverteilt.

und das ist ein Fehler ... Ich hatte heute einen Stromausfall und die Pakete, die an die Netzwerkagenten verteilt wurden, sind immer noch unauffindbar ....

 
Boris Egorov:

>So funktioniert der MT5 bei der Verteilung von Auftragspaketen. Pakete werden erzeugt und verteilt, aber wenn einige Agenten fertig sind, werden sie nicht weiterverteilt.

und das ist ein Fehler ... Ich hatte heute einen Stromausfall und die Auftragspakete, die an die Agenten verteilt wurden, werden nicht berechnet ....

Zwei Beiträge über Agenten gefunden - #375 und #379

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

Dass nur physische Kerne verwendet werden -

Forum für Handel, automatisierte Handelssysteme und Strategietests

Metatester 5 Agent Manager Strategy Tester sieht keine Prozessor-Threads.

Renat Fatkhullin, 2019.11.27 06:12

Aufgrund des offenkundigen Speichermangels bei zu vielen Agenten und der sinkenden Geschwindigkeit der Berechnungen auf den Hypertrading-Kernen haben wir beschlossen, uns bei der Arbeit in den Cludes nur auf physische Kerne zu beschränken.

Derzeit werden im Cludge sehr kostspielige Aufgaben ausgeführt, und die große Mehrheit der Cludge-Teilnehmer hat einfach nicht genug Speicherplatz, wenn es zu viele Agenten gibt. So erfordern z. B. 2 GB pro Agent und 16 Agenten bereits mindestens 32 GB Arbeitsspeicher, obwohl in der Regel nur 8-16 GB zur Verfügung stehen.

Infolgedessen werden viele Durchläufe vermasselt, was zu einer unnötigen Belastung des Netzes und der Agenten führt. Vor allem aber verlangsamt sich die Berechnung durch das Warten auf Ergebnisse und den Neustart von Aufgaben.

Seit langem prüfen wir die ungefähre Ressourcenausstattung von Agenten, bevor wir sie mit Aufgaben betrauen, und eine der effektivsten Methoden besteht darin, nur auf physischen Kernen in der Cloud zu arbeiten.

Lokal können Sie alle Kerne verwenden, da Sie sie leicht deaktivieren können.

Und dies ist ein Beitrag darüber, wie sich das alles weiter entwickelt -

Forum zum Thema Handel, automatisierte Handelssysteme und Testen von Handelsstrategien

Metatester 5 Agent Manager Strategy Tester sieht keine Prozessor-Threads.

Renat Fatkhullin, 2019.11.27 07:18

Nach der Veröffentlichung werden wir die Ressourcenverwaltung des Testers und seiner Agenten radikal überarbeiten.

Dies wird sich vor allem auf die Effizienz der örtlichen Bediensteten auswirken.


 

Ich habe keine solchen Probleme, es sieht Threads und ist nicht auf physische Kerne beschränkt ... das Bild zeigt die Parameter der Prozessoren und die Speichergröße ...

das mit dem speicher verstehe ich überhaupt nicht - wozu auslagern? winde waren noch nie auf die Menge des RAM beschränkt.... Es ist mir also nicht klar, wo das Problem von Anfang an liegt.

>Wussten Sie, dass es neben SMT2 auch SMT4 und SMT8 gibt - wenn ein physischer Kern 4 oder 8 Threads gleichzeitig ausführen kann, statt 2 wie bei Intel? Und das ist ein globaler Trend im Hochleistungsrechnen, diese Prozessoren betreiben den leistungsstärksten Supercomputer der Welt. Ich würde nicht empfehlen, mit Metatrader das zu tun, was erfahrenere Leute tun.


Das Problem ist ein anderes, und es wird in der Abbildung dargestellt

zum Beispiel, es gibt 20 Kerne, 19 haben Berechnungen abgeschlossen und sind im Leerlauf, und man braucht weitere 10 Berechnungen, warum nicht tun, diese Berechnungen auf freie Kerne / Threads - so ist die Lösung nicht zu jedem Kern ein Bündel von Aufträgen auf einmal zu geben, und geben nur einen Job, das Prinzip ist einfach: ein Thread - ein Job, fertig wird der nächste Job ...

 
Boris Egorov:

Ich habe keine solchen Probleme, es sieht Threads und ist nicht auf physische Kerne beschränkt ... das Bild zeigt die Parameter der Prozessoren und der Speichergröße ...

das mit dem speicher verstehe ich überhaupt nicht - wozu auslagern? winde waren noch nie auf die Menge des RAM beschränkt.... Es ist mir also nicht klar, wo das Problem von Anfang an liegt.

>Wussten Sie, dass es neben SMT2 auch SMT4 und SMT8 gibt - wenn ein physischer Kern 4 oder 8 Threads gleichzeitig ausführen kann, statt 2 wie bei Intel? Und das ist ein globaler Trend im Hochleistungsrechnen, diese Prozessoren betreiben den leistungsstärksten Supercomputer der Welt. Ich würde nicht empfehlen, mit Metatrader das zu tun, was erfahrenere Leute tun.


Das Problem ist ein anderes, und es wird in der Abbildung dargestellt

Wenn ich zum Beispiel 20 Kerne habe, 19 haben die Berechnungen abgeschlossen und sind im Leerlauf, und 10 weitere Berechnungen werden auf einem von ihnen benötigt, warum sollte ich nicht freie Kerne/Threads verwenden, anstatt jedem Kern einen Haufen Jobs zu geben, nur einen, das Prinzip ist einfach: ein Thread - ein Job, wenn Sie einen Job beenden, gibt Ihnen den nächsten Job...

Ich stimme Ihnen zu, das ist eine vernünftige Idee. Ich verwende zwar keine Optimierung, aber als ich das tat, habe ich mich immer gewundert, warum alle Threads die Optimierung abgeschlossen hatten und einer noch mehrere Durchläufe bekam. Ist es nicht möglich, die verbleibenden Aufgaben umzuverteilen...

Grund der Beschwerde: