Пользователь
0,0
рейтинг
22 февраля 2013 в 15:30

Разработка → Суперкомпьютер своими руками из песочницы

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

В статье рассмотрены способы аппаратного построения высокопроизводительных вычислительных комплексов. Одно из интересных применений – криптография. Например, благодаря современным технологиям, любому стал доступен взлом 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 (кстати, еще останется место для Infiniband-адаптера чтобы собирать кластер из таких), а в 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
карма
15,0
рейтинг 0,0
Реклама помогает поддерживать и развивать наши сервисы

Подробнее
Спецпроект

Самое читаемое Разработка

Комментарии (100)

  • НЛО прилетело и опубликовало эту надпись здесь
    • +70
      И новая винда на этом будет торомозить…
      • –77
        по моему, сегодня тормозят только прыщи и андроид.
        • +31
          Что еще мог написать адепт майкрософт?))
        • +4
          прыщи

          Вы хотели сказать порт убунту под ваш Zopo ZXHD4000?
        • НЛО прилетело и опубликовало эту надпись здесь
          • –3
            Не тормозит ни то ни другое.
      • +2
        И современная Mac OS через 10 лет на современном железе будет работать медленнее, и Linux с Unity будет лагать. А уж iOS 16, Android 15 и WP 18 современные четырехъядерные смартфоны с 2 гигами памяти и FullHD экранами даже за телефон считать не будут.

        В общем, весьма провокационное и холиварное утверждение, которое невозможно доказать. На месте разработчиков винды, я бы обиделся.
    • +2
      Учитывая тенденцию к переносу всего и вся в облака, возможно и не будет.
      • НЛО прилетело и опубликовало эту надпись здесь
        • 0
          Одно другому не мешает.
          Да и сами облака делаются на похожих кластерах.
    • +4
      Да что там, в телефоне у ребенка будет больше… :)

      «папа, а у Веры телефон на 4096 ядрах, только она еще не знает, как половину из них под GUI самого телефона отдать, чтобы не тормозило» :)

    • +2
      А смысл? Мощности и так уже больше чем надо для большинства задач, выделяются геймеры и инженеры
      Даже для сервера, обслуживающего некислую сеть уже хватает просто близкий к топовой бытовой комп с виртуализацией и прочими шняжками.

      Скорее будет повышение мощности контроллеров до уровня десктопного компа и перенос некоторых вычислений на мелкие встраиваемые решения. И тут важнее не мощность, а правильная паралеллизация или просто взаимодействие — развитие стандартов для интерфейсов и кластеризация отдельных элементов.
  • 0
    У меня в кармане 4х ядерный мобильник где каждое ядро по 1,4 ГГц. Я в 1995году, даже не мог представить такое. Ни один суперкомпьютер тогда и близко не стоял. Так что не расстраивайтесь, все выше описанные суперкомпьютеры, лет через 10-20 — окажутся точно у вас в кармане, за какие то небольшие деньги. Я уверен.
    • 0
      Если у кого-то сейчас есть задача, для решения которой требуется суперкомпьютер, то, скорее всего, и через 10-20 лет его задачам будет требоваться суперкомпьютер уже по новым меркам производительности.
      • 0
        Задачи только будут уже новые и более сложные.
      • +2
        Вся прелесть многих научных задач в том, что их можно расширять экстенсивно, грубо говоря, просто дописав нолик в точность. Поэтому суперкомпьютеры могут наращивать мощность как хотят — задача найдется на любую.
    • +10
      Не надо заливать, суперкомпьютер №1 в 1993-1996 под названием Numerical Wind Tunnel легко уделывал ваш мобильник. А он был далеко не единственным.
  • +10
    Частота * ГГц отличная метрика производительности!
    • +1
      Частота * ядра, конечно же.
      • 0
        а мужики то не знали) меняю ваш Intel Core i3-3225 3,3GHz на свой Pentium D 3,4GHz совершенно бесплатно
  • 0
    статья более, чем интересная, даже без всего этого пафоса про суперкомпьютеры на балконе.
  • +16
    IT — порно
  • +6
    У случае использования AMD Opteron есть ещё одна возможность делать линк между нодами, без использованися дорогих Inifiniband адаптеров. Процессоры на материнской плате общаются между собой по шине HyperTransport, и на некоторых серверных материнках эта шина выведена на отдельный разъём типа pci. Если взять 2 сервера — то можно их через эту шину и объединить. Но вот с софтом будет проблема, одна московская контора (НИИ, кстати) пару лет назад планировала coreboot пилить, чтобы запустить такую конструкцию. Честно говоря, не знаю, на чём дело закончилось у них.

    Вот, даже ссылку на статью нашёл, которую они мне присылали: ra.ziti.uni-heidelberg.de/pages/publications/papers/2010/5.pdf
    • +1
      В Cray Jaguar интерконнект подключается напрямую к HyperTransport. Но задорого.
      • 0
        Infiniband втыкают в HyperTransport? Должно получиться быстро и с очень низким latency.

        В пдф из моего комментария всё по рабоче-крестьянски, шлейфом напрямую соединяют :) Расстояние правда совсем короткое возможно. Самое оно для домашнего суперкомпьютера :)
    • 0
      Поискал такие материнки, похоже, что в свободной продаже их нет. Было несколько моделей несколько лет назад. В них на один из разъемов pcie был выведен гипертранспорт. Называлось это HTX коннектор.
  • +4
    Проще взять сделать сайт и сказать, что инопланетян ловишь телескопом.
    Скачай софт — помоги поймать. А туда — агента кластера засунуть.
    И все… Считай себе че хочешь)))
    • 0
      а если результат нужен быстро? например для трейдинга.
      • 0
        а разница?!)
  • 0
    А что на нем можно считать в домашних условиях? FPSы в скайриме?)
    • 0
      Bitcoin же
      • +2
        а еще до сих пор актуально разве? за сколько компом на 30 Тфлопс можно посчитать сейчас?
        • 0
          Лично я сторонник того, что даже если bitcoin и было бы актуально считать, пользы было не больше, чем от FPS в скайриме.
          У нас в политех хотят заказать NVidia Tesla HPC-3060(2x Xeon E5-2690, 128GB DDRIII, Nvidia Quadro K4000, 3xTesla C2075), но это нам скорее для расчетов и куда скромнее описанной здесь установки.
          В остальное время компьютеров мощнее обычного Core i7 я не нагружал
          • +1
            А зачем вам для расчетов такая мощная видяха?
            Может эффективней заюзать компьютерный класс в мап-редюс?
            • 0
              Компьютерные классы еле пережевывают 2008ю Visual studio. А зачем в компе 4 видяхи я сам не знаю, оборудование не я выбирал
              • 0
                Один комп да, так их в классе штук 10-20 должно быть. И если их core2duо(?) штук 20 заюзать одновременно, то получится неплохая вычислительная машина и считай нашару. Смотря какие задачи правда.
    • +1
      Например Folding@Home, SETI@Home.
    • +2
      Для HFT такое нужно, например. Да, в домашних условиях.
      • +1
        HFT в домашних условиях? :-)
        • 0
          Вы не поверите, но есть много причин по которым колокейшн в принципе не сделать. Например, вы тупо не подходите по критериям на то чтоб ы получить DMA. И что делать? К тому же, в этом есть одно большое приемущество — custom hardware который можно либерально втыкать и использовать.
          • 0
            Нет ножек — нет мультиковНу какой HFT без DMA? А если у нас есть DMA и оптика куда-то поближе к ARCA, до тогда это уже не домашние условия:)
            • 0
              На самом деле все зависит наверное от рынка на котором вы присутствуете. Если рынок населен конторами которые могут $1m/день тратить только на железо, то понятно что на нем ловить нечего, т.к. у них до биржи небось 10см провода. А если взять место менее рыбное, но вы на узком DSL канале с пингом в районе 30 можете неплохо порыбачить. И вот тогда и появияется вопрос, хватит ли у вас железа чтобы улыбки по всем инструментам и страйкам обсчитывать ну хотя бы раз в 100мс.
              • 0
                Тут мы приходим к вопросу, что считать HFT. Я склонен считать, что 30ms — это уже не HFT, а обычный, нормальный рынок.
    • 0
      Была бы фантазия. Множество прикладных задач можно решить конечноэлементными методами или нейросетями. Такой суперкомп в этом сильно поможет. Примеры задач, какие я бы стал делать: трейдерские расчеты, расчеты фазированных антенных решёток, дешифровка GSM
  • +2
    Без информации по охлаждению ценность этих рецептов стремится к нулю. По опыту биткоин майнинга у меня есть сомнения что сэндвич из 4 х 7970 будет нормально охлаждаться.
    • 0
      майнинг окупился?
      • 0
        Давно. Но и поднадоел уже. Сейчас на GPU биткоины уже не помайнить, выходят специализированные чипы (и по многим признакам это не миф). Есть другие коммерческие проекты кроме биткоина, конечно.
        Майнингом по-крупному я не занимался, но как греются карточки в сэндвиче и зачем нужны riser'ы я узнал почти в самом начале.
        • +1
          Да, райзеры это хорошо, но карты очень легко можно охлаждать жидкостными системами.
          • +1
            С нашими-то сантехниками? :)
          • +1
            Для домашнего компа водянка — это очень даже неплохо. Это в серверных приходится извращаться с охлаждением: делать все CPU и GPU как можно энергоэффективнее, ставить на пих пассивные радиаторы и охлаждать внешним потоком воздуха. А дома, где суперкомп всегда под личным контролем такого не надо, и СВО — самый раз.
          • 0
            Я не против, но автор не особо упомянул проблемы охлаждения, а они будут. И в случае водяного охлаждения будут вполне ощутимы в прикидках стомости решения.
  • +2
    «обычный гигабитный Ethernet» — уже давно бытовое low-end решение.
    Можно связывать узлы кластера по 10-гигабитному езернету.
    • +1
      Уже у всех домохозяек 10-ка!
      100 и по оптике, иначе никак.
    • +2
      Не всем подходит, ибо латентность заметно выше чем у Infiniband, плюс еще некоторая специфика… В случае потребностей в интенсивном вводе-выводе и/или интенсивном межузловом обмене Infiniband — едва ли не единственный разумный выбор.
      • 0
        Проблема латентности Ethernet возникает только при использовании классического TCP/IP стека.
        Если же использовать netmap API, латентность будет ровно такая же, как у Infiniband при том же размере пакета.
        И в специализированных Ethernet-коммутаторах для датацентров, точно так же, как у Infiniband, используется cut-through switching.
        • 0
          А какой смысл сравнивать полноценное, готовое к использованию решение IB с только физическим и канальным уровнями, оставленными от Ethernet? Или остальная обвязка поверх голого Ethernet реализованная на CPU сможет работать быстрее, чем та-же обвязка реализованная внутри Ethernet-карты?

          Не в TCP/IP тут дело и не в netmap, а в существующих реализациях и их возможностях, которые для InfiniBand обеспечивают не только лучшую латентность, но и много других нужных функций, будь то RDMA, надежная доставка данных и т.д.
          • 0
            netmap — это и есть RDMA.
            • 0
              netmap is a very efficient framework for line-rate raw packet I/O from user space

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

              Канонический RDMA — это вообще аппаратная функциональность, работающая без участия операционных систем узлов.
              • 0
                netmap позволяет заданный участок памяти перегнать в память соседа без участия сетевого стека.
                Канонический же RDMA (используемый для отладки ядра, например) можно реализовать на Intel PDK. Однако, это дыра в безопасности.
        • +1
          Для покатать сферических коней — все правда, для работы приложений поверх реальных железок и стеков IB оказывается выгоднее по многим параметрам — www.hpcadvisorycouncil.com/pdf/IB_and_10GigE_in_HPC.pdf
          • 0
            Смутное дежавю — 15 лет назад я слышал ооочень похожие слова про преимущества ATM. :)
            Предлагаю продолжить этот разговор лет через 10-15.
            • +1
              Через 10-15 лет будет скучно вспоминать про такие древности. А считать-то нужно сейчас, и для многих задач интерконнект весьма важен. Так что IB поживет еще немного, я думаю.
              • 0
                IB FDR имеет пропускную способность 56Gb/s на один порт. Такие есть двухпортовые адаптеры для PCIe 3.0. А это значит, что используя оба порта можно выжать почти максимум из PCIe 3.0 x16 — 112 из 128Гб/с возможных.
    • 0
      Если верить Ebay, то адаптеры 10Gb Ethernet стоят баксов 200, а IB 20Gb — $80. Ну и задержки в езернете еще дополнительные.
  • +1
    Да, x86, однако нынче крут :)
    HP DL980 с описанными 8-мью десятиядерниками уделывет HP Intergrity SuperDome на IA64. При цене в 10 раз меньшей :)
    Правда, и надежность, конечно, похуже, но за такую цену это вопрос решаемый :)
    Если бы еще не различный endian, из-за которого приходится 100Тб базы копированием перетаскивать, уже давно бы все мигрировали…
  • +5
    чтобы восемь процессоров уместились в корпусе, их размещают не сразу на материнской плате, а на отдельных платах, которые втыкаются в материнскую плату.

    Напомнило Pentium II:
    image
  • +1
    Я конечно не спец в области молотилок чисел, но по моему до обсуждения железа надо бы понять какое оно нужно, то есть сначала понять что за задача, как она решается — хорошо ли паралеллится, какие обьемы данных будут передаваться между процессами, как оптимизируется

    Или все это под конкретную задачу типа обсчета радужных таблиц?
  • +2
    Перефразируя одну известную личность — если у вас нет терафлопа, какой вы нафиг суперкомпьютер…
  • 0
    Видел на выставке российскую разработку — молотилку чисел на ПЛИС. Как утверждал разработчик — это лучшее решение по вскрытию шифров. По габаритам данное вычислительное устройство было выполнено в стандартном корпусе ПК типа «TOWER». Шины питания ПЛИС особо выделялись своей шириной на материнской плате устройства. Вот жаль не помню производительность… давно это было (2009 год).
    • +2
      Шифроломки обычно и делаются на FPGA, специфика такова, что на традиционных архитектурах взлом будет не особенно эффективен. Так уж повелось со времен Colossus, который в 1944 году взламывал шифр Лоренца всего в 240 раз медленнее реализации такой же ломалки на С на ноуте 2005 года.
      • 0
        если только не брутфорс
  • +1
    Большое спасибо — на самом деле, вокруг полно людей, которым нужны считалки на 2-32 узла, и которые не готовы двигать свои расчеты в облака. Для них такая «открывалка глаз» особо полезна.
  • +1
    Странно, что никто до сих пор не упомянул такую характеристику, как гигафлопс на ватт. Задачи-то очень разные бывают. Одно дело считать всякую математику, совсем другое — зарабатывать деньги. Тот же гугл просто не запускал в своих дата-центрах LINPACK, ну и сетевая архитектура у них не очень-то подходит под этот тест. А так, например, у Титана мощность (электрическая) «всего-то» 9 МВт, при том что у современных дата-центров гугла, фейсбука или там яндекса счет идёт на десятки МВт, и энергию там действительно экономят. Сплошь и рядом — серверы на базе ноутбучных процессоров (а отнюдь не на XEON-ах).
    • 0
      Простите за глупый вопрос, а в чём смысл кучи серверов на слабых процессорах? Прчему вместо нескольких стоек таких слабеньких серверов не воткнуть одного вот такого монстра на крутых Xeon-ах (убрав видеокарты (т.к. задача не требует FPU-рассчётов) и снабдив большим рэйдом из крутых SSD)?
      • +1
        Ну смотрите, берем два процессора на одних и тех же ядрах Sandy Bridge:
        серверный XEON X5690: 6 ядер, 3.46 Ггц, 130 Вт, $1700
        мобильный Core i5 2500T: 4 ядра, 2.3 Ггц, 45 Вт, $220
        В случае сервера на 8 XEON-ов мы получим 48 ядер за $13600 (считаем только процессоры) с потреблением больше киловатта, которые нужно отвести из условно 4U. Представьте себе, что мы засунули в тесную железную коробку включенный утюг и пытаемся держать температуру его поверхности не выше 60 градусов.
        В случае Core i5 частота меньше грубо в полтора раза, поэтому для той же производительности «по ядрам» нам нужно не 48, а уже 72 ядра, или 18 четырёхядерных процессоров. Это 18 1U серверов. Процессоры в данном случае обойдутся в $3960 и будут потреблять 800 Ватт, которые нужно собрать с 18U (это примерно половина стандартной стойки на 42U) — то есть совершенно никаких проблем с охлаждением.
        Кстати, весь сервер целиком на базе Core i5 стоит порядка $700-800 (без учета дисков и инфинибанда). То есть 18 таких серверов могут обойтись дешевле, чем одни только процессоры для 8-процессорного XEONа.
        Дальше всё зависит от наших задач.
        Если у нас тяжелая математика (решение огромных СЛАУ), то нам нужен Infiniband, и XEON-ы с их общей памятью вполне могут выйти в лидеры и по производительности, и по цене.
        Если у нас просто система массового обслуживания с большим потоком разнородных, мало связанных запросов (типичная для веба и облаков ситуация), то достаточно обычного GbE, то пачка дешевых серверов выигрывает с огромным отрывом. В том числе по отказоустойчивости: если что-то сдохло, просто выкинули один сервер и воткнули резервный, который подцепил виртуальные машины от старого и всё.
        Что до систем хранения, ситуация там похожая: либо это отдельная SAN с безумной производительностью и ценником (для всяких баз данных и т.п.), либо же выгоднее воткнуть по 1-2 обычных десктопных HDD в каждый дешевый сервер и организовать поверх них «программный рейд» размером с весь дата-центр (и тупо хранить все данные на трёх разных машинах для отказоустойчивости).
        • 0
          Дальше всё зависит от наших задач.
          Если у нас тяжелая математика

          В данном случае мой вопрос был о web-сервере под большую нагрузку. Применительно к рассчётным задачам мне всё более-мене понятно.

          Если у нас просто система массового обслуживания с большим потоком разнородных, мало связанных запросов (типичная для веба и облаков ситуация), то достаточно обычного GbE, то пачка дешевых серверов выигрывает с огромным отрывом. В том числе по отказоустойчивости: если что-то сдохло, просто выкинули один сервер и воткнули резервный, который подцепил виртуальные машины от старого и всё.

          Выигрывает по энэргоэкономности/прохладности? Или в плане производительности обслуживания запросов каким-то образом тоже?
          • 0
            В первую очередь — выигрышь по стоимости, но как правильно заметили ниже, нужно ещё учитывать фактор стоимости стойко-места в датацентре. Во-вторую, по отказоустойчивости: если сдох один из тонких серверов, его программно отключили от общей системы и потом спокойно заменили. Если что-то сдохло в «большом» сервере — всё печальнее. Там конечно есть технологии для горячей замены почти всего вплоть до блоков питания плюс избыточность компонентов, но все эти неиспользуемые блоки сначала нужно купить, а только потом поставить в резерв, и неизвестно, потребуются ли они вообще когда-нибудь.
            Что касается производительности, то всё опять же зависит от задачи. Что именно делает ваш вебсервер? Если в-основном раздает статику/закэшированные статические страницы, то пачка тонких серверов будет производительнее, так как у каждого своя ОЗУ, и процессоры друг другу не мешают в эту ОЗУ лазить. Аналогичная ситуация, если у вас много «памяте-ёмких» вычислений, например вы обрабатываете какое-нибудь фото или видео.
            А вот если же у вас на каждой странице пачка динамических запросов к базе данных с большим количеством операций записи, да ещё в транзакциях (банкинг там, е-шоппинг и т.п.) — то наоборот, общее ОЗУ в многопроцессорных SMP серверах решает, оставляя любой кластер из мастер-мастер реплик не у дел. На практике часто встречаются гибридные решения с мощным сервером СУБД, «обернутым» кластером тонких серверов для статики.
        • 0
          В яндексе серверы на базе ноутбучных процессоров? Мне пока попадались в основном на E5-2660 :) ЕМНИП обычно это 1u с 4 дисками и 2 физическими процессорами, 48/96 гигабайт памяти. Вы, кстати, в своих подсчётах забыли об очень важной вещи — количество занимаемых юнитов. На сколько я помню, сейчас ДЦ строятся с учётом отвода 10КВт тепла с 1 стойки, так что тут проблем особых нету. А вот занимать 18 юнитов, когда можно разместить всё в 4 — это разбазаривание ДЦ. Думаете, новые ДЦ строят потому что захотелось? Часто банально кончается место в стойках, куда можно оборудование ставить. Ну и с точки зрения управления хозяйством — 100 мощных серверов проще обслуживать, чем 450. При таких масштабах начинаются всякие неприятные спецэффекты у систем деплоймента. Питание, конечно, тоже не резиновое, но его хотя бы можно попытаться расширить, добавить же квадратные метры в здание намного сложнее :)

          Если надо хранить данные — то прицеляют полку на 24 диска, там 2-терабайтные диски. Если монга какая нибудь, очень жадная до дискового IO — то в сервер вставляют ссд вместо обычных дисков. Если надо хранить пару петабайтов — полка дисков выгоднее всего.

          • 0
            Ну у гугла наоборот. У них из стандартного только стандартные морские контейнеры, в которых смонтированы стандартные стойки. А вот напрямую в стойки уже вставляются бескорпусные тонкие серверы на собственных гугловских материнках с одним процессором. БП общие на стойку, сеть общая, охлаждение общее, к каждой матери подцеплен дешевый HDD, запитано это всё от собственной гугловской электростанции, и крутится на этом сильно перепиленный линукс со своим libc, своим менеджером памяти, своим сетевым стэком и еще кучей всего своего.
            Идея идет в массы, в тех же европейских датацентрах сейчас основной хит — это именно тонкий дедик на Core i5 по цене аренды в 60 евро в месяц. Видимо после учета всех-всех расходов это оказывается таки выгоднее ксеонов.
            • +1
              Гугл — знатные велосипедасты. Кто знает, как бы они делали сейчас, на современном железе и современном софте. Сейчас они в заложниках у собственной же концепции мира 10-летней давности.

              Фейсбук в своём Open Hardware пропагандирует всё же более обычные решения — www.opencompute.org/wp/wp-content/uploads/2013/01/Open_Compute_Project_AMD_Open_3.0_Modular_Server_Specification.pdf.

              Тонкий дедик на i5 — это наверняка потому, что многим толстый 8-ядерный XEON не нужен. Многие с радостью пользуются Hetzner с десктопным железом и не-ECC памятью, и ничего. Но вы то говорили про современные дата-центры гугла, фейсбука или там яндекса, а у этих компаний количество серверов изменяется в десятках тысяч.

              А на счёт места — крайне сложно найти в Москве помещение с крепким полом, где можно подвести по 10МВт от разных подстанций.
              • 0
                С крепкими полами на наших болотах действительно беда, но прямо чтобы решить проблему с местом XEON-ы не позволяют. Если мы говорим о восьмипроцессорных утюгах, то в стандартную стойку вы их поставите где-то четыре штуки. А если вместо них ставить двухпроцессорные 1U, то в смысле плотности и энерговыделения не изменится ничего. А продвинутое охлаждение и электропитание стоят немалых денег.
          • 0
            Ну и насчет «место vs электричество». Не знаю, как там в Европах, а у нас в default city за первый год работы 10-киловаттной стойки энергетики затребуют сумму порядка $20000 (это собственно электроэнергия плюс право подключения к электросети, без учета стоимости работ и материалов). Экономия электричества в 20% даст $4000 профита. Стоимость аредны 1 кв. м. помещения под серверную — ну пусть $200 в год, для стойки нужно метра три с учетом подходов. Вот и считайте, что выгоднее.
  • +2
    Спасибо. В детстве (во времена 386-х) я мечтал о стонях мегагерц и фантастических 32 MB оперативки. В юности (во времена Pentium 2) я мечтал о гигагерцах частот и гигабайтах оперативки. А теперь ими никого не удивишь и практического толку от тех же 4 GB сегодня столько же, сколько от 64 MB во времена Pentium 2. И вот, благодаря этой статье, у меня снова есть о чём мечтать :-)

    Единственный нюанс в том, что когда вся сила в колличестве ядер, так просто с полфига всю эту мощь не задействуешь, надо соображать в распараллеливании рассчётов, программирование становится уже совсем не такой тривиальной задачей.
    • НЛО прилетело и опубликовало эту надпись здесь
      • 0
        Развлекаюсь кое какими задачами на досуге иногда, иногда неделями свой Core 2 Duo 2GHz мучаю. Пишу под .Net и JVM, думаю попробовать Erlang.
        • НЛО прилетело и опубликовало эту надпись здесь
          • 0
            По-большому счёту так и есть. Суперкрутое компьютерное железо для меня это просто романтика. Cray бы тоже купил какой-нибудь старенький для души если они доступны по разумным ценам, но, боюсь, с доставкой и размещением там не просто будет.
  • 0
    У товарища Quanta QSSC-S4R, 4x Xeon E7 4870, 8x16GB DDR3, обошлось в $3k
    image
    • НЛО прилетело и опубликовало эту надпись здесь
    • 0
      О! А вот это отличный вариант. Надо б подумать
  • 0
    Кстати помимо GPU от AMD и nVidia было бы интересно рассмотреть интеловские PCI-Express карты. Есть такие, предназначены чисто для рассчётов, а не для использования в роли видеокарт. Сейчас, к сожалению, что-то не могу найти, но относительно недавно, помню, где-то выплывало. Зная на сколько выше качество драйверов у Intel по сравнению с nVidia и AMD, их решение кажется мне достойным рассмотрения.
    • +1
      Эта штука называется Xeon Phi.
      Одна из ее ключевых особенностей, это то, что это практически процессор общего назначения и значит для его использования не нужно полностью переписывать код, что требовалось бы в случае использования GPU-ускорителей.
      • 0
        Так это же круто! Если они ещё и в системе видятся как обычные процессоры, то ваще! Я бы именно такие и взял бы тогда. А какие там колличество ядер, частоты и кэш?
        • 0
          Нет, они не видятся как обычные ядра. Все-таки нужно добавлять конструкции, которые будут выгружать вычисления на эти Xeon Phi.
          Правда внутри Phi сидит обычный Linux и на него можно даже залезть по SSH. Что еще можно сделать непосредственно изнутри я к сожалению не знаю.

          По параметрам, я думаю, лучше почитать документацию, чем вольный пересказ человека, который детально про эти Phi только на конференции слышал, а сам в вопросе пока не разбирался за неимением возможности пощупать Phi в ближайшей перспективе… :)
        • 0
          В статье они, кстати, упомянуты. Там 60 ядер х86. Расчеты с двойной точностю 1Tflops. Памяти 8Гб.
          • 0
            Там 60 ядер х86.

            Там не просто x86-ядра, а 64-битные, с поддержкой всех векторных инструкций и 4 потоков исполнения на ядро ядра. Те 60 ядер по сути 240 потоков исполнения. Но при всем при этом ядра и «обрезанные» по сравнению с современными CPU. Например, они in-order, так как базируются на архитектуре первых Pentium.
  • +1
    Современные POWER, кстати, круты тем, что там есть аппаратный десятичный FPU. Т.е. можно делать точные десятичные рассчёты с плавающей точкой (ведь, как известно, не все десятичные дроби можно точно перевести в двоичные).
  • +1
    соединять ноды можно еще и по PCIe, есть интересные решения. Тут вот обзорная статья www.rtcmagazine.com/articles/view/100910
    Общий смысл что используя PCIe коммутатор можно шарить видео-карты, сетевые устройства между вычислительными нодами. Можно цеплять сервера между собой по 16-и канальному PCIe достигая скорости до 120Гб/с. Ничего волшебного, даже софт имеется той или иной сырости.

Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.