Discussion publique sur la formule de calcul du coût des ressources du réseau en nuage de MQL5 - page 45

 
KARLSON1991:

Je vois, merci, et une autre question, j'ai 4 cœurs et à en juger par le trafic, seul 1 est actif alors que les autres sont allumés, est-ce parce qu'il n'y a pas assez de tâches ? et aussi comment entrer dans le menu contextuel ?

1. La charge des cœurs dépend du nombre de tâches. Si un seul agent est actif et que les autres sont inactifs, cela signifie qu'il n'y a pas assez de tâches dans le nuage.

2. Menu contextuel - identique à celui de Windows - clic droit sur la liste des agents.

 

Bonne journée à tous !

Que s'est-il passé, PR sur 8 agnets de 162 à 184 et aucun rendement ! Pendant six mois, 5 livres se sont à peine accumulées ! Ces derniers temps, je peux dire que l'ordinateur est en déficit. Les gens ont-ils cessé d'utiliser metatrader 5 ?

 

Alors...


Qui va dire quoi ?


)

Ce "système magique" fonctionne-t-il ? Est-ce que ça marche ou pas ? De la part d'une personne qui optimise les EA. C'est vraiment cool. Procurez-vous un PC avec 1 500 cœurs pendant un certain temps.)


Mais de la part de celui qui offre ? Comment ça se passe avec l'offre, etc. Et combien de fois y a-t-il du travail ? Je l'ai branché hier soir par intérêt. J'ai fait tout ce qu'il fallait. Mais, jusqu'à présent, rien. )))))))) Nah. Je ne m'attends pas à ce qu'il me rapporte au moins 30 dollars par mois. Jusqu'à présent, juste pour le plaisir, pendant une semaine allumée. Après ça, si rien. Je vais l'éteindre.)


Mais. Intéressant de connaître les statistiques approximatives, qui continue à le faire. :)



 
Aleksey Radzisheuski:

Alors...

Qui va dire quoi ?

)

Ce "système magique" fonctionne-t-il ? Est-ce que ça marche ou pas ? De la part d'une personne qui optimise les EA. C'est vraiment cool. Procurez-vous un PC avec 1 500 cœurs pendant un certain temps.)

Mais de la part de celui qui offre ? Comment ça se passe avec l'offre, etc. Et combien de fois y a-t-il du travail ? Je l'ai branché hier soir par intérêt. J'ai fait tout ce qu'il fallait. Mais, jusqu'à présent, rien. )))))))) Nah. Je ne m'attends pas à ce qu'il me rapporte au moins 30 dollars par mois. Jusqu'à présent, juste pour le plaisir, pendant une semaine allumée. Après ça, si rien. Je vais l'éteindre.)

Mais. Intéressant de connaître les statistiques approximatives, qui continue à le faire. :)

Ça marche, attends. Habituellement le samedi.
 
Renat Fatkhullin:


Calculs dans le réseau MQL5 Cloud

Les calculs prennent en compte les performances d'un agent testeur et le temps qu'il passe à accomplir une tâche. Chaque agent de contrôle possède son propre indice de performance - PR. Plus la productivité du processeur est élevée, plus l'indice est élevé et plus un agent peut effectuer de calculs par unité de temps.

Actuellement, la comptabilisation de l'argent pour les calculs effectués est basée sur les considérations suivantes. Le coût du travail d'un agent de contrôle avec PR=100 pendant une heure est de 0,01 $. Un quantum est considéré comme une unité de travail, qui est égale au travail de l'agent avec PR=1 pendant 1 ms (1 milliseconde). Ainsi, le coût par quantum est de :

Le tableau montre les calculs pour l'exécution d'un agent de test à noyau unique avec PR=100 pendant 1 heure et pendant 1 mois.


Je me demande si le système tient compte du glissement des performances, en fonction de la charge ?
Par exemple, un I7 à 4 cœurs avec le mode TurboBoost peut fonctionner à 4GHz sans aucune charge (par exemple) et si la charge augmente jusqu'à 100% pour chaque cœur, la fréquence du processeur chute à 3,4GHz (de 15%) par exemple. Ses performances et son RP peuvent donc être surestimés (si le test de performance est effectué sur un seul cœur à la fois et non sur tous en même temps).

Et si le refroidissement du processeur est mauvais, alors le processeur commencera à réduire encore plus les performances, afin de ne pas surchauffer.

Par conséquent, il se peut que les agents dotés de processeurs à 1 ou 2 cœurs (jusqu'à I3) sans TurboBoost soient plus performants ou à égalité avec les agents dotés de TurboBoost (I5, I7). Mais les processeurs I5, I7 seront plus haut dans le classement et seront les premiers à faire le travail plus lentement que les agents I3 et en même temps plus chers.

Exemple
I7-6700 Fréquence turbo = 4GHz, fréquence de base = 3.4GHz
I3-6100 fonctionne toujours à la fréquence de base=3.7GHz
Si le classement est mesuré sur chaque cœur à tour de rôle, I7 mesurera à 4GHz et I3 à 3,7.
Et à pleine charge, les agents individuels sur I7 tourneront à 3,4GHz, c'est-à-dire moins vite que sur I3, et s'il est aussi plus cher, ce serait complètement injuste.

Dans cette situation, je préférerais les agents I3-6100 aux I7-6700
 
elibrarius:

Je me demande si le système tient compte du glissement des performances, en fonction de la charge ?
Par exemple, un I7 à 4 cœurs avec le mode TurboBoost sans charge peut fonctionner à 4GHz (par exemple), mais si la charge augmente à 100% pour chaque cœur, la fréquence du processeur chute à 3,4GHz (de 15%), par exemple. Par conséquent, ses performances et son RP peuvent être surestimés (si le test de performance n'a été effectué que sur un seul cœur à la fois et non sur tous à la fois).

Et si le refroidissement du processeur est mauvais, le processeur commencera à réduire encore plus ses performances, pour ne pas surchauffer.

Par conséquent, il se peut que les agents dotés de processeurs à 1 ou 2 cœurs (jusqu'à I3) sans TurboBoost soient plus performants ou à égalité avec les agents dotés de TurboBoost (I5, I7). Mais les processeurs I5, I7 seront plus haut dans le classement et feront le travail en premier, ce qui les rendra plus lents que les agents I3 et en même temps plus chers.

Exemple
I7-6700 Fréquence turbo = 4GHz, fréquence de base 3.4GHz
I3-6100 fonctionne toujours à la fréquence de base=3.7GHz
Si la cote est mesurée sur chaque cœur à tour de rôle, I7 mesurera à 4GHz et I3 à 3.7.
Et à pleine charge, les agents individuels sur le I7 tourneront à 3,4GHz, c'est-à-dire moins vite que le I3, et s'il est aussi plus cher, ce serait complètement injuste.

Dans cette situation, je préfère avoir des agents sur I3-6100 que sur I7-6700 pour faire le travail.

Il s'agit d'une solution déraisonnablement coûteuse pour l'exploitation minière dans le nuage, comme il se doit :) Et juste pour optimiser les experts... 100 fils et vous pouvez tout optimiser. Ici 32 fils pour 300 livres, pas mal.


 
elibrarius:

Je me demande si le système tient compte du glissement des performances, en fonction de la charge ?
Par exemple, un I7 à 4 cœurs avec le mode TurboBoost sans charge peut fonctionner à 4GHz (par exemple), et si la charge augmente à 100% pour chaque cœur, la vitesse d'horloge du processeur chute à 3,4 GHz (de 15%), par exemple. Ses performances et son RP peuvent donc être surestimés (si le test de performance n'a été effectué que sur un seul cœur à la fois et non sur tous à la fois).

Et si le refroidissement du processeur est mauvais, le processeur commencera à réduire encore plus ses performances pour éviter la surchauffe.

Par conséquent, il se peut que les agents dotés de processeurs à 1-2 cœurs (jusqu'à I3) sans TurboBoost soient plus productifs ou à égalité avec les agents dotés de TurboBoost (I5, I7). Mais dans le même temps, les processeurs I5, I7 seront mieux classés et seront les premiers à faire le travail plus lentement que les agents I3 et en même temps plus chers.

Exemple
I7-6700 Fréquence turbo = 4GHz, fréquence de base = 3.4GHz
I3-6100 fonctionne toujours à la fréquence de base=3.7GHz
Si la cote est mesurée sur chaque cœur à tour de rôle, I7 mesurera à 4GHz et I3 à 3,7.
Et à pleine charge, les agents individuels sur le I7 tourneront à 3,4GHz, c'est-à-dire moins vite que le I3, et s'il est aussi plus cher, ce serait complètement injuste.

Dans cette situation, je préférerais que des agents sur I3-6100 à I7-6700 fassent le travail.

J'ai trouvé une telle option :

Ajouter à onInit.

int OnInit()
  {
   if(MQLInfoInteger(MQL_OPTIMIZATION)){
      if(TerminalInfoInteger(TERMINAL_CPU_CORES)==1)        {  return INIT_AGENT_NOT_SUITABLE;   }//если 1 то системные процессы будут приоритетнее
      if(TerminalInfoInteger(TERMINAL_CPU_CORES)>2)         {  return INIT_AGENT_NOT_SUITABLE;   }//если 4 или 8 то будет TurboBoost. Он при 100% нагр. понизит частоту
      if(TerminalInfoInteger(TERMINAL_MEMORY_PHYSICAL)<7000){  return INIT_AGENT_NOT_SUITABLE;   }//у современных компов, меньше редко ставят
      if(TerminalInfoInteger(TERMINAL_X64)==false)          {  return INIT_AGENT_NOT_SUITABLE;   }//отклонить древние 32 битные компы
   }//агент не подходит для проведения тестирования. После возврата этого кода агент больше не будет получать заданий до самого конца данной оптимизации.

.............

   return(INIT_SUCCEEDED);

}

Bien que nous devions expérimenter quelle option fonctionnera plus rapidement en pratique TERMINAL_CPU_CORES à 2, à 4 ou tous.

J'aimerais aussi connaître la fréquence du processeur...

Un autre problème a surgi, il y a un ordinateur avec 8 agents sur le réseau local, comment puis-je distinguer l'agent dans le réseau local de l'agent dans le nuage ? Pour m'assurer que mon ordinateur est utilisé à 100%.

 
elibrarius:

Vous avez vraiment remarqué le fort décalage (>10-20%) de certains agents dans le nuage ?

Avec la génétique activée ? Lorsque les passes (ensembles de paramètres) sont proches en termes de performance ?

MQ semble avoir eu du mal à accomplir ces tâches de "survol". Il serait plus constructif de ne pas écrire un patch pour vous-même, mais de reproduire le problème en SR pour qu'il soit résolu au niveau du cloud.

 
Andrey Khatimlianskii:

Vous avez vraiment remarqué le fort décalage (>10-20%) de certains agents dans le nuage ?

Avec la génétique activée ? Lorsque les passes (ensembles de paramètres) sont proches en termes de performance ?

MQ semble avoir eu du mal à accomplir ces tâches de "survol". Il serait plus constructif de ne pas écrire un patch pour vous-même, mais de reproduire le problème auprès de SD pour qu'il soit résolu au niveau du cloud.

J'ai écrit à SD, qui pense que les informations sur la nature de l'agent (local/réseau/nuage) sont importantes et méritent d'être incluses dans MT5.

Il faut donc trouver une solution... Apparemment, nous devrons travailler sans sélection par nombre de processeurs. C'est-à-dire seulement > 1 processeur

 
elibrarius:

J'ai écrit à SD, qui pense que les informations sur la nature de l'agent (local/réseau/nuage) sont importantes et méritent d'être incluses dans MT5.

Il faut donc trouver une solution... Apparemment, je vais devoir travailler sans sélection par nombre de processeurs. C'est-à-dire seulement > 1 processeur

Y a-t-il vraiment des freins ? Cela fait longtemps que je n'ai pas opté pour GA dans le nuage.