Скачать презентацию Enabling Grids for E-scienc E Система управления данными Скачать презентацию Enabling Grids for E-scienc E Система управления данными

ebdce02aad6f4f92a2c53b457ca47d60.ppt

  • Количество слайдов: 54

Enabling Grids for E-scienc. E Система управления данными в g. Lite Олешко С. Б. Enabling Grids for E-scienc. E Система управления данными в g. Lite Олешко С. Б. Петербургский институт ядерной физики г. Гатчина www. eu-egee. org EGEE-II INFSO-RI-031688

Сервисы g. Lite Enabling Grids for E-scienc. E CLI Available g. Lite Implementation API Сервисы g. Lite Enabling Grids for E-scienc. E CLI Available g. Lite Implementation API Access Information & Monitoring Authorization Auditing Service Discovery Authentication Security Services Metadata Catalog File & Replica Catalog Storage Element Data Movement Information & Monitoring Services Accounting Job Provenance Package Manager Connectivity Computing Element Workload Management Data Management EGEE-II INFSO-RI-031688 Application Monitoring Workload Mgmt Services 2

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 3

Enabling Grids for E-scienc. E Свойства и требования • Гетерогенность – Данные хранятся на Enabling Grids for E-scienc. E Свойства и требования • Гетерогенность – Данные хранятся на различных устройствах (диски, ленты), использующих различные методы доступа • Распределенность – Данные хранятся на различных сайтах, где отсутствует общая разделяемая файловая система – Данные могут перемещаться между различными сайтами • Различные административные домены – Данные хранятся там, куда обычный доступ вам запрещен EGEE-II INFSO-RI-031688 – Необходим общий интерфейс к устройствам § Storage Resource Manager (SRM) – Необходим способ определения местоположения файлов § File and Replica Catalogs – Необходима управляемая, надежная передача файлов § File transfer and placement services – Необходима общая модель безопасности § Реализация контроля доступа (ACL), основанного на применении Grid DNs 4

Введение Enabling Grids for E-scienc. E • Предпосылки: – пользователи и программы являются источником Введение Enabling Grids for E-scienc. E • Предпосылки: – пользователи и программы являются источником и потребителем данных – основным экземпляром данных принят файл (мы работаем с файлами, а не с объектами или реляционными таблицами § данные = файлы • Файлы: – в основном записываются один раз, читаются многократно – размещены на Элементах Хранения - Storage Elements (SEs) – могут существовать несколько реплик одного файла на различных сайтах – доступны для пользователей Грид “отовсюду” – местоположение м. б. определено WMS (data requirements в JDL) • Также… – WMS может пересылать небольшой объём данных с заданием или от выполненного задания: Input and Output Sandbox – файлы могут копироваться с локальной файловой системы (WNs, UIs) в Грид (SEs), и наоборот EGEE-II INFSO-RI-031688 5

Сервисы DMS Enabling Grids for E-scienc. E • Storage Element – общий интерфейс к Сервисы DMS Enabling Grids for E-scienc. E • Storage Element – общий интерфейс к ресурсам памяти – Storage Resource Manager Castor, d. Cache, DPM, … – Native Access protocols rfio, dcap – Transfer protocols gsiftp • I/O Servers – обеспечивает POSIX I/O для пользователя g. Lite-I/O • Catalogs – определение местоположения файлов – File Catalog – Replica Catalog LCG File Catalog (LFC) – File Authorization Service – Metadata Catalog AMGA Metadata Catalog • File Transfer – управляемая надёжная передача файлов – Data Scheduler (в разработке) – File Transfer Service g. Lite FTS (обеспечивает физическую передачу) – File Placement Service g. Lite FPS (взаимодействие FTS и каталогов способом транзакций) EGEE-II INFSO-RI-031688 6

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 7

Требования к g. Lite SE Enabling Grids for E-scienc. E • Storage Element - Требования к g. Lite SE Enabling Grids for E-scienc. E • Storage Element - это сервис, который позволяет пользователю или приложению сохранять данные для будущего использование • Управление локальными ресурсами памяти (диски) и интерфейс к Mass Storage Systems (ленты), таким как – HPSS, CASTOR, Diske. Xtender (UNITREE), … • Способность управлять различными системами хранения данных единым способом и прозрачно для пользователя (обеспечивается через SRM интерфейс) • Поддержка основных протоколов передачи данных – Grid. FTP обязательно – Другие по возможности (https, ftp, etc…) • Поддержка “привычного” протокола доступа для ввода/вывода удалённых файлов – POSIX (like) I/O client library for direct access of data (GFAL) EGEE-II INFSO-RI-031688 8

Пример из жизни Enabling Grids for E-scienc. E Она запускает задачу, которой нужны: • Пример из жизни Enabling Grids for E-scienc. E Она запускает задачу, которой нужны: • данные реконструкции физического события • данные симуляции В CERN на d. Cache • некоторые файлы с данными анализа Результаты также должны быть где-то сохранены В Nikhef на classic SE EGEE-II INFSO-RI-031688 В Fermilab на дисковом массиве 9

Пример из жизни Enabling Grids for E-scienc. E d. Cache g. Lite DPM Система, Пример из жизни Enabling Grids for E-scienc. E d. Cache g. Lite DPM Система, независимая ни от d. Cache ни от Castor SRM Собственная система, свой протокол и параметры Я общаюсь с ними от Как вашего имени пользователь, Я буду выделять место для ваших файлов вы должны И я знать все эти буду использовать протоколы передачи системы!!! данных, чтобы пересылать ваши файлы туда Нет связи с d. Cache или classic SE EGEE-II INFSO-RI-031688 10

Storage Resource Management Enabling Grids for E-scienc. E • Данные хранятся на disk pool Storage Resource Management Enabling Grids for E-scienc. E • Данные хранятся на disk pool servers или Mass Storage Systems • Управление этими ресурсами должно обеспечивать: – Прозрачный доступ к файлам (migration to/from disk pool) – Выделение места для файлов (Space reservation) – Получение информации о статусе файлов (File status notification) – Управление временем жизни файлов (Life time management) • SRM (Storage Resource Manager) сервис реализует все эти требования: – SRM это Грид сервис, который реализует взаимодействие с локальными ресурсами хранения данных и обеспечивает Грид-интерфейс для внешнего мира – SRM – это протокол управления ресурсами хранения данных, а не протокол доступа к файлам или протокол передачи файлов. • SRM разработан, чтобы служить единым интерфейсом для управления дисковыми (или ленточными) ресурсами. • В g. Lite взаимодействие с SRM обычно скрыто за сервисами более высокого уровня (DM tools и APIs) EGEE-II INFSO-RI-031688 11

Поддерживаемые протоколы Enabling Grids for E-scienc. E Протоколы доступа к файлам в g. Lite Поддерживаемые протоколы Enabling Grids for E-scienc. E Протоколы доступа к файлам в g. Lite SE 3. 0: Протокол Тип GSI Описание GSIFTP(Grid. FTP) Передача файлов Да Аналог FTP gsidcap (GSI d. Cache Access Protocol) Ввод/вывод Да Удалённый доступ insecure RFIO (Remote File Input/Output Protocol) Ввод/вывод Нет Удалённый доступ secured RFIO (gsirfio) Ввод/вывод Да Удалённый доступ * Протокол file сейчас используется только для доступа к файлам на локальном компьютере (т. е. на UI или WN), но не к файлам на Грид SE ** Grid. FTP сейчас является обязательным для каждого из типов SE, поддерживаемых в g. Lite и основным для передачи файлов в Грид. EGEE-II INFSO-RI-031688 12

Типы SE в g. Lite (I) Enabling Grids for E-scienc. E • Classic SE: Типы SE в g. Lite (I) Enabling Grids for E-scienc. E • Classic SE: –Grid. FTP сервер –Insecure RFIO daemon (rfiod) – ограниченный доступ для LAN –Только одно дисковое устройство или дисковый массив –Нет возможности управлять квотами (только partitioning) –Не поддерживает SRM интерфейс • Mass Storage Systems –Комплексная иерархическая система хранения: front-end диски и back-end ленты –Grid. FTP для front-end (file transfere) –File access: insecure RFIO (CASTOR), gsidcap для d. Cache (front -end disk pool) –Поддерживает SRM интерфейс (пока только для Castor) EGEE-II INFSO-RI-031688 13

Типы SE в g. Lite (II) Enabling Grids for E-scienc. E • Disk pool Типы SE в g. Lite (II) Enabling Grids for E-scienc. E • Disk pool managers (d. Cache and g. Lite DPM) –Обеспечивает централизованное управление распределёнными серверами хранения данных –Физические диски и массивы объединены в общую (виртуальную) иерархическую файловую систему с единой точкой входа в SE –Диски могут быть динамически добавлены в пул –Grid. FTP сервер –Secure remote access protocols (gsidcap for d. Cache, gsirfio for DPM) –SRM интерфейс EGEE-II INFSO-RI-031688 14

g. Lite Storage Element Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 15 g. Lite Storage Element Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 15

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 16

Именование файлов Enabling Grids for E-scienc. E • • Symbolic Link в пространстве логических Именование файлов Enabling Grids for E-scienc. E • • Symbolic Link в пространстве логических имён (logical filename space) Logical File Name (LFN) [lfn: ] – Имя, созданное пользователем для того чтобы ссылаться на некоторый элемент данных, напр. “lfn: cms/20030203/run 2/track 1” • Globally Unique Identifier (GUID) [guid: <40_bytes_unique_string>] – Внутренний (машинный) идентификатор элемента данных, напр. “guid: f 81 d 4 fae-7 dec-11 d 0 -a 765 -00 a 0 c 91 e 6 bf 6” • Site URL (SURL) [: ///] (or Physical File Name (PFN) or Site FN) – Физическое местоположение реплики элемента данных в системе хранения данных, напр. “srm: //pcrd 24. cern. ch/flatfiles/cms/output 10_1” (SRM) “sfn: //lxshare 0209. cern. ch/data/alice/ntuples. dat” (Classic SE) • Transport URL (TURL) [: //] – Временный указатель на реплику + протокол доступа: распознаётся SE, напр. “rfio: //lxshare 0209. cern. ch//data/alice/ntuples. dat” Symbolic Link 1 . . Symbolic Link n File and Replica Catalog EGEE-II INFSO-RI-031688 Physical File SURL 1 LFN GUID TURL 1 . . Physical File SURL n TURL n SRM 17

Взаимодействие с SRM Enabling Grids for E-scienc. E 4 Клиент 1 5 SRM 2 Взаимодействие с SRM Enabling Grids for E-scienc. E 4 Клиент 1 5 SRM 2 3 Ресурс 1. Клиент запрашивает SRM файл с указанным SURL (Site URL) 2. SRM запрашивает ресурс, где находится файл 3. Ресурс сообщает о доступности файла и его расположении 4. SRM возвращает TURL (Transfer URL), т. е. место, откуда может быть получен файл 5. Клиент взаимодействует с ресурсом, используя протокол, определённый в TURL EGEE-II INFSO-RI-031688 18

Каталоги (File and Replica Catalog) Enabling Grids for E-scienc. E • Главная цель - Каталоги (File and Replica Catalog) Enabling Grids for E-scienc. E • Главная цель - определить, где размещены файлы в Grid • File and Replica Catalog - это сервис, который реализует это и поддерживает соответствие между LFNs, GUIDs и SURLs. • В g. Lite поддерживаются 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 и зарегистрирован в каталоге EGEE-II INFSO-RI-031688 19

Свойства LFC Enabling Grids for E-scienc. E • • • Поддержка курсоров для больших Свойства LFC Enabling Grids for E-scienc. E • • • Поддержка курсоров для больших запросов Таймауты и повтор запросов от пользователя Транзакции с использованием API Иерархическое пространство имён Единый каталог, где LFN – основной ключ Интегрированная GSI авторизация и аутентификация Поддержка ACL Интеграция с VOMS Поддержка системных метаданных (размер файла, дата создания, …) + поле для пользовательских метаданных База данных: Oracle или My. SQL EGEE-II INFSO-RI-031688 File Catalog SE SE g. Lite UI SE 20

Взаимосвязи в LFC Enabling Grids for E-scienc. E System Metadata User defined string “size” Взаимосвязи в LFC Enabling Grids for E-scienc. E System Metadata User defined string “size” => 10234 “cksum_type” => “MD 5” “cksum” => “yy-yy-yy” LFN GUID /grid/dteam/dir 1/dir 2/file 1. root Xxxxxx-xxx- User metadata Symlink /grid/dteam/mydir/mylink EGEE-II INFSO-RI-031688 Replica srm: //host. example. com/foo/bar host. example. com 21

Структура LFC Enabling Grids for E-scienc. E LFC имеет иерархическую структуру /grid/<VO_name>/ <you create Структура LFC Enabling Grids for E-scienc. E LFC имеет иерархическую структуру /grid// LFC Namespace Defined by the user • Все члены данной ВО имеют права чтения/записи в соответствующую директорию • Если соответствующей директории нет, то это означает, что данный LFC сервер не поддерживает эту ВО • Команды работы с LFC похожи на соответствующие команды в UNIX (с префиксом lfc-) • Переменная окружения $LFC_HOST должна содержать имя LFC сервера EGEE-II INFSO-RI-031688 22

Команды LFC Enabling Grids for E-scienc. E lfc-chmod Изменить права доступа к файлу/директории LFC Команды LFC Enabling Grids for E-scienc. E lfc-chmod Изменить права доступа к файлу/директории LFC lfc-chown Изменить владельца и группу для файла/директории LFC lfc-delcomment Удалить комментарии, связанные с файлом/директорией lfc-getacl Показать ACL для файла/директории lfc-ln Создать символическую ссылку на файл/директорию lfc-ls Вывести список файлов в директории lfc-mkdir Создать директорию lfc-rename Переименовать файл/директорию lfc-rm Удалить файл/директорию lfc-setacl Установить/изменить ACL для файла/директории lfc-setcomment Добавить/заменить комментарий EGEE-II INFSO-RI-031688 23

Средства работы с данными Enabling Grids for E-scienc. E • LCG Data Management tools Средства работы с данными Enabling Grids for E-scienc. E • LCG Data Management tools (обычно называемые lcg-utils) позволяют копировать файлы между UI, CE, WN и SE, регистрировать в File Catalogs и реплицировать данные между SEs. • Поскольку lcg-utils используют ИС, то должна быть правильно установлена переменная окружения LCG_GFAL_INFOSYS, которая указывает на BDII сервер • Почти все команды требуют обязательного параметра (если не установлена переменная LCG_GFAL_VO) --vo EGEE-II INFSO-RI-031688 24

lcg-utils Enabling Grids for E-scienc. E Replica Management lcg-cp Копировать файл из Грид на lcg-utils Enabling Grids for E-scienc. E Replica Management lcg-cp Копировать файл из Грид на локальный компьютер (UI) lcg-cr Копировать файл на SE и зарегистрировать его в каталоге lcg-del Удалить один файл (или реплику, или все реплики) lcg-rep Репликация между SE и регистрация реплики lcg-gt Получить TURL для данных SURL и протокола передачи lcg-sd Установить статус “Done” для данного SURL в SRM запросе File Catalog Interaction lcg-aa Добавить синоним в LFC для данного GUID lcg-ra Удалить синоним в LFC для данного GUID lcg-rf Зарегистрировать в LFC файл, размещённый на SE lcg-uf Удалить регистрацию в LFC файла, размещённого на SE lcg-la Список всех синонимов для данного SURL, GUID или LFN lcg-lg Получить GUID для данного LFN или SURL lcg-lr Список всех реплик для данного GUID, SURL или LFN EGEE-II INFSO-RI-031688 25

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 26

Базовые понятия FTS Enabling Grids for E-scienc. E • Задание (Job) – состоит из Базовые понятия FTS Enabling Grids for E-scienc. E • Задание (Job) – состоит из множества файлов, которые должны быть переданы от источника к получателю (могут иметь дополнительные параметры для Grid. FTP) + информация о user proxy • Файл (File) – ссылка на пару физических имён источник/получатель в формате SURL или Grid. FTP (для globus -url-copy) • Статус файла (File State)– состояние процесса передачи отдельного файла • Статус задания (Job State) – общее состояние процесса передачи, как функция всех статусов файлов, составляющих задание • Канал (Channel) – однонаправленное соединение между двумя сайтами для передачи файлов. Различают 2 типа каналов: – production (dedicated network pipe) – обычно между Tier-0, Tier-1 и основными Tier-2 центрами – nonproduction (open network) – не обеспечивают production Qo. S EGEE-II INFSO-RI-031688 27

Job states Enabling Grids for E-scienc. E • Submitted – задание послано FTS, но Job states Enabling Grids for E-scienc. E • Submitted – задание послано FTS, но ему ещё не назначен канал • Pending – канал назначен и файлы задания ожидают передачи • Active – идёт передача некоторых файлов задания • Canceling – задание назначено на аварийное завершение • Done – все файлы задания переданы успешно • Failed – передача некоторых файлов задания завершилась неудачно • Canceled – задание снято • Hold – требуется вмешательство, т. к. состояние некоторых файлов не может быть разрешено автоматически (напр. : много повторов передачи) EGEE-II INFSO-RI-031688 28

Основы Grid. FTP Enabling Grids for E-scienc. E • Протокол доступа и передачи данных Основы Grid. FTP Enabling Grids for E-scienc. E • Протокол доступа и передачи данных для безопасного и эффективного перемещения данных • Стандартизован Global Grid Forum • Расширяет стандартный FTP протокол – поддержка Grid Security Infrastructure (GSI) на базе технологии - “шифрования открытым ключом” или Kerberos управление передачей данных для внешних программ (third-party control of data transfer) параллельная передача данных чередование передачи данных (striped data transfer) частичная передача данных (partial file transfer) автоматическое согласование размера буфера/окна TCP поддержка надёжной и возобновляемой (reliable and restartable) передачи данных встроенные средства для мониторинга выполнения процесса передачи EGEE-II INFSO-RI-031688 29

Grid. FTP - реализация Enabling Grids for E-scienc. E • Grid. FTP – это Grid. FTP - реализация Enabling Grids for E-scienc. E • Grid. FTP – это основа большинства систем передачи файлов • Функция повторения операции ограничена – Повтор только в случае проблем с сетью; нет возможности восстановления передачи в случае отказа сервера Grid. FTP • Grid. FTP управляет одновременно только одной передачей – Нет возможности оптимизации групповой передачи – Нет возможности диспетчеризации параллельных передач • Необходима служба верхнего над Grid. FTP уровня, которая обеспечит надёжную диспетчеризируемую передачу файлов – FTS/FPS – Globus RFT (layer on top of single gridftp server) – Condor Stork EGEE-II INFSO-RI-031688 30

Передача данных (непосредственный контроль) Enabling Grids for E-scienc. E Client Source Storage Element Data Передача данных (непосредственный контроль) Enabling Grids for E-scienc. E Client Source Storage Element Data Flow Channel Control Channels Destination Storage Element • Хотя транспортный протокол может быть надёжным, информация о статусе находится у клиента – это неудобно и ненадёжно (уязвимо) • Клиент может знать только состояние отдельного задания, не имея представления об общем состоянии передачи данных между SEs. – SE может переполниться запросами на репликацию – Может быть несколько репликаций одних и тех же данных одновременно – Отдельный сайт очень слабо может управлять балансом (оптимизацией) сетевых ресурсов EGEE-II INFSO-RI-031688 31

Передача данных (сервис передачи) Enabling Grids for E-scienc. E • Использование сервиса для передачи Передача данных (сервис передачи) Enabling Grids for E-scienc. E • Использование сервиса для передачи данных – клиент соединяется с сервисом, выдавая запрос на передачу – сервис контролирует состояние передачи – клиент периодически возобновляет соединение, получает информацию о статусе или отменяет задание – сервис имеет информацию об общей картине, а не только об отдельном задании § балансировка загрузки § диспетчеризация заданий EGEE-II INFSO-RI-031688 • Submit new request • Monitor progress • Cancel request Client SOAP via https Transfer Service Source Storage Element Data Flow Control Destination Storage Element 32

Архитектура g. Lite FTS/FPS Enabling Grids for E-scienc. E • File Transfer/Placement Service (FTS, Архитектура g. Lite FTS/FPS Enabling Grids for E-scienc. E • File Transfer/Placement Service (FTS, FPS) – База данных заданий на передачу файлов (Job DB) – Предоставляет Transfer Web Service интерфейс для клиента (submit, cancel, status) – Имеет Web Interface – Mодифицирует Catalog если необходимо • Transfer Agent – Основные действия § Получает задания из Transfer Job Database § Управляет передачей через множество каналов § Moниторирует статус и модифицирует Transfer Job Database Web Monitor FTS/FPS Web. Service Job DB Transfer Agent Actions • Transfer Service (glite-url-copy) – Фактически выполняет передачу: SRM – SRM, Channel glite-url-copy glite-url-copy gsiftp – SRM, gsiftp – Moниторирование EGEE-II INFSO-RI-031688 33

Передача данных в g. Lite FTS (итоги) Enabling Grids for E-scienc. E • Передача Передача данных в g. Lite FTS (итоги) Enabling Grids for E-scienc. E • Передача файлов асинхронная • Понятие канала, как однонаправленного соединения между сайтами • Задание может включать передачу нескольких файлов, но все они должны использовать один и тот же канал • Пользователь может запрашивать состояние задания через Job. ID • За передачу физических файлов отвечает FTS, регистрацией/поиском в каталогах занимается FPS (File Placement Service) • ВО, использующие канал для передачи файлов, могут вводить свои собственные правила для диспетчеризации заданий (напр. задания профессора более приоритетные, чем задания студента) EGEE-II INFSO-RI-031688 34

Команды g. Lite FTS Enabling Grids for E-scienc. E Для пользователя • glite-transfer-submit - Команды g. Lite FTS Enabling Grids for E-scienc. E Для пользователя • glite-transfer-submit - Запуск нового задания на передачу данных. Возвращается Job. ID. • glite-transfer-cancel - Аварийно завершить задание • glite-transfer-list - Получить список всех заданий с указанным статусом • glite-transfer-status - Получить статус данного задания Для администратора • glite-transfer-channel-add - Создать новый канал передачи • glite-transfer-channel-drop - Удалить канал передачи • glite-transfer-channel-list - Получить список всех доступных каналов • glite-transfer-channel-set - Изменить параметры канала • glite-transfer-channel-signal - Изменить статус задания(всех заданий для данного канала). Используется для разрешения ситуации со статусом “Hold” EGEE-II INFSO-RI-031688 35

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 36

Свойства GFAL API Enabling Grids for E-scienc. E • GFAL (Grid File Access Library) Свойства GFAL API Enabling Grids for E-scienc. E • GFAL (Grid File Access Library) – это API, имеющий POSIX интерфейс для операций с файлами, расположенными на SE • Позволяет удалённую работу с файлами (особенно полезно, если нужен доступ к части очень большого файла) • Библиотеки на C и могут быть включены в программы на C/C++ • Есть Java API • SE должен поддерживать протокол secure rfio (поэтому для classic SEs использовать нельзя) • Скрывает взаимодействие с SRM для пользователя EGEE-II INFSO-RI-031688 37

Data Management API Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 38 Data Management API Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 38

GFAL: переменные окружения Enabling Grids for E-scienc. E • Для некоторых функций GFAL необходимо GFAL: переменные окружения Enabling Grids for E-scienc. E • Для некоторых функций GFAL необходимо взаимодействие с каталогом, а он ВО-зависим, поэтому должны быть установлены следующие переменные окружения: – – LCG_GFAL_VO LCG_GFAL_INFOSYS LCG_CATALOG_TYPE LFC_HOST • Кроме того: – LCG_RFIO_TYPE – LD_LIBRARY_PATH EGEE-II INFSO-RI-031688 39

GFAL: доступные API Enabling Grids for E-scienc. E • C API – Файл заголовков GFAL: доступные API Enabling Grids for E-scienc. E • C API – Файл заголовков gfal_api. h. – Вызов функции – добавление префикса gfal_ к POSIX имени функции (open(), read()…), например gfal_open, gfal_read, . . . – Список аргументов и возвращаемые значения – идентичны POSIX. – Переменная errno устанавливается в соответствии с Posix Error Codes в случае ошибки. • Java API (C API Wrapper) – Поддерживает три основных Java Objects, которые должны быть импортированы в Java-программу. § GFal. File : обработка и чтение/запись в файлы § GFal. Directory : обработка и управление директориями (создание, удаление, список) § GFal. Utilities : управление файлами (переименование, удаление, свойства) EGEE-II INFSO-RI-031688 40

GFAL: функции I/O API (1) Enabling Grids for E-scienc. E int gfal_access (const char GFAL: функции I/O API (1) Enabling Grids for E-scienc. E int gfal_access (const char *path, int amode); int gfal_chmod (const char *path, mode_t mode); int gfal_close (int fd); int gfal_creat (const char *filename, mode_t mode); off_t gfal_lseek (int fd, off_t offset, int whence); int gfal_open (const char * filename, int flags, mode_t mode); ssize_t gfal_read (int fd, void *buf, size_t size); int gfal_rename (const char *old_name, const char *new_name); ssize_t gfal_setfilchg (int, const void *, size_t); int gfal_stat (const char *filename, struct stat *statbuf); int gfal_unlink (const char *filename); ssize_t gfal_write (int fd, const void *buf, size_t size); EGEE-II INFSO-RI-031688 41

GFAL: функции I/O API (2) Enabling Grids for E-scienc. E int gfal_closedir (DIR *dirp); GFAL: функции I/O API (2) Enabling Grids for E-scienc. E int gfal_closedir (DIR *dirp); int gfal_mkdir (const char *dirname, mode_t mode); DIR *gfal_opendir (const char *dirname); struct dirent *gfal_readdir (DIR *dirp); int gfal_rmdir (const char *dirname); EGEE-II INFSO-RI-031688 42

Пример выполнения gfal_open Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 43 Пример выполнения gfal_open Enabling Grids for E-scienc. E EGEE-II INFSO-RI-031688 43

Ссылки Enabling Grids for E-scienc. E • Examples in g. Lite 3 User Guide Ссылки Enabling Grids for E-scienc. E • Examples in g. Lite 3 User Guide (Appendix F) – https: //edms. cern. ch/file/722398//g. Lite-3 -User. Guide. pdf • GFAL C API Description: – http: //grid-deployment. web. cern. ch/grid- deployment/documentation/LFC_DPM/gfal/html/ • GFAL JAVA API – https: //grid. ct. infn. it/twiki/bin/view/GILDA/APIGFAL • GFAL Java API code and libraries: – https: //grid. ct. infn. it/twiki/pub/GILDA/APIGFAL/GFAL_Java_API. zip • On-line Java. Doc of Java API: – https: //grid. ct. infn. it/twiki/GFAL/ • GFAL Excercises (C/Java): – https: //grid. ct. infn. it/twiki/bin/view/GILDA/Using. GFAL EGEE-II INFSO-RI-031688 44

Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element Enabling Grids for E-scienc. E • Задачи Системы Управления Данными (DMS) • Storage Element (SE) и SRM • File Catalogs и DM tools • Перемещение данных (File Transfer Service) • g. Lite I/O API • JDL атрибуты для работы с данными EGEE-II INFSO-RI-031688 45

Sandboxes Enabling Grids for E-scienc. E • Input. Sandbox – файл (список файлов) на Sandboxes Enabling Grids for E-scienc. E • Input. Sandbox – файл (список файлов) на локальном диске UI, которые будут переданы через узел WMS на WN при запуске задания. Все имена файлов должны быть различны (даже если они в разных директориях). • Output. Sandbox – файл (список файлов), которые в результате выполнения задания создаются на узле WMS и могут быть переданы на UI при помощи команды glite-job-output (edg-job-getoutput). Эти файлы не могут быть на SE, т. е. нельзя использовать LFN(Logical File Name). Существует ограничение на размеры файлов для Sandboxes, т. е. файлы должны быть небольшого размера (ориентировочно < 100 Mb). EGEE-II INFSO-RI-031688 46

Input. Data(deprecated) Enabling Grids for E-scienc. E • Input. Data – строка (список строк), Input. Data(deprecated) Enabling Grids for E-scienc. E • Input. Data – строка (список строк), представляющие в одном из допустимых форматов (LFN, GUID, . . ) имена входных файлов. Они используются WMS только для получения PFN (Physical File Name), по которым затем WMS на этапе matchmaking сможет определить CE, имеющий максимальное количество физических файлов (реплик) на ближайшем SE (Close. SE). В зависимости от префикса имени файла будет выбираться тип каталога для определения PFN (RLS, Storage. Index, DLI). По умолчанию для lfn: и guid: используется RLS. • Storage. Index – URL сервиса g. Lite Storage Index. Если указан, то для определения PFN файлов с lfn: и guid будет использоваться этот каталог. • Data. Catalog - URL сервиса LCG Data Location Interface. Если указан, то для определения PFN файлов с lfn: и guid будет использоваться этот каталог. EGEE-II INFSO-RI-031688 47

Input. Data (пример) Enabling Grids for E-scienc. E Input. Data = { Input. Data (пример) Enabling Grids for E-scienc. E Input. Data = { "lfn: /mydata/file 1", "lfn: /mydata/file 2", "guid: 135 b 7 b 23 -4 a 6 a-11 d 7 -87 e 7 -9 d 101 f 8 c 8 b 70" }; // Do not need to specify this attribute if you want to use the VO // default Storage. Index catalog Storage. Index = "http: //lxb 1434. cern. ch: 8080/EGEE/glite-data-/Fireman. Catalog"; EGEE-II INFSO-RI-031688 48

Data. Requirements Enabling Grids for E-scienc. E Data. Requirements - более гибкая форма задания Data. Requirements Enabling Grids for E-scienc. E Data. Requirements - более гибкая форма задания атрибутов для требований на входные файлы. Состоит из групп, в каждой из которых могут быть указаны 3 атрибута: • Input. Data - строка (список строк), представляющие в одном из допустимых форматов (LFN, GUID, . . ) имена входных файлов. • Data. Catalog. Type – тип каталога, который будет использоваться для данной группы § RLS - LCG Replica Location Service § SI – g. Lite Storage Index § DLI - LCG Data Location Interface • Data. Catalog - URL сервиса каталога (может определятся, если он отличается от каталога по умолчанию для ВО) EGEE-II INFSO-RI-031688 49

Data. Requirements (пример) Enabling Grids for E-scienc. E Data. Requirements = { [ Data. Data. Requirements (пример) Enabling Grids for E-scienc. E Data. Requirements = { [ Data. Catalog. Type = "DLI"; Data. Catalog = "https: //cms. org: 8877/dli"; Input. Data = {"lfn: /my/test. data 1", "guid: 44 rr 77 hh 77 kkaa 3”}; ], [ Data. Catalog. Type = "SI"; Data. Catalog = "https: //glite. org: 9443/Storage. Index"; Input. Data = {"lfn: /eo/test. file", "guid: ddffrg 5451"}; ], [ Data. Catalog. Type = "RLS"; Data. Catalog = "https: //eu-datagrid. org/RLS"; Input. Data = {"lfn: /atlas/test. file", "guid: ggrgrg 5656"}; ], [ Data. Catalog. Type = "RLS"; Input. Data = {"lfn: /myvo/test. file", "guid: adbdefgilm 1234"}; ], . . }; EGEE-II INFSO-RI-031688 50

Data. Access. Protocol Enabling Grids for E-scienc. E Если определён атрибут Input. Data либо Data. Access. Protocol Enabling Grids for E-scienc. E Если определён атрибут Input. Data либо Data. Requirements, то должен быть указан атрибут Data. Access. Protocol, который определяет список имён протоколов, которые приложение может использовать для доступа к файлам. Data. Access. Protocol = { “file”, “gridftp” }; EGEE-II INFSO-RI-031688 51

Output. SE Enabling Grids for E-scienc. E • Output. SE – представляет URL того Output. SE Enabling Grids for E-scienc. E • Output. SE – представляет URL того SE, где пользователь хочет сохранять выходные файлы. Используется RB для определения CE, “ближайшего”(close) к данному SE. Следует использовать осторожно, т. к. разные брокеры поразному интерпретируют присутствие этого атрибута. Например LCG RB аварийно завершает задачу, если нет CE, определённого, как “ближайший” для Output. SE. EGEE-II INFSO-RI-031688 52

Output. Data Enabling Grids for E-scienc. E • Пока не реализовано в g. Lite Output. Data Enabling Grids for E-scienc. E • Пока не реализовано в g. Lite 3. 0 • Позволяет пользователю автоматически пересылать на SE и регистрировать в каталоге выходные файлы задания. • Для каждого файла могут быть определены 3 атрибута: • Output. File (обязательный) – имя выходного файла • Storage. Element (необязательный) – SE, где должен быть сохранён файл • Logical. File. Name (необязательный) – LFN, под который должен быть зарегестрирован файл в каталоге EGEE-II INFSO-RI-031688 53

Output. Data (пример) Enabling Grids for E-scienc. E Output. Data = { [ Output. Output. Data (пример) Enabling Grids for E-scienc. E Output. Data = { [ Output. File = "dataset_1. out "; Logical. File. Name = "lfn: /test/result 1"; ], [ Output. File = "dataset_2. out "; Storage. Element = "se 001. cnaf. infn. it"; ], ] Output. File = "cms/dataset_3. out"; Storage. Element = "se 012. to. infn. it"; Logical. File. Name = "lfn: /cms/outfile 1"; ], [ Output. File = "dataset_4. out "; ] }; EGEE-II INFSO-RI-031688 54