EGEE-II INFSO-RI Enabling Grids for E-sciencE gLite – ППО для EGEE Олешко С.Б. Петербургский институт ядерной физики г.Гатчина
Enabling Grids for E-sciencE Санкт-Петербург, ППО Грид (middleware) Прозрачное взаимодействие между гетерогенными ресурсами (принадлежащих различным, географически распределённым организациям), приложениями и пользователями возможно только при помощи… –использования специализированного программного обеспечения, называемогоmiddleware Middleware скрывает технические детали Грид-инфраструктуры и обеспечивает безопасную интеграцию/распределение ресурсов –интернет-протоколы не обеспечивают безопасный механизм доступа к разделяемым ресурсам
Enabling Grids for E-sciencE Санкт-Петербург, ППО Грид (middleware) Используя ПК или workstation Используя Грид Для входа – имя (account) и пароль (Аутентификация) Использование прав, разрешенных вам (Авторизация) Запуск заданий Управление файлами: создание, чтение/запись, список директорий Компоненты системы связываются по шине Сервисы связываются через Интернет Операционная система ППО (middleware) Один административный домен Множество административных доменов Для входа – единый цифровой сертификат (Аутентификация) Использование прав, делегированных вам (Авторизация) Запуск заданий Управление файлами: создание, чтение/запись, список директорий
Enabling Grids for E-sciencE Санкт-Петербург, История gLite gLite 3.1 (2007)
Enabling Grids for E-sciencE Санкт-Петербург, Основные компоненты User Interface (UI) User Interface (UI): Для пользователя - точка входа в Грид Computing Element (CE) Computing Element (CE): Очередь заданий на вычислительном узле, где может выполняться задание пользователя Storage Element (SE) Storage Element (SE): Сервер хранения данных, где сохраняются Грид файлы (чтение/запись/копирование) или их реплики Workload Management System (WMS) Workload Management System (WMS): Определяет соответствие между требованиями задания и доступными Грид-ресурсами, управляет запуском Information System Information System: Содержит характеристики и статус ресурсов File and replica catalog File and replica catalog: местоположение файлов в Грид и их реплик Logging and Bookkeeping (LB) Logging and Bookkeeping (LB): Статус заданий, выполняющихся в Грид
Enabling Grids for E-sciencE Санкт-Петербург, Основные сервисы gLite Workload ManagementData Management Security Information & Monitoring Access API Computing Element Workload Management Metadata Catalog Storage Element Data Movement File & Replica Catalog Authorization Authentication Information & Monitoring Application Monitoring Auditing Job Provenance Package Manager CLI Accounting Site Proxy
Enabling Grids for E-sciencE Санкт-Петербург, Управление данными
Enabling Grids for E-sciencE Санкт-Петербург, Свойства и требования Гетерогенность –Данные хранятся на различных устройствах (диски, ленты), использующих различные методы доступа Распределенность –Данные хранятся на различных сайтах, где отсутствует общая разделяемая файловая система –Данные могут перемещаться между различными сайтами Различные административные домены –Данные хранятся там, куда обычный доступ вам запрещен –Необходим общий интерфейс к устройствам Storage Resource Manager (SRM) –Необходим способ определения местоположения файлов File and Replica Catalogs –Необходима управляемая, надежная передача файлов File transfer and placement services –Необходима общая модель безопасности Реализация контроля доступа (ACL), основанного на применении Grid DNs
Enabling Grids for E-sciencE Санкт-Петербург, Требования к gLite SE Storage Element - это сервис, который позволяет пользователю или приложению сохранять данные для будущего использование Управление локальными ресурсами памяти (диски) и интерфейс к Mass Storage Systems (ленты), таким как –HPSS, CASTOR, DiskeXtender (UNITREE), … Способность управлять различными системами хранения данных единым способом и прозрачно для пользователя (обеспечивается через SRM интерфейс) Поддержка основных протоколов передачи данных –GridFTP обязательно –Другие по возможности (https, ftp, etc…) Поддержка привычного протокола доступа для ввода/вывода удалённых файлов –POSIX (like) I/O client library for direct access of data (GFAL)
Enabling Grids for E-sciencE Санкт-Петербург, Проблема имён файлов Имена файлов на SE имеют только локальное значение: – / tmp/picard/file1 (Unix) – srm://castorgrid.cern.ch:8443/srm/managerv1?SFN =/castor/cern.ch/file1 ( SRM Site URL – SURL ) Локальная система может преобразовывать имена файлов, напр. SURL не может использоваться прямо, он должен быть преобразован SRM в Transfer URL (TURL) : gsiftp://se05.cern.ch/scratch/file05 Для доступа к файлам необходим подход, позволяющий абстрагироваться от локальной системы имен и обеспечить общий для GRID среды механизм имен файлов
Enabling Grids for E-sciencE Санкт-Петербург, Именование файлов File and Replica Catalog Symbolic Link в пространстве логических имён (logical filename space) Logical File Name (LFN) [lfn: ] –Имя, созданное пользователем для того чтобы ссылаться на некоторый элемент данных, напр.lfn:cms/ /run2/track1 Globally Unique Identifier (GUID) [guid: ] –Внутренний (машинный) идентификатор элемента данных, напр. guid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 Site URL (SURL) [ :// / ] (or Physical File Name (PFN) or Site FN) –Физическое местоположение реплики элемента данных в системе хранения данных, напр.srm://pcrd24.cern.ch/flatfiles/cms/output10_1 (SRM)sfn://lxshare0209.cern.ch/data/alice/ntuples.dat (Classic SE) Transport URL (TURL) [ :// ] –Временный указатель на реплику + протокол доступа: распознаётся SE, напр. rfio://lxshare0209.cern.ch//data/alice/ntuples.dat Symbolic Link 1 Symbolic Link n GUID Physical File SURL n Physical File SURL TURL 1 TURL n.... LFN SRM
Enabling Grids for E-sciencE Санкт-Петербург, Каталоги (File and Replica Catalog) Главная цель - определить, где размещены файлы в Grid File and Replica Catalog - это сервис, который реализует это и поддерживает соответствие между LFNs, GUIDs и SURLs. В gLite поддерживаются 2 типа каталогов: –Replica Location Server (RLS) - старый Local Replica Catalog (LRC) Replica Metadata Catalog (RMC) –LCG File Catalog (LFC) – по умолчанию Тип используемого пользователем каталога определяется переменной окружения LCG_CATALOG_TYPE: edg для RLS, lfc для LFC Оба каталога между собой несовместимы!!! Однако есть средства миграции из RLS в LFC Файл данных только тогда может считаться Грид-файлом, когда он физически присутствует на каком-либо SE и зарегистрирован в каталоге
Enabling Grids for E-sciencE Санкт-Петербург, Структура LFC Все члены данной ВО имеют права чтения/записи в соответствующую директорию Если соответствующей директории нет, то это означает, что данный LFC сервер не поддерживает эту ВО Команды работы с LFC похожи на соответствующие команды в UNIX (с префиксом lfc-) Переменная окружения $LFC_HOST должна содержать имя LFC сервера Defined by the userLFC Namespace LFC имеет иерархическую структуру /grid/ /
Enabling Grids for E-sciencE Санкт-Петербург, Команды LFC Добавить/заменить комментарийlfc-setcomment Установить/изменить ACL для файла/директорииlfc-setacl Удалить файл/директориюlfc-rm Переименовать файл/директориюlfc-rename Создать директориюlfc-mkdir Вывести список файлов в директорииlfc-ls Создать символическую ссылку на файл/директориюlfc-ln Показать ACL для файла/директорииlfc-getacl Удалить комментарии, связанные с файлом/директориейlfc-delcomment Изменить владельца и группу для файла/директории LFClfc-chown Изменить права доступа к файлу/директории LFClfc-chmod
Enabling Grids for E-sciencE Санкт-Петербург, Команды работы с файлами (lcg-utils) Установить статус Done для данного SURL в SRM запросеlcg-sd Получить TURL для данных SURL и протокола передачиlcg-gt Репликация между SE и регистрация репликиlcg-rep Удалить один файл (или реплику, или все реплики)lcg-del Копировать файл на SE и зарегистрировать его в каталогеlcg-cr Копировать файл из Грид на локальный компьютер (UI)lcg-cp File Catalog Interaction Список всех реплик для данного GUID, SURL или LFNlcg-lr Получить GUID для данного LFN или SURLlcg-lg Список всех синонимов для данного SURL, GUID или LFNlcg-la Удалить регистрацию в LFC файла, размещённого на SElcg-uf Зарегистрировать в LFC файл, размещённый на SElcg-rf Удалить синоним в LFC для данного GUIDlcg-ra Добавить синоним в LFC для данного GUIDlcg-aa Replica Management
Enabling Grids for E-sciencE Санкт-Петербург, Информационная система
Enabling Grids for E-sciencE Санкт-Петербург, Информационная Система gLite В распределенной среде важна возможность получать информацию о доступных в данный момент ресурсах. Эта информация может включать: сайты (CE), способные выполнить данное задание, их загрузка, ПО, установленное на них. сайты, предоставляющие возможности для хранения данных, включая их статус, максимальный размер и число файлов, которые могут быть сохранены. данные мониторирования процесса выполнения задания
Enabling Grids for E-sciencE Санкт-Петербург, ИС в gLite 3.0 В gLite используются 2 основных ИС: –Monitoring and Discovery Service (MDS) – для сохранения информации о ресурсах и публикации их статуса. Эта ИС пришла из Globus Toolkit и используется вместе с Berkley Database Information Indexes (BDII) –Relational Grid Monitoring Architecture (R-GMA) – для сбора, мониторирования и публикации информации пользовательского уровня.
Enabling Grids for E-sciencE Санкт-Петербург, R-GMA R-GMA: Relation Grid Monitoring Architecture Динамические данные о заданиях Использует реляционную модель данных, которая очень гибкая и позволяет строить сложные запросы –данные представляются в виде таблиц. –структура данных определяется по колонкам. –каждая запись есть строка (tuple). –язык запросов - Structured Query Language (SQL). Поддерживает различные типы запросов: –streams –archives –latest-value R-GMA обеспечивает средства для любого, кто хочет опубликовать свою информацию о Грид. В принципе он может выполнять функции MDS.
Enabling Grids for E-sciencE Санкт-Петербург, Архитектура R-GMA Все Producers регистрируются в Registry, определяя Schema Consumer получает из Registry те URLs, которые могут выполнить его запрос. Consumer взаимодействует с этими Producers. Producers обрабатывают query и возвращают tuples Consumer. Consumer Producer 1 Registry Value2Value 1 Value 4Value 3 TableName Value 2Value 1 TableName URL 2TableName URL 1TableName Producer 2 Value 4Value 3 TableName Schema Виртуальная база данных
Enabling Grids for E-sciencE Санкт-Петербург, R-GMA пример 1
Enabling Grids for E-sciencE Санкт-Петербург, R-GMA пример 2 lxshare0404 gppse01 URI atlas alice atlas alice VO SE type Contact CERN RAL site Service SE is runningySEatlaslxshare0404 SE is runningySEalicegppse01 lxshare0404 gppse02 gppse01 URI alice cms atlas VO SE type y n y up SE is running SE ERROR 101 SE is running status ServiceStatus Result Set (Consumer) ContactURI SELECT Service.URI Service. Contact FROM Service S, ServiceStatus SS WHERE (S.URI= SS.URI and SS.up=n)
Enabling Grids for E-sciencE Санкт-Петербург, Доступ к данным ИС Есть две утилиты для доступа к данным ИС. lcg-infositeslcg-info В большинстве случаев их достаточно для пользователя, что позволяет избежать использования сложных запросов.
Enabling Grids for E-sciencE Санкт-Петербург, lcg-infosites Получение информации о Грид ресурсах. lcg-infosites --vo options -v --vo название Виртуальной Организации -v уровень детализации вывода Опции: Объединение опций ce и se all Названия меток для установленного ПО, вместе с именем соответствующего CE tag Имя lfc Каталога для пользователей ВО lfc Имена CE, где для поддерживается данная ВО, вместе с ближайшим SE closeSE Имена SE, вместе с типом Storage System, объём используемой и доступной памяти se Число процессоров, количество выполняемых заданий, количество заданий в очередях, имена CE. Все данные группируются по ВО. ce
Enabling Grids for E-sciencE Санкт-Петербург, Эта команда используется для получения характеристик CE или SE, которые удовлетворяют некоторым условиям и выводят значения заданного множества атрибутов. Синтаксис определения условия : attr1 op1 valueN,... attrN opN valueN где attrN имя атрибута op =, >= or
Enabling Grids for E-sciencE Санкт-Петербург, Опции lcg-info Условие, которому должны удовлетворять CE(SE) --query Список всех СE, удовлетворяющих условию или все СE, если условие не определено --list-сe Ограничить вывод теми CE(SE), где поддерживаются соответствующая ВО. Обязателен, если в условии определены ВО-зависимые атрибуты --vo Список атрибутов, которые будут выводиться для выбранных CE(SE) --attrs Вывод в sed-ориентированном формате --sed Список всех SE, удовлетворяющих условию или все SE, если условие не определено --list-se Список всех атрибутов, которые могут быть в запросе и в списке для вывода --list-attrs
Enabling Grids for E-sciencE Санкт-Петербург, Примеры Список всех CE, у которых общее количество процессоров >=10 и установлена ОС Scientific Linux. Дополнительно вывести количество выполняемых заданий и количество свободных процессоров $ lcg-info --list-ce --query 'TotalCPUs>=10,OS=*SL*' --attrs 'RunningJobs,FreeCPUs Список всех CE для ВО nw_ru, где установлен пакет MPI. Дополнительно вывести количество процессоров. $ lcg-info –vo nw_ru --list-ce --query Tag=*MPICH* --attrs TotalCPUs Список всех SE для ВО nw_ru, где объем доступной памяти >=100000Kb. Дополнительно вывести ближайший SE. $ lcg-info –vo nw_ru --list-se --query AvailableSpace>= attrs CloseCE
Enabling Grids for E-sciencE Санкт-Петербург, Запуск заданий
Enabling Grids for E-sciencE Санкт-Петербург, Использование заданий для запуска приложений Задание (job) – это средство для запуска приложений в Грид Информация, которая должна быть определена, когда задание должно быть запущено в Грид –Характеристики задания –Требования задания и условия на вычислительные ресурсы Включая требования на программное обеспечение –Требования к данным Эта информация определяется при помощи Job Description Language (JDL) –Основан на CLASSified ADvertisement language (ClassAd) из проекта Condor ClassAd – последовательность атрибутов, разделённых (;)
Enabling Grids for E-sciencE Санкт-Петербург, Workload Management System Пользователь управляет заданиями через подсистему управления загрузкой (Workload Management System - WMS); Основная задача WMS - планирование и управление распределенными ресурсами в системе Grid; Что может пользователь? –Посылать задачи на выполнение; –Выполнять задачи на наиболее подходящих для этого ресурсах (WMS автоматически оптимизирует использование ресурсов); –Получать информацию о состоянии задач; –Получать результаты выполнения задач.
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element WMS Характеристики. и статус CE Характеристики и статус SE submitted Job Status UI: позволяет пользователям получить доступ к функциональности WMS (CLI, GUI, C++ и Java APIs) RB storage Описание задания Файлы из Input Sandbox LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Inform. Service Описание задания Файлы из Input Sandbox Запуск задания UI Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE submitted Job Status Network Server Job Contr. - CondorC Workload Manager WMS RB storage glite-wms-job-submit myjob.jdl myjob.jdl JobType = Normal; Executable = "$(CMS)/exe/sum.exe"; InputSandbox = {"/home/user/WP1testC","/home/file*, "/home/user/DATA/*"}; OutputSandbox = {sim.err, test.out, sim.log"}; Requirements = other. GlueHostOperatingSystemName == linux" && other.GlueCEPolicyMaxWallClockTime > 10000; Rank = other.GlueCEStateFreeCPUs; Job Description Language (JDL) определяет характеристики и требования задания LFC
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status Описание задания Файлы из Input Sandbox NS: сетевой сервис, ответственный за прием входных запросов RB storage WMS
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status WM: ответственен за выполнение действий для удовлетворения запроса RB storage WMS Описание задания Файлы из Input Sandbox LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status RB storage Где должно выполняться это задание ? Match- Maker/ Broker WMS
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status RB storage Match- Maker/ Broker Matchmaker: отвечает за поиск лучшего CE, где будет выполняться задание WMS
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status RB storage Match- Maker/ Broker Где (на каком SE), необходимые данные? Какой статус у Грид-ресурсов
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status RB storage Match- Maker/ Broker Выбор CE
Enabling Grids for E-sciencE Санкт-Петербург, LFC Inform. Service Запуск задания UI Network Server Job Contr. - CondorG Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE waiting submitted Job Status RB storage Job Adapter JA: ответственен за окончательную доводку задания перед процедурой запуска (напр. создание wrapper скрипта, и т.п.)
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Computing Element Storage Element Характеристики. и статус CE Характеристики и статус SE Job Status RB storage JC: ответственен за операции управления заданием (через CondorC) submitted waiting ready LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Storage Element Характеристики. и статус CE Характеристики и статус SE Job Status RB storage Задание submitted waiting ready scheduled CE получает запрос и посылает задание на выполнение LRMS Файлы из Input Sandbox Computing Element LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Storage Element Доступ к данным через Грид Job Status RB storage LRMS управляет выполнением задания Computing Element submitted waiting ready scheduled running LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Storage Element Job Status Computing Element submitted waiting ready scheduled running done Файлы из Output Sandbox RB storage LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Storage Element Job Status Computing Element submitted waiting ready scheduled running done RB storage glite-wms-get-output LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Запуск задания UI Network Server Job Contr. - CondorC Workload Manager Storage Element Job Status Computing Element RB storage submitted waiting ready scheduled running done submitted waiting ready scheduled running done cleared Файлы из Output Sandbox LFC Inform. Service
Enabling Grids for E-sciencE Санкт-Петербург, Выполнение задания SUBMITTED - задание послано пользователем, но пока не обработано Network Server WAITING - задание принято Network Server, но ещё не обработано Workload Manager READY - заданию назначен Computing Element, но оно туда ещё не передано SCHEDULED - задание ожидает в очереди на Computing Element RUNNING - задание выполняется DONE - задание завершилось ABORTED - задание снято WMS (т.к. слишком долгое, срок действия сертификата истёк, и т.п.) CANCELLED - задание снято пользователем CLEARED - Output Sandbox передан на User Interface