Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних
У роботі розглянуто загальний підхід до побудови Grid-систем для обробки супутникових даних. Проаналізоване існуюче
 програмне забезпечення, придатне для розробки подібних систем, і виділені функціональні області, що їм не покриваються.
 Запропоновані методи для реалізації необхідних...
Saved in:
| Date: | 2006 |
|---|---|
| Main Authors: | , , |
| Format: | Article |
| Language: | Ukrainian |
| Published: |
Інститут програмних систем НАН України
2006
|
| Subjects: | |
| Online Access: | https://nasplib.isofts.kiev.ua/handle/123456789/1593 |
| Tags: |
Add Tag
No Tags, Be the first to tag this record!
|
| Journal Title: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Cite this: | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних / А.Ю. Шелестов, М.Б. Корбаков, А.Г. Лобунець // Проблеми програмування. — 2006. — N 2-3. — С. 94-101. — Бібліогр.: 18 назв. — укр. |
Institution
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1860110619993178112 |
|---|---|
| author | Шелестов, А.Ю. Лобунець, А.Г. Корбаков, М.Б. |
| author_facet | Шелестов, А.Ю. Лобунець, А.Г. Корбаков, М.Б. |
| citation_txt | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних / А.Ю. Шелестов, М.Б. Корбаков, А.Г. Лобунець // Проблеми програмування. — 2006. — N 2-3. — С. 94-101. — Бібліогр.: 18 назв. — укр. |
| collection | DSpace DC |
| description | У роботі розглянуто загальний підхід до побудови Grid-систем для обробки супутникових даних. Проаналізоване існуюче
програмне забезпечення, придатне для розробки подібних систем, і виділені функціональні області, що їм не покриваються.
Запропоновані методи для реалізації необхідних функціональних компонентів, а саме, архівного сервісу, та інтеграції з системою
планування задач кластерів Інституту кібернетики ім. В.М. Глушкова НАН України.
This paper describes general approach to implementation of Grid systems for solving the problems of satellite data processing. Current
situtation in the area of Grid software is being analyzed and uncovered functional regions are found. This paper proposes methods for
implementation of missing functionality namely data archive service and integration with scheduling system of computational clusters of
Institute of Cybernetics, NASU.
|
| first_indexed | 2025-12-07T17:34:06Z |
| format | Article |
| fulltext |
Паралельне програмування. Розподілені системи і мережі
© A.Ju. Shelestov, N.N. Kussul, S.V. Skakun, 2006
ISSN 1727-4907. Проблеми програмування. 2006 № 2-3. Спеціальний випуск 94
УДК 681.51
РЕАЛІЗАЦІЯ GRID-ІНФРАСТРУКТУРИ ДЛЯ РОЗВ’ЯЗАННЯ ЗАДАЧ
ОБРОБКИ СУПУТНИКОВИХ ДАНИХ1
А.Ю. Шелестов, М.Б. Корбаков, А.Г. Лобунець
Інститут космічних досліджень НАН України та Національного космічного агентства України
03680, МСП Київ 187, проспект Академіка Глушкова, 40,
тел.: (+380-44) 526 2553; inform@ikd.kiev.ua
У роботі розглянуто загальний підхід до побудови Grid-систем для обробки супутникових даних. Проаналізоване існуюче
програмне забезпечення, придатне для розробки подібних систем, і виділені функціональні області, що їм не покриваються.
Запропоновані методи для реалізації необхідних функціональних компонентів, а саме, архівного сервісу, та інтеграції з системою
планування задач кластерів Інституту кібернетики ім. В.М. Глушкова НАН України.
This paper describes general approach to implementation of Grid systems for solving the problems of satellite data processing. Current
situtation in the area of Grid software is being analyzed and uncovered functional regions are found. This paper proposes methods for
implementation of missing functionality namely data archive service and integration with scheduling system of computational clusters of
Institute of Cybernetics, NASU.
Вступ
Grid-системи стають дедалі все більш звичайним підходом для забезпечення віддаленого виконання
обчислювальних задач та доступу і обробки розподілених даних у різнорідних середовищах різного масштабу.
Засновник концепції Grid-систем Ян Фостер (Ian Foster) визначив її наступним чином: «Основна і специфічна
проблема, яка зумовлює створення Grid-систем, є координоване спільне використання ресурсів та розв'язання
задач у динамічних та багатокомпонентних віртуальних організаціях... Спільне використання ресурсів має бути
строго контрольоване, власники ресурсів і їх користувачі повинні чітко визначати ресурси, до яких надається
доступ, кому він надається і за яких умов. Група осіб або організацій, пов'язаних такими обмеженнями, і
складає віртуальну організацію» [1].
Задача Grid-системи полягає у поєднанні даних, обчислювальних потужностей та алгоритмів,
розподілених по мережі для розв'язання певних задач. Однією з вимог при побудові Grid-системи є високий
рівень універсальності в сенсі типів задач, що можуть бути розв’язані за її допомогою. Це виливається в
необхідность створення середовища, що дозволить розробку та виконання програмних додатків, взаємодіючих
з ресурсами системи. Ця мета досягається шляхом введення стандартних інтерфейсів для коммунікації між
різними типами ресурсів та клієнтів.
Задача розробки Grid-систем ставиться у багатьох міжнародних програмах. Зокрема, дану технологію
буде використано в рамках спільної ініціативи Європейської комісії та Європейського космічного агентства –
GMES (http://www.gmes.info/) (Global Monitoring for Environment Security – глобальний моніторинг для
навколишнього середовища та безпеки). В рамках програми GMES розв’язуються складні задачі екологічного
моніторингу (зміни лісового покрову, глобального моніторингу стану рослинності, атмосфери, океанів, тощо) із
використанням даних космічних спостережень. Автори роботи працюють над створенням інформаційної
системи (http://www.cosmogis.org.ua), мета якої – забезпечити ефективне використання даних спостережень
Землі з космосу в основних областях людської діяльності, зокрема для потреб екологічного моніторингу. Даний
проект включено в якості SDIC (Spatial Data Interest Community) до міжнародної програми INSPIRE (www.ec-
gis.org/inspire/), яка має за мету створення інфраструктури для обміну просторово розподіленою інформацією з
залученням Grid-технологій.
Обробка космічних даних є важливою областю застосування Grid-обчислень, поряд з фізикою високих
енергій, біологією, економікою та іншими галузями, що оперують з великими обсягами даних і складними
алгоритмами її обробки. Нижче структура та компоненти Grid-системи аналізуються з точки зору реалізації
системи обробки супутникових даних. У наступному розділі основна архітектура подібних систем
розглядається більш детально.
Високорівнева архітектура Grid-системи обробки космічних даних
Перш ніж перейти до розгляду програмного забезпечення, яке призначене для побудови Grid-систем, та
результатів, отриманих у цьому напрямку в Інституті космічних досліджень, має сенс розглянути загальну
архітектуру системи обробки космічних даних. Трьохрівнева архітектура такої системи показана на рис. 1.
1 Работу виконано за підтримки грантів для молодих науковців “Розробка desktop-GRID системи та
аналіз її продуктивності” та спільного гранту НАН України та Українського науково-технологічного центру
"Розробка ефективних Grid-технологій екологичного моніторингу на основі супутникових даних" (№ 3872).
Паралельне програмування. Розподілені системи і мережі
95
Дані
Попередня
обобка
Короткострокове
збереження
Обробка
(тематична)
Довгостроковий архів
Надання даних
Підсистема накопиченя
Р
ів
ен
ь
да
ни
х
Р
ів
ен
ь
бі
зн
ес
-л
ог
ік
и
Підсистема обробки
Р
ів
ен
ь
ін
те
рф
ей
су
з
ко
ри
ст
ув
ач
ам
и
та
ін
ш
им
и
си
ст
ем
ам
и
Підсистема взаємодії
Обробка замовлень
користувачів
Надання сервісів
Рис. 1. Трьохрівнева архітектура Grid-системи обробки супутникових даних
Підсистема накопичення інформації призначена для збору данних з різнорідних джерел (аерокосмічні
дані, дані наземних спостережень і т.д.), короткострокового збереження даних, призначених для розв’язання
тематических задач, а також довгострокового архівування даних. Пізніше архівні дані можна використовувати
для пошуку трендів та залежностей у даних, аналізу змін та ін.
До функцій підсистеми обробки належать попередня обробка даних (наприклад, радіометрична і
геометрична прив’язка супутникових зображень, фільтрація) і безпосереднє розв’язання тематичних задач з
використанням побудованих модулей і інтеграцією даних із різних джерел.
Для взаємодії з кінцевими користувачами призначена підсистема взаємодії з користувачами та
іншими системами. З її допомогою здійснюється представлення результатів обробки даних на регулярній
основі у вигляді інформаційних сервісів, у тому числі в системах підтримки прийняття рішень органами
державної влади. Крім того, до її функцій належать представлення як необроблених (в залежності від політики
розповсюдження даних), так і оброблених даних (різних рівнів обробки), а також можливість разового
виконання замовлення на обробку.
Важливим видом вхідних даних є дані супутникового спостереження, які вимірюються з перешкодами.
Це пов’язано з неточністю роботи вимірювальних пристроїв, похибками перепроектування і атмосферними
спотвореннями (для даних оптичних каналів). Тому в системі моніторингу слід реалізовувати попередню
обробку даних, включаючу фільтрацію шумів, географічну прив’язку, атмосферну корекцію і інше. Подібні
задачі є досить складними та ресурсоємними, тому для їх розв’язання потрібна потужна техніка, подібна до
кластерів родини СКІТ.
Оскільки дані можуть надходити в систему з різних джерел, архіви і підсистеми обробки в таких
системах звичайно є розподіленими. Більш того, при розв’язанні складних задач обробка даних має бути
децентралізованою, оскільки спирається на результати автономної обробки даних у різних підсистемах або
корпоративних і відомчих системах, наприклад, на результати комплексних моделей з використанням
метеорологічної та іншої допоміжної інформації. Саме таким вимогам за визначенням Яна Фостера має
задовольняти Grid-інфраструктура [1].
Більш детально питання розробки окремих елементів Grid-системи будуть розглянуті далі.
Програмне забезпечення загальносистемного рівня
Багато науковців та розробників програмного забезпечення експериментально досліджують
універсальні засоби об'єднання розподілених ресурсів у єдиний обчислювальний ресурс. Але на даний час
Паралельне програмування. Розподілені системи і мережі
96
проблема сумісного використання географічно розподілених інформаційно-обчислювальних ресурсів не є
вирішеною. За словами Яна Фостера, сьогодні Grid-системи перебувають на тому ж етапі розвитку, на якому
Web перебував у 1991–1992 рр. Найбільший інтерес до таких систем виявляють переважно наукові організації.
Розрізняють такі напрямки досліджень Grid-систем: інтегровані Grid-системи; базові програмні компоненти
середнього, або проміжного рівня (так зване middleware); програмні компоненти рівня користувачів (user-level
middleware); програмні додатки для Grid (прикладний рівень). З кожним із цих напрямків пов’язана велика
кількість досліджень [2]. Перелік найбільших проектів у сфері Grid-обчислень наведено в [3-5]. Окремо слід
зазначити громадські організації, такі, як Global Grid Forum (GGF, http://www.Gridforum.org) та Peer-to-Peer
Working Group (P2PWG, http://www.p2pwg.org), що зробили великий внесок у розвиток ідей, специфікацій та
стандартів Grid-систем. До складу GGF входять дослідники, які працюють в області розподілених обчислень,
або Grid-технологій. Зусилля даної організації сфокусовані на розробці документації, специфікацій та
стандартів, які повинні бути корисними з точки зору практичного використання. У свою чергу робота P2PWG
спрямована на розробку та впровадження пірінгових обчислень (peer-to-peer).
Серед багатьох проектів, що виконуються за кожним із вищезгаданих напрямків, можна виділити
декілька найбільш популярних. Результатом виконання цих проектів стала поява вдалих з точки зору реалізації
програмних продуктів. Globus Toolkit [6] від громадської організації Globus Alliance нині вважається
стандартом де-факто розробки Grid-систем. Globus є відкритим набором програмних компонентів проміжного
рівня (middleware). Серед користувачів Globus Toolkit можна виділити такі організації, як Earth System Grid
(ESG), Southern California Earthquake Center, National Fusion Collaboratory (USA), Max Plank Institute for
Gravitational Physics, CERN. На даний момент проект переживає бурхливий розвиток у зв'язку з прийняттям
специфікації WSRF для побудови Web-сервісів. Альтернативою Globus Toolkit є gLite [7], що був розроблений
при виконанні проекту EGEE. gLite належить до програмного забезпечення Grid нового покоління, та
спирається на досвід таких європейських проектів, як: EDG [8], LCG [9], Alien [10], NorduGrid [11]. У
Мельбурнському університеті (Австралія) виконано проект GridBus [12], результатом виконання якого є набір
програмних засобів для розробки Grid-систем у сфері науки та бізнесу.
Найбільш актуальними та придатними для використання продуктами для побудови Grid-систем є
Globus Toolkit та gLite. Однак не зважаючи на архітектурну досконалість, пакет gLite ще не досяг того рівня
розвитку, коли на його основі можна будувати системи великого масштабу. Таким чином, на сьогодні найбільш
поширеним є пакет Globus Toolkit, який використовується у багатьох світових проектах. Найбільш відомими та
значними з цих проектів є такі:
- Earth System Grid (ESG);
- Grid-система Southern California Earthquake Center;
- TeraGrid;
- Grid-система Max Planck Institute for Gravitational Physics.
Подальший розгляд структури Grid-системи та інших її аспектів буде здійснюватись з оглядом на
програмний пакет Globus Toolkit.
Каркас Globus Toolkit
В основу програмного каркаса Globus Toolkit (далі Globus) покладено загальноприйняті стандарти, що
реалізовані у вигляді вільно розповсюджуваного програмного коду. До його складу входить пакет сервісів та
програмні бібліотеки, які дозволяють створювати Grid-системи та Grid-додатки. Цей програмний каркас
забезпечує розв’язання питань, пов'язаних з забезпеченням інформаційної безпеки, керуванням ресурсами та
даними, комунікаціями, виявленням відмов у роботі та переносимістю розробок.
Каркас Globus Toolkit має три наступних версії, що використовуються на даний момент.
Globus 2.x – застаріла версія, яка використовується у ранніх проектах з використанням Globus. При
розробці нових систем її використання є недоцільним.
Globus 3.x – невдала версія каркаса. Перехід від версії 2.x до 3.x привніс дуже багато змін і доповнень у
функціональності. Будучи одночасно впровадженими, вони створили ситуацію, коли через недосконалу
документацію, діагностику помилок та складність архітектури вести розробку з використанням цієї версії було
надзвичайно складно. Globus 3.x не рекомендується використовувати для розробки нових проектів самими
розробниками Globus Toolkit.
Globus 4.x – остання версія каркаса. В ній розробники змогли зберегти всі позитивні риси гілки 3.x і
при цьому позбутися її недоліків. Гілка 4.x використовує специфікацію Web-сервісів WSRF, що претендує на
роль майбутньої заміни звичайних Web-сервісів в масштабі всієї мережі Internet. Для розробки нових проектів
слід використовувати саме цю версію каркаса.
Ключовим поняттям Grid-системи на основі Globus є поняття Grid-сервісу. Такий сервіс надає
користувачу певний інтерфейс, що може бути відображений в термінах об'єктно-орієнтованої парадигми.
Методи цього інтерфейсу можна викликати віддалено через Internet. Від звичайного Web-сервісу Grid-сервіс
відрізняється тим, що має стан, окремий для кожного користувача. В термінах об'єктно-орієнтованого
програмування звичайний Web-сервіс є реалізацією шаблона проектування Singleton, що має стан, спільний для
усіх його клієнтів, а Grid-сервіс – звичайний об'єкт зі своїм станом. Така зміна в концепції сервіса надає
можливість працювати з довготривалими користувацькими сеансами, що складаються з багатьох запитів.
Паралельне програмування. Розподілені системи і мережі
97
Майже вся функціональність, яку надає Globus, реалізована у вигляді Grid-сервісів. Для виконання
запита користувача сервіси можуть викликати методи один одного.
Розробники Globus Toolkit розділяють функціональність, яку надає програмний каркас, на декілька
наступних функціональних груп [13]: захист інформації, інформаційні сервіси, сервіси виконання задач, сервіси
керування даними.
Далі ці групи функцій будуть розглянуті більш детально.
Захист інформації
Серед задач захисту інформації традиційно виділяють такі: аутентифікація, авторизація, аудит,
шифрування.
Для аутентифікації користувачів, комунікаційного захисту шляхом шифрування та підтримки
делегування повноважень каркас Globus використовує протокол GSI (Grid Security Infrastructure [14]),
заснований на технології відкритих криптографічних ключів.
Для ідентифікації користувача у протоколі GSI використовуються сертифікати на основі широко
розповсюдженого стандарту X.509 [15], що використовується у процесі генерації сертифікатів інфраструктури
відкритих криптографічних ключів. Для того, щоб застосувати X.509 для підтримки одноразової аутентифікації
та делегування повноважень, GSI визначає новий тип сертифікатів X.509 – проксі-сертифікат. Від звичайних
такий сертифікат відрізняється тим, що підписується не сертифікаційним центром, а сертифікатом самого
користувача і на досить короткий термін (від декількох годин до декількох днів). Це робиться для того, щоб у
разі захоплення проксі-сертифікату зловмисником заподіяна шкода була мінімальною. Проксі-сертифікат, на
відміну від звичайного, генерується у безпарольній формі. Таким чином, користувач повинен ввести пароль
тільки один раз при генерації проксі-сертифікату. Після цього згенерований сертифікат може
використовуватись для аутентифікації у різних сервісах системи без необхідності введеня пароля. Делегування
повноважень здійснюється шляхом передачі закритої частини проксі-сертифікату певному сервісу, який після
цього зможе виступати від особи користувача.
Зазвичай при виконанні аутентифікації та шифрування даних в інфраструктурі GSI використовується
протокол Transport Layer Security – TLS [16], що є модифікацією протоколу Secure Socket Layer – SSL, хоча
можуть бути використані й інші протоколи аутентифікації на основі технології відкритих криптографічних
ключів. Протокол віддаленого делегування X.509 проксі-сертифікатами є надбудовою над рівнем TLS. Комітет
IETF затвердив попередній документ, визначаючий розширення сертифікату X.509 і розширення GSS-API (API
для узагальненої служби безпеки), що дозволяють використовувати цей API для Grid-програмування.
Слід зазначити, що у каркасі Globus досі відсутнє загальне рішення для забезпечення системного
аудиту. Ведення журналу на окремому ресурсі системи можна організовати за допомогою механізмів пакета
Axis [17], але ведення загальносистемного аудиту, що є необхідним для прозорого адміністрування всієї
системи, поки що є невирішеною задачею.
Інформаційні сервіси
Інформаційні сервіси в середовищі Globus призначені для збору, пошуку та обробки інформації про
стан системи та її ресурсів. До цієї групи належать такі сервіси:
- Index Service (індексний сервіс) – це сервіс, що дозволяє ресурсам Grid-системи зберігати довільну
інформацію про свій стан у форматі XML та забезпечує інтерфейс для запитів по цих даних.
- Aggregation Service (сервіс агрегації інформації) дозволяє створювати ієрархії з індексних сервісів
із реплікацією даних знизу вгору, що дозволяє ресурсу верхноього рівня ієрархії отримувати інформацію про
стан всіх підлеглих ресурсів.
- Trigger Service (трігерний сервіс) дозволяє виконувати довільні дії і таким чином реагувати на
виконання деякої умови, сформованої на мові XPath [18], на дереві даних з індексного сервіса.
Крім цих сервісів до інформаційної групи відносять механізм оповіщень (notifications), що дозволяє
певному сервісу зареєструвати оповіщення, а іншим сервісам або клієнтам підписатися на нього та отримувати
повідомлення про зміну стану сервісу. В залежности від потреб користувача оповіщення можуть реалізовувати
як pull- так і push-модель повідомлень.
Інформаційні сервіси є найбільш стабільною частиною каркаса Globus Toolkit і в певному сенсі
складають замкнену систему.
Сервіси виконання задач
Сервіси виконання задач призначені для представлення задач до виконання у системі та керування
процесом виконання. Ці сервіси є особливо важливими для обробки супутникових даних, оскільки досить часто
для розв'язання задач, пов'язаних з дистанційним зондуванням Землі, необхідно використовувати значні
обчислювальні ресурси.
До цієї групи відносять наступні компоненти Globus:
- Grid Resource Allocation and Management (GRAM) – ключовий сервіс, що забезпечує віддалене
виконання задач у Grid-середовищі. За описом задачі GRAM збирає на певному ресурсі всі необхідні для
виконання задачі дані, виконує запуск задачі на локальному ресурсі та надає інформацію про хід її виконання.
Паралельне програмування. Розподілені системи і мережі
98
- Local Task Scheduler Adapter (адаптер до локального планувальника задач) – це компонент, з яким
взаємодіє GRAM-сервіс для запуску задачі на виконання. В найпростіших випадках адаптер є оболонкою над
засобами виконання програм локальної операційної системи, у більш складних – транслятором опису задачі з
формату GRAM у формат певної системи виконання задач. Останній варіант є типовим для виконання задачі на
кластерах під керуванням певного планувальника задач (PBS, LSF). Пакет Globus Toolkit надає адаптери для
найбільш розповсюджених систем керування кластерами і багатомашинними обчислювальними системами, але
для нестандартних систем такий адаптер треба розробляти окремо.
- Workspace Management System (далі WMS) – це сервіс, що взаємодіє з локальною операційною
системою для створення і знищення локальних користувацьких облікових записів, з використанням яких мають
виконуватися задачі GRAM. Цей сервіс реалізує дві базові стратегії керування обліковими записами: створення
запису з випадковим іменем та паролем і його знищення після виконання задачі та вибірку випадкового запису
із множини, визначеної адміністратором ресурса.
Кластери Інституту кібернетики ім. В.М. Глушкова НАН України (суперкомп’ютери родини СКІТ)
використовують власну систему планування задач. Для інтеграції суперкомпьютерів у Grid-середовище в
Інституті космічних досліджень розроблено спеціалізований адаптер, який більш детально буде описуватись
далі.
Сервіси керування даними
Сервіси цієї групи призначені для керування великими об'ємами даних, які оброблюються в Grid-
системі. До цієї групи входять такі сервіси.
- GridFTP – універсальний протокол передачі файлів по TCP-мережам, орієнтований на одночасну
взаємодію декількох серверів (на відміну від звичайного протоколу FTP, який передбачає виключно взаємодію
«сервер-клієнт»). Іншою відмінністю від традиційного FTP є інтеграція з системою безпеки Globus для
забезпечення аутентифікації користувачів та шифрування даних. Протокол GridFTP є одним із небагатьох
компонентів Globus, що реалізовані не у вигляді Grid-сервісу, а у вигляді традиційного серверного додатку.
- Reliable File Transfer (далі RFT) – сервіс передачі файлів через протокол GridFTP без необхідності
постійного з'єднання з їх отримувачем. RFT використовує GridFTP для безпечної передачі даних між ресурсами
системи. Типовим використанням сервісу є подання команди на передачу певного файлу між ресурсами
системи, після чого зв'язок клієнта із сервісом може бути перерваний. Через деякий час, подавши запит до
сервісу, користувач може з'ясувати статус виконання передачі файлу або відмінити її.
- Replica Location Service (далі RLS) – сервіс для індексації наявних реплік даних у системі, іх
каталогізації, тегування та пошуку серед цієї інформації. Для збереження і поширення інформації цим сервісом
використовується індексний сервіс.
- Data Replicator Service (далі DRS) – сервіс, що забезпечує реплікацію даних з використанням
певного набору правил. Для передачі файлів використовується сервіс RFT, а для збереження інформації про
нові репліки – сервіс RLS.
Важливим є той факт, що серед сервісів Globus Toolkit немає архівного сервісу, що поєднував би
передачу великих файлів із збереженням метаінформації про них та пошуку серед цієї інформації. Історично це
пов'язано з тим, що перші Grid-системи розроблялися для наукової обробки даних розподілених фізичних
експериментів (сейсмологія, фізика високих енергій). Їх характерною особливістю є те, що оброблювані дані
являють собою один або декілька багатовимірних і багатокомпонентних масивів. Для обробки таких даних у
Grid-середовищі існують спеціальні пакети та програмні каркаси, з яких найбільш значним є DataCutter
(http://www.cs.umd.edu/projects/hpsl/ResearchAreas/DataCutter.htm), що дозволяє виділяти і обробляти за
допомогою системи фільтрів довільний підмасив розподіленого масиву даних. Однак потреби задач обробки
супутникових даних є дещо ширшими. Окрім вищезазначеного, необхідна індексація наявних даних із
виділенням метаінформації і можливістю пошуку з її використанням.
Розробка елементів Grid-середовища для обробки супутникових даних
Як витікає із вищенаведеного, керування даними, їх обробка та надання сервісів в Grid-системах для
обробки супутникових даних можна забезпечити за допомогою стандартного програмного забезпечення.
Важливим елементом розроблюваної в Інституті космічних досліджень Grid-системи є суперкомп’ютери
родини СКІТ, для яких не існує стандартного компонента планування задач. Тому авторами розроблено дві
версії відповідного компонента, одна з яких буде описана далі.
Для Grid-систем, призначених для обробки супутникових даних важливим компонентом є архів, у
якому повинні зберігатися дані великого об’єму, різні за структурою та призначенням. Стандартні компоненти
для реалізації розподілених архівів на сьогоднішній день відсутні, тому далі буде наведено запропонований
автормами варінт реалізації такого архіву, реалізований у розроблюваній в Інституті космічних досліджень
Grid-системі.
Таким чином, Grid-середовище для обробки супутникових даних базується на використанні
компонентів загальносистемного програмного забезпечення GLOBUS Toolkit, системи пакетної обробки або
локального планування задач Condor, розроблених авторами планувальника задач для суперкомп’ютерів
Паралельне програмування. Розподілені системи і мережі
99
сімейства СКІТ та розподіленого Grid-архіву, а також прикладних сервісів, що забезпечують розв’язання
конкретних задач попередньої та тематичної обробки даних і візуалізацію реузльтатів.
У наступних розділах принципи побудови планувальника задач та Grid-архіву будуть описані більш
детально.
Адаптер до системи планування задач на кластерах СКІТ Інституту кібернетики
ім. В.М. Глушкова НАН України
Каркас Globus Toolkit висуває вимоги до реалізації зовнішніх GRAM-адаптерів. Адаптер повинен бути
реалізований як модуль на мові Perl, що надає інтерфейс з таких методів: submit(), cancel(), poll().
Метод submit() отримує дерево розбору файлу з описом задачі і повинен запустити задачу на виконання
засобами локального планувальника задач. Значення, що повертається, є сукупністю ідентифікатора задачі й
ідентифікатору її стану. Метод cancel() отримує ідентифікатор задачі і повинен припинити її виконання.
Значення, що повертається, є ознакою успішності відміни виконання задачі. Метод poll() приймає
ідентифікатор задачі і повинен визначити її стан в системі. Значення, що повертається, є ідентифікатором стану
задачі.
Можливими станами задачі є наступні:
- Unsubmitted. Задача переходить у цей стан при виникненні помилки у виконанні коду адаптеру;
- StageIn. Цей стан задача має у процесі копіювання необхідних для виконання файлів;
- Pending. Задача чекає у черзі на виконання;
- Active. Цей стан має задача, що виконується;
- Suspended. Цей стан означає, що виконання задачі тимчасово припинене;
- StageOut. Задача має цей стан при копіюванні результатів роботи;
- CleanUp. Це стан знищення результатів роботи і тимчасових файлів перед завершенням задачі;
- Done. Цей стан означає, що виконання задачі завершене успішно;
- Failed. виникла помилка під час виконання задачі.
Автори розробили адаптер до суперкомпьютерів родини СКІТ, що задовольняє зазначеним вимогам.
Головні труднощі при розробці адаптеру до системи виконання задач кластерів СКІТ були пов’язані з тим, що
дана система не проєктувалася з розрахунком на взаємодію із зовнішніми сервісами. Внаслідок цього
отримання інформації про стан виконання задачі було дуже ускладнене. Треба відмітити, що через обмеження
інтерфейсу взаємодії з системою виконання задач кластерів СКІТ принципово неможливо розрізнити задачі, що
виконалися успішно, від задач, що виконалися з помилкою.
Архітектура архіву
Для ефективного розв'язання задач, пов'язаних з обробкою космічних даних, у Grid-середовищі
необхідно реалізувати уніфікований механізм доступу до просторових даних. Це дозволить уникнути
збільшення кількості технологій, що використовуються у системі, та спростити роботу розробника при
реалізації доступу до даних.
Загальна архітектура архіву в Grid-середовищі показана на рис. 2, на ньому цифрами зазначено порядок
взаємодії компонентів при надходжені даних до системи, а буквами – порядок дій при обробці запиту
користувача.
Рис. 2. Архітектура Grid-архіву
Зовнішнім постачальником даних може виступати спеціальне обладнання (прийомна станція космічних
даних, експериментальний пристрій та ін.), інші системи, з якими налагоджено інтерфейс обміну даними або, у
найпростішому випадку, вже існуючі архіви даних.
Дані, отримані від зовнішнього постачальника, зберігаються у файловій системі ресурсу, на якому
розміщено архів. Індексація даних виконується за допомогою спеціального індексатора, який повинен бути
розроблений для кожного типу даних окремо. Його задача полягає у скануванні файлової системи для пошуку
нових файлів з даними, виділенні з них метаінформації і генерації XML-документа за встановленою схемою,
Паралельне програмування. Розподілені системи і мережі
100
що містить стуктуровану інформацію про нові дані. Індексатор реєструється у індексному сервісі Globus Toolkit
і періодично ним виконується. Дані, що генерує індексатор, надходять до загального дерева даних індексного
сервісу ресурсу, і у випадку, коли цей ресурс не є вершиною ієрархії індексних сервісів, утворених за
допомогою сервісу агрегації, передаються вище за ієрархією. У результаті головний індексний сервіс системи
завжди має детальну і актуальну (з точністю до періоду поновлення даних по ієрархії) інформацію про дані, які
присутні в усіх архівах Grid-системи.
У тому випадку, коли додаток користувача має отримати певні дані з архіву, він використовує засоби
пошуку по індексному сервісу системи і отримує адресу URL файла, що розташований в певному архіві. Якщо
користувачеві відомо, в якому архіві знаходяться необхідні йому дані, він може проводити пошук не за
головним індексним сервісом, а за індексним сервісом необхідного йому архіву, що сприяє більш рівномірному
розподілу навантаження за ресурсами системи.
В якості прикладу використання такої архітектури можна розглянути архів даних, що отримуються з
геостаціонарного супутника Meteosat. Індексатор для такої системи має надавати наступну інформацію про
знімки Meteosat:
– дата отримання знімка;
– час отримання знімка;
– ідентифікатор спектрального каналу знімка;
– адреса URL файлу.
Фрагмент результату роботи такого індексатора, що агрегується в основне дерево індексного сервісу,
виглядає таким чином:
<?xml version="1.0" standalone="yes"?>
<MeteosatInformation>
...................
<MeteosatPhoto>
<Year>05</Year>
<Month>07</Month>
<Day>29</Day>
<Hour>03</Hour>
<Minute>51</Minute>
<Channel>VIS</Channel>
<URL>gsiftp://archive.d23.local:2811/pub/meteosat/LOOP1505072903.515.tiff</URL>
</MeteosatPhoto>
....................
</MeteosatInformation>
При зверненні до індексного сервісу користувач може задавати умови, за якими буде проводитися
вибірка даних. Прикладами можливих запитів є наступні.
– Отримати знімок за певний день і певний час.
– Отримати всі знімки з видимого каналу супутника за певний день.
– Отримати знімки в певний момент на протязі місяця.
Запити формулюються за допомогою мови XPath, що призначена для здійснення вибірок інформації з
XML-файлів.
Після виконання запиту користувач отримує URL-адреси необхідних файлів, які він може отримати за
допомогою GridFTP-клієнта.
Приклад взаємодії з архівом
Розглянемо типовий сценарій взаємодії користувача з Grid-архівом знімків з супутника Meteosat.
Cпочатку користувач повинен створити тимчасовий сертифікат для аутентифікації.
reistling@ventrue ~ $ Grid-proxy-init
Your identity: /O=Space Research Institute/OU=D23/CN=Michael Korbakov
Enter GRID pass phrase for this identity: ***********
Creating proxy ..................................... Done
Your proxy is valid until: Dec 25 17:23:19 2005
Після цього користувач генерує запит до індексного сервісу віртуальної організації щодо наявних
супутникових знімків. Це можна зробити з використанням стандартного інструмента wsrf-query пакета Globus
Toolkit.
reistlin@ventrue ~ $ wsrf-query -s \ https://gis.d23.local:8443/wsrf/service/DefaultIndexService \
“//*[local-name()='MeteosatInformation']”
Паралельне програмування. Розподілені системи і мережі
101
У попередній команді користувач вказує адресу URL індексного сервісу віртуальної організації (в
наведеному прикладі https://gis.d23.local:8443/wsrf/service/DefaultIndexService). Останній аргумент є запитом на
мові XPath, що дозволяє визначити, які саме дані треба отримати. На такий запит можна отримати наступну
відповідь:
reistlin@ventrue ~ $
<?xml version="1.0" standalone="yes"?>
<MeteosatInformation>
... (пропущено)
<MeteosatPhoto>
<Year>05</Year>
<Month>07</Month>
<Day>29</Day>
<Hour>03</Hour>
<Minute>51</Minute>
<Channel>VIS</Channel>
<URL>gsiftp://archive.d23.local:2811/pub/meteosat/LOOP1505072903.515.tiff</URL>
</MeteosatPhoto>
...(пропущено)
</MeteosatInformation>
Перераховані дії позначені на рис. 2 символом A. Після отримання інформації від індексного сервісу
користувач може скопіювати файл за допомогою прямої адреси URL, наданої йому у відповідь на запит. Це
можна зробити за допомогою команди globus-url-copy (символ B на рис. 2).
reistlin@ventrue ~ $ globus-url-copy -vb \
gsiftp://archive.d23.local:2811/pub/meteosat/LOOP1505072903.515.tiff file:///home/reistlin/
Висновки
У роботі проаналізована архітектура Grid-системи обробки супутникових даних, а також виділені
найбільш важливі компоненти такої системи, які повинні бути реалізовані в першу чергу. Автори навели аналіз
програмного забезпечення, яке можна використовувати для реалізації розподіленої Grid-системи, і навели
перелік системних задач, які не можна розв'язати за допомогою наявних сервісів сучасних пакетів для розробки
Grid-середовищ, зокрема Globus Toolkit.
Розглянуті деякі компоненти Grid-системи для обробки супутникових даних, які реалізовані в Інституті
космічних досліджень НАН України та НКАУ на основі пакета Globus, а також запропоновані методи для
реалізації необхідної функціональності, а саме архівного сервісу та інтеграції з системою планування задач
кластерів Інституту кібернетики ім. В.М. Глушкова НАН України.
1. Foster I., Kesselman C., Tuecke S. The Anatomy of the Grid: Enabling Scalable Virtual Organizations International Journal of High Performance
Computing Applications, 2001. – 15 (3) – Р. 200 -222.
2. Baker M., Buyya R., Laforenza D. Grid and Grid technologies for wide-area distributed computing. Software practiсe & Experience 2002, John
Wiley & Sons Ltd.
3. Gentzsch W. Special issue on metacomputing: From workstation clusters to internet computing. Future Generation Computer Systems – 1999.
4. Buyya R. Grid ComputingInfo Center. http://www.GridComputing.com
5. Baker M., Grid Computing. IEEE DS Online. http://www.computer.org/dsonline/gc/
6. The Globus Alliance, офіційний сайт – www.globus.org
7. Проект gLite, офіційний сайт – http://www.glite.org
8. Проект EDG, офіційний сайт – http://eu-dataGrid.web.cern.ch/eu-dataGrid/
9. Проект LGG, офіційний сайт – http://lcg.web.cern.ch/LCG/
10. Проект Alien, офіційний сайт – http://alien.cern.ch/
11. Проект NorduGrid, офіційний сайт – http://www.norduGrid.org/
12. Проект Gridbus, офіційний сайт – http://www.Gridbus.org/
13. Офіційний сайт каркасу Globus Toolkit – http://www.globus.org/toolkit
14. The Globus Alliance, General Information about Security (GSI) – http://www.globus.org/toolkit/security/general.html
15. IETF – Public-Key Infrastructure (X.509) (pkix), 2005.
16. IETF – Transport Layer Security (tls), 2005.
17. Проект Apache Axis, офіційний сайт – http://ws.apache.org/axis/
18. W3C – XML Path Language (XPath)Version 1.0, 1999.
|
| id | nasplib_isofts_kiev_ua-123456789-1593 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 1727-4907 |
| language | Ukrainian |
| last_indexed | 2025-12-07T17:34:06Z |
| publishDate | 2006 |
| publisher | Інститут програмних систем НАН України |
| record_format | dspace |
| spelling | Шелестов, А.Ю. Лобунець, А.Г. Корбаков, М.Б. 2008-08-27T09:46:57Z 2008-08-27T09:46:57Z 2006 Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних / А.Ю. Шелестов, М.Б. Корбаков, А.Г. Лобунець // Проблеми програмування. — 2006. — N 2-3. — С. 94-101. — Бібліогр.: 18 назв. — укр. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/1593 681.51 У роботі розглянуто загальний підхід до побудови Grid-систем для обробки супутникових даних. Проаналізоване існуюче
 програмне забезпечення, придатне для розробки подібних систем, і виділені функціональні області, що їм не покриваються.
 Запропоновані методи для реалізації необхідних функціональних компонентів, а саме, архівного сервісу, та інтеграції з системою
 планування задач кластерів Інституту кібернетики ім. В.М. Глушкова НАН України. This paper describes general approach to implementation of Grid systems for solving the problems of satellite data processing. Current
 situtation in the area of Grid software is being analyzed and uncovered functional regions are found. This paper proposes methods for
 implementation of missing functionality namely data archive service and integration with scheduling system of computational clusters of
 Institute of Cybernetics, NASU. uk Інститут програмних систем НАН України Паралельне програмування. Розподілені системи і мережі Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних Implementation of GRID-Infrastucture for Satellite Data Processing Article published earlier |
| spellingShingle | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних Шелестов, А.Ю. Лобунець, А.Г. Корбаков, М.Б. Паралельне програмування. Розподілені системи і мережі |
| title | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних |
| title_alt | Implementation of GRID-Infrastucture for Satellite Data Processing |
| title_full | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних |
| title_fullStr | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних |
| title_full_unstemmed | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних |
| title_short | Реалізація Grid-інфраструктури для розв’язання задач обробки супутникових даних |
| title_sort | реалізація grid-інфраструктури для розв’язання задач обробки супутникових даних |
| topic | Паралельне програмування. Розподілені системи і мережі |
| topic_facet | Паралельне програмування. Розподілені системи і мережі |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/1593 |
| work_keys_str_mv | AT šelestovaû realízacíâgridínfrastrukturidlârozvâzannâzadačobrobkisuputnikovihdanih AT lobunecʹag realízacíâgridínfrastrukturidlârozvâzannâzadačobrobkisuputnikovihdanih AT korbakovmb realízacíâgridínfrastrukturidlârozvâzannâzadačobrobkisuputnikovihdanih AT šelestovaû implementationofgridinfrastuctureforsatellitedataprocessing AT lobunecʹag implementationofgridinfrastuctureforsatellitedataprocessing AT korbakovmb implementationofgridinfrastuctureforsatellitedataprocessing |