Суперкомпьютер, построенный из множества RPis, действительно практичен или просто новинка?

13

Этот вопрос вдохновлен этой статьей .

В настоящее время я провожу много времени в R для анализа данных. Некоторые из сценариев, которые я запускаю в R, могут выиграть от параллельных вычислений, чтобы сэкономить время. Допустим, я мог бы построить «настоящий» компьютер для barebones за ~ 300 долларов, а за те же 300 долларов я мог бы получить 6 пис (включая кабель питания и SD-карту). Предполагая, что у меня есть задача, которая хорошо подходит для распараллеливания, мне лучше будет с Pis или с «настоящим» компьютером?

Изменится ли ответ, если я увеличу аппаратное обеспечение «настоящего» компьютера до чего-то, что может стоить 1000 долларов, как бы это стоило 20 фунтов?

Дин МакГрегор
источник
Pi - медленный компьютер с небольшим количеством оперативной памяти, но с хорошим графическим процессором. Если ваши задачи выигрывают от этого, это может иметь смысл.
Турбьерн Равн Андерсен
Графический процессор полезен только в том случае, если вы хотите сделать что-то, для чего уже создан код, или если вы можете договориться о доступе к проприетарной документации по программированию графического процессора.
Крис Страттон

Ответы:

10

Если вы хотите проанализировать это, вы должны выйти за рамки сказанного 20 рпис против 1000 долларов и решить для себя, что вы действительно можете получить и использовать за 1000 долларов. Обратите внимание, что это не торговый канал.

Допустим, вы можете получить материнскую плату, блок питания, оперативную память 8 ГБ, 6-ядерный процессор i7 с тактовой частотой 3,4 ГГц и старый жесткий диск (все еще быстрее, чем SD-карта!) За ~ 1000 долларов. Общее число циклов в секунду составило бы 6 * 3,4e9 = 20,4e9 против 20 * 0,7e9 = 14e9 для пи суперкомпьютера.

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

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

Златовласка
источник
Спасибо: «Общее количество циклов в секунду составило бы 6 * 3,4e9 = 20,4e9 против 20 * 0,7e9 = 14e9 для пи суперкомпьютера». в основном то, что я был после, но не знал, что искать.
Дин МакГрегор
Один Пи использует только 5 Вт. Это означает, что 20 pis потребляют всего 100 Вт, что меньше, чем тот компьютер, который вы описываете, так как он более экономичен и экономичен (но с меньшим энергопотреблением :))
Thorbjørn Ravn Andersen
@ ThorbjørnRavnAndersen из моего опыта, 8-ядерный накопитель i7 + SSD + 16 ГБ ОЗУ используют около 50-70 Вт в зависимости от загрузки процессора при установке без монитора (без монитора).
lenik
Когда вы используете RPi2, количество циклов увеличивается до 20 * 4 * 0.9e9 = 72e9, при разгоне вы можете даже достигнуть 20 * 4 * 1.1e9 = 88e9 циклов на секунду. Теперь, с этим увеличением вычислительной мощности пи, вы думаете, что стоило бы создать RPi-кластер?
Sirac
1
@goldilocks 1) Мои знания о суперкомпьютерах не очень хороши, чтобы спорить о скорости Мбит / с. 2) В целом, процессор Intel может быть быстрее, чем набор ARMv7 по той же цене. Я должен посмотреть некоторые статистические данные, чтобы получить лучшее представление об этом. 3) Сборка ядра на RPi2 занимает несколько часов, я попробовал это сделать и надеюсь, что не буду делать это снова в будущем. Подводя итог, можно сказать, что RPi не может быть идеальным выбором для суперкомпьютера, даже не RPi2. Но это, безусловно, хороший проект, так как RPi очень дешевый, и вы можете легко объединить несколько из них. Я думаю о симуляции сети, потому что вы можете ...
Sirac
2

Это довольно сложный ответ - ключевой вопрос, на который вам нужно ответить: «Какую работу вы просите сделать машину?».

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

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

RasPi определенно НЕ предназначен для такого рода вещей, что не должно отвлекать его от высокой ценности в изучении того, как все работает, и даже на создании действительно «распределенной» системы по очень доступной цене. Но если вам нужно сделать серьезную обработку данных и / или цифр, rasPi вряд ли будет правильным выбором.

ljwobker
источник
1

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

И сеть, и доступ к диску будут использовать одну и ту же шину USB2 емкостью 60 МБ. SD-карта имеет, в лучшем случае, производительность в диапазоне скоростей 20 МБ.

Низкое аппаратное обеспечение для ПК с интерфейсом SATA на 150 МБ и Ethernet на шине PCI 2 ГБ обеспечивает пропускную способность на порядок выше.

Сэл
источник
3
Это полностью зависит от приложения - некоторые приложения имеют очень высокое соотношение «работа» к «общению», а другим требуется гораздо больше общения на объем выполненной работы.
Крис Страттон
0

Если вы хотите научиться суперкомпьютингу между узлами. .. Я бы настроил пи. Если вы хотите что-то недорогое, но мощное - купите бывшую в употреблении многоядерную Intel Server / Workstation на базе Xenon и установите одну или несколько использованных карт Tesla или Cuda GPU или Intel Phi.

Джей Вулф
источник