Мегасчеты. Собираем мощный компьютер для вычислений
Однажды мне понадобился компьютер для квантово‑химических расчетов, и я поставил перед собой цель самостоятельно собрать машину, которая вписалась бы в бюджет 100–150 тысяч рублей. Однако этот компьютер неплохо подходит и для других задач, поэтому ради эксперимента попробуем побрутить на нем хеши.
Все персоналки, ориентированные на сложные вычисления, имеют сильный перекос в сторону количества памяти, как оперативной, так и дисковой. В своем проекте я применил ряд спорных решений, обусловленных желанием сохранить баланс между апгрейдопригодностью, вычислительной мощностью и ценой. Что из этого получилось, я подробно расскажу в сегодняшней статье.
НА ЧЕМ СЕЙЧАС СЧИТАЮТ
Специально для научных вычислений созданы суперкомпьютеры, например суперкомпьютер Курчатовского института или «Ломоносов-2» в МГУ. Под расчеты обычно выделяют одну ноду, и это в целом весьма недурной вариант. Но тут есть и свои нюансы, скажем привязка к определенному софту и некоторые административные моменты. С другой стороны, и плюс солидный — не надо настраивать среду.
Многие используют свои вычислительные мощности, и тут можно встретить целый зоопарк разнообразных устройств. Обычно это что‑то напоминающее ноду суперкомпьютера, то есть одно- или двухпроцессорная система с камнями типа E5 2680v3/v4 и памятью от 64 Гбайт. Иногда попадается старье типа Xeon X5650, но это уже пережиток прошлого. Впрочем, ученые достаточно консервативны, поэтому оборудование часто служит десятки лет. Правда, с компьютерами этот фокус обычно не проходит.
В «бытовом» сегменте несколько лет назад очень круто смотрелся AMD Ryzen Threadripper 3970x и старшие модели в связке с 256 Гбайт DDR4 3200. Впрочем, этот процессор и сейчас выглядит неплохо, как говорится — дорого‑богато. Также определенной популярностью пользуются AMD Ryzen 9 5950X, Intel i9-12900k и младшие модели, в обоих случаях компьютер оснащают 64 Гбайт оперативки. Но у бытовых решений есть одна неприятная проблема: подобные процессоры не рассчитаны на высокую нагрузку 24/7. Например, я слышал несколько печальных историй о смерти от перегрева неудачно собранного десктопа на Threadripper. Комп помер на вторые сутки, причина — слабая система охлаждения.
Вторая проблема бытовых процев — малый объем поддерживаемой памяти, тут разве что Threadripper позволяет разгуляться, особенно старшие модели, а для прочих потолок обычно составляет 64 Гбайт. В принципе, такого объема хватает практически на все задачи, но в уме приходится держать, что методы типа DLPNO-CCSD(T) или STEOM-DLPNO-CCSD могут оказаться такому аппарату не по зубам.
РЕКОМЕНДАЦИИ ПО КОНФИГУРАЦИИ
В сети не очень много рекомендаций, как собрать компьютер для научных расчетов, тем не менее они есть. Например, такую инструкцию можно найти на форуме ORCA (недоступен с российских IP), и рекомендации эти довольно простые: всего, и побольше. В первую очередь, конечно, оперативной памяти, общепринятым минимумом считают 64 Гбайт. Можно использовать и 32, и даже 16, но тогда придется очень тщательно подбирать методы и задачи, так как при любом неудачном стечении обстоятельств все будет падать из‑за нехватки оперативки.
Впрочем, полуэмпирике и простым DFT-методам с небольшим базисом должно хватить скромных объемов RAM, но это скорее учебные задачи. Вообще, памяти должно быть 256 Гбайт, а еще лучше 512, в таком случае тебе будут доступны практически все широко используемые методы.
Что же касается процессора, то лучше меньше ядер с высокой тактовой частотой, чем наоборот. Тем не менее квантово‑химический софт — это не игры, и он, разумеется, заточен под много потоков, поэтому приведенную выше рекомендацию следует понимать как «16 быстрых ядер лучше 22 медленных».
Также очень желателен быстрый SSD на 512 Гбайт и более. Вернее, так: для DFT 512 Гбайт хватит с запасом, а вот для методов post HF крайне желательно иметь больше 1 Тбайт (на моей памяти больше 5 Тбайт пока не отъедало). На худой конец сойдет и RAID 0 на HDD, что, конечно, просадит скорость, но работать будет. Очень хороший свод рекомендаций по сборке такого компьютера публикует исследователь из Пекинского университета под ником Sobereva.
Причем эти рекомендации приводятся за последние несколько лет и разбиты по годам: любопытно смотреть, как растут аппетиты. В целом автор очень ратует за использование б/у серверных компонентов, дабы не разбазаривать казенные деньги на переплату вендорам. Текущая рекомендуемая им конфигурация — это dual AMD EPYC 7R32 на 96 ядер. Используя такую машину, автор провел исследование, насколько хорошо параллелится ORCA. Официальный мануал говорит, что до восьми ядер все параллелится без нареканий, а с шестнадцатью уже возможны проблемы, но в мануале это упоминается только вскользь.
Так вот, согласно тестам Sobereva, при увеличении количества ядер до 24 рост быстродействия почти линейный, от 24 до 48 он отклоняется от линейного. На отрезке от 48 до 84 ядер рост еще прослеживается, а когда их становится больше 84, прироста уже не наблюдается. Понятно, что эти числа зависят от исполняемой задачи, но на низком уровне все квантово‑химические методы так или иначе сводятся к перемножению матриц, нахождению собственных векторов и значений, так что эти результаты полезно держать в уме. Кроме того, других тестов подобного размаха я не встречал.
ИТЕРАЦИЯ ПЕРВАЯ
В своей сборке я решил сделать упор на объем памяти. На дворе стоял январь 2022 года, кризис чипов был еще в разгаре, поэтому вариантов у меня оставалось немного. Если хочешь большой объем DDR4, то дорога тебе на «Али» за б/у серверной памятью, а к ней нужен проц — тоже серверный б/у Xeon. Цены тогда были, прямо скажем, невкусные, и на память ушла изрядная часть бюджета (8 × 32 Гбайт 2400 DDR4 ECC REG обошлось тогда в сумму порядка 60 тысяч рублей).
Подержанные серверные матери тогда в мой бюджет не пролезли, и я решил остановиться на китайских. О китайских матерях в целом ходит дурная молва. В частности, одно из типичных больных мест этих девайсов — цепи питания CPU, то есть VRM, поэтому я попытался найти что‑то понадежнее, насколько это возможно. Выбор пал на Huananzhi X99-F8: эта материнская плата имеет активное охлаждение VRM, восемь слотов памяти и, само собой, поддерживает четырехканальный режим.
Теперь о процессоре. Поскольку предполагалось, что машина будет долгое время работать в режиме 24/7 при практически полной нагрузке, ни о каком разгоне и речи не шло, поэтому смотреть в сторону Xeon 26xxv3 смысла особого не было, и я выбрал Xeon E5 2683v4. Это 16-ядерный процессор с частотой 2600 МГц при полной нагрузке. Скромненько, зато недорого: в 2022 году он стоил около пяти тысяч, а сейчас и вовсе меньше двух. Впоследствии, когда цены немного снизились, я заменил камень другим — E5 2696v4, где уже 22 ядра и 2800 МГц при полной нагрузке. Прирост производительности, прямо скажем, заметный, и это потолок для выбранной мною платформы, но он и сегодня смотрится довольно достойно.
Для охлаждения всего этого дела я использовал китайскую «башню» с шестью трубками и тремя вентиляторами.
Впрочем, такая система охлаждения оказалась даже избыточной, и температура под нагрузкой не превышала 51 градус. Так что можно не париться и ставить какой‑нибудь ноунейм, однако он должен уметь отводить примерно 150 Вт. Корпус я использовал Zalman S2, в него были установлены шесть вентиляторов, три на вдув на фронтальной панели и три на выдув, один сзади и два сверху. Верхние кулеры достаточно удачно расположены над зоной VRM. В целом этот корпус довольно дешевый, и боковая стенка пластиковая, ну да нам на него не любоваться.
Объем памяти позже был увеличен до 512 Гбайт, но уже в силу стечения обстоятельств. Любопытно: китайские платы держат планки по 64 Гбайт, а в сети я упоминания об этом не нашел, правда, возможно, потому, что никому в здравом уме не придет в голову напихать в китайскую сборку полтерабайта оперативки. Да и задач, где нужны такие объемы памяти, кроме квантово‑химических расчетов, я так с ходу и не придумаю.
С дисками вышла целая чехарда. В первом варианте я использовал под систему NVME SSD объемом 256 Гбайт и HDD на 3 Тбайт для хранения результатов вычислений. Но оказалось, что для использования DLPNO-CCSD(T) и особенно STEOM-DLPNO-CCSD этого совсем недостаточно: мало и 512 Гбайт, и 1 Тбайт. А если использовать HDD, то скорость записи/чтения становится узким местом, особенно с увеличением количества потоков. Доходит до смешного, когда задача быстрее решается в восемь потоков, чем в шестнадцать.
Стало ясно, что нужен быстрый SSD на 1, а лучше на 2 или 3 Тбайт, но цены на твердотельные накопители больше терабайта тогда были, прямо скажем, негуманные. Поэтому, почесав в затылке, я решил, что мне поможет RAID 0. Так объем диска можно наращивать постепенно, скорость будет расти и износ дисков станет уменьшаться — в общем, одни плюсы. Что же до надежности, то тут это не столь важно: на этих дисках не предполагалось хранить результаты вычислений. В реализации этой идеи мне очень пригодился адаптер PCIe-4NVME — удобно, компактно, и слоты PCIe экономит.
Надо иметь в виду, что если его просто воткнуть в слот x16, то будет работать только первое гнездо M2. Чтобы заработали остальные, в БИОСе нужно настроить бифуркацию слота X16, то есть переключить режим работы с X16 на X4 X4 X4 X4, тогда все заработает как надо. Не все материнские платы имеют такую функцию. К счастью, Huananzhi X99-F8 это умеет. В качестве дисков я выбрал недорогие WD Blue SN550 объемом 1 Тбайт, тем более в обзорах указывалось, что они не склонны катастрофически просаживать скорость после заполнения кеша.
Таким образом я со временем нарастил массив до 3 Тбайт, и этого, если не наглеть, хватает практически для всех задач. Впрочем, если не замахиваться на методы post HF, а ограничиться DFT, то и 1 Тбайт хватит за глаза. Для создания программного RAID 0 я использовал mdadm, тут в общем нет никаких особенностей, и мануалов в сети достаточно. Работает такое решение хорошо, однако есть вариант и получше: на алике можно найти относительно недорого U2 SSD WD Black SN640 аж на 7,5 Тбайт — ультимативное решение.
Учитывая, что используемый мною софт, а именно ORCA, на данный момент не умеет работать с GPU, строгой необходимости в видеокарте у меня не возникло. Однако на этапе настройки и установки софта без нее не обойтись. В свою машину я поставил GTX 1080, она мне в свое время досталась по очень привлекательной цене. У китайских плат есть один нюанс в работе с видеокартами, связанный с настройками CSM: в нашей конфигурации она должна быть выключена.
Нюанс тут в том, какие значения установлены в БИОСе по умолчанию. Так, если в пункте video будет стоять Legacy, то на GTX 1080 изображения ты не увидишь, только черный экран. Как следствие, в БИОС ты не зайдешь и настройки не поменяешь. Но проблема решаемая: берем какую‑нибудь древнюю видяху (проверял на GTX 640 и EAH4650), втыкаем, заходим в БИОС, меняем настройки, выключаем, ставим назад GTX 1080. Если нужно использовать старую видеокарту, а в настройках video стоит UEFI, то алгоритм действий обратный. Подозреваю, что эта особенность многим людям попортила нервы.
В качестве блока питания я использовал Cooler Master Elite V4 600 Вт, однако я бы рекомендовал иметь больший запас по мощности, так как при полной нагрузке машина очень чувствительна к просадкам в сети. Бесперебойник не спасает: комп уходит в перезагрузку. Более мощный блок питания позволяет машине не вылетать, пока срабатывает бесперебойник.
ПЛЮСЫ И МИНУСЫ
К плюсам моей сборки можно отнести цену: старые Xeon стоят, прямо скажем, недорого, особенно если не гнаться за топом в линейке E5 2696v4 и E5 2699v4. Любопытно, что по факту это идентичные процы с той лишь разницей, что E5 2696v4 поставлялся строго в составе серверов, поэтому относительно малоизвестен. Кроме того, не все платы его поддерживают, имей это в виду. У E5 2699v4 с поддержкой вроде бы дела обстоят получше, но и цена у него в полтора‑два раза выше. А в остальном они идентичны.
Очень неплохой вариант — E5 2690v4, ядер у него поменьше (14), но и частота повыше: 3200 МГц при полной нагрузке. Стоит он около двух тысяч. Еще к плюсам можно отнести то, что у меня материнка по факту десктопная, форм‑фактора ATX, влезает она практически в любой корпус, да и заморочек с ней меньше, чем с серверными.
К минусам стоит отнести потенциальную ненадежность китайских материнских плат. Судя по отзывам в интернетах, они не то чтобы дохнут, нет, но тут воля случая: может работать, а может и помереть, как повезет. Ну и VRM у них горячий, о чем я уже писал выше.
Моя работает без нареканий, из замеченных странностей только иногда не стартует, зависая на инициализации, что лечится перезагрузкой. Правда, такое случалось лишь пару раз. Также к минусам однозначно стоит отнести баги с UEFI. Сам я багов не видел, но пишут, что в Huananzhi X99-F8 не работает коррекция ошибок памяти. Отсутствие WOL тоже очень огорчает. И главный минус здесь, пожалуй, то, что со временем обновить эту машину не выйдет, поскольку текущая конфигурация уже максимальная.
СОФТ
В качестве операционной системы, разумеется, я использовал мой любимый Arch Linux. Он устанавливается легко и без плясок с бубном. Так как моя машина планировалась скорее как рабочая станция, а не вычислительный сервер, то сверху я накатил «иксы» и Openbox по заветам ArchWiki. Разве что настоятельно рекомендую использовать в fstab UUID-идентификаторы дисков, потому как этих самых дисков в машине много и при инициализации назначение им имен происходит с элементами рандома. В результате установка и удаление новых дисков и PCIE-устройств тоже может поменять имена. А UUID, в отличие от имен, уникальны и не меняются, что избавит нас от неприятных сюрпризов.
То же самое касается и EFISTUB. В противном случае может так получиться, что машина будет грузиться через раз. Я, когда столкнулся с таким поведением, был несколько озадачен. Любопытно, что утилита efibootmgr принимает имя загрузочного раздела, а в UEFI пишет уже UUID. Поэтому, настраивая загрузку, вызываем efibootmgr таким образом:
#efibootmgr -c -d /dev/nvme0n1 -p 1 -l \vmlinuz-linux -L "Arch Linux" -u "initrd=/initramfs-linux.img root=UUID=part_uuid"
Только имена дисков не забудь поменять. Есть еще одна занятная штука: некоторые материнские платы не хотят грузиться с записи под номером 0000. X99-F8 к таким не относится, но в уме это держать стоит.
Ну и напоследок я установил ORCA с официального сайта, для доступа к которому с недавних пор требуется прокси или VPN (Tor не подходит), и Open MPI.
ТЕСТ-ДРАЙВ
В качестве теста производительности я решил использовать что‑то приближенное к практическим задачам. На форуме chemport.ru нашлась интересная тема, посвященная сравнению производительности расчетных машин, для которого используется тестовый input-файл для ORCA следующего содержания:
! UKS b3lyp def2-tzvp tightscf defgrid3 nocosx nori %pal nprocs N end %method AngularGrid 7 IntAcc 5.670 GridPruning OldPruning BFCut 1e-11 WeightCut 1e-14 end * xyz 0 1 7 5.263365000 -0.809094000 0.301207000 6 6.573875000 -0.272788000 0.577214000 6 7.676247000 -1.298471000 0.365855000 6 9.040975000 -0.709409000 0.673148000 7 10.148432000 -1.562897000 0.289452000 6 10.248995000 -2.816903000 1.002416000 6 11.415931000 -0.834654000 0.299215000 6 11.219991000 -3.722976000 0.274540000 6 12.616201000 -1.728404000 0.596641000 7 12.479498000 -3.040776000 0.008370000 6 13.574798000 -3.784343000 -0.374628000 6 13.407266000 -5.070792000 -0.923040000 6 14.889954000 -3.303523000 -0.241151000 6 14.497437000 -5.811691000 -1.337626000 6 15.954215000 -4.072569000 -0.671221000 6 15.794150000 -5.329993000 -1.225769000 7 4.835772000 -0.973795000 -0.996077000 6 4.395529000 -1.271139000 1.257513000 6 3.654749000 -1.533350000 -0.876188000 7 3.327586000 -1.736522000 0.465013000 6 2.715758000 -1.933372000 -1.852204000 6 1.545454000 -2.496808000 -1.443497000 6 2.154252000 -2.302219000 0.878375000 6 1.256931000 -2.685894000 -0.059367000 8 4.488440000 -1.288606000 2.474129000 17 17.581746000 -3.423758000 -0.479631000 1 2.033998000 -2.399764000 1.945985000 1 0.324817000 -3.133479000 0.248767000 1 0.816928000 -2.808697000 -2.178230000 1 2.953860000 -1.780764000 -2.894034000 1 6.554111000 0.068581000 1.610272000 1 6.717863000 0.592377000 -0.068151000 1 7.466435000 -2.155921000 1.004541000 1 7.658018000 -1.645300000 -0.666511000 1 9.150192000 0.220009000 0.109847000 1 9.093457000 -0.427101000 1.740796000 1 11.542924000 -0.345204000 -0.668225000 1 11.416418000 -0.043022000 1.063859000 1 13.490643000 -1.237666000 0.182744000 1 12.779915000 -1.795333000 1.679456000 1 11.393404000 -4.624746000 0.871541000 1 10.758268000 -4.030853000 -0.666412000 1 10.539040000 -2.692732000 2.059832000 1 9.281760000 -3.312189000 1.005791000 1 15.101308000 -2.351050000 0.214305000 1 16.645962000 -5.907387000 -1.549807000 1 14.333360000 -6.792112000 -1.764807000 1 12.419211000 -5.483721000 -1.049190000 *
В файле необходимо задать количество используемых ядер nproc N, а сам этот файл запускает расчет точечной энергии молекулы, приведенной на рисунке.
Результаты тестов различных машин представлены ниже. Конечно, они не совсем корректны, поскольку версии ПО на разном железе отличались, тем не менее эти результаты позволяют прикинуть, насколько получившийся у меня компьютер хорош. Последнее значение в каждой строке — время выполнения вычисления в формате чч:мм:сс, чем меньше, тем лучше.
i3-8100 4x3.60GHz 00:39:58 Ryzen 5500U 6x2.1GHz 00:31:24 i7-8700 6x3.2 GHz /8Gb DDR4 2666MHz /SATA HDD 0:30:18 dual Xeon X5650, 12x2.7GHz /144Gb DDR3 /ATA HDD 00:29:45 Xeon E5-2658v3 12x2.6GHz /32Gb DDR4 2133MHz /SATA HDD 00:23:15 i5-10600K, 6x4.5GHz /16Gb DDR4 /SDD 00:22:43 AMD Ryzen 7 3700X 8x3.6GHz 00:19:07 dual Intel Xeon E5-2680v2 10x3.6 GHz /64Gb DDR3 1066MHz /HDD 00:17:17 i9-10920x 12x3.5GHz /128Gb DDR4/M.2 SSD 00:14:40 dual Intel Xeon E5-2697v2 12x2.7GHz /256Gb DDR3 1600MHz /SATA HDD 0:12:57 AMD Ryzen 9 5900X/32Gb/HDD 00:12:23 --- Xeon 2696v4 22x2.8GHz /512Gb DDR4 2400MHz /RAID0 M2 SSD 00:10:53 --- dual Xeon E5-2658V3 12x2.6 GHz /32Gb DDR4 2133MHz /HDD 00:10:19 AMD Ryzen 9 5950X 16x3.4GHz /64Gb DDR4 /M.2 SSD 00:07:33 Ryzen Threadripper 3970x, 32x3.7GHz /256Gb DDR4 3200MHz /SSD 0:05:32
В этом ряду собранная мною машина смотрится достаточно неплохо, существенно уступая только AMD Ryzen 9 5950X и Ryzen Threadripper 3970x, что неудивительно: там один проц стоит, как вся моя сборка. В принципе, из машины можно выжать еще немного быстродействия, если отключить патчи уязвимостей процессора, снижающие производительность. Так, добавление mitigations=off в параметры ядра отключает эти патчи. После этого тест завершается за 00:10:23, что дает выигрыш в 30 с, или около 5%.
Стоит ли оно того, вопрос дискуссионный. Ну, если машина работает в локалке и, кроме расчетов, на ней ничего не запускают, то, наверное, стоит. Любопытный факт: при проведении расчетов с таким количеством памяти SSD практически не дает выигрыша относительно HDD за счет хорошо работающей системы кеширования файлов. То есть фактически чтение и запись идет из оперативки. Исключение составляют только тяжелые методы post HF типа STEOM-DLPNO-CCSD, которые имеют тенденцию съедать всю память и еще прихватить несколько терабайт на диске под временные файлы. Тут SSD существенно вырывается вперед.
Читатель может задаться вопросом: не избыточно ли 512 Гбайт оперативной памяти? Отвечу, что это можно считать хорошим запасом. Я наблюдал на этой машине использование более 450 Гбайт памяти и, кроме того, видел даже вылеты по причине нехватки оперативки. В плане стабильности работы у системы тоже все хорошо: так, несколько раз на ней выполнялись вычисления, занимавшие около недели, и это при почти полной нагрузке.
БРУТИМ ХЕШИ
То, что машина умеет считать кванты, мы уже выяснили, теперь можно попробовать что‑то более понятное и осязаемое, например брутфорс. Поэтому, вооружившись комплектом hcxdumptool, hcxtools и hashcat, проведем небольшой эксперимент.
Представим себе, что мы хотим оценить безопасность пароля беспроводной точки доступа. Алгоритм действия такой: слушаем трафик с помощью hcxdumptool, полученные дампы рукопожатий конвертируем с помощью hcxpcapngtool в формат hash.hc22000, после чего пытаемся cбрутить пароль с помощью hashcat. Для сбора рукопожатий очень удобно использовать отдельный ноутбук, это позволит не заморачиваться с переключением режимов работы Wi-Fi.
Итак, берем наш ноут, относим его в хорошее место, где доступны все наши тестовые точки доступа, и запускаем hcxdumptool.
sudo systemctl stop wpa_supplicant-nl80211@wlp1s0.service sudo systemctl stop dhcpcd@wlp1s0.service sudo hcxdumptool -i wlp1s0 -o dump.pcapng --active_beacon --enable_status=15
Тут мы выключаем сетевые службы wpa_supplicant и dhcpcd, поскольку нам нужен полный контроль над сетевой картой. Здесь wlp1s0 — имя моей сетевой карты, как ее зовут на твоей машине, ты можешь узнать с помощью команды
ip link show.
Мы получили дамп, теперь конвертируем его в нужный формат.
Переносим полученный дамп на наш «суперкомпьютер» и запускаем hashcat. Мы будем использовать сразу и GPU, и CPU, для работы в обоих режимах надо поколдовать с драйверами — этот процесс подробно описан в мануалах.
Когда‑то я прочитал очень интересную мысль: не бывает стойких паролей, бывают плохие словари. Эта сентенция полностью характеризует положение дел. С хорошим словарем ни у одной сети нет шансов, но где его взять? Лет десять назад среди паролей часто попадались «цифровые восьмизнаки», и этой машине они вполне по плечу. Их и будем перебирать. Итак, подберем цифровой восьмизначный пароль, благо тестовые точки доступа мы настраивали сами и точно знаем, что там используется именно такой.
hashcat -D 1,2 -m 22000 -a 3 hash0.hc22000 "?d?d?d?d?d?d?d?d" |tee hashcatlog_bruteforce_cpu+gpu.txt
В нашем дампе было восемь записей. В процессе брута мы видим следующую информацию.
Session..........: hashcat
Status...........: Running
Hash.Mode........: 22000 (WPA-PBKDF2-PMKID+EAPOL)
Hash.Target......: hash1.hc22000
Time.Started.....: Sat Nov xx 19:34:11 20xx (1 min, 23 secs)
Time.Estimated...: Sat Nov xx 19:53:47 20xx (18 mins, 13 secs)
Kernel.Feature...: Pure Kernel
Guess.Mask.......: ?d?d?d?d?d?d?d?d [8]
Guess.Queue......: 1/1 (100.00%)
Speed.#1.........: 457.5 kH/s (11.00ms) @ Accel:8 Loops:256 Thr:512 Vec:1
Speed.#3.........: 52739 H/s (3.34ms) @ Accel:32 Loops:512 Thr:1 Vec:8
Speed.#*.........: 510.2 kH/s
Recovered........: 2/8 (25.00%) Digests (total), 0/8 (0.00%) Digests (new), 1/7 (14.29%) Salts
Progress.........: 49590784/700000000 (7.08%)
Rejected.........: 0/49590784 (0.00%)
Restore.Point....: 631168/10000000 (6.31%)
Restore.Sub.#1...: Salt:5 Amplifier:3-4 Iteration:1280-1536
Restore.Sub.#3...: Salt:5 Amplifier:8-9 Iteration:0-512
Candidate.Engine.: Device Generator
Candidates.#1....: 34184288 → 35468755
Candidates.#3....: 76995269 → 75973388
Hardware.Mon.#1..: Temp: 75c Fan: 62% Util: 99% Core:1835MHz Mem:4513MHz Bus:16
Hardware.Mon.#3..: Temp: 61c Util: 90%
Во‑первых, железо чувствует себя неплохо: 61 градус на CPU и 75 на GPU. И это при том, что машина не оптимизировалась под работу видяхи на полной нагрузке. Во‑вторых, мы видим, как GTX 1080 на этой задаче рвет Xeon со страшной силой: 450 kH против 50 kH. А в‑третьих, бруту поддались две из восьми записей, и такое положение дел сохранилось до конца перебора.
Из этого можно сделать вывод, что для брута паролей беспроводных сетей эта машина не сбалансирована: нужно больше видях, а вот проц и память чудовищно избыточны. Десяток точек Wi-Fi с восьмизначным паролем в один заход ломаются видяхой за 25 тысяч примерно за десять минут. Поэтому, если ты используешь восьмизначные цифровые пароли, у меня для тебя плохие новости.
Резюме: машину можно использовать для простых задач по перебору паролей, но если ориентироваться именно на них, то конфигурацию стоит пересмотреть. Так, уменьшив объем памяти и вставив вторую видеокарту, ты поднимешь производительность в два раза и при этом еще и сэкономишь.
РАЗВЛЕКУХА НАПОСЛЕДОК
А что насчет игрушек? Конечно, назвать этот аппарат игровым язык не повернется, в здравом уме для игр такое никто собирать не будет. Можно собрать игровой комп за цену одной только оперативки. Впрочем, в сети полно материалов по поводу игровых ПК на «зионах», и все сходятся на том, что эти процессоры для игр подходят плохо в основном из‑за низкой производительности на одно ядро. Так что играть на Xeon разумно только из соображений лютой экономии, чем в нашем случае и не пахнет. Тем не менее какая‑никакая видеокарта у нас есть, и в свое время она была ого‑го, так что можно попробовать.
Windows 10 LTSC ставится на этот компьютер совершенно штатным образом, корректно определяет процессор и видит всю оперативную память. Игрушки тоже устанавливаются без проблем. Все тесты проводились в разрешении Full HD, FPS я не измерял.
Wolfenstein: New Order, Wolfenstein: New Colossus, Old Blood и Young Blood на высоких настройках бегают очень бодро, фризов не видно. Cвежий Doom тоже работает на ура. В предрелизную Atomic Heart играется нормально, но на открытых локациях FPS местами проседает до 15–20, правда, тут, возможно, дело в багах самой игры, на то она и предрелизная версия.
Cyberpunk 2077 идет комфортно, фризов не замечено. Что еще можно попробовать, когда у тебя 512 Гбайт оперативы? Конечно, создать RAM-диск и попытаться запустить игрушки с него. Сказано — сделано: имеем виртуальный диск на 256 Гбайт и еще столько же оперативки в запасе. Тесты я проводил на Wolfenstein new colossus и Cyberpunk 2077. Все‑таки хорошо звучит «запустить киберпанк из оперативки», есть в этом что‑то безумное. В общем, все успешно загружается, а вот скоростью я был разочарован: игра запускается, конечно, быстрее, но не настолько, чтобы сказать «Вау!». Изменений в самом игровом процессе я вообще не заметил. Короче, оно того не стоит. Вывод я сделал простой: считает собранный мною компьютер неплохо, а вот для игр и брутфорса подходит неидеально, хотя если очень хочется, то его можно использовать и таким образом.