Система boinc

48
Система BOINC. Система BOINC. Занятие проводит: Храпов Николай Павлович Институт Системного Анализа РАН

Upload: duyen

Post on 08-Jan-2016

103 views

Category:

Documents


3 download

DESCRIPTION

Система BOINC. Занятие проводит: Храпов Николай Павлович Институт Системного Анализа РАН. Практическое занятие. Основы работы с ОС Linux Установка BOINC- сервера. Практическое занятие. Основы работы с ОС Linux Установка BOINC- сервера. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Система BOINC

Система BOINC.Система BOINC.

Занятие проводит: Храпов Николай Павлович Институт Системного Анализа РАН

Page 2: Система BOINC

Практическое занятие

Основы работы с ОС Linux

Установка BOINC-сервера

Page 3: Система BOINC

Практическое занятие

Основы работы с ОС Linux

Установка BOINC-сервера

Page 4: Система BOINC

Что такое технологии виртуализации?

Технология виртуализации позволяет в рамках одного персонального компьютера полностью смоделировать (виртуализовать) работу одного или нескольких других компьютеров.

Page 5: Система BOINC

Виртуализация работы системы Windows 7 в рамках Mac OS X Lion

Page 6: Система BOINC

Запуск ОС Linux в виртуальной среде

1. Пуск -> Программы -> Vmware Player.

2. Debian_6_Student.

3. Play.

Page 7: Система BOINC

Пользователь root

root – пользователь-администратор системы, на

которого не распространяется каких-либо

ограничений доступа .

Пароль: rootpw.

Имя пользователя root является единым для всех

реализаций Linux.

Для ОС Linux Debian по умолчанию невозможен

вход через графический интерфейс.

Page 8: Система BOINC

Пользователи (продолжение)

student – стандартный пользователь

системы.

Пароль: studentpw.

Допускается вход через графический

интерфейс пользователя.

Page 9: Система BOINC

Использование терминала

При наличии

GUIПрограммы –> Стандартные -> Терминал

При отсутствии

GUI

ALT + CTRL + F1/F2 … F6

Возвращение в GUI: ALT + CTRL + F7

Page 10: Система BOINC

Путь в файлу

путь к корневому каталогу.

пример пути относительно корневого каталога.

пример пути относительно текущего каталога.

домашний каталог пользователя.

пример пути относительно домашнего каталога.

каталог на уровень выше.

/

/var/lib

lib

~

~/Загрузки

..

Page 11: Система BOINC

Команды по работе с файловой системой

ls – получить список файлов в каталоге.

cd – перейти в каталог.

mkdir – создать каталог.

rm – удалить файл.

pwd – путь к текущему каталогу.

touch – создать пустой файл.

./ – запустить файл из текущего каталога на

исполнение.

Page 12: Система BOINC

Опции ls

ls # список файлов в текущем каталоге;

ls –a # включая скрытые файлы;

ls –l # список файлов с выводом

расширенной информации;

ls /home # список файлов в каталоге /home.

Page 13: Система BOINC

Доступ к файлу

На чтение.

На запись.

На исполнение.

Page 14: Система BOINC

Изменение прав доступа к файлу

chmod +x <название файла>

Сделать файл исполняемым.

chmod –x <название файла>

Убрать права на исполнение.

Page 15: Система BOINC

Запуск команд от имени суперпользователя

su

Переход в терминал пользователя root.

su – student

Переход в терминал пользователя student.

<пользователь>@<хост>:<каталог> $

Командная строка обычного пользователя.

root@<хост>:<каталог> #

Командная строка пользователя root.

Page 16: Система BOINC

Текстовый редактор nano

CTRL + o

Сохранение файла.

CTRL + x

Выход из программы.

Page 17: Система BOINC

Другие команды

echo – написать аргумент.

date – написать текущую дату и время.

whoami – выводит имя текущего пользователя.

mc – консольный файловый менеджер midnight

commander.

apt-get – менеджер приложений.

ssh - вызов программы для удалённого терминального доступа.

Page 18: Система BOINC

Задание №1В домашнем каталоге создать директорию Programs.

В директории Programs создать файл hworld.

Внутри данного файла поместить следующий список команд:

echo Hello World!!! I amwhoamiechoecho Now:dateecho echo Path: pwdСохранить файл и сделать его исполняемым.

Запустить файл как из домашнего, так и из текущего каталогов.

Page 19: Система BOINC

Задание №2 (BOINC-клиент)

Перейти в консоль пользователя root.

Обновить репозиторий:

apt-get updateУстановить программы BOINC-клиент и

BOINC-менеджер:

apt-get install boinc-client boinc-managerВыйти из консоли суперпользователя:

exit

Page 20: Система BOINC

Задание №2 (продолжение)

Запустить BOINC-клиент.

Подключить его к проекту c master-url:

http://b16.oit.cmc.msu.ru/demo

Page 21: Система BOINC

Практическое занятие

Основы работы с ОС Linux

Установка BOINC-сервера

Page 22: Система BOINC

Переход на удалённый сервер

ssh [email protected]

Далее в соответствии с инструкцией.

Page 23: Система BOINC

BOINC (основные понятия)

BOINC-клиент.

BOINC-менеджер.

BOINC-сервер.

Проект.

Пользователь.

Аккаунт-менеджер.

Начисляемые баллы.

Вычислительный узел.

Приложение.

Версии приложения.

Расчётный блок (Work Unit).

Результат.

Службы.

Master URL.

Page 24: Система BOINC

BOINC-клиент

Page 25: Система BOINC

BOINC (просмотр событий)

Page 26: Система BOINC

Архитектура грида из персональных компьютеров

Page 27: Система BOINC

Принцип работы распределённого приложения

Page 28: Система BOINC

Физические и логические имена файлов

Page 29: Система BOINC

Основные термины

Work Unit 1

integral-client

input1.txt

Work Unit 3

integral-client

input3.txt

Work Unit 2

integral-client

input2.txt

integral-master

Work Unit 4

integral-client

input4.txt

Page 30: Система BOINC

Шаг 3. Создание проекта:Структура каталогов

Page 31: Система BOINC

Разработка и запуск распределённых приложений

BOINC-APIwrapperDC-APIgen-wrapper

Page 32: Система BOINC

BOINC-API

На стороне сервера:create_worksample_assimilatorsample_trivial_validator

На стороне клиента:

integral_1.06_i686-pc-linux-gnu

Integral_1.08_windows_intelx86

wrapper

Page 33: Система BOINC

Шаг 3. Создание проекта: Web-интерфейс

Page 34: Система BOINC

DC-API: клиентская часть

DC_initClient()init_files()DC_finishClient(int)DC_resolveFileName(DC_FILE_IN, INPUT_LABEL);DC_resolveFileName(DC_FILE_OUT, OUTPUT_LABEL);

Page 35: Система BOINC

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)

Page 36: Система BOINC

ПРАКТИЧЕСКАЯ ЧАСТЬШаг 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

Page 37: Система BOINC

Шаг 1. Установка и настройка BOINC-клиента:подключение к проекту

Заходим через браузер на сайт http://boinc.berkeley.edu/

Загружаем BOINC-клиент, устанавливаем его.

При первом запуске программа предложит подключиться к проекту, для этого нужно ввести master-url специального тестового проекта: boinc-test.isa.ru, и следовать дальнейшим инструкциям

Page 38: Система BOINC

Шаг 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

Page 39: Система BOINC

Шаг 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

Page 40: Система BOINC

Шаг 3. Создание проекта

Выбираем короткое и длинное название для проекта(например за длинное название

можно взять свои имя и фамилию, за короткое — инициалы)

Создаём проект, например:

boinc_create_project --name=ivpr --long-name='Ivan

Petrov'

Добавляем пользователя в администраторы проекта:

boinc_admin --NAME=ivpr --add boincadm

необходимо назначить пароль для доступа к информации

проекта через web-интерфейс.

Page 41: Система BOINC

Шаг 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-файла, и занесёт его значения в базу данных проекта

Page 42: Система BOINC

Шаг 5. Обновление версий

Устанавливаем исполняемый файл клиентской части приложения в нашей

инфраструктуре. Для этого создаём каталог

/var/lib/boinc/ivpr/project/apps/integral/integral_1.00_windo

ws_x86_64.exe

!!! - название каталога будет заканчиваться именно на .exe.

Копируем в созданную папку исполняемый клиентский файл с

таким же названием.

Запускаем update_versions, котора прочитает структуру

каталогов внутри apps, и внесёт необходимые изменения в базу

данных.

Page 43: Система BOINC

Шаг 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

Page 44: Система BOINC

Шаг 7. Запуск проекта

Копируем файл серверной части приложения в каталог bin проекта. Запускаем его из папки bin:

./integral-master -c

/var/lib/boinc/ivpr/integral-master/integral-

master.conf запускаем сервер, набрав в отдельной консоли с правами администратора проекта команду start.

Page 45: Система BOINC

Структура учебного стенда

Page 46: Система BOINC

Облачные вычисленияОблачные вычисления

История возникновения термина SaaSPaaSIaaS

Page 47: Система BOINC

Software as Service (SaaS)

Page 48: Система BOINC

Ниболее популярные реализации:

Google Office

Microsoft Office Live

Dropbox

Платформы для организации:

Google App Engine

Microsoft Azure