- Как использовать - MQL5 Cloud Network
- Диспетчер задач - Для продвинутых пользователей - Начало работы
- Реальные и сгенерированные тики - Алгоритмический трейдинг, торговые роботы
Добрый день всем форумчанам. Задумался про апгрейт своей техники в сторону увеличения ядер. На данный момент имею интел коре i5-3470, четыре ядра, четыре потока. Тестирование советников занимает на нем довольно таки много времени, а поскольку МТ5 многопоточная, то грех не воспользоваться серверными процессорами вроде AMD Opteron или Intel E5 2600 серии, благо на алиэкспресс и ебее их можно найти за вполне вменяемые деньги. Собственно вопрос вот в чем, что будет работать в тестере лучше: много ядер с низкой частотой или меньше ядер с более высокой частотой. И на что нужно обращать внимание при выборе, кеш на ядро и тд.?
Думаю, больше ядер - лучше. Частота - уже "уперлась в потолок", и сильно ее не поднимешь. А вот число ядер наращивать можно.
Полгода назад обновил процессор, не стал жмотиться, и взял i7. Опасался, что это будет пустая трата денег, отличие, фактически, лишь в гипертрейдинге, может быть, хватило бы i5, но опасения оказались напрасны. Не жалею.
Погонял процессор на разных режимах (со включенным гипертрейдингом в 12 потоков, и с выключенным в 6 потоков) и заметил интересную особенность - если тестировать на "всех тиках на основе реальных" - выгоды от гипертрейдинга практически никакой - 3-5%, то есть для такого режима - что i5, что i7 - разница небольшая (а цена их заметно отличается).
А вот когда я стал тестировать работу в режиме "OHLC на 1М" (это мой основной режим тестирования) - гипертрейдинг тут же дал большой прирост, минимум 20%, чаще всего 30%.
Как я понимаю, причина тут в том, что гипертрейдинг i7 - дает заметный прирост производительности, если все данные помещаются в кэш процессора. Если процессору приходится часто обращаться к памяти, то узким местом оказывается именно эти обращения, и скорость хоть "честных" шести ядер, хоть двенадцати "гиперъядер" - оказывается практичкески одинаковой.
Думаю, больше ядер - лучше. Частота - уже "уперлась в потолок", и сильно ее не поднимешь. А вот число ядер наращивать можно.
Полгода назад обновил процессор, не стал жмотиться, и взял i7. Опасался, что это будет пустая трата денег, отличие, фактически, лишь в гипертрейдинге, может быть, хватило бы i5, но опасения оказались напрасны. Не жалею.
Погонял процессор на разных режимах (со включенным гипертрейдингом в 12 потоков, и с выключенным в 6 потоков) и заметил интересную особенность - если тестировать на "всех тиках" или на "всех тиках на основе реальных" - выгоды от гипертрейдинга практически никакой - 3-5%, то есть для такого режима - что i5, что i7 - разница небольшая (а цена их заметно отличается).
А вот когда я стал тестировать работу в режиме "OHLC на 1М" (это мой основной режим тестирования) - гипертрейдинг тут же дал большой прирост, минимум 20%, чаще всего 30%.
Как я понимаю, причина тут в том, что гипертрейдинг i7 - дает заметный прирост производительности, если все данные помещаются в кэш процессора. Если процессору приходится часто обращаться к памяти, то узким местом оказывается именно эти обращения, и скорость хоть "честных" шести ядер, хоть двенадцати "гиперъядер" - оказывается практичкески одинаковой.
Я читал Вашу ветку, много интересного.То есть, получается, чем больше кеша на ядро, тем лучше. Сейчас упорно штудирую сайт Sisoftware, там хорошая база производительности разных процессоров. Еще бы узнать к какому тесту привязать работу тестера метатрейдера, было бы вообще замечательно. Есть варианты тестов, как они пишут: арифметические вычисления, финансовые вычисления, многоядерная эффективность и тд...
Есть варианты тестов, как они пишут: арифметические вычисления, финансовые вычисления, многоядерная эффективность и тд...
Тут - боюсь, ничего нельзя заранее предугадать - надо глядеть, какие конкретно у тебя (давай на "ты") тесты.
Для меня было сперва даже удивительно, что режим OHLC на 1М дает такую большую прибавку, по сравнению с режимом "все тики на основе реальных". А когда сравнил необходимое количество памяти для таймсерий с размером кэша - все стало на свои места. Прибавку для гипертрейдинга дает как раз то, что на OHLC 1M практически все необходимые данные полностью загружаются в кэш, и каждое ядро использует именно их. (При оптимизации для всех ядер используются одни и те же данные, только настройки разные). В тоже время, в режиме "все тики на основе реальных" - данных необходимо гораздо больше, в кэш они не влезают, и во время тестирования ядра обращаются к различным участкам истории, постоянно подгружают из памяти данные, что сильно замедляет работу.
кроме кэша и частоты процессора еще большую роль играет конвейер команд, вернее его загрузка, есть такое понятие как forward загрузка кэша и конвейера, т.е. предсказание что будет загружено и какие данные не выгружать, т.к. они потребуются для дальнейших расчетов
нужно на форумах типа overclockers.ru почитать по ядру процессора, там много тестов, может и будет сопутствующая информация, www.ixbt.com, 3DNews сайты, тоже могут что то прояснить, я раньше часто их читал, сейчас интересы другие стали

- 2018.09.16
- overclockers.ru
Добрый день всем форумчанам. Задумался про апгрейт своей техники в сторону увеличения ядер. На данный момент имею интел коре i5-3470, четыре ядра, четыре потока. Тестирование советников занимает на нем довольно таки много времени, а поскольку МТ5 многопоточная, то грех не воспользоваться серверными процессорами вроде AMD Opteron или Intel E5 2600 серии, благо на алиэкспресс и ебее их можно найти за вполне вменяемые деньги. Собственно вопрос вот в чем, что будет работать в тестере лучше: много ядер с низкой частотой или меньше ядер с более высокой частотой. И на что нужно обращать внимание при выборе, кеш на ядро и тд.?
Посмотрите эту тему https://www.mql5.com/ru/forum/257813/page6#comment_7792863 , ссылка на пост с таблицей разных популярных тестов, самым приближенным к MT5 оказался тест CINEBENCH R15 , поэтому можно для выбора процессора использовать данные собранные тут .
Обратите внимание, что ниже там же есть таблица из которой видно, что производительность одного ядра может быть больше у старой линейки процессоров, но за счет более высокой частоты и количества ядер в новой линейки удается добиться лучшего результата.

- 2018.06.16
- www.mql5.com
Спасибо всем, кто откликнулся, накидали информации. Буду размышлять. Сейчас пока смотрю в сторону серверной линейки 2011 года, уж больно цены привлекательные.
2011 года? :D
В компьютерных технологиях 7 лет назад - это , как в каменный век вернуться. Даже при схожих на первый взгляд параметрах , старые чипы могут работать в разы медленнее новых.
В любом случае - лучше глянуть сравнительные обзоры производительности в синтетических тестах, либо таблицы должны быть на сайте типа Оверклокерс. Ну а там смотри сам..
2011 года? :D
В компьютерных технологиях 7 лет назад - это , как в каменный век вернуться. Даже при схожих на первый взгляд параметрах , старые чипы могут работать в разы медленнее новых.
В любом случае - лучше глянуть сравнительные обзоры производительности в синтетических тестах, либо таблицы должны быть на сайте типа Оверклокерс. Ну а там смотри сам..
Сейчас кризис, так что не особо-то производительность увеличилась. Вообще, до выхода AMD Ryzen, Интел 5 лет продавала всё те же 4 ядра 8 потоков i7 2600, только немного увеличивая частоту или производительность на ядро (примерно 5-10% за 1-2 года) и сменяя поколения (так до i7-7700). Только в прошлом году (2017) решили добавить ещё 2 ядра. У АМД сейчас ядер и потоков больше и стоят они дешевле новых i7.

- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Вы принимаете политику сайта и условия использования