500 likes | 803 Views
Система BOINC. Занятие проводит: Храпов Николай Павлович Институт Системного Анализа РАН. Практическое занятие. Основы работы с ОС Linux Установка BOINC- сервера. Практическое занятие. Основы работы с ОС Linux Установка BOINC- сервера.
E N D
Система BOINC. Занятие проводит: Храпов Николай Павлович Институт Системного Анализа РАН
Практическое занятие • Основы работы с ОС Linux • Установка BOINC-сервера
Практическое занятие • Основы работы с ОС Linux • Установка BOINC-сервера
Что такое технологии виртуализации? Технология виртуализации позволяет в рамках одного персонального компьютера полностью смоделировать (виртуализовать) работу одного или нескольких других компьютеров.
Виртуализация работы системы Windows 7 в рамках Mac OS X Lion
Запуск ОС Linux в виртуальной среде Пуск -> Программы ->Vmware Player. Debian_6_Student. Play.
Пользователь root root – пользователь-администратор системы, на которого не распространяется каких-либо ограничений доступа . Пароль: rootpw. Имя пользователя root является единым для всех реализаций Linux. Для ОС Linux Debian по умолчанию невозможен вход через графический интерфейс.
Пользователи (продолжение) student – стандартныйпользователь системы. Пароль: studentpw. Допускается вход через графический интерфейс пользователя.
Использование терминала При наличии GUI Программы –> Стандартные -> Терминал При отсутствии GUI ALT + CTRL + F1/F2 … F6 Возвращение в GUI: ALT + CTRL + F7
Путь в файлу / /var/lib lib • путь к корневому каталогу. • пример пути относительно корневого каталога. • пример пути относительно текущего каталога. • домашний каталог пользователя. • пример пути относительно домашнего каталога. • каталог на уровень выше. ~ ~/Загрузки ..
Команды по работе с файловой системой • ls – получить список файлов в каталоге. • cd – перейти в каталог. • mkdir – создать каталог. • rm – удалить файл. • pwd – путь к текущему каталогу. • touch – создать пустой файл. • ./ – запустить файл из текущего каталога на • исполнение.
Опции ls • ls #список файлов в текущем каталоге; • ls –a # включая скрытые файлы; • ls –l # список файлов с выводом • расширенной информации; • ls /home # список файлов в каталоге /home.
Доступ к файлу • На чтение. • На запись. • На исполнение.
Изменение прав доступа к файлу • chmod +x <название файла> • Сделать файл исполняемым. • chmod –x <название файла> • Убрать права на исполнение.
Запуск команд от имени суперпользователя • su • Переход в терминал пользователя root. • su – student • Переход в терминал пользователя student. • <пользователь>@<хост>:<каталог> $ • Командная строка обычного пользователя. • root@<хост>:<каталог> # • Командная строка пользователя root.
Текстовый редактор nano • CTRL + o • Сохранение файла. • CTRL + x • Выход из программы.
Другие команды • echo – написать аргумент. • date – написать текущую дату и время. • whoami – выводит имя текущего пользователя. • mc – консольный файловый менеджер midnight • commander. • apt-get – менеджер приложений. • ssh - вызов программы для удалённого терминального доступа.
Задание №1 • В домашнем каталоге создать директорию Programs. • В директории Programs создать файл hworld. • Внутри данного файла поместить следующий список команд: • echo Hello World!!! I am • whoami • echo • echo Now: • date • echo • echo Path: • pwd • Сохранить файл и сделать его исполняемым. • Запустить файл как из домашнего, так и из текущего каталогов.
Задание №2 (BOINC-клиент) • Перейти в консоль пользователя root. • Обновить репозиторий: • apt-get update • Установить программы BOINC-клиент и BOINC-менеджер: • apt-get install boinc-client boinc-manager • Выйти из консоли суперпользователя: • exit
Задание №2 (продолжение) • Запустить BOINC-клиент. • Подключить его к проекту c master-url: • http://b16.oit.cmc.msu.ru/demo
Практическое занятие • Основы работы с ОС Linux • Установка BOINC-сервера
Переход на удалённый сервер • ssh root@b16.oit.cmc.msu.ru • Далее в соответствии с инструкцией.
BOINC (основные понятия) Вычислительный узел. Приложение. Версии приложения. Расчётный блок (Work Unit). Результат. Службы. Master URL. BOINC-клиент. BOINC-менеджер. BOINC-сервер. Проект. Пользователь. Аккаунт-менеджер. Начисляемые баллы.
Архитектура грида из персональных компьютеров
Принцип работы распределённого приложения
Основные термины integral-master Work Unit 1 integral-client input1.txt Work Unit 2 integral-client input2.txt Work Unit 3 integral-client input3.txt Work Unit 4 integral-client input4.txt
Шаг 3. Создание проекта: Структура каталогов
Разработка и запуск распределённых приложений • BOINC-API • wrapper • DC-API • gen-wrapper
BOINC-API На стороне сервера: • create_work • sample_assimilator • sample_trivial_validator На стороне клиента: integral_1.06_i686-pc-linux-gnu Integral_1.08_windows_intelx86 wrapper
Шаг 3. Создание проекта: Web-интерфейс
DC-API: клиентская часть DC_initClient() init_files() DC_finishClient(int) DC_resolveFileName(DC_FILE_IN, INPUT_LABEL); DC_resolveFileName(DC_FILE_OUT, OUTPUT_LABEL);
DC-API: серверная часть DC_initMaster(config_file) DC_setMasterCb(process_result, NULL, NULL) DC_log(LOG_NOTICE, char*) DC_processMasterEvents(int time) DC_createWU("integral", NULL, 0, wu_tag) DC_addWUInput(wu, INPUT_LABEL, "wu-input.txt", DC_FILE_VOLATILE) DC_addWUOutput(wu, OUTPUT_LABEL) DC_submitWU(wu) char* DC_getWUTag(wu) char* DC_getResultOutput(result, OUTPUT_LABEL) DC_destroyWU(wu)
ПРАКТИЧЕСКАЯ ЧАСТЬ Шаг 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-интерфейс.
Шаг 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.exe !!! - название каталога будет заканчиваться именно на .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/integral-master/integral- master.conf запускаем сервер, набрав в отдельной консоли с правами администратора проекта команду start.
Облачные вычисления • История возникновения термина • SaaS • PaaS • IaaS
Ниболее популярные реализации: • Google Office • Microsoft Office Live • Dropbox Платформы для организации: • Google App Engine • Microsoft Azure