Вопрос разработчикам - использование всех вычислительных ядер при оптимизации

 

Почему при оптимизации метатрейдер 5 (последние версии) не использует все доступные вычислительные ядра?  Зеленым пометил ядра что ведут расчеты, остальные простаивают.

 

 
Boris Egorov:

Почему при оптимизации метатрейдер 5 (последние версии) не использует все доступные вычислительные ядра?  Зеленым пометил ядра что ведут расчеты, остальные простаивают.

Они не простаивают, а закончили расчеты и ждут, пока закончатся другие проходы.

 
Ihor Herasko:

Они не простаивают, а закончили расчеты и ждут, пока закончатся другие проходы.

вот именно, чего они ждут когда другие проходы можно сделать на других ядрах и похоже с этим связано зависание, у меня в сети агенты, и вот когда он пишет authorized но расчет не закончен то дальше просто не считает

 
Boris Egorov:

вот именно, чего они ждут когда другие проходы можно сделать на других ядрах и похоже с этим связано зависание, у меня в сети агенты, и вот когда он пишет authorized но расчет не закончен то дальше просто не считает

 
Я в инете наткнулся на программу QuickCPU. На сайте, с которого я её скачивал, было написано примерно следующее. "Многие программы даже не знают о существовании ядер. QuickCPU запрягает их в работу". Попробуйте, может поможет. Качал я её с сайта  https://howdyho.net/ - поищите - программ там не много - много чего полезного есть.
 
Boris Egorov:

вот именно, чего они ждут когда другие проходы можно сделать на других ядрах и похоже с этим связано зависание, у меня в сети агенты, и вот когда он пишет authorized но расчет не закончен то дальше просто не считает

К сожалению, так работает в MT5 раздача пакетов заданий. пакеты формируются, раздаются, а при завершении у некоторых агентов, они не перераспределяются. Я уже много об этом писал. Жаль, ядра простаивают.

Разработчики не считают это первоочерёдной задачей. У них на рабочих компьютерах, похоже, много ядер и они быстрые, и это нивелирует проблему. К тому же они в основном занимаются программированием, а не оптимизацией, как мы.

 

>так работает в MT5 раздача пакетов заданий. пакеты формируются, раздаются, а при завершении у некоторых агентов, они не перераспределяются.

и это ошибка ... вот у меня сегодня прям произошло отключение электричества и те пакеты заданий что были розданы сетевым агентам так и висят не просчитанные ....

 
Boris Egorov:

>так работает в MT5 раздача пакетов заданий. пакеты формируются, раздаются, а при завершении у некоторых агентов, они не перераспределяются.

и это ошибка ... вот у меня сегодня прям произошло отключение электричества и те пакеты заданий что были розданы сетевым агентам так и висят не просчитанные ....

Нашел два поста про агенты - #375 и #379

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

Про то, что используются только физические ядра -

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Metatester 5 agent manager strategy tester не видит потоки процессора.

Renat Fatkhullin, 2019.11.27 06:12

В связи с откровенной нехваткой памяти при чрезмерном количестве агентов и падением скорости расчетов на гипертрединговых ядрах мы приняли решение ограничиться только физическими ядрами при работе в клауде.

Сейчас в клауде гоняют очень затратные задачи и у подавляющего большинства участников клауда банально не хватает памяти при множестве агентов. Например, по 2 гб на агента и 16 агентов уже минимум требуют 32 гб памяти, хотя обычно в наличии 8-16 гб.

В результате множество проходов фейлятся, впустую нагружая сеть и агентов. Но самое важное, тормозят обсчет из-за ожиданий результатов и рестарт задач.

Мы давно уже оцениваем приблизительную ресурсную достаточность агентов перед выдачей им задач и одно из самых действенных - работать только на физических ядрах в клауде.

Локально вы можете использовать все ядра так как легко можете управлять их отключением. 

А это пост о том, как это все будет развиваться дальше -

Форум по трейдингу, автоматическим торговым системам и тестированию торговых стратегий

Metatester 5 agent manager strategy tester не видит потоки процессора.

Renat Fatkhullin, 2019.11.27 07:18

После релиза мы беремся на кардинальную перестройку ресурсного управления тестера и его агентов.

В первую очередь это коснется эффективности локальных агентов.


 

У меня нет таких проблем, потоки он видит и не ограничен физ. ядрами ... на картинке видны параметры процессоров и объем памяти ...

по поводу памяти вообще не понял - своп для чего? виндовс никогда не была ограничена объемом оперативной памяти .... так что тут мне не понятно где проблема от слова вообще

>одно из самых действенных - работать только на физических ядрах в клауде - вот это перл вообще на нобелевскую премию тянет, а вам известно что кроме SMT2, существуют SMT4, SMT8 - это когда одно физическое ядро может делать 4 или 8 потоков одновременно, а не 2 как у интел? И вот это глобальный тренд в высокопроизводительных вычисления, на таких процессорах работает самый мощный суперкомпьютер на земле. Я бы не рекомендовал делать в метатрейдере то чем занимаются более опытные в этом деле дяди. 


проблема то в другом и на картинке она представлена 

есть например 20 ядер, 19 расчет закончили и простаивают, а на одном надо сделать еще 10 просчетов, почему бы эти просчеты не сделать на свободных ядрах/потоках - таким образом решение не выдавать каждому ядру фигову тучу заданий сразу, а давать только одно, принцип прост: один поток - одно задание, закончил получает следующее задание ...

 
Boris Egorov:

У меня нет таких проблем, потоки он видит и не ограничен физ. ядрами ... на картинке видны параметры процессоров и объем памяти ...

по поводу памяти вообще не понял - своп для чего? виндовс никогда не была ограничена объемом оперативной памяти .... так что тут мне не понятно где проблема от слова вообще

>одно из самых действенных - работать только на физических ядрах в клауде - вот это перл вообще на нобелевскую премию тянет, а вам известно что кроме SMT2, существуют SMT4, SMT8 - это когда одно физическое ядро может делать 4 или 8 потоков одновременно, а не 2 как у интел? И вот это глобальный тренд в высокопроизводительных вычисления, на таких процессорах работает самый мощный суперкомпьютер на земле. Я бы не рекомендовал делать в метатрейдере то чем занимаются более опытные в этом деле дяди. 


проблема то в другом и на картинке она представлена 

есть например 20 ядер, 19 расчет закончили и простаивают, а на одном надо сделать еще 10 просчетов, почему бы эти просчеты не сделать на свободных ядрах/потоках - таким образом решение не выдавать каждому ядру фигову тучу заданий сразу, а давать только одно, принцип прост: один поток - одно задание, закончил получает следующее задание ...

Поддержу, здравая мысль. Я хоть оптимизацией не пользуюсь, но когда пользовался, всегда удивляло, почему все потоки закончили оптимизацию, а у одного сталось еще несколько проходов. Разве нельзя перераспределить оставшиеся задания...

Причина обращения: