УДК 004.3’2
УСТАНОВКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ВЫЧИСЛИТЕЛЬНЫЙ МОДУЛЬ С АРХИТЕКТУРОЙ
ПРОЦЕССОРА ALPHA
С.В. Стопкин, К.В. Пугин, Д.М. Бречка
Данная работа посвящена выбору и установке программного обеспечения на вычислительный модуль с архитектурой процессора Alpha. Вычислительные модули с такими процессорами входят в состав кластера МВС-1000/128, находящегося в распоряжении факультета компьютерных наук ФГБОУ ВПО «ОмГУ им. Ф.М. Достоевского». В результате работы на вычислительный модуль была установлена операционная система Debian Linux, а также средство поддержки исполнения параллельных программ — OpenMPI.
Введение
Вычислительный кластер МВС-1000/128 поступил в распоряжение факультета компьютерных наук ФГБОУ ВПО «ОмГУ им. Ф.М. Достоевского» в июле 2011 года. Кластер состоит из 64 вычислительных модулей, связанных между собой сетью на основе 100baseT Ethernet. Каждый вычислительный модуль содержит в себе два процессора DEC Alpha 21164 с частотой 667 МГц. Общий объем оперативной памяти модуля составляет 2048 Мбайт.
На каждом вычислительном модуле установлена операционная система RedHat Linux Alpha 7.2 и библиотека функций передачи сообщений MPICH. Также для пользователя доступны компиляторы Compaq Fortran, Compaq C/C++ и библиотека Compaq Extended Math Library (CXML). Для организации пакетной обработки применяется система управления прохождением заданий, разработанная в ИПМ им. Келдыша РАН.
Программное обеспечение, установленное на модулях кластера, на сегодняшний день можно считать устаревшим. Для организации эффективной работы предлагается установить на вычислительные модули более современные программные продукты.
Целью данной работы является выбор подходящей операционной системы и
Copyright © 2013 С.В. Стопкин, К.В. Пугин, Д.М. Бречка
Омский государственный университет им. Ф.М. Достоевского E-mail: [email protected], [email protected], [email protected]
ее установка на вычислительный модуль кластера, а также установка современных компиляторов и средств поддержки исполнения параллельных программ.
1. Описание аппаратной платформы и проблема выбора программного обеспечения
Подробное описание аппаратного обеспечения содержится в таблице 1 [1,2]. Основная проблема выбора программного обеспечения заключается в том, что архитектура Alpha не поддерживается большинством современных операционных систем, так как считается устаревшей (процессоры Alpha не выпускаются с 2004 года). Главным вопросом выбора программного обеспечения является выбор операционной системы.
Таблица 1. Описание аппаратного обеспечения вычислительного модуля
Тип микропроцессора DEC Alpha 21164
Разрядность микропроцессора 64
Набор инструкций RISC
Количество ядер микропроцессора 1
Частота микропроцессора 667 МГц
Напряжение питания микропроцессора 2 В
Объем кэша данных 64 Кбайт
Объем кэша команд 64 Кбайт
Количество микропроцессоров на плате 2
Количество оперативной памяти 2048 Мбайт
Тип оперативной памяти DIMM SDRAM PC100+ ECC
Количество памяти, доступной микропроцессору 2048 Мбайт
Тип материнской платы Api UP2000
Наличие коммуникационных портов LPT, 2 х COM, SCSI, IDE, 2 х PS/2
Тип сетевого адаптера PCI - 100BaseT
Тип графического адаптера PCI VGA 4 Мбайт
Тип жесткого диска IDE ATA133
Объем жесткого диска 20 Гбайт
Максимальная потребляемая мощность 600 Вт
2. Выбор операционной системы
В ходе работы был выявлен ряд операционных систем, которые поддерживают архитектуру Alpha. Некоторые из этих систем продолжают поддержку
Alpha и на сегодняшний день, в других — поддержка завершена. Классификация систем приведена на рисунке [3-5].
При выборе операционной системы для установки на вычислительный модуль рассматривались только те системы, поддержка архитектуры Alpha для которых продолжается и сегодня. Кроме того, рассматривались только свободные операционные системы. Выбор остановился на системе Debian Linux, основной причиной выбора именно этой системы является её хорошая доку-ментированность.
Рис. І. Операционные системы, поддерживающие архитектуру Alpha
З. Установка Debian Linux на вычислительный модуль
3.1. Встроенное программное обеспечение
Для компьютерных систем на базе микропроцессоров Alpha доступны два класса встроенного программного обеспечения [2,4]:
1. SRM-консоль, основанная на спецификации Alpha Console Subsystem, которая обеспечивает рабочую среду для операционных систем OpenVMS, Tru64 UNIX и Linux;
2. ARC-консоль, AlphaBIOS или ARCSBIOS, основанная на спецификации Advanced RISC Computing (ARC), которая обеспечивает рабочую среду для Windows NT.
С точки зрения пользователя наиболее важное различие между SRM и ARC — это различные схемы разметки жёсткого диска, с которого планируется загрузка, и интерфейс системы ввода-вывода. В вычислительных модулях на базе материнской платы Api UP2000 в качестве встроенного ПО используется консоль SRM [5-9]. Опишем основные особенности этой программы.
SRM-консоль — это микропрограмма (аналогичная BIOS) для компьютерных систем с процессорами Alpha. Интерфейс SRM выполнен в стиле Unix shell. Микропрограмма хранится во флэш-ПЗУ и выполняется при включении и/или перезагрузке системы Alpha.
SRM-консоль поддерживает загрузку с FDD, HDD, CD/DVD и сети. На режим сетевой загрузки накладываются аппаратные и программные ограничения. Поскольку Alpha не поддерживает для HDD таблицу разделов MS-DOS, для загрузки необходим HDD с таблицей разделов в формате BSD. Консоль сама не в состоянии загрузить Linux, для этого требуется промежуточный системный загрузчик. Для SRM консоли таким загрузчиком является aboot — многоплатформенный системный загрузчик [9].
Загрузчик aboot занимается трансляцией команд SRM в команды, передаваемые ядру Linux, а также загрузкой ядра и начального образа в ОЗУ. Конфигурация aboot содержится в файле /etc/abootconf, в этом же файле хранится список возможных конфигураций загрузки ядра. Конфигурация ядра передаётся в загрузчик при помощи параметра -flags в SRM. Программа aboot имеет собственную командную строку, которая позволяет менять на ходу конфигурацию загрузки ядра. Данная возможность может быть полезна при проверке корректности обновлений ядра.
3.2. Выбор версии Debian Linux
Релизы Debian Linux разделены на пять веток [5]:
1. Ветка oldstable — содержит пакеты предыдущего стабильного дистрибутива.
2. Ветка stable (стабильная) — содержит пакеты, вошедшие в последний официальный дистрибутив (обновление пакетов в нём происходит только для устранения уязвимостей).
3. Ветка testing (тестируемая) — из этой ветки будет формироваться следующий стабильный дистрибутив.
4. Ветка unstable (нестабильная) — пакеты этой ветки готовятся к помещению в тестируемую ветку.
5. Ветка experimental (экспериментальная) — не является полноценной веткой, в ней находятся пакеты, требующие тщательного тестирования или пакеты, которые повлекут серьёзные изменения в дистрибутиве.
На момент проведения исследовательских работ, последним релизом Debian Linux была версия 6.0 с официальным названием Sqeeze. Однако, поддержка архитектуры Alpha сообществом Debian была прекращена в версии Debian 5.0 Lenny. Поэтому именно Debian 5.0 Lenny будет использоваться для установки на вычислительный модуль кластера.
3.3. Установка базовой конфигурации Debian 5.0 Lenny и дополнительных программных пакетов
Наиболее простым способом установки операционной системы с помощью SRM является установка системы с DVD-носителя. Именно этот способ установки и был использован. Опишем процесс установки. После помещения DVD с дистрибутивом системы в дисковод необходимо нажать Ctrl+P для вызова SRM-консоли. В консоли при помощи команды show dev (показывает список всех дисковых устройств на модуле) можно узнать номер дисковода, этот номер передаётся в качестве параметра команде boot для начала загрузки системы с DVD. Далее установка проходит в штатном режиме, подробное описание установки Debian Linux приводится в [5].
После установки базовой конфигурации системы для более удобной организации работы с ней были добавлены следующие программные пакеты:
1. Пакет mc — midinght commander, консольный двухпанельный файловый менеджер с поддержкой ftp, scp, ssh.
2. Пакет ssh — openssh, набор клиент-серверных утилит для защищённого соединения с удалённым компьютером.
3. Пакет htop — монитор процессов для Linux с отображением загрузки CPU и потребления памяти.
4. Пакет tmux — свободная консольная утилита-мультиплексор, предоставляющая пользователю доступ к нескольким терминалам в рамках одного экрана.
5. Пакет GCC — коллекции компиляторов GNU.
4. Обновление Debian 5.0 Lenny и установка средств поддержки параллельных программ
Для организации параллельных вычислений на кластере требуется система распределённых вычислений MPI. Было принято решение использовать реализацию OpenMPI, так как разработка более старой реализации — MPICH — на сегодняшний день прекращена [10]. Однако при установке OpenMPI на систему Debian 5.0 Lenny был выявлен ряд проблем, связанных с тем, что Lenny использует относительно устаревшие версии некоторых программных пакетов. В связи с этим было принято решение обновить операционную систему до более актуальной версии.
Попытка обновить систему до версии Sqeeze по руководствам сообщества Debian [5] привела к невозможности загрузки операционной системы. Эта ситуация, по-видимому, связана с наличием некоторых ошибок в пакетном менеджере dpkg, использующемся в Debian Linux. Основная проблема была связана с обновлением архиватора tar, использующегося для архивации установочных пакетов, с которыми работает пакетный менеджер. После ручной замены исполняемых файлов tar на неконфликтующие и обновления пакетного менеджера dpkg до версии, не имеющей ошибки, была получена возможность корректного автоматического обновления системы до версии Squeeze. При этом ядро системы обновить не удалось, так как в новом ядре отсутствует поддержка платформы Alpha.
После успешно проведённого обновления системы до версии Sqeeze было решено осуществить попытку совершить ещё одно обновление системы до версии Sid для получения самых современных версий программных пакетов. Надо отметить, что на момент проведения работ дистрибутив Debian Sid находился в ветке unstable.
При обновлении до Debian Sid происходит замена многих системных средств на новые, что привело к следующим проблемам:
1. Ядро системы версии 2.6.32 по умолчанию ссылкам на устройства дисков даёт имена типа sdaX, но для работы загрузчика aboot необходимо, чтобы имена имели вид hdaX. Данная проблема решена путём сохранения старого ядра. При установке пакетов в конфигураторе есть возможность отказаться от установки нового ядра.
2. Debian Sid по умолчанию использует загрузку по зависимостям в отличие от традиционной последовательной загрузки, что приводит к проблемам инициализации видеокарты. Проблема решена путём сохранения последовательной загрузки (при помощи конфигуратора).
3. Системная программа динамической генерации фалов устройств Udev в версиях выше І75 не может определить устройства ввода данных модулей. Проблема решена отказом от обновления Udev в составе начального образа системы.
4. Сервер графического окружения X.org не способен определить устройства ввода. Данная проблема находится в стадии решения.
Установка OpenMPI как в Debian Sqeeze, так и в Debian Sid не вызывает особых затруднений, требуется просто установить пакеты openmpi и openssh с помощью стандартного пакетного менеджера.
Работоспособность полученной конфигурации была проверена путём компиляции и запуска ряда простых параллельных программ.
Заключение
В данной статье была рассмотрена задача выбора и установки программного обеспечения на вычислительный модуль кластерной системы МВС-1000/128. Основная проблема при решении данной задачи заключалась в том, что вычислительный модуль имеет весьма специфическую и во многом устаревшую аппаратную платформу. В ходе работы был проведён выбор подходящей операционной системы и программного обеспечения для поддержки исполнения параллельных программ. Выбранная операционная система и необходимые программные пакеты были успешно установлены на вычислительный модуль. Работоспособность модуля была протестирована.
Основным результатом работы является получение работоспособного вычислительного модуля, поддерживающего современную среду исполнения параллельных программ — OpenMPI. Дальнейшие работы будут направлены на создание кластера, состоящего из подобных модулей и тестирование полученного кластера.
ЛИТЕРАТУРА
1. Archived technical documentation library:[сайт]. URL: http://h18002.www1. hp.com/alphaserver/technology/chip-docs.html (дата обращения:
15.10.2011).
2. P. V. Bolotoff Alpha: The History in Facts and Comments: [Электронный
документ]. URL: http://alasir.com/articles/alpha_history/alpha_
21064_21066.html (дата обращения: 16.10.2011).
3. Tru64.org: [сайт]. URL: http://www.tru64.org/ (дата обращения: 14.11.2011).
4. OpenVMS.org: [сайт]. URL: http://www.openvms.org (дата обращения:
16.11.2011).
5. Debian: [сайт]. URL: http://www.debian.org (дата обращения: 27.11.2011).
6. Red Hat Linux 7.0: The Official Red Hat Linux Alpha Installation Guide: [Электронный документ]. URL: http://web.archive.org/web/20050408134334/
http://www.redhat.com/docs/manuals/linux/RHL-7-Manual/ alpha-install-guide/s1-alpha-srm.html (дата обращения: 11.12.2011).
7. SRM Console Reference: [Электронный документ]. URL: http://h18002.
www1.hp.com/alphaserver/download/srm_reference.pdf (дата обращения: 15.12.2011).
8. Alpha SRM Console for Alpha Microprocessor Motherboards. User’s Guide: [Электронный документ]. URL: http://h18002.www1.hp.com/alphaserver/ technology/literature/srmcons.pdf (дата обращения: 15.12.2011).
9. R. Payne, D. Huggins-Daines SRM Firmware Howto: [Электронный документ]. URL: http://www.tldp.org/HOWTO/SRM-HOWTO/ (дата обращения: 05.01.2012).
10. MPICH 2: [сайт]. URL: http://www.mcs.anl.gov/research/projects/ mpich2/ (дата обращения: 15.03.2012).