Лаборатория   информационных   технологий 

"Содержание"

Раздел IV.   Обеспечение "бесшовной" структуры и средств использования "Computational/Data Grid of Grids" для разных областей деятельности:
достижения, нерешенные проблемы, виды на реализацию

Данный обзор можно считать продолжением того вводного, который был опубликован в Информационном бюллетене ЛИТ ОИЯИ в начале 2005 г. [1], а также частично некоторым расширением материала, опубликованного в обзоре [2]. Здесь делается попытка подвести некоторые итоги, отметить достижения в совершенствовании и объединении разных грид-структур (особенно за 2006 и 2007 гг.) и те проблемы, которые остаются в реализации системы, по масштабу и условиям применения сравнимой с Web и удовлетворяющей тем трем критериям Яна Фостера, которые приводились в предыдущем обзоре.

Количество разных применяемых реализаций проектов с маркой Grid (грид) не убавилось: как тех, которые сформированы на основе использования выделенной организациями кластерной и суперкомпьютерной Linux-ориентированной техникой, так и тех, в качестве ресурсов которых используется свободное время индивидуальных пользовательских компьютеров (SETI@home, World Community Grid, EINSTEIN@home, LHC@home...). С развитием средств возможного совмещения в персональных компьютерах разнотипных операционных систем (Linux, Windows, SUN OS…) такие компьютеры могут применяться и для решения задач, которые были ориентированы на использование Linux-техники.

На конференции SC’06 (Supercomputing 2006 в Тамра, Флорида) демонстрировалась компьютерная карта шести континентов, показывавшая около 300 грид-сайтов первого основного типа, относящихся к наиболее известным проектам: EGEE (Enabling Grids for E-sciencE), Open Science Grid, Nordic Data Grid Facility, NAREGI, Teragrid, PRAGMA, DEISA, NGS (средства работы с такой трехмерной картой, обеспечиваемые программой Google Earth Grid Interface, свободно доступны через http://www.gridpp.ac.uk/demos/gin_monitor.html для использования на PC с минимальной конфигурацией: ОС Windows 2000/XP или Linux, CPU уровня Pentium III, 400 MB свободной дисковой памяти, графическая плата с 16 MB или VRAM, разрешение экрана 1024´ 768).

Одним из главных неудовольствий реализациями подобных проектов было и в значительной степени остается использование в них разнотипных несовместимых средств middleware, т.е. тех системных сервисов и аппарата их взаимодействия, которые обеспечивают прием и обработку прикладных задач пользователей. В результате многие географически распределенные группы пользователей, подключенные к разным грид-структурам (например в Америке и Европе), ощутили трудности при решении задач из общей предметной области. Примером может служить подготовка средств приема и обработки данных с экспериментальных установок ATLAS, ALICE, CMS и LHCb на запускаемом в эксплуатацию ускорителе LHC в ЦЕРН, в чем оказались заинтересованы многие физические лаборатории и институты, работающие в области физики высоких энергий и ранее подключенные к OSG (Open Science Grid) в Америке и Европейским проектам: EU Data Grid (EDG), EGEE, Nordic Grids... в ЦЕРН и некоторых российских научных центрах сочли наиболее перспективным развитие проекта EDG до уровня EGEE с сервис-ориентированной архитектурой (SOA) системной поддержки gLite middleware. Большинство проектов семейства Nordic Grids, изначально взяв за основу системные решения EDG, развили их до уровня Advanced Resource Connector (ARC) middleware, несовместимого с gLite при вводе прикладных задач в распределенную обработку. В американском проекте OSG условия на оформление вводимых задач и их выполнение также оказались отличными от реализованных в европейских проектах (например, не предусматривалось обслуживание введенной прикладной задачи, если в ее паспорте (JDL-файле) не был указан точный адрес компьютерного элемента (CE) из ресурсов системы для решения этой задачи). С другой стороны, в EGEE-проекте с его gLite middleware и Data Management Subsystem не оказалось ряда удобных средств для работы с распределенной системой стандартных баз данных (обычных реляционных типа Oracle, Informix, MySQL и др., а также хранилищ XML-данных), которые были предусмотрены разработчиками проекта GridPP совместно со специалистами из фирмы IBM в интересах проектов AstroGrid, Datamining Grid и др. Многие надежды пользователей из сферы физики высоких энергий на достижения разработчиков Grid middleware, создававших типовые наборы системных сервисов в рамках известных пакетов Globus Toolkit 3/4, не оправдались, поскольку конкретные потребности указанной предметной области не были приоритетными для разработчиков EDG, и часть мер по преодолению несовместимости разных грид-структур при вводе и обработке задач были предприняты самими пользователями (например из коллабораций по обработке данных с установок LHCb и ATLAS — созданием собственного пользовательского интерфейса GANGA, поддерживаемого в GridPP и EGEE).

Для координации работ по решению ряда проблем в конце 2005 г. была создана международная коллаборация WLCG (WorldWide LHC Computing Grid) представителей стран и организаций, заинтересованных в распределенной обработке задач и данных не только из области физики высоких энергий, но и из других областей науки (например биологии и биомедицины). Ее состав и обязательства изложены в материалах, доступных по ссылке http://lcg.web.cern.ch/LCG/C-RRB/MoU/WLCGMoU.pdf, где фигурирует и Россия с проектом RDIG (Russian Data Intensive Grid) и основными его исполнителями (ОИЯИ, ИФВЭ, ИПМ РАН, РНЦ КИ, НИИЯФ МГУ, ИТЭФ, ПИЯФ и ИМПБ).

2006 г. стал решающим для принятия мер по форсированию работ в части обеспечения интероперабельности разных грид-структур и расширению круга участников деятельности по совершенствованию средств middleware. Инициаторами этих мер в значительной степени выступили ЦЕРН (как базовая организация работ для задач обеспечения экспериментов на LHC) и группа Grid Interoperability Now (GIN), созданная в рамках объединения Open Grid Forum. Исходная идея была такой: рассчитывать на создание универсальной системы Grid с единым универсальным middleware в обозримое время трудно (во всяком случае до запуска LHC и его экспериментальных установок в пробную эксплуатацию, а на самом деле эти установки уже в конце 2006 г., еще до монтажа в туннеле LHC, начали детектировать космическое высокоэнергетическое излучение, началась программная обработка результатов), значит нужно реализовывать бесшовную структуру “Grid of Grids” как систему существующих грид-структур с бриджами (интерфейсами) между ними. В 2006 г. стартовало по крайней мере несколько крупных проектов в области сочетания средств EGEE(gLite) и других наработок в коллаборирующих научных центрах (см. [3]):

1) Проекты KnowARC и NDGF (Nordic Data Grid Facilities) — оба с июня 2006 г.

2) Проект развития NorduGrid в рамках программы NORDUnet3 — с октября 2006 г.

Главной их целью было объявлено улучшение и расширение возможностей сервисных средств ARC в части обеспечения совместимости (интероперабельности) с другими существующими вариантами Grid middleware (в первую очередь с gLite) и удобства работы пользователей не только из научной сферы, но и сферы обучения и промышленности. Среди вкладчиков в реализацию не только представители североевропейских стран (Швеции, Норвегии, Дании, Финляндии) и не только заинтересованные в исследованиях на LHC.

3) Проект обеспечения интероперабельности средств EGEE и американского OSG (Open Science Grid). На фоне форсирования деятельности по этому проекту, о которой были проинформированы участники конференции по суперкомпьютингу (SC06) в Тамра (Флорида), уже в 2006 г. пошла аналогичная работа для Nordic Data Grid, было предусмотрено в дальнейшем объединение с NAREGI, Unicore, China Grid.

Результаты по указанным проектам были запланированы для рассмотрения на конференции EGEE User Forum в мае 2007 г. в Манчестере.

Частной проблемой, которой уже начали заниматься в 2006 г., явилось упрощение процедуры сертификации пользователей, т.е. предоставления им прав для унифицированного доступа в разные грид-структуры. С этой целью была создана организация International Grid Trust Federation из ответственных представителей от разных грид-структур, вырабатывающая правила подобного сертифицирования (материалы по этой теме можно найти на сайтах www.gridpma.org и www.eugridpma.org).

На конференциях EGEE’2006 и SC’06 была поддержана и совместная деятельность с крупными фирмами из сферы бизнеса, развивавшими свои средства создания и использования SOA-систем распределенных вычислений и обработки данных для своих задач: подчеркивалось, что многое из их наработок (в части реализации сервисов защиты информации и работы с данными) может и должно быть использовано в научных грид-структурах, чтобы сделать их открытыми для широкого круга пользователей из разных сфер деятельности. Частично это было предусмотрено упомянутым проектом KnowARC, кроме того, осенью 2006 г. была основана коллаборация EGEE Business Associates (EBA) в интересах развития проекта EGEE. Ее первыми членами стали компании NICE, Platform Computing и PriceWaterhouseCoopers: NICE (Италия) будет развивать свои продукты Genius Grid Portal и EngineFrame FrameWork в направлении совместимости с gLite; Platform Computing — работать, чтобы ресурсы, объединяемые средствами LSF (Load Sharing Facilities) как системы управления локальными ресурсами, лучше использовались в Grid; PriceWaterhouseCoopers — совместно с разработчиками EGEE совершенствовать сервисы обеспечения безопасности и защиты сервисов в SOA-ориентированных грид-структурах [4].

Упомянутые компаниичлены EBA — в меньшей степени известны в научном мире по сравнению с такими гигантами индустрии, как IBM, Microsoft, HP, SUN и др. На самом деле разработчики проекта EGEE и ряда других научных грид-структур давно взаимодействуют с известными фирмами из приведенного перечня — например с IBM, продукты которой типа IBMSphere и VMWare хорошо сопрягаются с наработками авторов проекта GridPP или используются в тех проектах, где реализуется аппарат создания виртуальных машин (одновременное присутствие разных операционных систем в рамках одного компьютера).

На первой из указанных наработок и ее перспективности нужно остановиться подробней. Как частично отмечалось выше, многих пользователей gLite в проекте EGEE, даже входящих в коллаборации съема и обработки данных с экспериментальных установок на LHC (ATLAS, ALICE, CMS, LHCb), не вполне устраивают возможности, заложенные в сервисы Data Management System для использования распределенных баз данных и файловых подсистем: неудобно (трудоемко) прямое применение в приложениях SQL и XML-запросов к разнотипным базам типа ORACLE, Informix, MySQL, Exel, DB2 и другим источникам данных. Более устраивающая их система была реализована с применением сервисов из пакетов OGSA—DAI (Open Grid Services Architecture — Data Access and Integration) и OGSA—DQP (OGSA — Distributed Query Processor) в англо-шотландских научных наработках, отраженных на сайте www.ogsadai.org.uk: сервисы из этих пакетов были включены в состав GT3/4. В свою очередь фирма IBM предлагала свои средства для интеграции и упрощения доступа к данным, сосредоточенные в продукте IBM Sphere. В какой-то момент было реализовано совместное использование этих двух технологий в рамках IBM Sphere Information Integrator, представленное в материалах [5]. Ключевой идеей реализации подобного “Data Grid” являетсявиртуализация: почему прикладная задача должна знать, где физически размещены данные, в которых она нуждается, и как они структурированы? Надо дать задаче, кроме того, возможность доступа к данным через универсальный SQL или XML-запрос, автоматически преобразуемый в формат, понимаемый той или иной физической СУБД: в этом могут помочь описанные в указанных материалах программные посредники Wrappers между IBM Sphere и источниками данных. При этом задача может рассчитывать на определенный уровень конфиденциальности и качество сервиса, обеспечиваемого виртуальной базой данных как набором разнотипных физических. Для реализации указанной ключевой идеи (например, при поиске нужной информации) может существенно помочь использование онтологических описаний данных (в частности domain-specific онтологий).

2007 г. был отмечен несколькими мероприятиями (кроме упомянутой выше конференции в Манчестере), связанными с подведением итогов и открытием новых проектов. Так, уже в апреле в Берлине представители суперкомпьютерных центров из 15 европейских стран (к сожалению, без участия России) собрались для формирования сообщества (PACE — Partnership for Advanced Computing in Europe) в области совершенствования и объединения средств компьютинга, т.е. создания высокопроизводительной вычислительной инфраструктуры в Европе; страны-участницы объявленного сообществом проекта взяли на себя основные ежегодные затраты по его этапам в дополнение к тем, которые будут компенсированы в рамках 7-й Рамочной программы Европейского сообщества (см. также статью по адресу http://cerncourier.com/cws/article/cern/30139). С сентября стартовал проект EGI (European Grid Initiative) Design Study, поддержанный этой программой и предназначенный для концентрации работ по объединению национальных грид-структур как части мировой инфраструктуры для науки и других областей деятельности: он рассчитан на 2 года (до декабря 2009); 36 европейских стран выразили поддержку этому проекту (см. статью по адресу http://www.gridtoday.com/grid/1769717.html), первое рабочее совещание по этому проекту прошло в октябре 2007 г. в Будапеште во время конференции EGEE07 (см. http://www.eu-egee.org/egee_events/conference). Кстати, на конференции демонстрировался простой интерактивный прототип интерфейса к системе мониторинга функционирования грид-сайтов коллаборации WLCG (в том числе российских) и визуализации результатов этого мониторинга. Прототип, разработанный участниками проекта OpenLab (ЦЕРН) совместно с представителем компании EDS Рольфом Кубли, во многом более информативен, чем упоминавшееся в начале обзора средство работы с трехмерной картой, и доступен по адресу http://gridmap.cern.ch/gm/.

В программе этой конференции была и секция по проекту DILIGENT (Dynamic Digital Libraries and Virtual Research Environment on the Grid). Это проект создания “полигона” (test-bed) и средств для интеграции Grid и Digital Library (DL) — DL-технологий, что заложит основы нового поколения инфраструктуры использования знаний в электронизированной науке (e-Science) для разных областей исследований и в промышленности. Такая инфраструктура основывается на сети разделяемых ресурсов (архивов, баз данных, средств software) и предоставляет возможность создания DL “по требованию” (on-demand). Виртуальные исследовательские группы смогут динамически создавать DL, которые удовлетворяют их потребностям, с помощью набора требований (requirements) по отношению к информационному пространству и сервисам (см. подробнее http://www.diligentproject.org).

Что касается основной проблемы обеспечения интероперабельности разных грид-структур, то некоторые итоги двух лет и оценки состояния дел были представлены группой GIN на декабрьской конференции SC07 (см., например, материалы разделов http://www.gridtoday.com/grid/1918361.html и http://forge.ogf.org/sf/projects/gin). Судя по всему, говорить сейчас о завершенности решения указанной проблемы пока рано.

Чего еще может потребоваться пользователю вычислительно-информационной грид-структуры?

Уже при существующих достижениях в реализации грид-структур с сервис-ориентированной архитектурой (SOA) потоковая обработка задач в принципе отлажена, и при реализации бесшовной архитектуры общей грид-структуры (Grid of Grids) с простым аппаратом сертификации, обеспечением средств защиты задачи и данных, а также гарантированного качества обслуживания (Quality of Service, QoS) даже рядовой пользователь может получить значительный выигрыш, не будучи привязан только к рамкам возможностей локальной сети своей организации. Другое делонасколько эффективным будет решение сложных прикладных задач внутри того ресурса, который ему будет выделен системными средствами грид (его Workload Management System)? Какие средства предложат системы программирования, возьмет ли системное и техническое наполнение грид на себя обязанности по распараллеливанию выполнения задачи и обработки интересующих ее данных? Задел в этом отношении давно есть и в России, и за рубежом:

В системах программирования типа OpenMP и V-Ray для суперкомпьютеров (SMP-машин); MPI, DVM и mpC для многопроцессорных систем с распределенной памятью [6]. Работая с текстами программ, написанных на языках уровня Фортрана и Си, инструментальные средства систем типа DVM и V-Ray реализуют возможности детального анализа программ, выделения схем их распараллеливания, оценки (предсказания) эффективности того или иного варианта распараллеливания, генерации текста выбранного автором варианта.

— В средствах применения связки программных блоков через XCOM/DCOM/RMI/CORBA нового поколения и т.п.

В России достаточно много выполненных работ по указанным направлениям (в НИВЦ МГУ, ИСА РАН, ИПМ, ИСП РАН...) и доложенных, например, на конференциях Распределенные вычисления и грид-технологии в науке и образовании в Дубне и Научный сервис в сети Интернет в Новороссийске, однако до полного решения автоматизации распараллеливания задач и программ далеко, да это и не входит в обязанности общего Grid middleware. Если проблема связана с распределенной обработкой данных или автоматизацией поддержки полного цикла анализа экспериментальных данных (от начала регистрации до подведения итогов и результатов обработки научным сообществом), то ее решение само по себе может быть представлено агент-сервисной структурой (как это описано в работе David De Rouge et al. [7]), а его реализация может оставаться проблемой организации соответствующего приложения, оформленного либо в качестве одной задачи (job) с точки зрения Grid middleware, либо как серии подзадач, запускаемых ею в грид-среду по описанному сценарию.

Сейчас пропагандируется такое развитие (скореезамена) языков Java и Фортран, как язык Fortress и основанная на нем система разработки прикладных программ для параллельных платформ, но, как отмечается в одном из выпусков еженедельника PC WEEK/RE, насколько новый язык приживется в среде достаточно консервативных программистовне очень ясно. Пока же появилось достаточно много систем автоматизации так называемого “функционального программирования”, неплохо приспособленного к современным техническим средствам: это тот случай, когда программа представляется не набором команд для компьютера (как при применении “императивных” процедурных языков), а совокупностью функций, вызывающих друг друга и запускаемых на параллельно работающих процессорах или их ядрах (см., например, http://www.cs.nott.ac.uk/~gmh/faq.html#functional-languages). “Прародителем” серии языков функционального программирования считается LISP, позже появились AspecT, Caml, Clean, Erlang и т.д. (см. статью “Программирование для параллельных платформ” в PCWEEK/RE, 2007, вып. 14, где есть ссылки на фирменные системы помощи программирующим на языках Фортран и С++). В выпуске 19 того же издания сообщается и о общедоступной системе разработки параллельных приложений Charm++ (http://charm.cs.uiuc.edu), успешно используемой в проектах по физике и позволяющей создавать программы, масштабируемые на сотни процессоров. Это разработка Иллинойского университета, включающая в себя библиотеку для С++, адаптированный вариант MPI и средства (окружение, framework) Faucets, упрощающие поставку в грид-структуру параллельных задач, мониторинг и использование ими ресурсов. Все это доступно для скачивания вместе с руководствами из подразделов charm, ampi и faucets в разделе research указанного сайта.

Для привыкших к С++ может быть интересна и система Concurrent Clean (см. по адресу http://labs.trolltech.com/page/Projects/Threads/QtConcurrent/).

К счастью, современная процессорная техника (в персональных компьютерах, а также в узлах кластеров и суперкомпьютеров, составляющих основу ресурсов рассматриваемых грид-структур), берет на себя частичное аппаратное распараллеливание выполнения операций объектных программ даже в случае, когда применяемые компиляторы с традиционных языков программирования не предпринимают достаточных собственных средств для этого. В ЦЕРН, например, еще в 2001 г. началась реализация проекта “CERN Openlab”, и одной из главных целей исполнителей этого проекта стало исследование возможностей распараллеливания выполнения программ, наиболее важных для обработки данных физики высоких энергий и подлежащих их использованию в прикладных задачах, если эти задачи будут решаться на персональных компьютерах или в рамках ресурсов грид-структур. Целью этих исследований стала и выработка рекомендаций по приобретению наиболее подходящих (для данных задач) аппаратных средств для оборудования ресурсных центров ЦЕРН (Tier-0 и Tier-1 с кластерным оснащением и хранилищами внешней памяти. В апрельском выпуске журнала CERN COURIER (Volume 47, Number 3, April 2007) есть две хорошие популярные статьи, которые могут быть полезны для всех, кто связан с выбором PC и кластерной техники не только для решения задач из указанной предметной области [8; 9]. Автор второй статьи [9] отмечает, что если в процессорных схемах-чипах класса 386 и 486 выполнялся один поток инструкций пользовательской программы в том виде и порядке, в каких он поставлялся компиляторами (т.е. без распараллеливания выполнения команд в этом потоке, без учета их зависимости друг от друга), то уже в более новых процессорных изделиях фирм Intel, AMD и SUN стали применяться два типа механизмов:

1) OOO (Out-Of-Order), когда схема процессора в окне на сотню команд отыскивает независимые друг от друга и в соответствие с этим определяет совмещение их исполнения.

2) Multi-threading — выделение от 2 до 4 параллельно выполняемых нитей (подпроцессов) в объектной программе и совмещение их исполнения (например, переключение на обработку второй нити, если для первой потребовалось перемещение данных из внешней оперативной памяти во внутреннюю кэш-память процессорного чипа). Заметим, что размеры кэш-памяти стали достигать десятков мегабайт, а время процессорного доступа к нейв десятки раз меньше времени обращения к внешней памяти. В существующих и примененных в ЦЕРН четырехядерных чипах поддерживается выполнение до 4 нитей (threads) в каждом процессорном ядре.

Испытанная на подобной четырехядерных 64-битной процессорной технике версия массово применяемой физиками программы ROOT позволяла разбивать наборы обрабатываемых ею данных на четыре блока и выполнять их параллельную обработку практически с четырехкратным ускорением по сравнению с обработкой на одноядерных процессорах.

Возможности аппаратного распараллеливания и совмещения выполнения операций на подобной технике нужно учитывать в конструкциях компиляторов и при ручной оптимизации генерируемых ими программ, иначе такая оптимизация может дать неожиданный результат, как это и отмечается в указанной статье.

Кроме использования возможностей новой процессорной техники в узлах кластеров надо учитывать и существование достаточно новых перспективных средств объединения узлов в кластере. В условиях, когда эти узлы с независимыми платами памяти объединялись шиной Myrinet 2000, распараллеливание большой прикладной программы внутри кластера или локальной сети делалось применением MPI-библиотек и траты времени на ее выполнение были заметными. в этом смысле кластеры проигрывали в производительности суперкомпьютерным установкам с общей памятью (SMP-архитектурам). Переход в последние годы на использование шины Infiniband с ее скоростями обменов до 120 Gb/s в значительной степени нивелировал этот проигрыш.

Так или иначе, но очередная международная конференция Computing in High Energy Physics (CHEP07), прошедшая в октябре 2007 г. в Канаде, подвела следующий итог сделанному в порядке технической и программной подготовки к предстоящей обработке данных от экспериментов на LHC коллаборацией WLCG: принципиально нового для такой подготовки уже не делается, частично совершенствуется уже созданное и в значительной степени проверенное, устраняются обнаруживаемые ошибки, продолжаются работы по стыковке разных грид-структур. Остаются некоторые возможные проблемы в обеспечении производительности общей структуры: по статистике сейчас WLCG ежемесячно обрабатывает около 2,5 млн задач, а при реальной работе LHC требуемая производительность составит около 9 млн. Но, как отмечается в декабрьском выпуске Cern Courier, это решаемая проблема.

Библиографический список

  1. Шириков В.П. Программное обеспечение Grid: состояние и перспективы // Информац. бюл. ЛИТ. — 2005, №3. — С. 34—44. — http://lit.jinr.ru/Inf_Bul_3/bullet.htm.
  2. Шириков В.П. Системное обеспечение бесшовной структуры и средств использования “Computational/Data Grid of Grids” для разных областей деятельности : достижения, нерешенные проблемы, виды на реализацию // Тр. Всерос. науч. конф.Научный сервис в сети Интернет”. — Новороссийск, 2007.С. 10—13.
  3. Michael Groenager. Nordic Grid activities strengten the WLCG. —

  4. http://cerncourier.com/cws/article/cern/29695.

  5. Hannelore Haemmerie, Nicole Cremel. EGEE gets down to Business. —

  6. http://cerncourier.com/cws/article/cern/29742.

  7. http://www-128.ibm.com/developerworks/grid/library/gr-feddata;

  8. http://www.alphaworks.ibm.com/tech/.

  9. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления. СПб., 2002. —

  10. http://v-ray.parallel.ru.

  11. David De Rouge et al. The Semantic Grid: a Future e-Science Infrastructure. —

  12. http://www.semanticgrid.org/documents/semgrid-journal/semgrid-journal.pdf.

  13. Hannelore Haemmerie, Nicole Cremel. Chip may boost particle-physics Grid power. —

  14. http://cerncourier.com/cws/article/cern/29861.

  15. Sverre Jarp. Processors size up for physics at the LHC. —

  16. http://cerncourier.com/cws/article/cern/29865.

В. Шириков (shirikov@jinr.ru)


"Содержание" "Раздел V"