В этой заметке я хочу поделиться мыслями по поводу "двухъядерных" процессоров, которые сейчас усиленно продвигаются на рынке железа.
Для начала хочу обратить внимание, что активно рекламировавшаяся в свое время технология HyperThreading фактически умерла - Intel больше не будет ее использовать в новых процессорах. Ссылок не даю, об этом не пишет только ленивый "железный" сайт. Соответственно, не могу не сопроводить это фразой - "я же говорил!": статью о вреде HyperThreading я написал больше года назад, однако маркетинговый посыл Intel был настолько силен, что до сих пор много людей уверены, что это замечательная технология.
Двухъядерные процессоры - это шаг вперед, который первой совершила AMD. Я предпочитаю AMD Интелу, поэтому попробую оценить преимущества двухъядерных процессоров именно на продукции этой фирмы. Для Intel, как показывают тесты, ситуация примерно похожая.
Итак, задача - понять, даст-ли что-нибудь мне приобретение двухъядерного процессора по сравнению с однопроцессорным. Во времена, когда ничего такого не было, и для серверов выбирали двух- или четырех-процессорные системы, результат был прост и понятен - в среднем увеличение производительности сервера в 1.7 раз.
А вот с двухъядерными - не так все просто и понятно. Допустим - процессор AMD 64 X2 3800+ - это два AMD 64 3800+ внутри одного, или нет?
Оказалось, что нет - как по тактовой частоте, так и по производительности.
У этих двух процессоров одинаковый размер кэша, но у одноядерного тактовая частота 2.4 мегагерца против 2-х мегагерц у двухъядерного.
Не буду мучить вас выкладками сравнений, тем более что мне физически нечего сравнивать. Я поступил просто - взял цифры из обзора, и провел дополнительные вычисления, базирующиеся на готовых цифрах производительности.
Если будете смотреть обзор, то не смотрите на цифры по "разогнанным процессорам". Если не нравится сам сайт, обратитесь к аналогичным статьям на ixbt.com или другом "железном" сайте.
Результат исследования, при сравнении одноядерных и двухъядерных процессоров с одинаковым "индексом" (как упомянутые выше):
- одноядерный быстрее двухъядерного на обычных задачах, примерно на 15-25%.
- двухъядерный быстрее одноядерного на multithread-приложениях, примерно на 20-30%
- повышенную производительность (до 50%) на двухъядерном процессоре показали только редкие, специфические (вычислительные) приложения.
- операционная система на двухъядерном процессоре работает более "стабильно", в смысле общей загрузки. Причины этого тоже понятны.
Также, учитывая то, что я регулярно запускаю определенные тестовые процессы, во время работы которых систему лучше не трогать, дабы не искажать результат даже на "двухпроцессорной" машине, получается, что двухъядерный процессор мне просто противопоказан (т.к. работает в этом случае медленнее).
6 комментариев:
похоже, производители процессоров взялись за те же штуки, что и производители видеокарт - за большие деньги покупатель получит меньшу. производительность.
не совсем. если бы не эти чертовы тесты, я бы взял двухъядерный и чуть его разогнал (не до упора, конечно).
То есть, двухъядерные, конечно, для рабочих станций очень хорошо. Если еще на этой раб.станции 2 диска, то совсем хорошо.
Только вот для AMD нижний X2 по цене $310. Недалеко от одноядерного 3800 - $296. Цены привел BOX (проц+фирменный кулер).
В некоторых фирмах выше 3500 (за $188 OEM) не найти, и не потому что нет - просто берут этот 3500, и разгоняют почти до уровня 4000, который стоит $344 (BOX), примерно на $150 дороже.
кстати, о разгоне. я был его полным противником (и остаюсь для видеокарт, и тем более для серверов), до тех пор пока не увидел утилиту nTune для чипсетов NVidia. Она позволяет разогнать проц, память и видео при стабильной работе (исключая вероятный перегрев).
вот и новости на эту тему подоспели
http://www.ixbt.com/news/hard/index.shtml?05/95/56
Коллеги,
не мешайте в кучу серверные задачи и статьи на ixbt. При всем уважении к сайту в серверах они не понимают ни черта...
Вот и начинаются всякие мифы типа масштабируемости 1.7 при удвоении процессоров...
гм, 1.7 - это коэффициент (для двухпроцессорных), который я наблюдал воочию еще в 1997 году, причем как для корректно распараллеливаемых multithreaded-приложений, так и для "многопроцессовых" приложений (вроде oracle dedicated-режима). Так что ixbt тут ни при чем :-)
Кста по поводу "ровности" системы, хотя лично я предпочитаю термин "реактивность" (время реакции). Так вот зря уважаемый автор не видит преимуществ многопроцессорных систем, на практике эта реактивность здорово чувствуется. Сложно описать - это именно плавность, гладкость, равномерность рабочей системы. Не секрет что затормозить систему очень легко, к примеру прочитать CD или DVD. Но в случае с многопроцессорной системой запущенного фонового чтения почти не замечаешь.
А если ещё принять во внимание анаонсированный AND Анти-гипертрейдинг так складывается вчепятление что надо срочно если не мигрировать, то готовиться достаточно спешно.
Отправить комментарий