Построение домашнего кластера - анализ оборудования и затрат

9686
Rook

Кто-нибудь знает какие-нибудь ссылки / книги / что-нибудь, о чем вы можете подумать, которые описывают процесс создания небольшого домашнего кластера (когда я говорю « дом», это не обязательно означает, что вы должны оставаться дома - просто означает, что это относительно дешево и мало) для экспериментальные цели, с особым акцентом на том, какое оборудование будет сегодня адекватным, и какой-то анализ затрат?

Хотя, если бы кто-то здесь сделал это, я был бы признателен за весь опыт, которым вы можете поделиться.

14
Что за кластер? SQL кластер? Веб-ферма? Рендер ферма? Это важные детали при спецификации оборудования. tsilb 14 лет назад 2
Численный расчет; CFD (не вдаваться в подробности) - распараллеливание кода на фортране. Rook 14 лет назад 1

7 ответов на вопрос

8
churnd

Хелмер приходит на ум. :)

Хорошо, это действительно аккуратная страница, и мой бедный покойный кластер DeCeleron 4node кажется незначительным. Bill B 14 лет назад 1
Отличная страница! Люблю кабинет ИКЕА :) (возможно, не лучшее решение, но, тем не менее, симпатичное) Rook 14 лет назад 0
Для объяснения, это ферма рендеринга на основе процессора. Это 6 четырехъядерных процессоров Intel, помещенных в картотеку IKEA (название продукта Helmer). По всей видимости, в задней части шкафа имеются отверстия (не IKEA) на задней панели, что позволяет устанавливать блок питания и вентилятор в 6 местах. dlamblin 14 лет назад 0
4
Drew Stephens

На Hack A Day было представлено несколько кластеров Ikea:

3
Nathan DeWitt

Посмотрите книги Beowulf Cluster Computing Томаса Стерлинга (одна для Linux и одна для Windows). Они рассказывают вам все, что вам нужно знать об использовании MPI, чтобы ваши узлы могли общаться друг с другом.

Мы с другом создали кластер из 8 блоков, используя какое-то очень дрянное оборудование, и запустили на них Windows XP. Это были как Pentium I - коробки на 90 МГц. Значительно ниже спецификации, требуемой для Windows, но она работала нормально. Мы также запустили SQL Server 2000 на них (также значительно ниже рекомендуемых спецификаций) и выполнили моделирование ценовых опционов на акции Блэка-Шоулза.

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

Не поверите, я заказал именно этот заголовок вчера! Сейчас жду его приезда :) Pentium 90 - вау, то есть старый. Как все прошло, гладко или с глюками? Не могли бы вы дать сравнение с каким-нибудь современным эквивалентом? Это, кстати, довольно хорошая идея для того, что я пытаюсь сделать, так как такого рода оборудование в настоящее время можно получить практически бесплатно (в любом случае, очень дешево). Я пытаюсь построить его с целью распараллеливания некоторого кода, поэтому я одновременно экспериментирую с кодом и аппаратной частью. Это учебный эксперимент, чтобы увидеть, как это пойдет. Rook 14 лет назад 0
Стоимость запуска такого старого оборудования высока с точки зрения мощности / работы; несколько машин с частотой 90 МГц будут использовать много электричества, чтобы получить рабочий эквивалент более эффективной одиночной машины. Я заинтересован в вашем проекте, но ... имейте в виду, что он может быть дорогим интересным способом ... =] David Thomas 14 лет назад 1
производительность была в порядке. это был проект для школы, и наше оборудование было тем, что было в школе. мы также не заботились о проблемах власти, но Райсбоул абсолютно прав. они были громкими монстрами. Nathan DeWitt 14 лет назад 0
@ricebowl - На данный момент это не проблема. 90 МГц - хорошая идея, так как мы их положили, так что никаких затрат там нет. Elec. Это также не проблема, так как компания платит за это, энергопотребление компьютеров там ничтожно мало. На данный момент я изучаю основы, новое оборудование всегда можно получить в случае необходимости. Rook 14 лет назад 0
@ Натан ДеВитт - громкость тоже не проблема. Я не возражаю против звука (всегда казался мне успокаивающим), и в любом случае вокруг них никого нет. Rook 14 лет назад 0
2
Troggy

Альтернативой наличию множества физических узлов кластера является создание виртуальных машин. У вас будет только одна или две настоящие физические машины, но вы можете смоделировать еще больше узлов. Это будет хорошо работать для создания, изучения и использования меньшего количества ресурсов (пространство, мощность, $$$).

Это не даст вам много анализа затрат, но поможет вам начать. Тип настройки кластера будет зависеть от типа работы, которую вы хотите создать для него. Вы можете иметь много маленьких узлов или иметь только несколько мощных узлов. Существуют также общие и неиспользуемые среды памяти. Какой тип параллельных программ вы хотите создать? Чем больше у вас физических узлов, тем больше пространства, мощности, охлаждения и сетевого взаимодействия вы должны учитывать. Иногда стоит использовать только один большой массивный компьютер (а среды с общей памятью легче программировать для IMHO).

Недавно я начал играть с кластером, собирая несколько случайных блоков P4, Ubuntu и LAM-MPI. Это определенно был опыт обучения.

На самом деле это была пара ноутбуков p4 и башни, которые просто сложены в гараже. Это было гетто, но я просто хотел учиться. Я просто использовал сеть Ethernet 100 Мбит / с. Я выбрал Ubuntu, потому что я не хотел иметь дело с аппаратной конфигурацией коробок. У Ubuntu было много драйверов, которые мне были нужны. Мне нужна была среда Linux, поскольку приложения, которые я написал для нее, были приложениями на основе Си с интерфейсами MPI. Я пытался повторить то, что использовал раньше. Это было все разное. аппаратное обеспечение, ничего стандартного. Большинство кластеров имеют точное оборудование, поэтому вы можете добавлять и удалять узлы в одно мгновение.

Ну, в моем распоряжении большое количество старых рабочих станций. От ранних до пяти 266 МГц. Пространства и питания у меня предостаточно. Шум также не проблема, он не рядом с людьми (да, на случай, если вам интересно, я не считаю себя представителем человечества :) Новое оборудование всегда можно получить позже, если это необходимо, но сейчас я Я пытаюсь избежать ненужных затрат, если смогу, играя с ними. Я пытаюсь распараллелить некоторый (не старый) код Fortran (CFD, FVM). На данный момент я в основном интересуюсь сборкой аппаратного обеспечения, принципами работы ОС и общим пониманием вещей. Rook 14 лет назад 0
Виртуализация бесполезна, если речь идет о численных вычислениях с привязкой к процессору. Tadeusz A. Kadłubowski 14 лет назад 0
Если я не слишком много спрашиваю, как вы их соединили (не только внутренности, но и где вы их разместили (большая башня? Проблемы с охлаждением?))? Почему убунту? Rook 14 лет назад 0
@Idigas Добавил параграф к моему ответу. Troggy 14 лет назад 0
1
timday

В зависимости от того, что вы пытаетесь сделать, подумайте о разработке вашей системы на кластере виртуальных машин. Использование решения для виртуализации ОС, такого как OpenVZ или Parallels Virtuozzo или Solaris Containers, позволит вам масштабироваться до огромных плотностей по сравнению с полной виртуализацией системы (например, VirtualBox / VirtualPC / Xen / VMWare). Затем, когда вам действительно понадобится развернуть систему для некоторой производительности, запустите ее «в облаке» на Amazon EC2 или аналогичной.

Я надеялся повторно использовать некоторые устаревшие аппаратные средства, которые у меня были на этом этапе, поэтому виртуализация не так привлекательна для меня. Rook 14 лет назад 0
1
warren

Я бы начал с рассмотрения проектов LittleFE ( http://littlefe.net/ ) или загрузочного кластера ( http://bccd.net/ ) лично. Также см. Проект Ubuntu Cloud ( http://www.ubuntu.com/cloud ).

Более или менее любое оборудование должно работать. Я был бы склонен взглянуть на какую-то форму соглашения о закрытии сделки или на машины, сдаваемые в аренду, чтобы забрать дешевое оборудование.

0
Jimmy Hedman

Посмотрите на Rocks, который является кластерным дистрибутивом, который делает создание кластера действительно простым. Он также масштабируется как минимум до нескольких извилистых узлов.