1

Я видел пару вопросов здесь, которые похожи на то, что я думаю, но не совсем. Итак, я решил спросить и посмотреть, что выпадет.

В основном, у меня есть 2 или 3 старых, более медленных ноутбука. То, что я хотел бы сделать, - это кластеризовать эти компьютеры, чтобы выполнить на них некоторые "смущающие параллельные" процедуры анализа данных (например, обучить алгоритм машинного обучения множеству разных ядер). Чтобы быть более конкретным, я хочу запустить код Python (scikit-learn, который может работать на разных ядрах) в этом кластере.

В идеале я хотел бы иметь кластер с 3 ноутбуками, соединенными вместе, и устройство хранения данных (1-2 ТБ), подключенное к сети. Затем я хотел бы написать сценарии для анализа данных на моем текущем ноутбуке, каким-то образом получить доступ к кластеру (ssh?) И запустить сценарии для данных, хранящихся на подключенном устройстве, в то же время разделив анализ между различными ноутбуками. Мысли?

Я читал о кластерах Beowulf, кластеризации с Ubuntu и других вещах. Однако у меня нет опыта работы с сетями, кластеризацией, командами Unix и т.д., И я не совсем понимаю их. Я готов учиться, но на самом деле понятия не имею, с чего начать, поэтому советы, ресурсы, предложения будут с благодарностью.

4 ответа4

2

Возможно, вы найдете кластеризацию Beowulf интересным решением для вашего случая.

0

В вашей ситуации я узнал бы о совместном использовании каталогов с NFS, чтобы у каждой машины был доступ к одним и тем же данным. Для этого примера мы назовем каталог /data. Тогда вы захотите настроить ssh на работу без пароля с помощью ключей ssh (ssh-keygen). Оттуда вы захотите сделать некоторые сценарии, возможно, на Python, так как вы все равно будете их использовать, чтобы автоматизировать выполнение ваших заданий. В результате ваш скрипт выполнит что-то вроде «ssh otherlaptop doexecutable /data /datafile». Вы также можете использовать что-то вроде менеджера ресурсов Torque или Slurm (Simple Linux Utility для управления ресурсами) для выполнения на ноутбуках, но вам все равно понадобится сценарий для создания заданий, которые вы будете передавать крутящему моменту.

0

Если вы не хотите вдаваться в подробности низкоуровневой кластеризации, я бы посоветовал вам взглянуть на BOINC http://en.wikipedia.org/wiki/BOINC . (Относительно) легко настроить, очень весело :)

0

Если ноутбуки очень старые, возможно, будет проще купить новую единственную машину, которая сделает работу намного быстрее. Или купите целую кучу новых крошечных Linux-машин с процессором ARM (RaspberryPi et al.), Которые стоят довольно дешево, и подключите их ко многим процессорам в довольно компактном размере.

Или, если вы просто хотите поиграть и узнать, посмотрите другие ответы по кластеризации.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .