Суперкомпьютер своими руками

в 11:30, , рубрики: big data, nvidia tesla, supermicro, xeon, высокая производительность, Железо, серверы, суперкомпьютер, метки: , , , ,

На сегодняшний день возможно построение домашнего суперкомпьютера, о чем и пойдет речь.

В статье рассмотрены способы аппаратного построения высокопроизводительных вычислительных комплексов. Одно из интересных применений – криптография. Например, благодаря современным технологиям, любому стал доступен взлом MD5 или WPA. Если постараться (информацию быстро выпиливают), в Интернете можно найти способ взлома алгоритма A5/2, используемого в GSM. Другое применение – инженерные, финансовые, медицинские расчеты, биткойнмайнинг.

Немного истории

Статья в газете 1920 года о суперкомпьютереСуперкомпьютер образца 1920 годаДатой первого письменного упоминания о суперкомпьютерах можно считать 1 марта 1920 года. Нью Йоркские газеты писали о машинах мощностью в сто математиков. Это были табуляторы – электромеханические вычислительные машины, производимые компанией IBM (которая тогда называлась еще CTR). В дальнейшем вычислительные машины стали электронными. На рынке суперкомпьютеров образовалось несколько игроков, таких как Cray, HP, IBM, Nec. Эти компьютеры имели векторные процессоры (то есть оперировали не отдельными числами, а векторами). Для коммуникации между вычислительными узлами использовались проприетарные технологии фирм-производителей. Например, одна из таких технологий – соединение процессоров по топологии четырехмерного тора — за этими словами скрывается очень простой смысл: каждый узел связан с шестью другими. Дальнейшее развитие суперкомпьютеров породило направление массово параллельных систем и кластеров. В кластерах как квинтэссенции этого направления используются примерно те же алгоритмы коммуникации между вычислительными узлами, что и в суперкомпьютерах, только на базе сетевых интерфейсов. Они и являются слабым местом таких систем. Помимо нестандартной (по сравнению с классической звездой) топологии сети как Fat Tree, «многомерный тор» или Dragonfly, требуются специальные коммутационные устройства.

Касаясь взятой нами темы, нельзя не упомянуть, что сегодня одно из перспективных направлений развития суперкомпьютеров является использование в стандартной компьютерной архитектуре сопроцессоров, по архитектуре напоминающих видеокарты.

Выбор процессора

Сегодня основные производители процессоров – это Intel и AMD. RISC-процессоры, такие как Power 7+, несмотря на привлекательность, достаточно экзотичны и дороги. Вот, например, не самая новая модель такого сервера стоит больше миллиона.

(К слову, говоря, при этом есть возможность собрать недорогой и эффективный кластер из xbox 360 или PS3, процессоры там примерно как Power, и на миллион можно купить не одну приставку.)

Исходя из этого отметим интересные по цене варианты построения высокопроизводительной системы. Разумеется, она должна быть многопроцессорной. У Intel для таких задач используются процессоры Xeon, у AMD – Opteron.

Если много денег

Монитор производительности Xeon E7-8870Процессорные платыОтдельно отметим крайне дорогую, но производительную линейку процессоров на сокете Intel Xeon LGA1567.
Топовый процессор этой серии – E7-8870 с десятью ядрами 2,4 ГГц. Его цена $4616. Для таких CPU фирмы HP и Supermicro выпускают! восьмипроцессорные! серверные шасси. Восемь 10-ядерных процессоров Xeon E7-8870 2.4 ГГц с поддержкой HyperThreading поддерживают 8*10*2=160 потоков, что в диспетчере задач Windows отображается как сто шестьдесят графиков загрузки процессоров, матрицей 10x16.

Для того, чтобы восемь процессоров уместились в корпусе, их размещают не сразу на материнской плате, а на отдельных платах, которые втыкаются в материнскую плату. На фотографии показаны установленные в материнскую плату четыре платы с процессорами (по два на каждой). Это решение Supermicro. В решении HP на каждый процессор приходится своя плата. Стоимость решения HP составляет два-три миллиона, в зависимости от наполнения процессорами, памятью и прочим. Шасси от Supermicro стоит $10 000, что привлекательнее. Кроме того в Supermicro можно поставить четыре сопроцессорных платы расширения в порты PCI-Express x16 (кстати, еще останется место для Indiniband-адаптера чтобы собирать кластер из таких), а в HP только две. Таким образом, для создания суперкомпьютера восьмипроцессорная платформа от Supermicro привлекательнее. На следующем фото с выставки представлен суперкомпьютер в сборе с четырьмя GPU платами.
Суперкомпьютер с 4 GPU платами
Однако это очень дорого.

Что подешевле

Зато есть перспектива сборки суперкомпьютера на более доступных процессорах AMD Opteron G34, Intel Xeon LGA2011 и LGA 1366.

Чтобы выбрать конкретную модель, я составил таблицу, в которой сосчитал для каждого процессора показатель цена/(число ядер*частота). Я отбросил из расчета процессоры частотой ниже 2 ГГц, и для Intel — с шиной ниже 6,4GT/s.

Модель Кол-во ядер Частота Цена, $ Цена/ядро, $ Цена/Ядро/ГГц
AMD          
6386 SE 16 2,8 1392 87 31
6380 16 2,5 1088 68 27
6378 16 2,4 867 54 23
6376 16 2,3 703 44 19
6348 12 2,8 575 48 17
6344 12 2,6 415 35 13
6328 8 3,2 575 72 22
6320 8 2,8 293 37 13
INTEL          
E5-2690 8 2,9 2057 257 89
E5-2680 8 2,7 1723 215 80
E5-2670 8 2,6 1552 194 75
E5-2665 8 2,4 1440 180 75
E5-2660 8 2,2 1329 166 76
E5-2650 8 2 1107 138 69
E5-2687W 8 3,1 1885 236 76
E5-4650L 8 2,6 3616 452 174
E5-4650 8 2,7 3616 452 167
E5-4640 8 2,4 2725 341 142
E5-4617 6 2,9 1611 269 93
E5-4610 6 2,4 1219 203 85
E5-2640 6 2,5 885 148 59
E5-2630 6 2,3 612 102 44
E5-2667 6 2,9 1552 259 89
X5690 6 3,46 1663 277 80
X5680 6 3,33 1663 277 83
X5675 6 3,06 1440 240 78
X5670 6 2,93 1440 240 82
X5660 6 2,8 1219 203 73
X5650 6 2,66 996 166 62
E5-4607 6 2,2 885 148 67
X5687 4 3,6 1663 416 115
X5677 4 3,46 1663 416 120
X5672 4 3,2 1440 360 113
X5667 4 3,06 1440 360 118
E5-2643 4 3,3 885 221 67

Жирным курсивом выделена модель с минимальным показателем соотношения, подчеркнутым – самый мощный AMD и на мой взгляд наиболее близкий по производительности Xeon.

Таким, образом, мой выбор процессоров для суперкомпьютера – Opteron 6386 SE, Opteron 6344, Xeon E5-2687W и Xeon E5-2630.

Материнские платы

PICMG

На обычные материнские платы невозможно поставить более четырех двухслотовых плат расширения. Есть и другая архитектура – использование кросс-плат, таких как BPG8032 PCI Express Backplane.
BPG8032 PCI Express Backplane
В такую плату ставятся платы расширения PCI Express и одна процессорная плата, чем-то похожая на те, которые установлены в восьмипроцессорных серверах на базе Supermicro, о которых речь шла выше. Но только эти процессорные платы подчиняются отраслевым стандартам PICMG. Стандарты развиваются медленно и такие платы зачастую не поддерживают самые современные процессоры. Максимум такие процессорные платы сейчас выпускают на два Xeon E5-2448L — Trenton BXT7059 SBC.
Trenton BXT7059 SBC

Стоить такая система будет без GPU не меньше $5000.

Готовые платформы TYAN

За ту же примерно сумму можно приобрести готовую платформу для сборки суперкомпьютеров TYAN FT72B7015. В такой можно установить до восьми GPU и два Xeon LGA1366.

«Обычные» серверные материнские платы

Для LGA2011

Supermicro X9QR7-TF — на эту материнскую плату можно установить 4 Платы расширения и 4 процессора.

Supermicro X9DRG-QF — эта плата специально разработана для сборки высокопроизводительных систем.

Для Opteron

Supermicro H8QGL-6F — эта плата позволяет установить четыре процессора и три платы расширения

Усиление платформы платами расширения

Этот рынок почти полностью захвачен NVidia, которые выпускают помимо геймерских видеокарт еще и вычислительные карты. Меньшую долю рынка имеет AMD, и относительно недавно на этот рынок пришла корпорация Intel.

Особенностью таких сопроцессоров является наличие на борту большого объема оперативной памяти, быстрые расчеты с двойной точностью и энергоэффективность.

  FP32, Tflops FP64, Tflops Цена Память, Гб
Nvidia  Tesla K20X 3.95 1.31 5.5 6
AMD FirePro S10000 5.91 1.48 3.6 6
Intel  Xeon Phi 5110P   1 2.7 8
Nvidia GTX Titan 4.5 1.3 1.1 6
Nvidia GTX 680 3 0.13 0.5 2
AMD HD 7970 GHz Edition 4 1 0.5 3
AMD HD 7990 Devil 13 2x3,7 2х0.92 1.6 2x3

Топовое решение от Nvidia называется Tesla K20X на архитектуре Kepler. Именно такие карты стоят в самом мощном в мире суперкомпьютере Titan. Однако недавно Nvidia выпустила видеокарту Geforce Titan. Старые модели были с урезанной производительностью FP64 до 1/24 от FP32 (GTX680). Но в Титане производитель обещает довольно высокую производительность в расчетах с двойной точностью. Решения от AMD тоже неплохи, но они построены на другой архитектуре и это может создать трудности для запуска вычислений, оптимизированных под CUDA (технология Nvidia).

Решение от Intel — Xeon Phi 5110P интересно тем, что все ядра в сопроцессоре выполнены на архитектуре x86 и не требуется особой оптимизации кода для запуска расчетов. Но мой фаворит среди сопроцессоров – относительно недорогая AMD HD 7970 GHz Edition. Теоретически эта видеокарта покажет максимальную производительность в расчете на стоимость.

Можно соединить в кластер

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

Использовать в качестве сетевого интерфейса для связи компьютеров обычный гигабитный Ethernet слишком медленно. Для этих целей чаще всего используют Infiniband. Хост адаптер Infiniband относительно сервера стоит недорого. Например, на международном аукционе Ebay такие адаптеры продают по цене от $40. Например, адаптер X4 DDR (20Gb/s) обойдется с доставкой до России примерно в $100.

При этом коммутационное оборудование для Infiniband стоит довольно дорого. Да и как уже было сказано выше, классическая звезда в качестве топологии вычислительной сети – не лучший выбор.

Однако хосты InfiniBand можно подключать друг к другу напрямую, без свича. Тогда довольно интересным становится, например, такой вариант: кластер из двух компьютеров, соединенных по infiniband. Такой суперкомпьютер вполне можно собрать дома.

Сколько нужно видеокарт

В самом мощном суперкомпьютере современности Cray Titan отношение процессоров к «видеокартам» 1:1, то есть в нем 18688 16-ядерных процессоров и 18688 Tesla K20X.

В Тяньхэ-1А – китайском суперкомпьютере на ксеонах отношение следующее. Два шестиядерных процессора к одной «видюшке» Nvidia M2050 (послабее, чем K20X).

Такое отношение мы и примем для наших сборок за оптимальное (ибо дешевле). То есть 12-16 ядер процессоров на один GPU. На таблице ниже жирным обозначены практически возможные варианты, подчеркиванием – наиболее удачные с моей точки зрения.

GPU Cores 6-core CPU 8-core CPU 12-core CPU 16-core CPU
2 24 32 4 5 3 4 2 3 2 2
3 36 48 6 8 5 6 3 4 2 3
4 48 64 8 11 6 8 4 5 3 4

Если система с уже установленным отношением процессоров/видеокарт сможет принять «на борт» еще дополнительно вычислительных устройств, то мы их добавим, чтобы увеличить мощность сборки.

Итак, сколько стоит

Представленные ниже варианты – шасси суперкомпьютера без оперативной памяти, жестких дисков и ПО. Во всех моделях  используется видеоадаптер AMD HD 7970 GHz Edition. Его можно заменить на другой, по требованию задачи (например, на xeon phi). Там, где система позволяет, одна из AMD HD 7970 GHz Edition заменена на трехслотовую AMD HD 7990 Devil 13.

Вариант 1 на материнской плате Supermicro H8QGL-6F

Корпус SC748TQ-R1400B

         
Материнская плата Supermicro H8QGL-6F 1 1200 1200
Процессор AMD Opteron 6344 4 500 2000
Кулер Процессора Thermaltake CLS0017 4 40 160
Корпус 1400Вт SC748TQ-R1400B 1 1000 1000
Графический ускоритель AMD HD 7970 GHz Edition 3 500 1500
        5860

Теоретически, производительность составит около 12 Tflops.

Вариант 2 на материнской плате TYAN S8232, кластерный

image
Эта плата не поддерживает Opteron 63xx, поэтому используется 62xx. В этом варианте два компьютера объединены в кластер по Infiniband  x4 DDR двумя кабелями.  Теоретически скорость соединения в  этом случае упрется в скорость PCIe x8 то есть 32Гб/с. Блоков питания используется два. Как их согласовать между собой, можно найти в интернете.

    Количество Цена Сумма
Материнская плата TYAN S8232 1 790 790
Процессор AMD Opteron 6282SE 2 1000 2000
Кулер Процессора Noctua NH-U12DO A3 2 60 120
Корпус Antec Twelve Hundred Black 1 200 200
Блок питания FSP AURUM PRO 1200W 2 200 400
Графический ускоритель AMD HD 7970 GHz Edition 2 500 1000
Графический ускоритель AX7990 6GBD5-A2DHJ 1 1000 1000
Infiniband адаптер X4 DDR Infiniband 1 140 140
Infiniband кабель X4 DDR Infiniband 1 30 30
        5680 (за один блок)

Для кластера таких конфигураций нужно две и стоимость их составит $11360. Его энергопотребление  при полной нагрузке будет около 3000Вт. Теоретически, производительность составит до 31Tflops.

Вариант 3 на платформе Tyan FT72B7015

Корпус Tyan FT72B7015
Отличается этот вариант тем, что при восьми GPU только два CPU. Соответственно, производительность его в реальных задачах будет зависеть от способности программы сильно распараллеливаться.

    Количество Цена Сумма
Шасси (3000Вт) Tyan FT72B7015 1 4900 4900
Процессор Xeon X5680 2 1300 2600
Кулер Процессора SuperMicro  SNK-P0040AP4 2 40 80
Графический ускоритель AMD HD 7970 GHz Edition 8 500 4000
        11580

Теоретически, производительность составит до 32 Tflops.

Вариант 4 для LGA2011, кластерный

    Количество Цена Сумма
Материнская плата Supermicro X9DRG-QF 1 600 600
Процессор Intel Xeon E5-2687W 2 2000 4000
Кулер Процессора Supermicro SNK-P0050AP4 2 50 100
Корпус Antec Twelve Hundred Black 1 200 200
Блок питания FSP AURUM PRO 1200W 2 200 400
Графический ускоритель AMD HD 7970 GHz Edition 3 500 1500
Графический ускоритель AX7990 6GBD5-A2DHJ 1 1000 1000
Infiniband адаптер X4 DDR Infiniband 1 140 140
Infiniband кабель X4 DDR Infiniband 1 30 30
        7970 (за один блок)

Для кластера таких конфигураций нужно две и стоимость их составит $15940. Общее энергопотребление  при полной нагрузке будет около 4000 Вт. Теоретически, производительность составит до 39Tflops.

Автор: ValeriyKr

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js