ParallelKnoppix
By Majid Hameed
Перевод на русский: Захар Акулов (hozzzar at kirov dot lug dot ru)
Что такое ParallelKnoppix?
Теория
ParallelKnoppix - это LiveCD, основанный на Knoppix,
произошедшего, в свою очередь, от дистрибутива Debian Linux.
ParallelKnoppix позволяет в считанные минуты создавать
Linux-кластеры, оснащенные инструментарием для распределенных
вычислений, таким, как MPI. Он сохранит вам массу времени,
которое вы бы потратили на конфигурирование вычислительного
окружения. Используя ParallelKnoppix, вы не повредите уже
существующее окружение, поскольку LiveCD работает без
установки на жесткий диск (каталог, созданный на главном узле,
(главный узел - составная единица кластера. - прим. пер.) при
необходимости может быть удален после перезагрузки).
(From http://pareto.uab.es/mcreel/ParallelKnoppix/):
ParallelKnoppix - это вариант Knoppix'а, позволяющий
развернуть кластер для параллельных вычислений, используя
свободные LAM-MPI и/или MPICH реализации MPI. (открытой
спецификации библиотеки передачи сообщений. - прим. пер.)
Если машины оборудованы сетевыми картами PXE, установка и
запуск занимает менее пятнадцати минут.
Предпосылка
Кластеризация - один из наименее затратных методов достижения
преимуществ параллельных вычислений. Кластеризация с
использованием Linux - одна из его ипостасей. Огромное
количество университетов и других организаций имитируют
суперкомпьютеры, объединяя в кластерные узлы персональные
компьютеры, работающие под Linux через Ethernet. Linux был
принят на вооружение научным сообществом для своей
исследовательской работы, поскольку он имеет массу научных
инструментов, таких, как LAM, MPI, PVM, и множество других,
так что Linux прекрасно подходит для параллельных вычислений.
Однако проблема в том, что ученым и программистам приходится
проводить массу настроек программного обеспечения, что
замедляет и усложняет их задачи.
Однако Linux-гуру решили эту проблему разработкой различных
LiveCD. Теперь исследователю не придется заниматься долгой
настройкой системы - он может выбрать LiveCD и запустить
кластер в течении нескольких минут.
ParallelKnoppix - один из таких дистрибутивов. Также доступны
другие LiveCD, например, BCCD и ClusterKnoppix.
Описание
Как и его родственник Knoppix, ParallelKnoppix автоматически
определяет все оборудование и периферию. Я тестировал его как
на D865GBF Intel P-IV, так и на Intel 810C (P-III), и
ParallelKnoppix автоматически настроил все оборудование - мне
не пришлось ничего добавлять. Компьютеры, настроенные с
помощью ParallelKnoppix, используют общий каталог, созданный
на главном узле через NFS (сетевую файловую систему). Главный
узел загружается с компакт-диска, а остальные кластерные узлы
- по сети при помощи сетевых карт PXE (главный узел стартует
DHCP-сервер).
Каждый сервис, необходимый для работы LAM/MPI, настраивается
автоматически. Устанавливаются и стартуют DHCP, NFS, SSH (с
беспарольным входом) - и вы готовы к экспериментам с
программами MPI и другими параллельными приложениями.
Работающий ParallelKnoppix слабо защищен - пароли обычного
пользователя и root'а открыты. Любой, имеющий даже минимальное
представление о ParallelKnoppix может легко получить доступ с
кластеру. Что поделать, ParallelKnoppix - компромисс между
легкостью установки и безопасностью.
[ Если вас заботит безопасность, то ваша кластерная сеть, как
правило, должна быть изолирована как от Internet, так и от
intranet. - Ben ]
Что такое PXE-загрузка?
PXE - это акроним от Preboot eXecution Environment,
технологии, используемой для удаленной загрузки компьютера
через локальную сеть. BIOS вашей системы должен поддерживать
возможность удаленной загрузки, а сетевые карты должны быть
PXE-совместимыми.
Что делать, если мои сетевые карты не совместимы с PXE?
Вам придется либо установить микросхему с прошивкой Etherboot,
соответствующей вашей сетевой карте либо записать
компакт-диск, используя загрузочный образ. ROM-o-matic.net
динамически генерирует образы Etherboot. (Более подробную
информацию об удаленной загрузке можно также узнать на
ltsp.ru. - прим. пер.)
Где можно получить ParrallelKnoppix
ISO-образ доступен по следующим адресам:
через FTP: ftp://volcano.uab.es/pub/parallelknoppix.iso
через HTTP:
http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix.iso
MD5SUM образа:
http://pareto.uab.es/mcreel/ParallelKnoppix/parallelknoppix-2004-12-16.iso.md5
Проверьте домашнюю страницу, если приведенные ссылки не
работают.
После загрузки образа проверьте его контрольную сумму, чтобы
убедиться в успешности загрузки. Запустите md5sum из командной
строки и сравните возвращенные значения:
md5sum isofilename
В приведенной команде замените isofilename на корректное имя файла.
Если вы по каким-то причинам не используете Linux, можете
скачать md5Summer для Windows. Так же доступна утилита для
DOS.
Если контрольные суммы совпадают, запишите образ на CD или
CDRW. Имейте в виду, для записи образов вам потребуется
программное обеспечение, такое как cdrecord (уж не забудьте...
:) - прим. пер.)
Как это работает?
Существует отличное руководство по ParallelKnoppix в
HTML-формате и PDF-формате c пошаговыми инструкциями,
скриншотами процессов конфигурации и т.п. Ваш CD-ROM,
экспортированный на узлы, с легкостью согласует пятьдесят
компьютеров, однако большее количество узлов не тестировалось.
Я сам тестировал только пять узлов.
Что делать, если работают несколько DHCP-серверов?
Если вы, как и я, работаете с кластером в университете, то
вполне возможно, что вы столкнетесь с действующим
"официальным" DHCP-сервером, и, может быть, другим
PXE-сервером. Когда вы попытаетесь загрузить узлы, используя
сервер терминалов, вполне вероятно,что они загрузятся с уже
существующего PXE-сервера, и получат IP-адреса с официального
сервера, а не с того, который работает на компьютере,
загруженного с ParallelKnoppix CD. Единственное решение этой
проблемы - физически отключить компьютеры, используемые в
качестве кластерных узлов от действующих PXE и/или
DHCP-серверов либо попросить администраторов временно
отключить эти серверы. Если кому-то известно другое решение
этой проблемы, я бы хотел узнать об этом. Мне кажется, это
подразумевает путаницу с miniroot.gz и использование
Rom-o-Matic для создания загрузочных образов PXE. Слишком
ужасно для дальнейших рассуждений... по крайней мере, для
меня.
Как это работает (Summary)
Загружаем главный узел с ParallelKnoppix LiveCD. После
загрузки главного узла исполняется скрип, запускающий
DHCP-сервер, затем разделяется общий рабочий каталог для всех
кластерных узлов, используя NFS, генерируется публичный ключ
для корректной работы SSH (с беспарольной регистрацией), и так
далее. После старта DHCP на главном узле клиенты (кластерные
узлы) загружаются посредством PXE. После успешной загрузки
рабочий каталог копируется в распределенный общий каталог NFS
и программы начинают выполняться в параллельном режиме на
нескольких персональных компьютерах.
Мой опыт
Я - студент старшего курса факультета компьютерных технологий
и мне был поручен проект по решению математической проблемы,
используя MPI в лаборатории параллельных вычислений. В
качестве альтернативы для демонстрации моей MPI-программы в
Linux-окружении я выбрал ParallelKnoppix. После начала
загрузки главного узла с ParallelKnoppix CD в какой-то момент
он попросит указать разрешение - просто нажмите "6", поскольку
это максимально возможное поддерживаемое разрешение. Как
только главный узел загрузится, я запускаю установочный скрипт
(K -> ParallelKnopix -> Setup ParallelKnoppix, согласно
вышеприведенному руководству). Когда скрипт создает
DHCP-сервер, я включаю узлы-клиенты и они начинают загрузку
через PXE. Все узлы успешно загружены.
Затем я копирую мою программу в parallel_knoppix_working и
запускаю ее параллельном режиме. Это в буквальном смысле
просто.
Для запуска компиляции я набираю:
mpicc myprogram.c -o myprogram.bin
Чтобы выполнить программу, я набираю:
mpirun C myprogram.bin
Вывод
"ParallelKnoppix предоставляет очень простое и быстрое
средство для конфигурирования и запуска кластера из
разнородных персональных компьютеров архитектуры IA-32. Он
не предназначен для развертывания постоянного кластера для
нескольких пользователей, это скорее средство для быстрой
установки кластера для индивидуального использования. Сам
ParallelKnoppix CD можно настроить, и конфигурация и
рабочие файлы могут быть использованы в любое другое время,
таким образом это долговременное решение для одного
пользователя."
-- From the ParallelKnoppix Tutorial By Michael Creel
Ссылки
The ParallelKnoppix Homepage
http://pareto.uab.es/mcreel/ParallelKnoppix/
Discussion Paper on Parallel Knoppix By Michael Creel (14th
October 2004)
http://pareto.uab.es/wp/2004/62504.pdf
High Performance Linux Clusters with OSCAR, Rocks, OpenMosix,
and MPI By Joseph D. Sloan
Publisher: O'Reilly Associates
Pub. Date: November 2004
http://safari.oreilly.com/0596005709
http://safari.oreilly.com/?XmlId=0596005709
The Knoppix Homepage
http://www.knopper.net/knoppix/index-en.html
http://www.knoppix.org/
http://www.Knoppix.com
http://www.Knoppix.net
ROM-o-matic.net
http://rom-o-matic.net/
LAM/MPI Parallel Computing
http://www.lam-mpi.org/
LAM/MPI User's Guide
http://www.lam-mpi.org/download/files/7.1.1-user.pdf
Majid Hameed - студент старшего курса факультета компьютерных
технологий Университета Карачи, Sindh, Pakistan. Основные
интересы - искусственный интеллект, операционные системы,
сетевые технологии, программирование и компьютерная графика.
Я - энтузиаст Linux. Я пользуюсь Linux в качестве операционной
системы последние три с половиной года. Я работал с такими
дистрибутивами, как: Red Hat Linux 9, 8, 7.3, 7.2, Slackware
Linux 10, 9.1, Slax, Mandrake Move 2, Knoppix 3.4, Vector
Linux 4.3, и некоторыми другими.
Copyright 2005, Majid Hameed. Released under the Open
Publication license. Linux Gazette is not produced, sponsored,
or endorsed by its prior host, SSC, Inc.
Published in Issue 110 of Linux Gazette, January 2005