ТРЕНИНГ МЕЖДУНАРОДНОЙ ФЕДЕРАЦИИ ГРИД-СИСТЕМ ИЗ ПЕРСОНАЛЬНЫХ КОМПЬЮТЕРОВ Сервисные гриды и гриды из рабочих станций Сервисный грид Грид из персональных компьютеров Globus Toolkit gLite Unicore ARC BOINC XWHep Condor Архитектура грида из персональных компьютеров Администратор сервера Вычислительный узел Создание проектов Регистрация распределённых приложений BOINC-сервер Web-сервер BOINCклиент BOINC-проект База данных Планировщик Службы transitioner feeder validator assimilator file_deleter Сегмент разделяемой памяти BOINC менеджер Администратор вычслительных узлов Основные термины integral-master Work Unit 1 Work Unit 2 Work Unit 3 Work Unit 3 integral-client integral-client integral-client integral-client input1.txt input2.txt input3.txt input3.txt Принцип работы распределённого приложения BOINC-сервер BOINC-проект integral-master Структура учебного стенда ПРАКТИЧЕСКАЯ ЧАСТЬ Шаг 1. Установка и настройка BOINC-клиента Подключаемся к репозиторию: заходим с правами администратора(команда su); редактируем файл /etc/apt/sources.list, добавляя в самый конец строку deb http://www.desktopgrid.hu/debian/ lenny szdg обновляем данные репозитория: apt-get update импортируем недостающий ключ: apt-key advanced --keyserver wwwkeys.eu.pgp.net --recv-keys обновляем репозиторий с применением импортированных ключей: apt-get update Шаг 1. Установка и настройка BOINC-клиента: подключение к проекту Заходим через браузер на сайт http://boinc.berkeley.edu/ Загружаем BOINC-клиент, устанавливаем его. При первом запуске программа предложит подключиться к проекту, для этого нужно ввести master-url специального тестового проекта: boinc-test.isa.ru, и следовать дальнейшим инструкциям Шаг 2. Установка BOINC-сервера Подключаемся к репозиторию: заходим с правами администратора(команда su); редактируем файл /etc/apt/sources.list, добавляя в самый конец строку deb http://www.desktopgrid.hu/debian/ lenny szdg обновляем данные репозитория: apt-get update импортируем недостающий ключ: apt-key advanced --keyserver wwwkeys.eu.pgp.net —recv-keys <шифр отображенный на экране> обновляем репозиторий с применением импортированных ключей: apt-get update Шаг 2. Установка BOINC-сервера Устанавливаем boinc-server: apt-get install boinc-server в процессе установки необходимо будет установить пароль администратора баз данных mysql(например sqlpw): Для доступа пользователя root к использованию mysql необходимо создать файл /root/.my.cnf со следующим содержимым: [mysql] user = root password = sqlpw [mysqladmin] user = root password = sqlpw можно проверить доступ к базам данных, запустив mysql Шаг 3. Создание проекта Выбираем короткое и длинное название для проекта(например за длинное название можно взять свои имя и фамилию, за короткое — инициалы) Создаём проект, например: boinc_create_project --name=ivpr --long-name='Ivan Petrov' Добавляем пользователя в администраторы проекта: boinc_admin --NAME=ivpr --add boincadm необходимо назначить пароль для доступа к информации проекта через web-интерфейс. Шаг 3. Создание проекта: Web-интерфейс Шаг 3. Создание проекта: Структура каталогов Шаг 4. Добавление приложения Проект расположен в папке /var/lib/boinc/<короткое название проекта>/project Регистрируем приложение в файле проекта project.xml, добавляя вместо обозначенного там приложения uppercase приложение integral: <app> <name>integral</name> <user_friendly_name>Integral_of_function</user_friendly_name> </app> Далее необходимо запустить команду xadd, которая прочитает содержимое данного xml-файла, и занесёт его значения в базу данных проекта Шаг 5. Обновление версий Устанавливаем исполняемый файл клиентской части приложения в нашей инфраструктуре. Для этого создаём каталог /var/lib/boinc/ivpr/project/apps/integral/integral_1.00_windows_x86_64.e xe !!! - название каталога будет заканчиваться именно на .exe. Копируем в созданную папку исполняемый клиентский файл с таким же названием. Запускаем update_versions, котора прочитает структуру каталогов внутри apps, и внесёт необходимые изменения в базу данных. Шаг 6. Установка серверной части распределённого приложения В директории /var/lib/boinc/<короткое название проекта> создаем рабочий каталог приложения integral-master. В данном каталоге создаем файл integral-master.conf c примерно следующим содержимым: [Master] WorkingDirectory = /var/lib/boinc/ivpr/integral-master InstanceUUID = fc7286ea-d8ab-4304-be55-84c098d7db42 BoincConfigXML = /var/lib/boinc/ivpr/project/config.xml ProjectRootDir = /var/lib/boinc/ivpr/project Шаг 7. Запуск проекта Копируем файл серверной части приложения в каталог bin проекта. Запускаем его из папки bin: ./integral-master -c /var/lib/boinc/ivpr/integralmaster/integral- master.conf запускаем сервер, набрав в отдельной консоли с правами администратора проекта команду start.