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

14

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

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

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

Ответы:

8

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

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

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

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

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

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

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

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

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

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

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

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

timday
источник
Я надеялся повторно использовать некоторые устаревшие аппаратные средства, которые у меня были на этом этапе, поэтому виртуализация не столь привлекательна для меня.
Ладья
1

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

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

кроличий садок
источник
0

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

Джимми Хедман
источник