Renat: Если долго шлифовать систему распределенной сети, то результат получается хороший.
PF 0 MQL5 Cloud Europe 200:24:16 genetic pass (264, 0, 188) started
JL 0 MQL5 Cloud Europe 200:29:07 connection closed
ID 0 MQL5 Cloud Europe 200:29:07 connecting to 3.agents.mql5.com:443
GL 0 Tester 00:29:07 cloud server MQL5 Cloud Europe selected for genetic computation
KO 0 MQL5 Cloud Europe 200:29:07 connected
JP 0 MQL5 Cloud Europe 200:29:10 authorized (server build 696)
RG 0 Tester 00:30:11 Best result 32.12073652718463 produced at generation 20. Next generation 21
KJ 0 MQL5 Cloud Europe 00:30:11 common synchronization completed
GN 0 MQL5 Cloud Europe 01:57:24 connection closed
CI 0 MQL5 Cloud Europe 201:57:24 connection closed
MS 3 Tester 01:57:24 genetic pass (21, 285) not processed and added to task queue
II 3 Tester 01:57:24 genetic pass (21, 498) not processed and added to task queue
PO 3 Tester 01:57:24 genetic pass (21, 499) not processed and added to task queue
GQ 0 MQL5 Cloud Europe 01:57:24 genetic pass (21, 285) returned to queue
NF 0 Tester 01:57:24 genetic pass (21, 499) already processed
KN 0 Tester 01:57:24 genetic pass (21, 498) already processed
OJ 0 Core 101:57:24 genetic pass (285, 0, 1) started
PS 0 Core 201:57:24 genetic pass (285, 0, 1) started
были выданы задания локальным + удалённым агентам + клауд. Подвис один проход на клауде. Спустя почти полтора часа ожидания, отключил клауд - задачи перебросились на локальные агенты. Скорость прогона - в пределах 1-3-х минут:
DP 0 Core 102:14:59 genetic pass (23, 256) returned result 4.45in45 sec
LH 0 Core 102:14:59 genetic pass (273, 0, 1) started
CP 0 Core 502:14:59 genetic pass (23, 260) returned result 2.64in46 sec
OH 0 Core 502:14:59 genetic pass (274, 0, 1) started
PS 0 Core 602:15:01 genetic pass (23, 261) returned result 3.37in48 sec
HH 0 Core 602:15:01 genetic pass (278, 0, 1) started
KQ 0 Core 802:15:03 genetic pass (23, 264) returned result -0.01in50 sec
CG 0 Core 802:15:03 genetic pass (279, 0, 1) started
PP 0 Core 202:15:06 genetic pass (23, 257) returned result -0.01in52 sec
DG 0 Core 202:15:06 genetic pass (280, 0, 1) started
NP 0 Core 302:15:07 genetic pass (23, 258) returned result -0.01in53 sec
В общем, на полтора часа никак не тянет.
P. S. Включил клауд на "лету". Из-за пропадания интернета, отвалились удалённые агенты. Потом не хотели подключаться (состаяние autorized; не подключались как минимум два генетических поколения) - видимо тестер решил, что задач и на клауд хватит, а халявные агенты пусть отдохнут. Отключил "клауд". Подключились удалённые агенты. Включил клауд. Ну и в итоге получил подвисание.
Сеть таки нужно немного допилить, чтобы небыло подобных ситуаций (например, запоминать максимальное время прохода и если ожидание прохода длится в 2 раза дольше максимального времени прохода - запустить тот же процесс на лучшем ядре из локальных (или удалённых)).
+ скорость генетики зависит от скорости самого слабого ядра - если у моих ядер PR - 160-180, а задачи в cloud раздаются ядрам вплоть до 100. В итоге, каждое поколение, мои ядра вынуждены простаивать существенное время и ожидать ответов от cloud для генерации новой популяции. Думаю, что следует отказаться от ограничения в 100PR, а выдавать в первую очередь те агенты, PR которых больше PR самого слабого локального ядра (+или удалённого ядра, если такие подключены). Если таковых нет, то нагрузку следует как-то балансировать по времени. Например, если предположить, что все проходы проходят на одном и том же ядре с одинаковой скоростью (в жизни, конечно не так, но многие эксперты с некоторыми допущениями, можно назвать стабильными по времени тестирования, независимо от параметров). Если PR локального ядра 150, а PR ядра в клауд - 100, тогда локальному агенту нужно дать задач в 1,5 раза больше нежели агенту в клауд. Или же, при меньшем PR не выдавать агентам в клауд задачи пачками, а по одной штуке, но более широкому кругу агентов. В этом случае, простои будут минимальны. В общем, хотелось бы увидеть продвижения в этом вопросе
Кстати, ктонить на ssd пробовал агентов расшаривать? Учитывая как у меня винт хрустеть начинает на 8 агентах, даже без задач, что-то есть подозрение, что ресурс ssd быстро заканчивается. И при тестировании достаточно легкого советника, скорость вычисления, в скорость винтчестера упираться начинает. Скок там терабайт прокачивается в кеше вопрос хороший)
sion: Кстати, ктонить на ssd пробовал агентов расшаривать? Учитывая как у меня винт хрустеть начинает на 8 агентах, даже без задач, что-то есть подозрение, что ресурс ssd быстро заканчивается. И при тестировании достаточно легкого советника, скорость вычисления, в скорость винтчестера упираться начинает. Скок там терабайт прокачивается в кеше вопрос хороший)
Есть такая буква в алфавите (я про ssd), но конкретных тестов не делал: т.к. сервер с таким девайсом находится на другом конце города. Но, ИМХО, в любой системе есть дисковый кэш, который сглаживает частые обращения к диску.
Интересно, кто столько ресурсов под это облако расшарил, износ системы с потреблением электричества, явно больше чем 2-3 цента в день. Несколько раз пытался предоставлять ресурсы, но уж больно гиблое дело, если меньше 10Гб на винте(при 9 Гб оперативы), при некоторых загрузках генетикой, систему просто тупо вешает, даже если и не съест все свободное место(оперативы и т.д. вплоть до свопа), один фиг винт на полную пытается кеш прокачать, что приводит к диким тормозам.
Решил пооптимизировать простенький гридер (таймер 30 сек, контроль нового m1 бара) на всех тиках по двум парам. Мои 4 ядра i5 (PR=160-170) и 8 ядер i7 (PR=170-180) выдали время оптмизации в р-не 90 (!) часов.
Потом оказалось, что проходы на i5 тестятся раза в 2 медленнее (хотя, как я несколько раз уже писал, ранее всё было на оборот - i5 + winxp64 был быстрее i7 + win7x64). Сначала скосил на память - её на i7 больше.
А потом случайно глянул в диспетчер задач и увидел, что агенты имеют наинизший приоритет (Low). Причём, на обеих машинах. И если на win7 мне удалось поднять приоритет до Normal, то winxp64bit почему-то не разрешает. За полдня с новыми приоритетами на i7 время тестирования сократилось (вродебы :)) на несколько часов.
Такие "тормоза" вроде как два последних билда наблюдаются (а может мне это только кажется).
А приоритет Low - это слишком жестоко - если оборудование минимум 12 часов в сутки может дать агентам максимальный приоритет.
В общем, думал, что приоритет как-то автоматом от загрузки ресурсов меняется, но похоже, что сам он не меняется :(
Боюсь, что при 24 агентах на 8 ядрах (4 по сути + гипертрейдинг) Вы всю производительность процессора потратите на обеспечение инфраструктуры.
При выставлении излишнего количества агентов происходит сильное падение их индекса производительности PR, что приводит к кратному снижению оплаты.
Давно не пользовался облаком. Решил использовать при подборе параметров. Работа облака ПРИЯТНО удивила.
Если долго шлифовать систему распределенной сети, то результат получается хороший.
В общем, на полтора часа никак не тянет.
P. S. Включил клауд на "лету". Из-за пропадания интернета, отвалились удалённые агенты. Потом не хотели подключаться (состаяние autorized; не подключались как минимум два генетических поколения) - видимо тестер решил, что задач и на клауд хватит, а халявные агенты пусть отдохнут. Отключил "клауд". Подключились удалённые агенты. Включил клауд. Ну и в итоге получил подвисание.
Сеть таки нужно немного допилить, чтобы небыло подобных ситуаций (например, запоминать максимальное время прохода и если ожидание прохода длится в 2 раза дольше максимального времени прохода - запустить тот же процесс на лучшем ядре из локальных (или удалённых)).
+ нужно доработать TerminalInfoInteger(TERMINAL_MEMORY_AVAILABLE)
+ скорость генетики зависит от скорости самого слабого ядра - если у моих ядер PR - 160-180, а задачи в cloud раздаются ядрам вплоть до 100. В итоге, каждое поколение, мои ядра вынуждены простаивать существенное время и ожидать ответов от cloud для генерации новой популяции. Думаю, что следует отказаться от ограничения в 100PR, а выдавать в первую очередь те агенты, PR которых больше PR самого слабого локального ядра (+или удалённого ядра, если такие подключены). Если таковых нет, то нагрузку следует как-то балансировать по времени. Например, если предположить, что все проходы проходят на одном и том же ядре с одинаковой скоростью (в жизни, конечно не так, но многие эксперты с некоторыми допущениями, можно назвать стабильными по времени тестирования, независимо от параметров). Если PR локального ядра 150, а PR ядра в клауд - 100, тогда локальному агенту нужно дать задач в 1,5 раза больше нежели агенту в клауд. Или же, при меньшем PR не выдавать агентам в клауд задачи пачками, а по одной штуке, но более широкому кругу агентов. В этом случае, простои будут минимальны. В общем, хотелось бы увидеть продвижения в этом вопросе
За последние 12 часов, сеть подвисала ещё три раза :(
(И в журналах по генетике встречаются агенты с PR < 100)
Кстати, ктонить на ssd пробовал агентов расшаривать? Учитывая как у меня винт хрустеть начинает на 8 агентах, даже без задач, что-то есть подозрение, что ресурс ssd быстро заканчивается. И при тестировании достаточно легкого советника, скорость вычисления, в скорость винтчестера упираться начинает. Скок там терабайт прокачивается в кеше вопрос хороший)
Есть такая буква в алфавите (я про ssd), но конкретных тестов не делал: т.к. сервер с таким девайсом находится на другом конце города. Но, ИМХО, в любой системе есть дисковый кэш, который сглаживает частые обращения к диску.
Решил пооптимизировать простенький гридер (таймер 30 сек, контроль нового m1 бара) на всех тиках по двум парам. Мои 4 ядра i5 (PR=160-170) и 8 ядер i7 (PR=170-180) выдали время оптмизации в р-не 90 (!) часов.
Потом оказалось, что проходы на i5 тестятся раза в 2 медленнее (хотя, как я несколько раз уже писал, ранее всё было на оборот - i5 + winxp64 был быстрее i7 + win7x64). Сначала скосил на память - её на i7 больше.
А потом случайно глянул в диспетчер задач и увидел, что агенты имеют наинизший приоритет (Low). Причём, на обеих машинах. И если на win7 мне удалось поднять приоритет до Normal, то winxp64bit почему-то не разрешает. За полдня с новыми приоритетами на i7 время тестирования сократилось (вродебы :)) на несколько часов.
Такие "тормоза" вроде как два последних билда наблюдаются (а может мне это только кажется).
А приоритет Low - это слишком жестоко - если оборудование минимум 12 часов в сутки может дать агентам максимальный приоритет.
В общем, думал, что приоритет как-то автоматом от загрузки ресурсов меняется, но похоже, что сам он не меняется :(