Львівський національний університет імені Івана Франка
Лабораторія комп'ютерних інформаційних технологій
вул. Драгоманова, 50, Львів, 79005
тел.: (032) 2394677            e-mail:
ГоловнаНавчальний кластерGrid-технології
Мапа сайту
Українська
English
Навчальний кластер
Новини кластера
Наші партнери

Розподілені обчислення полягають в обробці незалежних між собою підзавдань для отримання одного кінцевого результату.

 

У лабораторії комп'ютерних інформаційних технологій впроваджено дві методики розподілених комп’ютерних обчислень для виконання складних обчислювальних науково-практичних і навчальних задач.

 

Перша методика використовує Grid-технології розподілених обчислень в локальній мережі факультету, використовуючи при цьому вільні обчислювальні ресурси комп’ютерів не перешкоджаючи їх нормальній роботі. Використано програмне забезпечення з відкритим кодом BOINC. Встановлено та налаштовано сервер BOINC під управлінням ОС Linux Debian, який організовує розподіл завдань між клієнтами, а також має можливість звірки результатів та формування кінцевого результату для виконуваних задач.

 

Для того щоб виконати задачу з використанням розподілених обчислень на основі BOINC потрібно:

  1. Сформувати набір незалежних підзавдань, або створити програму генератор завдань, яка буде виконуватися на сервері BOINC. Приклади генератора завдань BOINC доступні в документації: WorkGeneration.
  2. Скласти програму використовуючи BOINC-API, або адаптовану до виконання з допомогою BOINC-Wrapper. Приклади програм приведені в документації. Основні вимоги до адаптації програм:
    1. Програма повинна бути консольною і виконуватись в фоновому режимі без очікування вводу з клавіатури і т.д.
    2. Не використовувати специфічних модулів чи бібліотек, використовувані модулі повинні надаватися разом з програмою.
    3. Не використовувати мережних з’єднань та спеціалізованих засобів операційної системи, не призупиняти свою роботи (sleep …)
    4. Для роботи з файлами використовувати тільки відносні шляхи (відносно папки де виконується програма) і відкривати файли або тільки для читання або тільки для запису.
  3. При потребі скласти програму формування кінцеового результату чи опрацювання результатів підзадач.

 

Друга методика використовує технології розподілених обчислень в кластері. Вона базується на основі системи Condor, під управлінням кластерної системи Rocks. Система дає можливість створювати черги завдань, які виконаються відповідно до заданих правил у строго визначеному чи невизначеному порядку на тих чи інших вузлах кластера.

 

Для того щоб виконати розподілені обчислення з використанням системи Condor потрібно визначити правила і послідовність виконання програм, надати виконавчі файли програм і потрібні вхідні файли. Програми, що виконуються раніше можуть створювати вхідні файли для програм, що виконаються пізніше. Детальну інформацію про доступні варіанти виконання програм можна отримати у документації.

 

В загальному випадку для постановки завдань в чергу Condor та їх виконання потрібно:

  1. Підготувати вхідні дані для окремих завдань (вручну чи за допомогою програмних засобів).
  2. Вибрати середовище (набір умов) в якому повинні виконуватись завдання. Забезпечити доступ до вхідних і вихідних файлів завдань тим чи іншим способом (NFS, Condor FileTransfer, …).
  3. Створити виконавчий файл програми, який повинен виконуватися на робочих вузлах відповідно до вимог системи Condor та встановленої операційної системи.
  4. Створити файл опису завдання Condor з параметрами виконання, вказаними вхідними і вихідними файлами і т.д.
  5. Додати завдання в чергу Condor за допомогою команди condor_submit.
  6. Після виконання завдань отримати вихідні файли (відповідно до способу виконання завдань) та при потребі виконати програму обробки результатів.

 

З питаннями щодо розподілених обчислень можна звертатись:

shiyka@electronics.wups.lviv.ua

 


© 2003-2011 Міжкафедральна лабораторія комп'ютерних інформаційних технологій,
Факультет електроніки, Львівський національний університет імені Івана Франка
Останні зміни