Как стать автором
Обновить

Комментарии 46

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

аффтар хочет сказать, что в высокоэффективных суперкомпьютерах PUE сильно больше двух? да у самого колхозного дата-центра он не превышает 1.7, а у обычных где-то около 1.3…
И мне кажется, до последнего времени эффективность распараллеливания падала, поскольку качество кода снижалось. Сейчас, правда, программисты понемногу начинают видеть смысл в качественном распаралелливании. Как минимум, Scala-программисты.
Гуглите закон Амдала.
Для охлаждения ДЦ природа придумала сибирь и вечную мерзлоту
А электро инфраструктуры в тех широтах хватает?( Не сарказм, просто не слышал отдц в Сибири и Заполярье)
У нас — полно, причем еще и дешевле, т.к. генерация как раз там, в сибири.
А вот интернет в сибири это посложнее.
Есть прецеденты строительства ДЦ в прохладных регионах.
Красноярская ГЭС как вариант. Там и интернет неплохой.
Таки да. Если посмотреть список дата-центров, предлагаемых при покупке хостинга, таки в Испании найти в 1000 раз сложнее, нежели в Норвегии)))
В Норвегии мало того что прохладнее, там еще и альтернативная энергетика не плохо развита.
Не понятно что за интерконнект используется, и что с производительностью в LinPack/Graph500 и не дешевле ли купить мелкий кластер на x86/Power8 за flops/$?
На сайте никаких данных об этом не нашел
Акцент делают не на производительность, а на количество ядер. В этом плане предложенный вами вариант в разы, а то и на порядок будет дороже.
Это не отменяет необходимости в тестах, может там даже тривиальные вещи не ускоряются из-за фигового интерконнекта

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

Как тяжело читать…
image
Самого важного в статье нет — значения производительности.
Модули Raspberry Pi дают возможность разработчикам выяснить, как писать такое программное обеспечение и заставить его надёжно работать, без необходимости иметь испытательный стенд такого же размера стоимостью четверть миллиарда долларов и потребляющий 25 мегаватт электричества


«Выяснить, как писать такое программное обеспечение и заставить его надёжно работать» — как ни странно, для этого вовсе не нужно несколько ведер «малины», достаточно софтверного симулятора. Причем можно прокачивать навык под самые разные кластерные архитектуры даже не отходя от кассы.
Ну не совсем. Думаю, что чтобы «задышало» и научиться эффективно использовать инструменты, хватит 10-ка Pi-ев. А дальше уже смысла нет — оптимизировать под ттх целевой платформы уже имеет смысл только на ней самой.
Боюсь, что нет. Нужно эмулировать задержку и пропускную способность интерконнета, производительность памяти и множество других вещей. Просто эмулятор на большом x86 покажет другую картинку. Но я не понимаю, почему Pi3, а не Compute Module 3? Поленились делать железку для связи и решили обойтись GigE-коммутатором?
А чем VM/docker не подходят для тестирования? При условии использования современного ПК, на том же docker + оркестратор можно поднимать сотни, если не тысячи, контейнеров.
Тем что утилизация ресурсов на задачу будет не полная из-за скачущих контекстов. Ускорение будет существенно ниже, для HPC это неприемлемо.
Для предварительного тестирования можно и в VM и на локалхосте. Но здесь под тестированием подразумевается не отладка написанного а скорее оценка поведения на небольшом но полноценном кластере
Всегда в оценку можно заложить оверхед. Или создавать контейнеров не больше чем количество ядер, благо аренда более чем доступна (тот же ес2 на 32 ядра — 1.5 $/h. по требованию, не говоря про спот или предоплату).
Мне всегда было интересно вот что: есть т. н. вычислительные модули aka малина под разъём ddr, которые пихают в телеки и прочее. Так почему бы не сделать кластерную плату для, скажем, десятка модулей с внутренней сетью, роутингом на внешний интерфейс, охлаждением, каким-нибудь бп и чем-нибудь ещё? Конечно, для чего-то большого это не подошло бы, а для мелких задач и просто любителей было бы идеально. Я, по крайней мере, ничего такого не нашёл, сколько ни искал.
Мне кажется спрос на подобные вещи слишком уж низкий и просто не рентабельно разрабатывать, выпускать и поддерживать дальнейшее развитие. А так да, давно уже задумывался насчет подобной же темы. Но…
Учитывая, сколько народа покупает одноплатники десятками для домашних поделок, спрос будет. А если ещё и стандартизировать, чтобы другие производители могли пользоваться…
НЛО прилетело и опубликовало эту надпись здесь
Так это же не энтерпрайз, это лаборатория.
а ну тогда, можно закапывать, реальное ускорения на этом кластере можно будет увидеть только для задачах с малой долей коммуникации, а в реальных приложениях их немного. Коллективные коммуникации будут с супер тормозами

Raspberry Pi 3 поддерживает загрузку по сети, флешка при этом не нужна.

НЛО прилетело и опубликовало эту надпись здесь
А как насчет ограничений платформы ARM? Я полгода назад когда мониторил покупку малинки с идеей сделать из нее портативный инструмент для моих научных задач, то обнаружил, что conda туда не накатить, doker тоже какой-то особенный должен быть (или ось под ним) и т.д. В итоге решил не колхозить (навалил на старый хромбук SeaBios и PepermintOS).

Почему нельзя на видеокарте запустить тысячу независимых потоков, там до сих пор все сильно другое ?

Да там до сих пор всё сильно другое и устройство памяти и куча других нюансов, если их не учитывать, будет медленне чем на cpu, поэтому general purpose софта под gpu ~0. (правда была попытка amd запустить jvm, на картах, но там всё заглохло по вышеназванным причинам)
Речь не о том что медленнее чем на CPU, речь о том чтобы запустить 1000 потоков, так же как здесь на эти тысячах инстансах RPi.
p.s. вопросы для того и задаются, чтобы прояснить.
(Сужу по статье) Здесь они все же хотели сделать тестовый стенд, который позволил бы людям, готовящим программы для суперкомпьютера, проверить свою программу/потренироваться, цели делать железку на которой будут считать не было. Для этого требуется много ядер (распределенные вычисления, синхронизация, обмен данными).
А на GPU задачи решают, для этого есть CUDA (может сейчас есть еще что-то другое, не слежу).
НЛО прилетело и опубликовало эту надпись здесь

А CUDA-ядра? Скажем, у меня 1050 Ti, 6 SMX*128, итого 768 CUDA-ядер.
Вряд ли 6 ядерный ЦПУ будет эффективнее в расчете хэшей этой видеокарты. Или как?

Ну вот вы и сможете максимум одновременно подбирать 6 разных хэшей или 1 но быстрее. Грубо говоря у вас количество различных по структуре задач равно числу SMX
НЛО прилетело и опубликовало эту надпись здесь

Неужели эффективность (скорость/цена) таких устройств уже догнала хотя бы обычные x86, не говоря уже про железо, специализированное под расчёты?

У нас на работе давно ходит шутка про кластер на смарткартах. Скоро, боюсь, шутка станет реальностью.

Сеймуру Крэю принадлежит след. знаменитый вопрос.

«Если вам надо вспахать поле, то что вы используете: двух сильных волов или 1024 цыпленка»?
А если «собрать» рассыпанное зерно? Для каждой задачи свой инструмент.
«Для каждой задачи свой инструмент» — это, разумеется, справедливо. Цитата же из Крэя примечательна тем, что трюизмом не является и продолжает вызывать споры до сих пор.

В английском оригинале учебника «Компьютерная архитектура. Количественный подход» Хеннесси и Паттерсона эта цитата приведена в следующем виде.

If you were plowing a field, which would you rather use: two strong oxen or 1024 chickens?
Seymour Cray, Father of the Supercomputer (arguing for two powerful vector processors versus many simple processors)


Эти слова были сказаны в начале 80-х и в то время векторные машины, которыми являлись знаменитые суперкомпьютеры Крэя, были более эффективным решением по совокупности характеристик, чем дорогостоящие кластеры из компьютеров общего назначения. Теперь времена изменились и, казалось бы, векторные системы должны быть давно забыты. Но, как ни странно, это не совсем так, несмотря на то, что компания Cray, уже после смерти ее основателя, перешла к традиционным кластерным MPP-системам (см. ту же Trinity из заметки выше). Знамя векторных вычислений подхватила компания NEC. Помните Earth Simulator? В начале 2000-х этот векторный суперкомпьютер был самым быстродействующим в мире. Совсем недавно стало известно о новом проекте «Tsubasa» этой же компании. Собственно, IBM Cell и популярные сегодня GPGPU-чипы это все те же «векторные волы».

Но касается ли цитата Крэя одних только векторных машин? Подход Крэя заключался в использовании небольшого числа мощных процессорных элементов с централизацией ресурсов (общая память, быстрые внутрисистемные коммуникации), гетерогенностью и специализированностью. Интересно, что Крэй незадолго до смерти в 1996 году занимался проектами построения суперкомпьютеров на базе реконфигурируемых систем (ПЛИС), которые вполне соответствуют изложенному выше подходу. Сегодня суперкомпьютеры с гетерогенной архитектурой и специализированными вычислителями на ПЛИС/GPU/… уже не являются экзотикой. Но, на мой взгляд, более интересно, что наметилась тенденция отхода от процессоров общего пользования и при построении кластеров. Посмотрите на лидеров Top500/Green500. 260-ядерный чип Sunway SW26010 и 2048-ядерный чип PEZY-SC2 — вот уж настоящие «волы»!

К слову сказать, мне довелось работать со своеобразными «цыплятами» — крохотными стековыми машинами с локальными связами между собой. На кристалле их были сотни. Такого рода системы могут использоваться в embedded для достижения малого времени отклика при обработки большого числа легковесных процессов. Но со временем, я перешел к архитектуре «барабанной» многопоточности в рамках единственного ядра-«вола».

Подводя итог. «Цыпленок» представляет собой простой процессор/компьютер, который не проектировался специально для задач суперкомпьютерных вычислений. Разумеется, системы на основе «цыплят» часто дешевле в разработке и эксплуатации. Но время от времени возникают требования, когда уместнее оказывается подход Сэймура Крэя.

* ушел паять :)
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории