Для организации кластера в учебных целях на базе сети персональных компьютеров целесообразно установить две операционных системы: Redhat Linux для обучения студентов параллельному программированию и Windows для организации остального учебного процесса.
В качестве примера приведем характеристики учебного кластера кафедры Юнеско по НИТ КемГУ. Характеристика отдельного узла кластера следующая – Celeron/400Mhz, 64 Mb RAM, 6 Gb HDD (из них 4 Gb отведено под Windows для обучения студентов, и 2 Gb под Linux для работы кластера). Сетевая среда – 100 Mbps Fast Ethernet (802.3u), сетевые адаптеры DFE-530TX 10/100, коммутатор Allied Telesyn AT-FS716 10/100. Операционная система кластера – Red Hat Linux 6.2 Intel, компиляторы - GNU GCC/G77, коммуникационная библиотека – MPICH 1.2.1.
В конфигурационном файле /etc/hosts должны быть прописаны все компьютеры кластера, например:
10.0.0.100 unesco1
10.0.0.101 unesco2
10.0.0.102 unesco3
10.0.0.103 unesco4
10.0.0.104 unesco5
10.0.0.105 unesco6
10.0.0.106 unesco7
10.0.0.107 unesco8
Для проверки правильности настройки можно использовать утилиту ping.
Для организации параллельных вычислений MPI использует Remote Shell, позволяющий запускать на удаленной машине приложения. Соответственно, необходимо обеспечить защиту машин кластера извне. Наиболее очевидный способ защиты – выделить один из компьютеров под шлюз, на котором производится авторизация внешних пользователей и настроен NAT. После авторизации на шлюзе внешний пользователь получает доступ к любому компьютеру кластера.
Для настройки Remote Shell необходимо прописать в домашнем каталоге пользователя в конфигурационном файле .rhosts имена машин, составляющих кластер, и имена пользователей, имеющих доступ к данному компьютеру. Пример файла .rhosts пользователя stud, находящегося в каталоге /home/stud/.rhosts приведен ниже:
unesco1 stud
unesco2 stud
unesco3 stud
unesco4 stud
unesco5 stud
unesco6 stud
unesco7 stud
unesco8 stud
Проверить правильность настройки Remote Shell можно командами:
rsh unescoN ls, где N – номер машины кластера.
При успешном выполнении команды выведется список файлов пользователя stud на машине unescoN, показатель неработоспособности rsh – сообщение Permission denied.
В качестве вычислительных узлов кластера можно использовать разнородные по мощности ПК, но в этом случае возникнут проблемы равномерной загруженности процессоров при проведении паравычислений: узлы, обладающие большим быстродействием, будут намного быстрее выполнять свою часть вычислений параллельного приложения и потом дожидаться данных от других процессоров для продолжения дальнейших вычислений. При организации кластера допускается разнородность по внутренней организации узла кластера и операционной системе, установленной на узле. Например, узлами кластера могут быть обычные ПК с операционной системой Linux плюс IBM Risc-6000 (суперскалярный процессор) с операционной системой Aix плюс Sun Ultra 2 (двухпроцессорный серверный вариант) с операционной системой SunOS и т.д. Все, что объединяет эти компьютеры – Unix-подобная операционная система, позволяющая использовать утилиту Remote Shell (rsh) для удаленного запуска приложений с host-компьютера кластера. Подводя итог, можно сказать, что для создания кластера можно использовать широкий круг имеющихся на сегодняшний день компьютеров, но при этом для упрощения настройки кластера и избежания проблем с равномерной загрузкой процессоров во время проведения паравычислений все же рекомендуем использовать однородные узлы с однородной операционной системой на них: практически все известные нам многопроцессорные вычислительные комплексы в России и за рубежом построены именно так.