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

 
Renat Fatkhullin:
Der Umbau des Testers hat für uns jetzt Priorität. Vieles wird umgeschrieben werden.

Das Problem eines rationellen Taskmanagers ist gelöst.

Wir möchten wissen, bis wann der Fehler behoben sein muss, bitte so schnell wie möglich... Können Sie uns eine ungefähre Zeitspanne nennen, in der wir warten müssen?

 
Maksim Emeliashin:

Ich habe schon oft über dieses Problem geschrieben, aber ich wurde geschickt, um zu lesen, wie der genetische Algorithmus funktioniert. Ich weiß, wie es funktioniert, und in meinem 4. Studienjahr habe ich es sogar selbst im Rahmen eines Praktikums eingeführt.

Meine Situation war sogar noch schlimmer, hier ist ein Screenshot:


Mit der Version 2286 ist es besser geworden, es gibt keinen so offensichtlichen Fehler mehr, aber die Hälfte der Agenten scheitert immer noch regelmäßig und endgültig. Ich weiß, wie man es reparieren kann, aber es ist sehr mühsam.

Beschreiben Sie das Problem!

Je älter die Generation, desto weniger Kerne werden für die Berechnung benötigt.

Wie können 18 Agenten für 3-4-5 einzigartige Parametersätze in der nächsten Generation verwendet werden?

Sie sagen, Sie wissen, wie Genetik funktioniert - geben Sie uns Ihre Vorschläge

 
Boris Egorov:

Wir bitten um Verständnis für die Frist zur Behebung des Fehlers, bitte so bald wie möglich ... Können Sie uns eine ungefähre Zeitspanne nennen, in der wir warten müssen?

Auf welchen Fehler beziehen Sie sich?

Haben Sie gelesen, wie der genetische Optimierungsalgorithmus funktioniert?

 
Slava:

Beschreiben Sie das Problem!


Ich werde eine Lösung beschreiben, die keine Kenntnis des Algorithmus erfordert.

Schalten Sie einen Prozessorkern ab, wenn das Problem auftritt (die Hälfte der lokalen oder Netzwerk-Agenten ist ausgefallen). Es ist wichtig, den Kern, der gerade läuft, zu deaktivieren.

2. Den Kernel wieder einschalten.

Und plötzlich sind alle anderen lokalen und Netzwerk-Agenten eingeschaltet und funktionieren bis zum Schluss einwandfrei.

 
Maksim Emeliashin:

Ich werde eine Lösung beschreiben, die keine Kenntnis des Algorithmus erfordert.

Trennen Sie einen der Prozessorkerne zum Zeitpunkt des Auftretens der Situation (die Hälfte der lokalen oder Netzwerk-Agenten wird abgeschaltet). Es ist wichtig, den Kern, der gerade läuft, zu deaktivieren.

2. Den Kernel wieder einschalten.

Plötzlich sind alle anderen lokalen und Netzwerk-Agenten online und funktionieren bis zum Ende einwandfrei.

Ja, ich vermute sogar, warum der "Fehler" auftritt und warum dieser Tippgeber ihn "behebt". Aber ohne den Quellcode der spezifischen MQ-Implementierung vor Augen zu haben, ist es sinnlos, darüber zu spekulieren.

Aber selbst wenn wir die Blackbox vor uns sehen, können wir davon ausgehen, dass das Problem in der Verteilung der Jobpakete zwischen den Agenten liegt.

 
Slava:

Auf welchen Fehler beziehen Sie sich?

Haben Sie gelesen, wie der genetische Optimierungsalgorithmus funktioniert?

Ich brauche den Algorithmus nicht zu kennen, obwohl ich ihn kenne.

Und Sie brauchen nicht den Klugscheißer zu spielen, denn es sieht nicht danach aus.

Wenn Sie frühere Beiträge nicht gelesen haben und keine Bilder sehen - mischen Sie sich nicht ein und zeigen Sie nicht Ihre Unwissenheit.

der Fehler ist .... Das war in früheren Versionen nicht der Fall, und es ist nicht zu leugnen.

Es erstaunt mich manchmal, dass manche Leute aus dem Nichts auftauchen, nichts lesen und dann so tun, als seien sie schlau.

Slava - lesen Sie meine früheren Beiträge mit Bildern, alles ist dort detailliert beschrieben, ich bin selbst Programmierer, aber ich tue nicht solche dummen Dinge, Sie reden Unsinn über Generationen ... Es ist sinnlos zu erklären, wenn Sie nicht lesen, früheren Beiträge mit Bildern, außerdem denke ich, Sie wissen nicht, den Algorithmus selbst ...

>Je älter die Generation, desto weniger Kerne werden für die Berechnungen benötigt.

>Wie kann man 18 Agenten für 3-4-5 einzigartige Parametersätze in der nächsten Generation verwenden?

in der zweiten Generation funktioniert es von Anfang an so, in meinem Fall zähle ich noch 70-80k Varianten... Esakzeptiert viele Aufträge NUR für lokale Agenten undakzeptiertüberhauptkeineNetzwerkagenten, tatsächlich wurden alle Netzwerkagenten komplett deaktiviert, die Optimierung funktioniert nicht von Anfang an, der Fehler ist KRITISCH und muss sofort behoben werden

 
Boris Egorov:

Ich brauche den Algorithmus nicht zu kennen, obwohl ich ihn kenne.

Und Sie brauchen nicht den Klugscheißer zu spielen, denn es sieht nicht danach aus.

Wenn Sie frühere Beiträge nicht gelesen haben und keine Bilder sehen - mischen Sie sich nicht ein und zeigen Sie nicht Ihre Unwissenheit.

der Fehler ist .... Das war in früheren Versionen nicht der Fall, und es ist nicht zu leugnen.

Es erstaunt mich manchmal, dass manche Leute aus dem Nichts auftauchen, nichts lesen und so tun, als seien sie schlau.

Slava - lesen Sie meine früheren Beiträge mit Bildern, ist alles im Detail beschrieben, ich bin ein Programmierer selbst, aber ich nicht tun, solche dummen Dinge, über Generationen Sie schreiben Unsinn ... Es ist sinnlos zu erklären, wenn Sie nicht gelesen haben früheren Beiträge mit Bildern, außerdem denke ich, Sie wissen nicht, den Algorithmus selbst...

Sie haben einen Screenshot gezeigt. Ohne jegliche Beschreibung, außer "nicht alle Kerne sind geladen".

Aus diesem Screenshot können Sie ersehen, dass die Genetik funktioniert, die Berechnung der zweiten Generation. Die minimale und maximale Ausführungszeit pro Aufgabe ist unbekannt. Wie lange die durchschnittliche Ausführungszeit ist, ist ebenfalls unbekannt - die richtige Stelle im Screenshot ist einfach geschlossen.

Auch hier eine Vermutung - die durchschnittliche Ausführungszeit ist sehr kurz. Daher wurde der Mechanismus zur Umverteilung von Arbeitsplätzen noch nicht aktiviert.

Der Mechanismus für die Weiterverteilung hat sich gegenüber früheren Versionen nicht geändert. Mindestens ein halbes Jahr lang. Es scheint, dass die meisten der zufällig gewählten Parameter für diese Strategie nicht geeignet sind, so dass die meisten Durchläufe sehr schnell beendet wurden.

Dies ist nur eine Diagnose aus einem unvollständigen Screenshot. Ohne jegliche Protokolle.

 
Slava:

Sie haben einen Screenshot gezeigt. Ohne eine andere Beschreibung als "nicht alle Kerne geladen".

Aus diesem Screenshot ist ersichtlich, dass die Genetik funktioniert, die Berechnung der zweiten Generation. Die minimale und maximale Ausführungszeit pro Auftrag ist unbekannt. Was die durchschnittliche Ausführungszeit ist auch unbekannt - der rechte Teil des Screenshots ist gerade geschlossen.

Auch hier eine Vermutung - die durchschnittliche Ausführungszeit ist sehr kurz. Daher wurde der Mechanismus zur Umverteilung von Arbeitsplätzen noch nicht aktiviert.

Der Mechanismus für die Weiterverteilung hat sich gegenüber früheren Versionen nicht geändert. Mindestens ein halbes Jahr lang. Es sieht so aus, als ob die meisten der zufällig gewählten Parameter für diese Strategie nicht geeignet sind, weshalb die meisten Durchläufe sehr schnell beendet wurden.

Dies ist nur eine Diagnose aus einem unvollständigen Screenshot. Ohne jegliche Protokolle.

Ich benutze volle Überschreitung und deutlich geschrieben - dass vor der Optimierung dauerte 3 Stunden jetzt 11 und eine Hälfte ... - ist dies Ihre Antwort.

>Die minimale und maximale Ausführungszeit pro Auftrag ist unbekannt. Wie lange die durchschnittliche Ausführungszeit ist, ist ebenfalls unbekannt - die richtige Stelle im Screenshot ist einfach geschlossen.

Das brauchen Sie gar nicht zu wissen.

>Der Mechanismus zur erneuten Freigabe hat sich gegenüber früheren Versionen nicht geändert. Mindestens ein halbes Jahr lang. Es sieht so aus, als ob die meisten der zufällig gewählten Parameter für diese Strategie nicht geeignet sind, so dass die meisten Durchläufe sehr schnell beendet wurden.

es begann alles nach den letzten Updates, ich habe das Programm nicht verändert, ich mache im Grunde nur Berechnungen mit verschiedenen Parametern, ich sage Ihnen, dass das gleiche Programm (ohne Neukompilierung) mit den gleichen Parametern verwendet, um 3 Stunden zu optimieren, jetzt ist es 11 und eine Hälfte, und ich sage Ihnen - alle Netzwerk-Agenten sind in der Tat deaktiviert .... Sagen Sie also nicht, dass sich der Verteilungsmechanismus nicht verändert hat - er hat sich definitiv verändert.

 
Boris Egorov:

Ich benutze die volle Überschreitung und habe deutlich geschrieben, dass die Optimierung vorher 3 Stunden gedauert hat und jetzt 11 und eine Hälfte ... - Das ist Ihre Antwort.

>Was ist die minimale und maximale Ausführungszeit pro Auftrag - unbekannt. Wie lange die durchschnittliche Ausführungszeit ist, ist ebenfalls unbekannt - die richtige Stelle im Screenshot ist einfach geschlossen.

Das brauchen Sie gar nicht zu wissen.

>Der Mechanismus zur erneuten Freigabe hat sich gegenüber früheren Versionen nicht geändert. Mindestens ein halbes Jahr lang. Es sieht so aus, als ob die meisten der zufällig gewählten Parameter für diese Strategie nicht geeignet sind, so dass die meisten Durchläufe sehr schnell beendet wurden.

es begann alles nach den letzten Updates, ich habe das Programm nicht verändert, ich mache im Grunde nur Berechnungen mit verschiedenen Parametern, ich sage Ihnen, dass das gleiche Programm (ohne Neukompilierung) mit den gleichen Parametern verwendet, um 3 Stunden zu optimieren, jetzt ist es 11 und eine Hälfte, und ich sage Ihnen - alle Netzwerk-Agenten sind in der Tat deaktiviert .... Sagen Sie also nicht, dass sich der Vertriebsmechanismus nicht verändert hat - er hat sich definitiv verändert.

Sie haben keine Protokolle vorgelegt.

Warum zählen Ihre Fernagenten nicht? Warum haben sie Build 2214? Ist das Client-Terminal auch ein 2214er Build?

 
Slava:

Sie haben keine Protokolle vorgelegt.

Warum werden Ihre Fernagenten nicht gezählt? Warum ist ihr Build 2214? Ist das Client-Terminal auch auf dem Stand 2214?

2286

Wenn Sie Logs benötigen, ist es schwierig, einen Expert Advisor mit einem großen Optimierungsset zu verwenden.

aber wenn Sie mir sagen, wo ich die Protokolle platzieren soll, werde ich es versuchen

Ich verstehe einfach nicht, dass die Protokolle in einiger Zeit überschreiten alle vorstellbaren Größe, und deaktivieren oder begrenzen sie in irgendeiner Weise nicht will, so dass ich sie zu reinigen haben

ich kann es nur in etwa 12 Stunden schaffen, wenn ich eine neue Berechnung durchführe

Der obige Rat, einen der Arbeitskerne zu deaktivieren, funktioniert übrigens :-), was einen Fehler im Verteilungsalgorithmus bestätigt