Підхід до реалізації інтерфейсів кластерних систем
Виконано порівняльний аналіз методів реалізації інтерфейсів для кластерних систем, побудованих на платформі MS HPC, внаслідок чого обґрунтовано метод формування Web-інтерфейсу такого кластера. Відповідно до запропонованого методу наведено варіант реалізації інтерфейсу кластера, впровадженого в MS ІТ...
Збережено в:
| Дата: | 2009 |
|---|---|
| Автори: | , , , , |
| Формат: | Стаття |
| Мова: | Ukrainian |
| Опубліковано: |
Інститут програмних систем НАН України
2009
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/4412 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Підхід до реалізації інтерфейсів кластерних систем / В.А. Мар’яновський, О.В. Дворцов, Ю.В. Бойко, Д.Б. Грязнов, С.Д. Погорілий // Пробл. програмув. — 2009. — № 2. — С. 22-29. — Бібліогр.: 20 назв. — укр. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| id |
nasplib_isofts_kiev_ua-123456789-4412 |
|---|---|
| record_format |
dspace |
| spelling |
Мар’яновський, В.А. Дворцов, О.В. Бойко, Ю.В. Грязнов, Д.Б. Погорілий, С.Д. 2009-11-02T14:59:57Z 2009-11-02T14:59:57Z 2009 Підхід до реалізації інтерфейсів кластерних систем / В.А. Мар’яновський, О.В. Дворцов, Ю.В. Бойко, Д.Б. Грязнов, С.Д. Погорілий // Пробл. програмув. — 2009. — № 2. — С. 22-29. — Бібліогр.: 20 назв. — укр. 1727-4907 https://nasplib.isofts.kiev.ua/handle/123456789/4412 681.3 Виконано порівняльний аналіз методів реалізації інтерфейсів для кластерних систем, побудованих на платформі MS HPC, внаслідок чого обґрунтовано метод формування Web-інтерфейсу такого кластера. Відповідно до запропонованого методу наведено варіант реалізації інтерфейсу кластера, впровадженого в MS ІТ-академії інформаційно-обчислюваль-ного центру Київського національного університету імені Тараса Шевченка.---------- Выполнен сравнительный анализ методов реализации интерфейсов для кластерных систем, построенных на платформе MS CCS, в результате чего обосновано метод формирования Web-интерфейса такого кластера. Согласно с предложенным методом приведен вариант реализации интерфейса кластера, внедренного в MS IT-академии информационного-вычислительного цента Киевского национального университета имени Тараса Шевченко.---------------- The relative analysis of interface implementation methods of built on MS CCS framework cluster system has been made to justify the Web-interface generation method of such cluster. According to suggested technique the cluster interface implementation option has been given as example. This instance has been implemented in Microsoft IT Academy of Informational and Computing Center of National Taras Shevchenko University of Kyiv. uk Інститут програмних систем НАН України Моделі та засоби паралельних і розподілених програм Підхід до реалізації інтерфейсів кластерних систем Подход к реализации интерфейсов кластерных систем The approach of cluster system interfaces implementation Article published earlier |
| institution |
Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| collection |
DSpace DC |
| title |
Підхід до реалізації інтерфейсів кластерних систем |
| spellingShingle |
Підхід до реалізації інтерфейсів кластерних систем Мар’яновський, В.А. Дворцов, О.В. Бойко, Ю.В. Грязнов, Д.Б. Погорілий, С.Д. Моделі та засоби паралельних і розподілених програм |
| title_short |
Підхід до реалізації інтерфейсів кластерних систем |
| title_full |
Підхід до реалізації інтерфейсів кластерних систем |
| title_fullStr |
Підхід до реалізації інтерфейсів кластерних систем |
| title_full_unstemmed |
Підхід до реалізації інтерфейсів кластерних систем |
| title_sort |
підхід до реалізації інтерфейсів кластерних систем |
| author |
Мар’яновський, В.А. Дворцов, О.В. Бойко, Ю.В. Грязнов, Д.Б. Погорілий, С.Д. |
| author_facet |
Мар’яновський, В.А. Дворцов, О.В. Бойко, Ю.В. Грязнов, Д.Б. Погорілий, С.Д. |
| topic |
Моделі та засоби паралельних і розподілених програм |
| topic_facet |
Моделі та засоби паралельних і розподілених програм |
| publishDate |
2009 |
| language |
Ukrainian |
| publisher |
Інститут програмних систем НАН України |
| format |
Article |
| title_alt |
Подход к реализации интерфейсов кластерных систем The approach of cluster system interfaces implementation |
| description |
Виконано порівняльний аналіз методів реалізації інтерфейсів для кластерних систем, побудованих на платформі MS HPC, внаслідок чого обґрунтовано метод формування Web-інтерфейсу такого кластера. Відповідно до запропонованого методу наведено варіант реалізації інтерфейсу кластера, впровадженого в MS ІТ-академії інформаційно-обчислюваль-ного центру Київського національного університету імені Тараса Шевченка.----------
Выполнен сравнительный анализ методов реализации интерфейсов для кластерных систем, построенных на платформе MS CCS, в результате чего обосновано метод формирования Web-интерфейса такого кластера. Согласно с предложенным методом приведен вариант реализации интерфейса кластера, внедренного в MS IT-академии информационного-вычислительного цента Киевского национального университета имени Тараса Шевченко.----------------
The relative analysis of interface implementation methods of built on MS CCS framework cluster system has been made to justify the Web-interface generation method of such cluster. According to suggested technique the cluster interface implementation option has been given as example. This instance has been implemented in Microsoft IT Academy of Informational and Computing Center of National Taras Shevchenko University of Kyiv.
|
| issn |
1727-4907 |
| url |
https://nasplib.isofts.kiev.ua/handle/123456789/4412 |
| citation_txt |
Підхід до реалізації інтерфейсів кластерних систем / В.А. Мар’яновський, О.В. Дворцов, Ю.В. Бойко, Д.Б. Грязнов, С.Д. Погорілий // Пробл. програмув. — 2009. — № 2. — С. 22-29. — Бібліогр.: 20 назв. — укр. |
| work_keys_str_mv |
AT marânovsʹkiiva pídhíddorealízacííínterfeisívklasternihsistem AT dvorcovov pídhíddorealízacííínterfeisívklasternihsistem AT boikoûv pídhíddorealízacííínterfeisívklasternihsistem AT grâznovdb pídhíddorealízacííínterfeisívklasternihsistem AT pogoríliisd pídhíddorealízacííínterfeisívklasternihsistem AT marânovsʹkiiva podhodkrealizaciiinterfeisovklasternyhsistem AT dvorcovov podhodkrealizaciiinterfeisovklasternyhsistem AT boikoûv podhodkrealizaciiinterfeisovklasternyhsistem AT grâznovdb podhodkrealizaciiinterfeisovklasternyhsistem AT pogoríliisd podhodkrealizaciiinterfeisovklasternyhsistem AT marânovsʹkiiva theapproachofclustersysteminterfacesimplementation AT dvorcovov theapproachofclustersysteminterfacesimplementation AT boikoûv theapproachofclustersysteminterfacesimplementation AT grâznovdb theapproachofclustersysteminterfacesimplementation AT pogoríliisd theapproachofclustersysteminterfacesimplementation |
| first_indexed |
2025-11-25T22:45:32Z |
| last_indexed |
2025-11-25T22:45:32Z |
| _version_ |
1850571643905114112 |
| fulltext |
Моделі та засоби паралельних і розподілених програм
22
УДК 681.3
В.А. Мар’яновський, О.В. Дворцов, Ю.В. Бойко, Д.Б. Грязнов, С.Д. Погорілий
ПІДХІД ДО РЕАЛІЗАЦІЇ ІНТЕРФЕЙСІВ КЛАСТЕРНИХ
СИСТЕМ
Виконано порівняльний аналіз методів реалізації інтерфейсів для кластерних систем, побудованих на
платформі MS HPC, внаслідок чого обґрунтовано метод формування Web-інтерфейсу такого кластера.
Відповідно до запропонованого методу наведено варіант реалізації інтерфейсу кластера, впроваджено-
го в MS ІТ-академії інформаційно-обчислювального центру Київського національного університету
імені Тараса Шевченка.
Вступ
Одним із основоположних принци-
пів відкритих систем є доступність (avail-
ability), що висуває задачу наявності гнуч-
кого та зручного доступу до потужних об-
числювальних ресурсів таких систем. Вона
досягається при використанні універсаль-
ного механізму доступу користувачів до
обчислювальних систем з урахуванням
безпеки та гнучкості при користуванні.
Існує фізичне обмеження на збіль-
шення тактової частоти мікропроцесорів
комп’ютерів, тому альтернативою для збі-
льшення обчислювальної потужності є
використання паралелізму при розрахун-
ках. Поява кластерних систем та паралель-
них обчислень дозволяє значно підвищити
масштаб застосування потужних
комп’ютерів [1].
У статті розглянуто методи доступу
до кластерних обчислювальних систем та
виконано їх порівняльний аналіз. Запропо-
новано концепцію створення інструмента-
льних засобів для роботи з кластером, що
забезпечує досить гнучку роботу користу-
вача в поєднанні з забезпеченням відпові-
дними функціями та повним контролем
його дій. Підхід орієнтовано на викорис-
тання кластерів побудованих на програм-
ній платформі Windows HPC Server 2008
(HPC) для 64-x розрядної операційної сис-
теми (ОС) Windows Server 2008 [2]. До
складу HPC входить підтримка Microsoft
MPI (MS MPI) – стек MPI, оснований на
стандарті MPICH2 Аргонської національ-
ної лабораторії та повністю з ним суміс-
ний, а також можливе використання інших
стеків MPI, які розроблені відповідно до
стандарту MPI2 (MPI2 – це розширення
вихідної специфікації MPI).
Один з прикладів кластера, розгля-
нутого в роботі, реалізовано в Київському
національному університеті імені Тараса
Шевченка [3]. У ролі комунікаційного се-
редовища між вузлами кластера викорис-
тано протокол Ethernet зі швидкістю пере-
дачі даних 1 Гбіт. Такий варіант комуніка-
ційного середовища є найбільш розповсю-
дженим та задовольняє вимогам побудови
кластерних систем, що було показано в [4].
Вибір швидкості передачі комунікаційного
середовища обумовлений оптимальним
співвідношення між затримками при пере-
дачі даних та вартістю обладнання.
Методи доступу до кластерних
систем
Незалежно від методу побудови
кластера завжди необхідно передбачити
метод доступу користувачів до обчислю-
вальних ресурсів. Один з методів полягає у
виділенні окремого комп’ютера для запус-
ку задач на кластері та доступ до результа-
тів виконаних обчислень. Характерними
особливостями методу є:
• необхідність виділення окремого
робочого місця для користувачів
кластера;
• контрольованість доступу до обчи-
слювальних ресурсів;
• ускладнена організація доступу до
кластера, враховуючи, що в загальному
випадку робоче місце має бути розташова-
не в спільній з кластером локальній мере-
жі. Найбільш гостро ця проблема постає
при користуванні кластером співробітни-
ками сторонніх організацій.
Зазначені недоліки стають більш
актуальними для кластерних систем у ве-
© В.А. Мар’яновський, О.В. Дворцов, Ю.В. Бойко, Д.Б. Грязнов, С.Д. Погорілий, 2009
ISSN 1727-4907. Проблеми програмування. 2009. № 2
Моделі та засоби паралельних і розподілених програм
23
ликих або децентралізованих організаціях.
Тому, альтернативним методом є дистан-
ційний доступ до кластера, який можливо
реалізувати декількома варіантами:
• на основі протоколів дистанційного
доступу;
• використання вбудованої графічної
компоненти для роботи з задачами на
кластері – Compute Cluster Job Manager
(CCJM);
• створення Web-інтерфейсу.
При побудові кластерних систем на
базі інших платформ та ОС (не Microsoft),
можливі інші методи, пов’язані з особли-
востями платформ та ОС, які будуть вико-
ристані.
У ролі програмного забезпечення
для дистанційного доступу до кластеру
може виступати:
• вбудований в ОС сервіс терміналь-
них підключень на основі протоколу RDP
(Remote Desktop Protocol), клієнтська час-
тина якого вбудована в майже всі версій
ОС Windows, Linux, FreeBSD, Mac OS X;
• Radmin (програмне забезпечення
без можливості вільного розповсюджен-
ня), яке дозволяє отримати доступ до від-
даленого ресурсу з відсутністю можливос-
ті одночасної роботи декількох користува-
чів. Недоліком виступає необхідність по-
передньої інсталяції клієнтської та сервер-
ної частин програмного забезпечення, що
зменшує доступність кластерної системи в
загальному випадку;
• RealVNC – програмне забезпечення,
функціонально аналогічне Radmin.
На початкових етапах роботи клас-
тера в Київському національному універ-
ситеті імені Тараса Шевченка доступ було
реалізовано з використанням досить роз-
повсюдженого протоколу RDP. За функці-
ональністю дистанційний доступ не відрі-
зняється від виділення окремого робочого
місця для роботи з кластером, також його
перевагою є можливість функціонування
через низькошвидкісне з’єднання. З іншо-
го боку, використовуючи цей метод, кори-
стувач отримує доступ до термінального
сервера з можливостями, які обмежені ли-
ше груповими політиками, тому задача
обмежень прав доступу та проведення об-
лік дії користувача досить ускладнена, що
зменшує рівень захищеності системи.
Ще один метод дистанційного до-
ступу до кластера користувачем полягає у
використанні CCJM, для цього необхідно
встановити програмне забезпечення CCJM
на комп’ютер користувача та використо-
вувати його для встановлення та контролю
виконання задач на кластері. В загальному
випадку комп’ютер користувача має бути в
одному домені з кластером під керуванням
служби Active Directory (AD), а отже до-
ступ до кластера в такому режимі можли-
вий лише в межах мережі однієї організа-
ції або одного підрозділу, що накладає
обмеження на його використання, а також
на клієнтську ОС. Це пов’язано з відсутні-
стю у CCJM функціональності пов’язаної з
аутентифікацією користувачів, тому вона
має проходити використовуючи вбудовані
можливості клієнтської операційної сис-
теми, що виконує служба AD.
Всі функціональні можливості, не-
обхідні користувачу, можна реалізувати за
допомогою Web-інтерфейсу, що дозволяє
надати йому найбільш універсальний ін-
струмент дистанційної роботи. У цьому
методі немає обмежень на кількість одно-
часно працюючих користувачів у порів-
нянні з попередніми методами і він не на-
кладає обмежень на клієнтську ОС. Це
метод також забезпечує найбільш високий
рівень захищеності кластера від користу-
вача і дозволяє повністю контролювати всі
його дії. Ураховуючи такі переваги доступ
до кластера в університеті було замінено
на використання Web-інтерфейсу.
Створення інтерфейсу доступу до
обчислювальних ресурсів
Для реалізації Web-інтерфейсу мо-
жливо використовувати різноманітні ін-
струментальні засоби в різних середови-
щах програмування, але враховуючи, що
він призначений для забезпечення доступу
до Windows платформ, найбільша суміс-
ність досягається при використані інстру-
ментарію компанії Microsoft. Тому, інтер-
фейс створювався з використанням мови
програмування С# у середовищі розробки
Microsoft Visual Studio 2008 на платформі
ASP.NET. Як Web-сервер використано
Моделі та засоби паралельних і розподілених програм
24
Internet Information Services (IIS) на ОС
Windows Server 2008.
Базові функціональні можливості
інтерфейсу дозволяють здійснювати:
• аутентифікацію користувачів;
• завантаження файлів (вхідних да-
них для задач, які виконуються на
кластері);
• роботу з результатами кластерних
обчислень;
• встановлення та моніторинг задач
на кластері;
• збір різноманітних статистичних
даних роботи кластера та його зава-
нтаженості.
Будь-яка інша функціональність є
додатковою у залежності від специфіки
реалізації обчислювального ресурсу в різ-
номанітних організаціях. Додатковими
функціональними можливостями можуть
бути:
• компіляція вихідного коду задач;
• механізм обміну повідомленнями
між користувачами;
• обмін досвідом по користуванню
кластером;
• читання новин;
• тощо.
Обчислювальні ресурси об’єд-
нуються в єдину систему та мають центра-
лізоване керування на основі служби AD,
під керуванням якої знаходяться і корис-
тувачі кластера. Тому найбільш коректний
метод аутентифікації користувачів має
бути побудований на роботі з службою
AD. Для цього може бути використано
протокол LDAP (Lightweight Directory
Access Protocol), який підтримується тех-
нологією ASP.NET. Є декілька методів
роботи з AD, що ґрунтуються на протоколі
LDAP. Один з них може бути реалізований
з використанням простору імен Syste-
m.DirectoryServices. Для перевірки корис-
тувача спочатку необхідно ініціалізувати
об’єкт типу DirectoryEntry, зазначений при
цьому параметри облікового запису адмі-
ністратора (користувача з правами роботи
з службами AD) та шлях до AD-серверу,
який складається, у свою чергу з протоко-
лу (LDAP) та адреси сервера. Потім за до-
помогою методу FindAll() об’єкта типу
DirectorySearch перевірити наявність
необхідного користувача в службі AD.
Мовою програмування С# фрагмет коду
виглядає так:
using System.DirectoryServices;
// ...
// Звернення до AD під обліковим записом адміністратора з відповідним
// іменем та паролем до AD домену (domain.name)
DirectoryEntry de = new DirectoryEntry( "LDAP://domain.name",
"_admin_username",
"_admin_password",
AuthenticationTypes.Secure);
de.username = “user_name”;
de.password = “user_password”;
// Пошук по AD
DirectorySearch deSerach = new DirectorySearch();
deSearch.SearchRoot = de;
// Визначення кількості знайдених результатів
if( deSearch.FindAll().Count > 0 )
// Ім’я та пароль користувача вірний
else
// Помилкові параметри користувача при аутентифікації
Моделі та засоби паралельних і розподілених програм
25
Для платформи ASP.NET вико-
ристовується конфігураційний файл
web.config, який може бути визначеним
для кожного каталогу. В конфігураційному
файлі слід зазначити, що для доступу до
вмісту каталогу необхідно пройти аутен-
тифікацію, а також зазначити сторінку, яка
буде використана для цього. Фрагмент
коду буде виглядати наступним чином
(конфігураційний файл задається мовою
XML):
<authentication mode="Forms">
<!—- Login.aspx – сторінка для аутентифікації -->
<!—- Default.aspx – перша сторінка після аутентифікації -->
<forms name="ADAuth" timeout="10"
loginUrl="Login.aspx" defaultUrl="Default.aspx">
</forms>
</authentication>
<authorization>
<!—- заборона доступу невідомому користувачу -->
<deny users="?"/>
<allow users="*"/>
</authorization>
Для встановлення та моніторингу
задач на кластері використано простір імен
Microsoft.ComputeCluster, для його вико-
ристання необхідний набір інструменталь-
них засобів для розробки (Software De-
velopment Kit [5]), який входить до Com-
pute Cluster Pack. Робота з задачами на
кластері вимагає комбінації імені обліко-
вого запису та пароля у службі AD, це ще
одна причина, з якої аутентифікація корис-
тувачів кластера має бути інтегрованою зі
службою AD, її необхідно виконати до
початку роботи з кластером. Для отриман-
ня набору задач на кластері використову-
ється метод ListAllJobs(), який повертає
набір задач на кластері в об’єкті типу
IEnumerator. Для проходу по всьому набо-
ру задач використовується метод
MoveNext() у циклі while, а поточну задачу
можна отримати використовуючи власти-
вість Current. Фрагмент коду мовою С#
виглядає наступним чином:
using Microsoft.ComputeCluster;
// ...
// 192.168.1.1 – ip-адреса головного вузла кластеру
ICluster cluster = new Cluster();
cluster.Connect("192.168.1.1");
// Отримання списку задач на кластері
IEnumerator jobsList = cluster.ListAllJobs().GetEnumerator();
IJob currentJob;
jobsList.Reset();
// Прохід по всім задачам на кластері
while (jobsList.MoveNext())
{
currentJob = (IJob)jobsList.Current;
// Відображення певним чином currentJob користувачу.
}
Моделі та засоби паралельних і розподілених програм
26
Запропонований метод формування
графічного інтерфейсу дозволяє сформу-
вати вікно, яке показано на рис. 1.
Роботу з вихідними даними та вста-
новлення початкових даних задач класте-
ра можна виконувати використовуючи
файли. Кожен з вузлів кластера повинен
мати доступ до вхідних і вихідних даних.
Для забезпечення спільної роботи з фай-
лами в кластері було використано прото-
кол Windows Server Message Block (SMB)
Protocol, тому в інтерфейсі робота з ре-
зультатами зводиться до роботи з файлами
за протоколом SMB.
Рис. 1. Список задач на кластері
Одна з найважливіших функцій ін-
терфейсу полягає у встановленні задач на
кластер. У термінологій HPC для встанов-
лення задачі на кластер необхідно створи-
ти проект (job), зазначивши його назву та
мінімальну кількість процесорів при якому
буде розпочате виконання проекту та мак-
симальну кількість процесорів, яку може
зайняти проект. Проект у свою чергу може
складатися з довільної кількості завдань
(task). Для створення завдання задаються
такі базові параметри: мінімальна та мак-
симальна кількість процесів для завдання,
назва, робоча директорія (робота з файла-
ми відбувається за протоком SMB), файли
для стандартного потоку вводу-виводу,
файл помилок та команда для виконання
завдання. Враховуючи той факт, що про-
грама користувача (pi.exe) розроблена з
використанням інтерфейсу MPI, вона роз-
починається з команди mpiexeс. Після
створення необхідної кількості завдань
проект можна надіслати на виконання. Код
фрагмента мовою С# виглядає так:
Моделі та засоби паралельних і розподілених програм
27
using Microsoft.ComputeCluster;
// ...
ClusterConnect cluster_connect = ClusterConnect.GetInstance();
// Перед встановленням задач на кластер, необхідно встановити з’єднання
// з кластером, яке було виконано попередньо
// ...
IJob m_job = new Job();
ITask task = new Microsoft.ComputeCluster.Task();
// Поділювальний каталог використовується як робочий
task.WorkDirectory = "\\user\bin\";
task.CommandLine = "mpiexec pi.exe 1000";
// Стандартний файл вводу, виводу та помилок
task.Stdin = "stdin.txt";
task.Stdout = "stdout.txt";
task.Stderr = "stderror.txt";
// Мінімально та максимально необхідна кількість процесорів для завдання
task.MinimumNumberOfProcessors = 2;
task.MaximumNumberOfProcessors = 4;
// Процедура додавання завдання до проекту
m_job.AddTask(task);
m_job.Name = “Job name”;
m_job.Project = “Project name”;
// Необхідна мінімальна та максимальна кількість процесорів для проекту
m_job.MinimumNumberOfProcessors = 2;
m_job.MaximumNumberOfProcessors = 4;
// Встановлення та запуск проекту на кластері
cluster_connect.cluster.AddJob(m_job);
// Властивості username та password для об’єкту cluster_connect
// були вказані користувачем при аутентифікації
cluster_connect.cluster.SubmitJob( m_job.Id, cluster_connect.username,
cluster_connect.password, true,0);
Збір статистики функціонування
кластера: кількість встановлених задач на
кластері (рис. 2), завантаженість кластера в
певний момент часу, час виконання задач
тощо. Все це можливо реалізувати викори-
стовуючи простір імен Microsoft.
ComputeCluster або розробити персональну
службу, яка буде збирати періодично не-
обхідну інформацію з вузлів кластера. Для
роботи HPC використовує базу даних
Microsoft SQL Server, тому збір інформації
про кластер можливо виконати через звер-
нення до його бази даних декількома ме-
тодами:
• використовуючи мову структурова-
них запитів SQL (Structured Query Lan-
guage), яка використовується для створен-
ня, модифікації та керування даними в ре-
ляційних базах даних;
• використовуючи спеціальну мову
запитів для .Net Framewaork – LINQ (Lan-
guage Integrated Query), що дозволяє вико-
нувати запити до типізованих даних,
об’єктів які знаходяться в пам'ять чи в
XML документі.
Мова LINQ, враховуючи її універсаль-
ність та простоту використання, була
обрана для роботи з базою даних. Для
збору статистики кластера використовую-
чи мову LINQ необхідно в конфігурацій-
ному файлі (web.config) задати пара-
метри з’єднання з базою даних кластера.
Моделі та засоби паралельних і розподілених програм
28
Код конфігураційного файлу мовою XML,
який формує рядок з’єднання
(CCPClusterServiceConnectionString) до
бази даних (CCPClusterService), виглядає
так:
<connectionStrings>
<add name="CCPClusterServiceConnectionString" connectionString="Data
Source=HEADNODE\COMPUTECLUSTER;Initial
Catalog=CCPClusterService;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
Розглянемо приклад звернення до
таблиці ClusterDiagnostics, використовую-
чи мову запитів LINQ для отримання спи-
ску вузлів кластера (фрагмент коду сфор-
мовано мовою С#):
ClusterDiagnosticsDataContext DB_Linq = new ClusterDiagnosticsDataContext();
List<NodeDiagnostics> nodes_list;
nodes_list = (
from diag in DB_Linq.ClusterDiagnostics
group diag by diag.NodeName into nodes
select new NodeDiagnostics(nodes.FirstOrDefault().NodeName)).ToList();
foreach (NodeDiagnostics node in nodes_list)
{
//проходження по всім вузлам кластера присутні в ClusterDiagnostics
}
У цьому прикладі типи
ClusterDiagnosticsDataContext та
NodeDiagnostics мають бути попередньо
визначеними і відповідати структурі існу-
ючої бази даних, в якій зберігається стати-
стика роботи кластера (відповідає типу
ClusterDiagnosticsDataContext). Власти-
вість ClusterDiagnostics об’єкта DB_Linq
відповідає таблиці ClusterDiagnostics у ба-
зі, а NodeDiagnostics інформації з таблиці
ClusterDiagnostics, яка стосується кожного
вузла кластера окремо.
Однією з додаткових можливостей
може буди компіляція вихідного коду в
виконуваний файл. Для цього необхідно
надати можливість користувачу заванта-
жувати вихідні файли на кластер та надати
можливість компіляції, яка в такому разі
буде виконуватись через надсилання від-
повідних дистанційних команд, тобто з
використанням інтерфейсу командного
рядка. При використанні HPC відсутня
необхідність компіляції вихідного коду
безпосередньо на вузлах кластера, що дає
змогу користувачу використовувати попе-
редньо відкомпільований та відлагоджений
виконуваний файл. У ролі найбільш зруч-
ного та потужного інструмента для розро-
бки користувачами може бути використано
Visual Studio, яку необхідно буде встано-
вити кожному з користувачів окремо. Для
кластера побудованого на платформі Unix,
необхідна компіляція вихідного коду без-
посередньо на вузлах кластера [6]. Тому,
при створенні Web-інтерфейсу для класте-
рів побудованих на інших платформах не-
обхідність компіляції вихідного коду має
бути обов’язковою умовою.
Розглянутий інтерфейс користувача
повністю зворотно сумісний з попере-
дньою версією MS HPC – Microsoft Com-
pute Cluster Server 2003.
Моделі та засоби паралельних і розподілених програм
29
Рис. 2. Статистика встановлення задач
Висновки
У роботі проаналізовано методи ре-
алізації інтерфейсів кластерів, внаслідок
чого запропоновано методи побудови ін-
терфейсу кластера з використанням HPC.
Виконано порівняльну характеристику
запропонованих методів. Сформовано під-
хід до побудови програмних засобів в ор-
ганізації для доступу до її потужного об-
числювального ресурсу. Запропонований
метод вже реалізовано експериментально і
він функціонує в обчислювальному центі
Київського національного університету
імені Тараса Шевченка.
1. Антонов А.С. Параллельное программиро-
вание с использованием технологий MPI //
Изд-во Моск. ун-та. – 2004. –С. 5.
2. [Інтернет посилання]: Windows HPC
Server 2008
http://www.microsoft.com/hpc/default.aspx
3. [Інтернет посилання]: Програмне забез-
печення UACluster
http://codeplex.com/UACluster
4. Погорілий С.Д., Бойко Ю.В., Грязнов Д.Б.,
та інші. Концепція створення гнучких го-
могенних архітектур кластерних систем //
Проблеми програмування. – 2008. – № 2-3.
– С. 84–90.
5. [Інтернет посилання]: Microsoft Compute
Cluster SDK http://www.microsoft.com/
6. [Інтернет посилання]: Обчислювальний
кластер Київського національного
університету імені Тараса Шевченка
http://cluster.univ.kiev.ua/
Отримано 16.01.2009
Про авторів:
Марьяновський Віталій Анатолійович,
аспірант кафедри напівпровідникової еле-
ктроніки, Київського національного уні-
верситету імені Тараса Шевченка,
Дворцов Олександр Валерійович,
студент радіофізичного факультету, Київ-
ського національного університету імені
Тараса Шевченка,
Бойко Юрій Володимирович,
завідувач кафедри напівпровідникової еле-
ктроніки, Київського національного уні-
верситету імені Тараса Шевченка,
Грязнов Дмитро Борисович,
асистент кафедри напівпровідникової еле-
ктроніки, Київського національного уні-
верситету імені Тараса Шевченка,
Погорілий Сергій Дем’янович,
професор кафедри напівпровідникової
електроніки, Київського національного
університету імені Тараса Шевченка.
Місце роботи авторів:
Київський національний
університет імені Тараса Шевченка,
Тел.: 521 3347,
vitalik_m@univ.kiev.ua, dvortsov@ukr.net,
boyko@univ.net.ua, dima@univ.kiev.ua,
sdp@rpd.univ.kiev.ua
|