Этот вопрос вдохновлен этой статьей .
В настоящее время я провожу много времени в R для анализа данных. Некоторые из сценариев, которые я запускаю в R, могут выиграть от параллельных вычислений, чтобы сэкономить время. Допустим, я мог бы построить «настоящий» компьютер для barebones за ~ 300 долларов, а за те же 300 долларов я мог бы получить 6 пис (включая кабель питания и SD-карту). Предполагая, что у меня есть задача, которая хорошо подходит для распараллеливания, мне лучше будет с Pis или с «настоящим» компьютером?
Изменится ли ответ, если я увеличу аппаратное обеспечение «настоящего» компьютера до чего-то, что может стоить 1000 долларов, как бы это стоило 20 фунтов?
Ответы:
Если вы хотите проанализировать это, вы должны выйти за рамки сказанного 20 рпис против 1000 долларов и решить для себя, что вы действительно можете получить и использовать за 1000 долларов. Обратите внимание, что это не торговый канал.
Допустим, вы можете получить материнскую плату, блок питания, оперативную память 8 ГБ, 6-ядерный процессор i7 с тактовой частотой 3,4 ГГц и старый жесткий диск (все еще быстрее, чем SD-карта!) За ~ 1000 долларов. Общее число циклов в секунду составило бы 6 * 3,4e9 = 20,4e9 против 20 * 0,7e9 = 14e9 для пи суперкомпьютера.
Теперь рассмотрим тот факт, что многоядерный процессор является многоядерным процессором, в то время как ввод / вывод между pis (если это становится значительным фактором) будет на несколько порядков медленнее.
Хотя у меня нет серьезного интереса (или знания) к суперкомпьютерам пи, я бы предположил, что они предназначены для экспериментов и в образовательных целях. Это определенно дешевый кластер, но если ваша цель состоит в быстром сокращении чисел (в отличие от экспериментов и обучения), то пи-кластер никоим образом не будет более экономичным или энергоэффективным, чем обычный ПК.
источник
Это довольно сложный ответ - ключевой вопрос, на который вам нужно ответить: «Какую работу вы просите сделать машину?».
Наборы команд на разных машинах (ARM против Intel против кого-либо еще), а также качество компиляторов существенно влияют на реальную производительность. Если работа, которую вы просите выполнить, имеет аппаратное ускорение на одной машине, а не на другой, один этот фактор будет иметь большее значение, чем существенное изменение тактовой частоты.
В общих чертах, я думаю, что самый большой выигрыш в соотношении цена / производительность будет иметь многоядерный процессор с умеренной тактовой частотой от AMD или Intel. Если вы находитесь в контролируемой среде с низкими температурами окружающей среды, вы можете немного разогнать эти чипы, чтобы повысить производительность.
RasPi определенно НЕ предназначен для такого рода вещей, что не должно отвлекать его от высокой ценности в изучении того, как все работает, и даже на создании действительно «распределенной» системы по очень доступной цене. Но если вам нужно сделать серьезную обработку данных и / или цифр, rasPi вряд ли будет правильным выбором.
источник
Оставляя в стороне процессор с недостаточным энергопотреблением на пи, я не могу понять, как ты собираешься достаточно быстро передавать данные в ЦП на десятках пи, чтобы увидеть, как прирост производительности стоит этих усилий. Скорость шины в кластерных суперкомпьютерах столь же важна, как и скорость процессора, и здесь пи очень неадекватен.
И сеть, и доступ к диску будут использовать одну и ту же шину USB2 емкостью 60 МБ. SD-карта имеет, в лучшем случае, производительность в диапазоне скоростей 20 МБ.
Низкое аппаратное обеспечение для ПК с интерфейсом SATA на 150 МБ и Ethernet на шине PCI 2 ГБ обеспечивает пропускную способность на порядок выше.
источник
Если вы хотите научиться суперкомпьютингу между узлами. .. Я бы настроил пи. Если вы хотите что-то недорогое, но мощное - купите бывшую в употреблении многоядерную Intel Server / Workstation на базе Xenon и установите одну или несколько использованных карт Tesla или Cuda GPU или Intel Phi.
источник