700 likes | 972 Views
Введение в ППО gLite. Олешко С.Б. Петербургский институт ядерной физики г.Гатчина. Презентацию можно будет скачать со страницы сайта http://egee.pnpi.nw.ru в разделе “ Грид в ПИЯФ ”. Содержание. Что такое EGEE и как получить доступ к ресурсам EGEE Инфраструктура EGEE ППО gLite
E N D
Введение в ППО gLite Олешко С.Б. Петербургский институт ядерной физики г.Гатчина
Презентацию можно будет скачать со страницы сайта • http://egee.pnpi.nw.ruв разделе “Грид в ПИЯФ”
Содержание • Что такое EGEE и как получить доступ к ресурсам EGEE • Инфраструктура EGEE • ППО gLite • Сообщества пользователей и поддержка пользователей • Использование команд gLite • Запуск простейшего задания • ссылка на пример • Более сложные примеры • ссылки на примеры • Работа с большими объёмами данных • ссылка на пример
Проект EGEE(www.eu-egee.org) • Цель EGEE • Обеспечить создание высокопроизводительной продукционной GRID инфраструктуры,ее поддержку и развитие • EGEE • 1 апреля 2004 – 31 марта 2006 • 71 участникиз 27 стран, объединённых в региональные федерации • EGEE-II • 1 апреля 2006 – 30 апреля 2008 • расширение числа участников и ресурсов (~90 участников из 36 стран) • EGEE-III • 1 мая 2008 – 30 апреля 2010 • переход к стабильной постоянно действующей Грид-инфраструктуре
Текущий статус • 17,000 пользователей • 150,000 ЦПУ (ядер) • 28Pb дисковой памяти • 41Pb на лентах • 12 миллионов зад./месяц +45% в год • 268 центров +5% в год • 48 стран +10% в год • 182 ВО +29% в год Real Time Monitor: http://gridportal.hep.ph.ic.ac.uk/rtm
Участие России в проекте EGEE • В целях обеспечения полномасштабного участия России в этом проекте был образован консорциум РДИГ (Российский ГРИД для интенсивных операций с данными – Russian Data Intensive GRID, RDIG) для эффективного выполнения работ по проекту и развитию в России инфраструктуры EGEE, с вовлечением на следующих этапах проекта других организаций из различных областей науки, образования и промышленности. • Консорциум РДИГ, согласно принятой в проекте EGEE структуре, входит в проект в качестве региональной федерации “Россия” (“Russia). Сейчас в РДИГ (http://www.egee-rdig.ru) входят 15 институтов (в 2004 году - 8)
Инфраструктура EGEE • Производственная (production) • масштабная инфраструктура с центрами по всему миру • стабильная, со службой поддержки, использующая только оттестированную и надёжную версию ППО • Тестовая (pre-production) • работает параллельно с основной (ограниченное число узлов) • тестирование новых версий ППО • проверка новых пользовательских приложений • Учебная (t-infrastructure) • полный набор Грид-служб • каждый может зарегистрироваться и попробовать работать в Грид (GILDA - https://gilda.ct.infn.it/) ~15центровна 3 континентах
EGEE, ППО gLite и ВО • ППО gLite устанавливается в каждом центре EGEE и обеспечивает: • управление данными • вычислительный сервис • сервис безопасности INTERNET
EGEE, ППО gLite и ВО • ППО gLite устанавливается в каждом центре EGEE и обеспечивает: • управление данными • вычислительный сервис • сервис безопасности • Ресурсы и пользователи EGEE образуют виртуальные организации (ВО) INTERNET
EGEE, ППО gLite и ВО • ППО gLite устанавливается в каждом центре EGEE и обеспечивает: • управление данными • вычислительный сервис • сервис безопасности • Ресурсы и пользователи EGEE образуют виртуальные организации (ВО) • Распределённые сервисы (программное обеспечение ) и люди получают доступ к ВО INTERNET
Пример: ВО biomed Центры: • 36, в основном из Европы и Азии • 65 584 ЦПУ • ~741 Тб памяти Также доступен портал поддержки приложений Пользователи • любой, работающий с биомедицинскими приложениями • нет ограничений по географическому расположению • В настоящий момент 220-250 членов ВО
История gLite gLite 3.1(2007) gLite 3.2(2009)
gLite - ППО EGEE (www.glite.org) • Текущая версия - gLite 3.2 • Совместима с Scientific Linux 5 • Некоторые сервисы есть под Debian, а такжедля более ранних версийScientific Linux • gLite, как программный продукт… • Установочный дистрибутив • Разработка ещё не завершена • Патчи для отдельных компонент появляются достаточно часто
Основные сервисы gLite User Interface User Access External Components User Interface EGEE Maintained Components Information Services General Services Security Services Virtual Organisation Membership Service Workload Management Service Logging & Book keeping Service Hydra BDII Proxy Server AMGA File Transfer Service LHC File Catalogue Storage Element Compute Element SCAS CREAM LCG-CE Disk Pool Manager Authz. Service BLAH MON LCAS & LCMAPS dCache Worker Node gLExec Physical Resources
Основные компоненты User Interface (UI): Для пользователя - точка входа в Грид Workload Management System (WMS):Определяет соответствие между требованиями задания и доступными Грид-ресурсами, управляет запуском Information System: Содержит характеристики и статус ресурсов File and replica catalog: местоположение файлов в Грид и их реплик Logging and Bookkeeping (LB): Статус заданий, выполняющихся в Грид Computing Element (CE): Очередь заданий на вычислительном узле, где может выполняться задание пользователя Storage Element (SE): Сервер хранения данных, где сохраняются Грид файлы (чтение/запись/копирование) или их реплики
Доступ к ВО EGEE Получение сертификата: единождыОбновление сертификата: ежегодно • Пользователи (и компьютеры) идентифицируются при помощи грид-сертификатов. Сертификаты выдаются национальными Центрами сертификации (CA). • Сервис управления ВО (VOMS) поддерживает список пользователей, зарегистрированных в ВО • Последовательность действий: • Получить сертификат из своего национального CA: http://www.igtf.net • Зарегистрироваться в ВО • Список ВО: http://cic.gridops.org/ • Менеджер ВО утверждает запрос • Модифицируется VOMS DB • Информация реплицируется на все ресурсы ВО в течении 24 часов • Можно работать в Грид через командный или графический интерфейс Вы CA ВИРТУАЛЬНАЯ ОРГАНИЗАЦИЯ Вступление в ВО:единожды менеджер ВО Регистрация VOMS Репликация VOMS DBежесуточно VOMS database Грид сайты
Как найти национальный CA http://igtf.net CA в Азиатско-Тихоокеанском регионе CA в Европе CA в Америке
РДИГ CA http://ca.grid.kiae.ru/RDIG/
Корневой сертификат CA ID Получение сертификата Пользователь создаёт пару ключей Открытый / Закрытый На подпись передается открытый ключ Центр cертификации Для подписи необходимо удостоверение личности, которое предъявляется RA СА подписывает открытый ключ с помощью своего корневого сертификата и информирует пользователя Подписанный открытый ключ передается пользователю Закрытый ключ шифруется на локальном диске
Сертификаты пользователя • В зависимости от способа получения сертификата он может быть получен в различных форматах: • *.pem формат: 2 файла: userkey.pem – закрытый ключ, userсert.pem – подписанный сертификат) • *.p12 формат (PKCS12): один файл - для загрузки в браузер Mozilla/Netscape/FireFox • *.pfx формат: один файл - для загрузки в браузер Internet Explorer • Куда может быть скопирован (загружен) сертификат: • в веб-браузер • на машину User Interface • на MyProxy сервер • для личного пользования – на USB носитель • Сертификат имеет срок действия (от 2 недель до 1 года) • По истечению срока действия он может быть продлён Типичная картина на машине User Interface: $ ls -l .globus/ total 8 -rw-r--r-- 1 ole users 1761 Nov 25 2009 usercert.pem -r-------- 1 ole users 951 Nov 24 2009 userkey.pem
Вступление в члены ВО Сертификат должен быть загружен в браузер
GILDA CA для обучения • GILDA CA имеет особенности • Облегчённая аутентификация – Нет необходимости в подтверждении RA • Получение сертификата только через WWW! • Возобновляемый сертификат для GILDA сразу после выдачи действителен в течении 2 недель (обычно – 1 год) • Возобновляемый сертификат для GILDA действителен только только для GILDA ВО (обычный сертификат годится для любой ВО) • Ссылки: • Инструкция: https://gilda.ct.infn.it • Выберитепункт меню - “Instruction for Users” • Сайт GILDA CA: https://gilda-security.ct.infn.it/CA • Запрос сертификатов для проведения курсов:https://gilda.ct.infn.it • Выберите пункт меню “Request a tutorial” • Поддержка пользователей: http://gilda-support.ct.infn.it/
Доступ к t-инфраструктуре GILDA • Получить сертификат от GILDA CA • Подтвердить согласие с правилами GILDA, зарегистрироваться в ВО GILDA • Загрузить сертификат на User Interface • Можно работать через SSH к User Interface, либо через Веб-интерфейс Grid Tutor
t-инфраструктура в РДИГ • Состав: • три грид-сайта ОИЯИ, Дубна (RU-JINR, RU-JINR-2, RU-JINR-MPI) • грид-сайт ОФВЭ, Протвино (SU-Protvino-IHEP) • грид-сайт ИМИТ АН РУз, Ташкент, Узбекистан (UZ-IMIT) • грид-сайт Софийского университета, София, Болгария (BG-SU) • грид-сайтИТФ, Киев, Украина (UA-BITP) • грид-сайтКПИ, Киев, Украина (UA-BITP)
Пользователи EGEE • Области приложений: • Физика высоких энергий (HEP) • Биологические науки (LS) • Науки о Земле (ES) • Грид обсерватория (GO) • Вычислительная химия (CC) • Астрономия и астрофизика (AA) • Термоядерный синтез (F) • 23 “Базовых” ВО:Использование CPU > 10% от всего домена • 182 “активных” ВО • 4167 пользователей в “Базовых” ВО • 13,381 пользователей в зарегистрированных ВО Поддерживаемые области+другие приложения Домен Домен ВО ВО ВО Гридавторизация User User Сообщество пользователей User User User User User Области приложений и контакты: https://twiki.cern.ch/twiki/bin/view/EGEE/NA4
Работа в ВО EGEE • Большинство ВО разрабатывают своё ПО “поверх”gLite • Некоторые области приложений имеют особые требования • Программа EGEE RESPECT : • Recommended External Software Packages for Egee CommuniTies • Перечень внешнего ПО, которое успешно работает с gLite • Расширяет функциональность Грид-инфраструктуры • Сокращает дублирование при разработке • Ускоряет “гридификацию” новых приложений • http://technical.eu-egee.org/index.php?id=290 Приложения Средства разработки, программные комплексы, порталы ИКС & APIs Сервисы gLite(управление, данные, вычисления, безопасность, .)
Поддержка пользователей • Основные службы поддержки: • Global Grid User Support - GGUS: http://www.ggus.org/ • Если возникают проблемы при работе в любой ВО производственного (production)Грид (т.е. CE, WMS, UI, …) • Если есть практические вопросы по работе сервисов gLite • При обращении в браузер должен быть загружен сертификат! • EGEE Application Porting Support для пользователей: http://www.lpds.sztaki.hu/gasuc/ • Если вы не знаете, как портировать ваше приложение в EGEE • Технические консультации + программисты, которые могут помочь вам! • Служба поддержки пользователей РДИГ: https://glse.itep.ru/usersupport/index.php • Первый уровень поддержки пользователей РДИГ • Проблемы при работе с региональными ВО • Служба поддержки администраторов сайтов РДИГ: https://glse.itep.ru/adminsupport/index.php
Запуск заданий • Задание (job) – это средство для запуска приложений в Грид • Информация, которая должна быть определена, когда задание должно быть запущено в Грид • Характеристики задания • Требования задания и условия на вычислительные ресурсы • Включая требования на программное обеспечение • Требования к данным • Эта информация определяется при помощи Job Description Language (JDL) • Основан на CLASSified ADvertisement language (ClassAd) из проекта Condor • ClassAd – последовательность атрибутов, разделённых (;)
Workload Management System • Пользователь управляет заданиями через подсистему управления загрузкой (Workload Management System - WMS); • Основная задача WMS - планирование и управление распределенными ресурсами в системе Грид; • Что может пользователь? • Посылать задачи на выполнение; • Выполнять задачи на наиболее подходящих для этого ресурсах (WMS автоматически оптимизирует использование ресурсов); • Получать информацию о состоянии задач; • Получать результаты выполнения задач.
User Interface Computing Element Storage Element Запуск простого задания - 1 создание прокси Сайт X в EGEE Сервис управления ВО(БДпользователей ВО)
User Interface Computing Element Storage Element Запуск простого задания - 2 создание JDL, запуск задания (исполняемое) + данные (ограниченный объём) Information System WorkloadManagementSystem запрос создание прокси публикует состояние Сайт X в EGEE Сервис управления ВО(БДпользователей ВО)
User Interface Computing Element Storage Element Запуск простого задания - 3 создание JDL, запуск задания (исполняемое) + данные (ограниченный объём) Information System WorkloadManagementSystem запрос создание прокси публикует состояние запуск задания протоколирование Сайт X в EGEE процесс Сервис управления ВО(БДпользователей ВО) Logging and bookkeeping
User Interface Computing Element Storage Element Запуск простого задания - 4 создание JDL, запуск задания (исполняемое) + данные (ограниченный объём) Information System WorkloadManagementSystem запрос создание прокси получение статуса и выходные данные (ограниченный объём) публикует состояние запуск задания выходные данные протоколирование Сайт X в EGEE статус задания процесс Сервис управления ВО(БДпользователей ВО) Logging and bookkeeping
Создание прокси $ ls -l .globus/ -r-------- 1 ole users 963 Sep 9 18:50 userkey.pem -rw------- 1 ole users 821 Sep 9 18:50 userreq.mail $voms-proxy-init --voms atlas Enter GRID pass phrase: *********** Your identity: /C=RU/O=RDIG/OU=users/OU=pnpi.nw.ru/CN=Sergey Oleshko Creating temporary proxy .................................. Done Contacting lcg-voms.cern.ch:15001 [/DC=ch/DC=cern/OU=computers/CN=lcg-voms.cern.ch] "atlas" Done Creating proxy .................................... Done Your proxy is valid until Fri Jan 29 01:40:30 2010 • voms-proxy-init Вход в Грид Enter GRID pass phrase: ****** закрытый ключ защищён паролем • Опции для voms-proxy-init: • Имя VO • -hours <время жизни прокси> • -help • voms-proxy-destroy выход из Грид
JDL: атрибуты • Type- используется для различения простых и составных заданий (Job, Collection, DAG) • JobType– определяет тип задания (Normal, Interactive, MPICH, Checkpointable) • Executable(обязательный) - Имя выполняемой программы • Arguments(optional) - Параметры программы • StdOutput, StdError(optional) - Стандартный output/error • InputSandbox(optional) - Список файлов на UI, которые необходимы для выполнения задания. Эти файлы будут переданы на удаленный узел. • OutputSandbox(optional) - Список файлов, сгенерированных заданием и переданных на WMS, которые должны бытьзатребованы на UI • ShallowRetryCount(optional) - В случае возникновения ошибки – количество попыток повторного запуска задания (до того, как задание начало выполнятся)
Создание JDL файла $ more hostname.jdl Type = "Job"; JobType = "Normal"; Executable = "/bin/hostname"; StdOutput = "hostname.out"; StdError = "hostname.err"; OutputSandbox = {"hostname.err","hostname.out"}; Arguments = "-f"; ShallowRetryCount = 3;
Команды WMS Рекомендуется Н Е Р Е К О М Е Н Д О В А Н О
User Interface delegID Computing Element Storage Element Контроль заданий процесс Порядок выполнения команд 1.glite-wms-job-delegate-proxy -d delegID 2.glite-wms-job-list-match -d delegIDhostname.jdl 3.glite-wms-job-submit-d delegIDhostname.jdl JobID 4.glite-wms-job-status JobID 5.glite-wms-job-output JobID 0.voms-proxy-init --voms gilda Сайт X в EGEE Сервис управления ВО(БДпользователей ВО)
Статусы задания SUBMITTED - задание послано пользователем и зарегистрировано в LB сервисе WAITING – происходит поиск подходящегоресурса READY - заданию назначен Computing Element, но оно туда ещё не передано SCHEDULED - задание ожидает в очереди на Computing Element RUNNING - задание выполняется DONE - задание завершилось ABORTED - задание снято WMS (т.к. слишком долгое, срок действия сертификата истёк, и т.п.) CANCELLED - задание снято пользователем CLEARED - Output Sandbox передан на User Interface
Практикумы • Авторизация и аутентификация • http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=10 • Проверка сертификата • Создание прокси • Проверка прокси • Запуск простого задания с использованием WMProxy • http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=14 • Создание простого JDL файла • copy&paste JDL файл с HTML страницы • Делегирование прокси • Получение списка ресурсов • Запуск задания • Проверка статуса задания • Получение выходных данных • Дополнительно: http://egee.pnpi.nw.ru/cgi/index.cgi?l1=6&l2=2 • Как импортировать сертификат в браузер • Как экспортировать сертификатиз браузера • Команды работы с прокси • Работа с MyProxy
“Выполняемая программа” Executable = "/bin/hostname"; • Может быть установлена на CE • Системная команда(утилита) Linux (Scientific Linux!) • Прикладное ПО для ВО: информация берётся из Информационной Системы • Использовать JDL для направления задания на подходящий CE • Илиприходит от клиента • Часть InputSandbox • Скрипт • Не нужна компиляция • Может вызывать бинарные файлы, которые статически установлены на CE • Илибинарный файл • Должен быть скомпилирован на UI совместимость с CE • Собран быть статически собран позволит избежать ошибок, вызванных различными версиями библиотек • Илиисходники (+ скрипт для компиляции) • Компилируется на СЕ (на рабочем узле)
Запуск собственного скрипта $ cat testsandbox.jdl Type = "Job"; JobType = "Normal"; Executable = "/bin/sh"; Arguments = "testsandbox.sh"; StdOutput = "testsandbox.out"; StdError = "testsandbox.err"; InputSandbox = "testsandbox.sh"; OutputSandbox = {"testsandbox.err","testsandbox.out"}; ShallowRetryCount = 1; $ cat testsandbox.sh #!/bin/bash ls -l $/bin/shtestsandbox.sh
Сборка и запуск на WN • Есть файл с исходным текстом программы на языке С ctst.c, которая выводит строку “Hello world” на стандартный вывод. • Есть Makefile для сборки этой программы. • Необходимо обеспечить сборку и запуск программы на удаленном ресурсе. • JDL файл: • JobType="Normal"; • Executable = "startC.sh"; • StdOutput = "ctst.out"; • StdError = "ctst.err"; • OutputSandbox = {"ctst.out","ctst.err"}; • InputSandbox = {"startC.sh","ctst.c","Makefile"}; • ShellowRetryCount=3;
Остальные файлы • Cтартовый скрипт startC.sh: • #!/bin/bash • make //сборка программы • chmod +x ctst//разрешаем запускать ее • ./ctst //запускаем • exit 0 • Текст программы на С - ctst.c: • #include <stdio.h> • int main(int argc, char **argv) • { • printf("\n\n\n"); • printf("Hello world!\n"); • printf("\n\n\n"); • // exit(0); • } • Makefile • ctst: ctst.o • g++ ctst.o -o ctst -lm • clean: • rm ctst.o ctst
Управление WMS через JDL Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/ole/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; Requirements = other.Architecture==“INTEL” && other.GlueCEInfoTotalCPUs > 480; Rank = other.GlueCEStateTotalJobs; WMS используетИнформационную Системудля поиска CE • Политика планирования, которой следует WMS: • Найти CE, удовлетворяющие требованиям(Requirements) • Выбрать СЕ с максимальным рангом
User Interface Computing Element Storage Element Контроль требований создание JDL, запуск задания (исполняемое) + данные (ограниченный объём) Information System WorkloadManagementSystem запрос создание прокси получение статуса и выходные данные (ограниченный объём) публикует состояние запуск задания выходные данные протоколирование Сайт X в EGEE статус задания процесс Сервис управления ВО(БДпользователей ВО) Logging and bookkeeping
Правила планирования WMS • Найти CE, удовлетворяющие требованиям(определённые атрибутомRequirementsв JDL файле) • Выбрать CE, которое является “ближайшим”(“Сlose”)к SE, определённым в InputData • Отношение “Ближайший” определяется между CE и SE администратором сайта • “Ближайший” – не обязательно самый близкий географически, зависит от скорости каналов связи • Обычно “Ближайший” – это тот же самый сайт • CE:cluster.pnpi.nw.ru:2119/jobmanager-pbs-atlas • Close SE:cluster.pnpi.nw.ru • Выбрать CE с максимальным рангом • (Формула определения ранга задаётся в атрибуте Rank JDL файла)