arech: (Default)
[personal profile] arech
Долгое время по крайней мере для своих компов я был адептом идеи оверклокинга, ибо а чо? Собираем сейчас комп на оверклокинговых комплектующих и радуемся жизни. Через 1-2-3-N лет, когда мощи станет недостаточно, просто гоним его насколько можно и получаем забесплатно ещё +10-20-<сколько-повезёт> процентов прироста, при этом спасаем себя от геморроя с анализом текущего состояния рынка и подбора под задачи новых комплектующих. Ну и бабло сохраняем, опять же, неплохо.

Однакож, поскольку своих компы менять приходится очень не часто, то оказывается, что в этой логике есть несколько существенных дыр, не заметных сразу. О них и хочу рассказать, дабы предостеречь тех, кто как и я занимается этим делом крайне редко по необходимости, или кто только думает - а не попробовать ли мне это? Ну, и мне будет напоминание, когда в следующий раз в мою буйную голову взбредёт мысль "а что если...", - так вот, никаких, млять, "а что если"!! Только сток!
Для тех, кто оверклочит железо регулярно всё будет по иному и им этот пост полезен не будет.

Многабуков: если вы не совсем железячник, смысла в оверклокерском компе нет. Когда старый комп не тянет, просто собираем новый под нужную основную задачу и радуемся жизни.

Итак, рассмотрим две альтернативные стратегии выбора комплектующих для компа и попробуем понять, что _нам_ подходит лучше.

Альтернатива 0, она же "фтопку этот ваш оверклокинг".

Сводится к тому, что каждый раз комп собирается под основную конкретную необходимую задачу без потенциала разгона или с базовым минимумом оного, который легко (это важно!) реализуется сразу же (это важно!) при сборке. При недостатке мощи старое железо безжалостно списывается друзьям/в музей/итд, и собирается новый более мощный комп.
Затраты ресурсов следующие:

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

1.2 Денег такие комплектующие стоят не скажу насколько точно, но, думаю, не совру сильно, если оценю, как от 5 до 20% дешевле. Т.е. для условных $2k бюджета это будет от $100 до $400 разницы.

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

1.4 "разгон" сводится к повторению цикла подбора нового железа и его сборки, т.е. дня 3 максимум, если очень упороться.

1.5 Основная проблема - кардинальная замена железа может вызвать полное несварение у операционки и потребовать её переустановки. Вот это очень большая ЖО, ибо хрен с операционкой, но вот весь набор софта с настройками архивировать, переустанавливать и перенастраивать, - вот это очень трудозатратно и очень долго. Если не неделя, то несколько дней - наверняка. Впрочем, есть некоторая надежда, что нынешние операционки (я говорю про винду, в первую очередь) стали уже куда менее капризны к таким фортелям и по крайней мере с помощью безопасного режима могут пережить замену драйверов. Но всё равно, риск есть, и как мне кажется, не малый.

1.6 Связанная проблема: на новом железе могут отвалиться лицензии софта, привязанные к старому железу. Обычно это восстанавливаемо, но возни много и забывать об этом нельзя.


Альтернатива 1, она же "разгон"

Комп собирается под перспективу разгона. По прошествии времени при ощущении недостатка мощи он гонится насколько это возможно и мы получаем типа "более мощный комп", не добавив ни копейки денег. Звучит вроде интересно. На деле получается вот что:

2.1 первичный подбор комплектующих существенно усложняется, ибо мало подобрать необходимую конфигурацию, надо ещё выбрать среди множества предложений производителей то, что наиболее полно позволит выполнить разгон. И помнить, что одни железки в разогнанных режимах могут оказаться не совместимыми с другими. Анализ этого безобразия никак не условные два дня, если вы только не упоротый компьютерщик, который знает всё и о нынешних технологиях, и о рынке, и о предложениях и т.д. и т.п. Это существенно больше. И скорее всего, всё равно результат будет содержать ошибки - критичные или нет - уж как повезёт.

2.2 и существенно дороже, бо все продукты под оверклокинг, во первых, изначально дороже, а во вторых, часто требуют специфических комплектующих, таких как очень специфические системы охлаждения. (side note: а для задач, в которых бутылочным горлышком является чтение/запись больших объёмов данных может оказаться вообще куда более выгодным вложиться просто в больший объём ОЗУ при относительно медленном ядре, чтобы данные целиком влезли в память - благо, современные технологии наконец-то позволяют безгеморно иметь весьма много ОЗУ).

2.3 Сборка оверклокинговых комплектующих тоже может оказаться интересной и заковыристой. И проблемы совместимости в том числе и физических размерностей железа тут почти гарантированны.

2.4 Разгон... Когда-то, когда деревья были маленькими, а компы большими, то их разгоном управляло/можно/доступно было управлять всего лишь несколькими, менее десятка, параметрами. Если вы помните это время и думаете, что щас то же самое, то знайте, что это совсем не так)) Параметров, доступных к изменению сотни. Из них условно единицы понятны и так, десяток-другой можно относительно понять из мануала, ещё сколько-то быстро выгуглить. Но остальные овердохрена просто так выгуглить не получится, потому что вендоры нередко используют очень свои собственные названия настроек, которые часто не совпадают даже с собственным мануалом. Или просто потому, что они почему-то не описаны явно.
В общем, я веду к тому, что чтобы разобраться с остальными настройками придётся очень глубоко вникать в устройство и схемотехнику нужных комплектующих. Это, млять, долго, очень долго! А у вас висит рабочая задача!

А потом ещё надо помнить, что каждый разгон должен ещё быть протестирован на стабильность, причём в конечном итоге строго на том софте, который будет у вас работать (об этом далее). Это ещё суммарно дни (!!!) времени.
При этом, всегда есть риск, что изменение параметров работы железа приведёт к его преждевременной и скоропостижной смерти. И хорошо, если при этом не будут убиты данные или операционка. Понятно, что и то и другое можно/нужно предварительно забекапить, но это ведь всё то же самое время, которое в случае сборки стоковой конфигурации в общем не очень то обязательно. И кстати, если вы разгон оттягивали слишком надолго, то не факт, что вообще получиться купить замену сгоревшей железяке.

Проблем 1.5 и 1.6 в этом варианте, как правило, нет. Однако учитывая вероятностную природу успеха оверклокинга и возможные глюки, могущие спровоцировать сбои систем, о них забывать тоже не стоит.


Теперь сравним одно с другим в предположении 1 цикла разгона/обновления компа на "длинной дистанции", т.е. как если бы мы следовали одной или другой стратегии многократно (читай, сравниваем матожидания)

Деньги: вариант без разгона даже с учётом необходимости оплаты за возможные косяки в оверклокинговом варианте, будет всё равно дороже. Потому что по любому два стоковые компа дороже одного оверклоченного. Сильно ли дороже? ну, при бюджете 2к на каждый комп, условно на 1-1.5к, т.е. примерно 50-75%.

Время: вариант без разгона даже при необходимости перестановки всего и вся будет очень сильно дешевле альтернативы. Trust me. На сколько конкретно? Думаю, что на сотни, если не тысячи процентов, - дни или легко суммарно недели времени.

Результат: вот тут самое вкусное. Оверклокинг в зависимости от вашей упоротости, знаний и навыков даст прирост хорошо, если десятки процентов. Новый комп будет построен на новых технологиях, которые дадут качественный прирост мощности. Вместо максимума, допустим, в 16Гб памяти, у вас будет 512Гб, а вместо 6 безгипетридовых ядер - 24 гипертридовых (~48 обычных) и т.д. и т.п. Количественно это будут уже сотни, а то и тысячи процентов прироста в числомолотильных задачах.


Ну, т.е. если посмотреть на проблему внимательно, то выбор-то как бе очевиден. Не нужен никакой оверклокинг, если только там нет кнопочки "сделайте мне быстро". Просто каждый раз собираем максимально быстрый комп под нужную задачу и всё. Чуть дороже по деньгам на дистанции, но совершенно ничто по затратам времени и полный супер по результатам.

Тут вот предвижу вопрос: "а что ж это вы, мил человек, не говорите о третьей альтернативе, а именно "купить оверклокинговый комп и разогнать его сразу" ?". Отвечаю: не говорю по той простой причине, что косвенно упомянул этот вариант, когда говорил про кнопочку "сделайте мне быстро". Если этого нет - вы обречены на дичайшую возню с сотнями настроек в биосе в надежде выжать ещё хоть чуть чуть и днями на тесты стабильности с негарантированными результатами. И всё равно конечный результат даст максимум десятки процентов прироста при ОЧЕНЬ больших трудозатратах (если только вы не оверклочите разные системы каждый день и, соответственно, знаете всё о предметной области).

И, кстати, вот этот самый "негарантированный результат" - это то последнее, что меня окончательно выморозило на этот счёт и заставило написать эту памятку.

Рассказываю поучительную историю.

Ровно 5 невисокосных лет назад, 5 ноября 2010г (не поленился, нашёл чеки)), я закупил комплектуху для нового (нынешнего) компа. Как можно догадаться, делалась всё по оверклокерской альтернативе. Где-то до этого лета мне его мощи вполне хватало для всех задач, однако летом прижало и пришлось заниматься разгоном. Угрохав уйму времени на изучение вопроса и тестирование стабильности удалось добиться от 3200Мгц процессора стабильной (как я тогда считал) работы на 3900Мгц. Маловато, конечно, всего-то примерно 22%, но в целом, более-менее. Заморачиваться более серьёзно не хотелось и было безумно жалко время. Достигнутого результата было вполне достаточно, поэтому разгон окончил, но зарубка в памяти о негативе этого процесса осталась.

Затем я стал писать один интересный проект на плюсах, к которому потребовался очень быстрый генератор случайных чисел. Штатный rand() в MSVC совершенно никакой по качеству рандома, rand_s() сильно лучше, но он смертельно медленный. Нашёл несколько вариантов очень быстрых ГПСЧ и стал юзать их. С начала всё было чудесно и безоблачно: даже простой ГПСЧ, не использующий векторные инструкции, работал более, чем в 100 раз быстрее rand_s() с достаточным качеством рандома. Векторизованный ГПСЧ с SSE2 (а у меня Phenom II X6, где ещё нет AVX, поэтому старые SSE2 - потолок) вообще летает в 200 раз быстрее.

Хорошо? Да офигенно просто! Только вот при слишком интенсивном использовании векторизованного ГПСЧ процессор просто виснет даже не успевая прилично нагреться. А ведь я его долго и настырно гонял в совершенно разных и злых тестах стабильности и всё работало отлично! Спасает только уменьшение разгона, да и то - дошёл уже до 3600Мгц, а он всё ещё продолжает виснуть, просто делает это позже...

Вот-с... Т.е. резюме такое: не смотря на все эпические тесты, не смотря на ненаглядный Матлабчик, использующий превосходно оптимизированные математические библиотеки с уймой векторизованного кода, не смотря на собственные поделки разной степени насыщенности матаном, всё равно оказалось, что нашёлся очень тесный SSE2 код, который всё равно рушит разогнанный, но в остальном стабильный, процессор.

Да нах@я мне такие приключения сдались???
Купил бы летом что-нить свежее, получил бы море куда более быстрого ОЗУ, почти в десяток раз больше ядер и векторные AVX2 инструкции, которые мне только сами по себе "не отходя от кассы" дадут x4 прирост... Суммарно, думаю, что минимум х10 за счёт быстрого ОЗУ, более широкой шины данных и продвинутой многоядерности, в моей задаче - далеко не предел...

В общем, лично мое рузюме: оверклокинг - это только для тех, кто:
а) очень хорошо знаком с потрохами того железа, которое он собрался оверклочить.
б) очень хорошо понимает, как на них влияют доступные настройки
в) очень хорошо способен выбрать правильные сочетания одного железа с другим, чтобы избежать несовместимостей или случаев, когда слабое железо тормозит сильное.
г) готов выделить на этот процесс по меньшей мере несколько дней на тестирование стабильности.
д) готов мириться с потенциальными косяками этого процесса и "миной замедленного действия", которая может неожиданно взорваться.
Т.е. если говорить о сборке нового компа, то в это имеет смысл играться если вы это (оверклокинг) делаете минимум раз в полгода, а лучше несколько раз (на разных системах, конечно). Тогда есть шанс не отстать от технологий и старые знания будут более-менее актуальны.
Если вы, как я, думали, что этим можно заморочиться раз в пятилетку и легко получить хороший результат, - это fail. Раньше было можно, сейчас уже нет.

Date: 2015-11-06 06:31 pm (UTC)
From: [identity profile] derevnya-trade.livejournal.com
ниасилил ы-ы-ы-ы :(

Date: 2015-11-08 06:16 pm (UTC)
From: [identity profile] derevnya-trade.livejournal.com
админы серваков делают так: появился затык, ищем место, прикидываем затраты к профитам, делаем апгрейд или игнорим тормоза.

ну вот мой комп субъективно был довольно тормозной, я приделал гибридный диск (один HDD другой SSD и спец контроллер, который хранит горячее на SSD), в результате производительность работы с диском сильно выросла, а субъективно комп стал быстрее некоторых новых с HDD.

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

не всегда нужно брать самый быстрый комп, потому что иногда затык бывает в чём-то одном, например диск или оператива. Докупаем оперативы -> софт не свопится -> комп летает.

Profile

arech: (Default)
arech

September 2017

S M T W T F S
      12
3456789
1011121314 1516
17181920212223
24252627282930

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Sep. 24th, 2017 11:07 pm
Powered by Dreamwidth Studios