Как создать кластер?

За последние несколько лет в Интернете появилось несколько статей о создании кластера компьютеров дома - здесь например.

Pi поражает меня как хорошую платформу для создания /тестирования такого рода вещей из-за их низкой стоимости; должны ли «общие» руководства, подобные этой передаче, на Pi довольно легко, или есть что-то конкретное, о чем я должен знать при попытке такого проекта?

61 голос | спросил berry120 13 J0000006Europe/Moscow 2012, 01:46:27

6 ответов


34

Предлагаю посмотреть Dispy - модуль распределенного вычисления python.

Чтобы запустить программу из нескольких малиновских Pi (узлов) с ПК (сервер - предположим, что IP - это 192.168.0.100):

  • Установите операционную систему на каждом RasPi

  • Прикрепите каждый RasPi к вашей сети. Найдите IP (если динамический) или настройте статические IP-адреса.
    (Предположим, что у вас есть три узла, а их IP-адреса - 192.168.0.50-52)

  • Настройте Python (если это еще не так), установите dispy, затем запустите dispynode.py -i 192.168.0.100 на каждом RasPi. Это скажет диспетчеру получать информацию о задании с сервера.

  • На ПК (сервер) установите dispy, затем запустите следующий код python:

#!/usr/bin/env python
import dispy
cluster = dispy.JobCluster('/some/program', nodes=['192.168.0.50', '192.168.0.51', '192.168.0.52'])

Вы также можете заменить /some/program на функцию python - например. compute.

Вы также можете включать зависимости, такие как объекты, модули и файлы python (которые dispy будет передавать на каждый узел), добавив depends=[ClassA, moduleB, 'file1']

ответил Alex L 13 J0000006Europe/Moscow 2012, 12:35:36
10

Вы должны знать о работе, которая уже была выполнена - есть даже название для кластера RasPi boxen. Встраиваемая Linux Wiki говорит, что Bramble определяется как " кластер Beowulf устройств Raspberry Pi ". Малина Pi Homebrew имеет ряд posts о Brambles , и см. также Фонд собственный форум.

ответил mlp 13 J0000006Europe/Moscow 2012, 03:33:45
10

Некоторые ребята из Southampton Uni собрали кластер и подробно рассказали о своей работе на http: //www.southampton.ac.uk/~sjc/raspberrypi/.

ответил Alex Chamberlain 12 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowWed, 12 Sep 2012 23:39:36 +0400 2012, 23:39:36
6

Это вполне возможно, но самая большая проблема - достижимость. Это идея, которую я бы не только считал работоспособной, но и полезной, поскольку вы могли бы пойти с идеей портативных параллельных вычислений. Что касается специфики, лучше всего будут использовать языки кодирования, такие как FORTRAN и C ++.

Посмотрите beowulf.org для получения дополнительных сведений о кластерных вычислениях

ответил Kaminara 13 J0000006Europe/Moscow 2012, 04:38:35
1

Это ответ на сообщение Guido Garcia выше, посвященное «dispy» - я не могу понять, как ответить на его пост.

Когда программа ('/bin /ls') распределяется с 'dispy' для параллельного выполнения, то эта программа на клиентской машине передается каждому узлу (в '/tmp'). Это значит, что пользовательская программа на клиентской машине передается без использования NFS или какого-либо общего файла. Это работает с двоичными программами только тогда, когда узлы и клиентские архитектуры совместимы. В вашем случае я предполагаю, что архитектура клиента отличается от архитектуры удаленных узлов, и узел не может выполнить двоичный '/bin /ls', переданный от клиента. Если вы хотите выполнить /bin /ls на каждом узле, проще написать функцию или программу Python для печати каталога (например, с помощью os.listdir) и распространить его вместо исполняемого файла.

ответил Giridhar Pemmasani 21 MaramThu, 21 Mar 2013 06:38:04 +04002013-03-21T06:38:04+04:0006 2013, 06:38:04
1

Также есть http://pi.interworx.com , если вы хотите использовать полнофункциональную панель управления. У них есть инструкции на этой странице о том, как копировать, но вы должны быть терпеливыми, поскольку этот субдомен запускается из кластера Rasberry Pi. Вот фотография, если она опускается:

http: //www. facebook.com/photo.php?fbid=596262440393836&set=a.244167858936631.60071.170159826337435&type=1

ответил Corey 11 J0000006Europe/Moscow 2013, 21:02:14

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132