Помогите закомплектовать компьютер - страница 4

 
SK. писал (а):
Sart: Попробую пробить как с этими делами у нас сейчас. Я сам из Украины, г. Днепропетровск. Так что, если что надо по Украине, к Вашим Услугам.

С уважением - С.Д.
В Днепропетровске советую зайти на 1 этаж в ЦУМ (пристроенную шайбу на перекрёстке К.М. и Короленко). Там акционный 20" монитор FLATRON всего за 1250 грн, хотя вообще-то его цена ок. 1500. Именно 20"-й очень удобен для обзора истории котировок в МТ :)
Земляку спасибо и Привет.
 
Renat:
Терминал поддерживает многоядерность, а не тестер или оптимизатор. Тестер/оптимизатор - это одна из задач терминала, которая может работать на отдельном ядре. Задач много - часть списка я привел. Все эти задачи в рамках терминала отлично используют многоядерность. Но это не означает, что конкретная задача сама будет использовать всю многоядерность ради себя одной.

Я несколько раз повторял важное техническое условие:

Многопоточный тестер потребует в N раз больше памяти для размещения копий истории, тиковых данных, индикаторов и тд. Так как тестирование очень ресурсоемко по памяти, то ускорение через параллельный просчет на нескольких ядрах потребует независимых копий всех данных.


Ренат, Вы знаете, в этом разговоре упоминаются, на мой взгляд, два разных термина. Многопоточность (от слова thread - поток) существовала в Win32 API давно на "старых" одноядерных машинах класса Pentium-MMX. Потоки создавались функцией API CreateThread, синхронизировался потокобезопасный доступ к объектам через критические секции Win API внутри одного процесса, и через мьютексы (mutex) в рамках межпроцессного доступа. А вот многоядерность или многопроцессность (process - отдельный .exe процесс) появилась в массах сравнительно недавно, с выходом на рынок нескольких процессоров в одном кристалле, таких, как Intel Core 2 Duo, Athlon X2 Dual и т.д. Такие машины позволяют эффективно запускать несколько процессов одновременно.
Что же всё-таки использует терминал - многопоточность или многоядерность? Хотя это можно выяснить и путём экспериментов самому.

По опыту могу сказать, что на 32-xбитной Windows XP два терминала, запускаемые как процессы внешней системой, грузят Athlon 64 X2 Dual 4600+ по 50% каждое ядро, только оба в сумме давая загрузку CPU в пике на 100%. При этом памяти в 2 Гб хватает и этим двум терминалам, и внешней .Net системе, и SQL серверу 2005, и IIS серверу, и антивирусу/почте/файрволу/музыке/др. , и ещё остаётся более 1 Гб свободными. Так что 1 Гб в общем хватило бы. На Vista x64 терминалы запускал только "ручками", большой нагрузки это не создаёт.

Железо на машину можно всегда выбрать на www.nix.ru или www.oldi.ru и им подобными, сделав процент наценки на доставку в регион, если это не Москва. А из винтов я бы сейчас выбрал такой: HDD 400 Gb SATA-II 300 Western Digital <4000YS> 7200rpm 16Mb. Обратите внимание на фразу "HDD с повышенной отказоустойчивостью. Рекомендуется использовать в системах с повышенной нагрузкой, например, в серверах", он стоит ~4000 руб.

 

chv, не путайте людей! Загрузкой процессоров занимается ОСь. Если приложение создаёт один поток, то ОСь и выделяет ему один процессор, одно ядро. Один поток - это неделимое. А вот если приложение создаёт несколько потоков, то ОСь сама решает по каким ядрам раскидать эти потоки, чтобы получить максимальное быстродействие. Следовательно, МТ4 использует и многопоточность, и многоядерность.

 
KimIV:

chv, не путайте людей! Загрузкой процессоров занимается ОСь. Если приложение создаёт один поток, то ОСь и выделяет ему один процессор, одно ядро. Один поток - это неделимое. А вот если приложение создаёт несколько потоков, то ОСь сама решает по каким ядрам раскидать эти потоки, чтобы получить максимальное быстродействие. Следовательно, МТ4 использует и многопоточность, и многоядерность.


Не совсем так. Пример известного приложения - WinRAR. Начиная с версии 3.60 (3.6х), он может использовать работу многоядерного процессора, нагружая все ядра на себя. Более ранние версии так не умеют.

Немного подробней здесь. Как это делается, точно не знаю, хотя был на семинаре Microsoft и Intel, и видел примеры #pragma директив компилятора для создания параллельного кода на примере MS Visual Studio 2005 C++ кода нахождения простых чисел (так называемые OpenMP директивы для Intel CPU, у AMD есть свой инструмент профилирования приложений - CodeAnalyst). Может быть, что-то из подобного и используется. В любом случае, распределением нагрузки занимается не только OS, код приложения тоже важен.

 
KimIV абсолютно прав.

Терминал создает множество потоков выполнения, которые уже сама операционка рационально (или нерационально) распределяет между физическими/виртуальными процессорами. Есть множество ядер - они будут использоваться, а если их нет, то все будет крутиться на одном ядре.

Весь наш софт многозадачный. Особенно эффективен торговый сервер, который на обычном Pentium 4 может обслуживать по 10 000 одновременно подключенных терминалов (у каждого персональный шифрованный канал со сжатием данных на лету). Это на одном сервере (компьютере), а при использовании нескольких MetaTrader Data Center, нагрузка может быть серьезно увеличена. У ряда наших клиентов в обычном режиме работают серверы при 5000 и более одновременно подключенных терминалов (не надо путать с количеством открытых счетов, коих бывает гораздо больше сотни тысяч).
 

Я это всё к тому, что человеку, начавшему эту тему, все от души советуют двухядерную машину и памяти гига 2. Как говорится, побольше-побольше.
На самом деле если человек работает с одной копией терминала (в режиме тестера или оптимизатора, а обычной торговли тем более), то такое железо явно избыточно - один терминал не нагрузит X2 процессор более, чем на 50%, как ни старайся. И памяти в 1 Гб будет достатчно.
Вижу это из своего опыта, на рисунке ниже, причём здесь, кроме терминала, запущено много чего ещё.

Ну если уж хочется, можно взять и такую избыточную машину, но это не является необходимым условием.

 
chv:

Я это всё к тому, что человеку, начавшему эту тему, все от души советуют двухядерную машину и памяти гига 2. Как говорится, побольше-побольше.
На самом деле если человек работает с одной копией терминала (в режиме тестера или оптимизатора, а обычной торговли тем более), то такое железо явно избыточно - один терминал не нагрузит X2 процессор более, чем на 50%, как ни старайся. И памяти в 1 Гб будет достатчно.
Вижу это из своего опыта, на рисунке ниже, причём здесь, кроме терминала, запущено много чего ещё.

Ну если уж хочется, можно взять и такую избыточную машину, но это не является необходимым условием.

Приобрел все как посоветовал GODZILLA, один к одному. Обошлось 1500 долларов. Компьтер практически не слышно, работает не выключаясь неделями. Температура процессора, винта, мат. платы - все выведено на панель и больше 40 градусов не поднимается. Можно делать все одновременно, никаких задержек, хотя оптимизация и не слишком ускорилась.
С уважением С.Д.
 

У меня 2 тестируется часто. Ждать один смысла нет. Браузер, музыка, всякие еще программки набираются. Больше одного используется точно. Еще для теста многозадачности Supreme Comander запускал. 2 все же желательно. Даже необходимо. Не настолько это дороже. Необходимым условием так же считаю: Удобную мышку, клавиатуру, монитор, кресло, инет.

 
Sart писал (а):

Приобрел все как посоветовал GODZILLA, один к одному. Обошлось 1500 долларов. Компьтер практически не слышно, работает не выключаясь неделями. Температура процессора, винта, мат. платы - все выведено на панель и больше 40 градусов не поднимается. Можно делать все одновременно, никаких задержек, хотя оптимизация и не слишком ускорилась.
С уважением С.Д.


Ну а ежели скорости работы на такой машине маловато, то тогда только разгон! В этом деле можно многому научиться на http://www.overclockers.ru/.

http://www.overclockers.ru/faq/
http://www.overclockers.ru/lab/24658.shtml


 
GODZILLA:
Sart писал (а):

Приобрел все как посоветовал GODZILLA, один к одному. Обошлось 1500 долларов. Компьтер практически не слышно, работает не выключаясь неделями. Температура процессора, винта, мат. платы - все выведено на панель и больше 40 градусов не поднимается. Можно делать все одновременно, никаких задержек, хотя оптимизация и не слишком ускорилась.
С уважением С.Д.


Ну а ежели скорости работы на такой машине маловато, то тогда только разгон! В этом деле можно многому научиться на http://www.overclockers.ru/.

http://www.overclockers.ru/faq/
http://www.overclockers.ru/lab/24658.shtml




А Вы не задумывались для чего , собственно, мы занимаемся тестированием стратегий ? Или, другими словами, почему мы вынуждены заниматься тестированием ТС ?
На мой взгля, ответ очень прост - отсутствует математическая модель процесса торговли на Форекс.
Странно получается, мы не имеем формального описания ТС и , в большинстве случаев, обьясняемся на пальцах, или ударяемся кто во что горазд. При наличие формального математического описания ТС, необходимость в тестирование просто отпадет.
В самом деле, посмотрите - ведь цена ведет себя очень банально - движется или вверх или вниз. И больше ничего от нее не дождешься. При наличие математического описания стратегии(с помощью формул) и имея ввиду такое простое поведение цены, очень легко просчитать результаты ее работы.

Или люди занимаются такими вещами, просто я еще зеленый ?

С уважением - С.Д.
Причина обращения: