Запис Детальніше

Розробка програмного комплексу для метакомп’ютерних обчислень

Журнал "Новітні комп'ютерні технології"

Переглянути архів Інформація
 
 
Поле Співвідношення
 
Title Розробка програмного комплексу для метакомп’ютерних обчислень
Разработка программного комплекса для метакомпьютерних вычислений
Development of Software for Metacomputer Computing
 
Creator Чумак, Дмитро Олександрович
Семеріков, Сергій Олексійович
 
Subject



 
Description Метакомп’ютінг (розподілені обчислення в Інтернет) – одна з «модних» технологій останніх десятиліть, призначена насамперед для рішення задач, що вимагають розподіленої обробки великих масивів даних. Для розв’язання на метакомп’ютерах найбільш придатні задачі пошукового і переборного характеру. Класичним прикладом таких задач є задачі теорії чисел. Огляд існуючих розподілених систем показує, що, за рідким винятком, вони є вузькоспеціалізованими (призначеними для розв’язання однієї задачі). Тому розробка архітектури універсальної метакомп’ютерної системи, призначеної для розв’язання вказаного класу переборних задач, має високу актуальність.Основна мета роботи полягала в розробці архітектури універсальної розподіленої системи для розв’язання теоретико-числових проблем та її програмної реалізації. В результаті аналізу літератури та існуючого програмного забезпечення було встановлено, що:Найбільш придатними для розв’язання в розподілених системах є задачі, що вимагають обробки великих обсягів слабко корельованих даних, зокрема теоретико-числові проблеми.Для реалізації розподіленої системи доцільно використовувати класичні технології: інтерфейс сокетів та багатопоточність.Аналіз існуючих метакомп’ютерних систем показує практично повну відсутність оболонок для створення таких систем при високому попиті на даний клас програмного забезпечення.Засоби, використані при побудові розподіленої системи: pthread – застосовується для багатопоточної роботи програмного комплексу; Boost – використовується для створення надійної, розширюваної та простої архітектури програмного комплексу; log4cxx – застосовується для реєстрації процесу роботи програмного комплексу; GMP – використовується для математичних обчислень з високою точністю; OpenSSL, на прикладі якої розглядається можливість організації захищеного зв’язку у програмних засобах за архітектурою “клієнт-сервер”.Функціональна схема роботи створеного в процесі дослідження комплексу Metacomputing Framework (http://sf.net/projects/mcframework/):один сервер займається розв’язанням однієї задачі;при старті сервер одержує діапазон і бібліотеку, що він буде надсилати клієнту;агент одночасно виконує тільки одну задачу (бібліотеку) і з’єднується тільки з одним сервером, але може обробляти кілька діапазонів одночасно (у різних потоках);на одній машині може бути запущено кілька серверів для розв’язання різних задач, так само і з клієнтами;після видачі клієнту конкретного діапазону, сервер чекає на результат протягом визначеного часу, за який цей діапазон нікому іншому не видається; у випадку одержання результату від клієнта, даний діапазон позначається відповідним чином; якщо клієнт не виходив на зв’язок протягом визначеного терміну, даний діапазон вважається неопрацьованим і розподіляється заново;сервер є відмовостійким та періодично зберігає отримані результати у файл, використовуючи який, можна поновити роботи після збою системи чи тимчасової зупинки сервера;агент є кросплатформеним, підтримувані платформи – POSIX (Linux, FreeBSD і т.д.), Windows;агент щораз відкриває і закриває з’єднання із сервером під час звітування та повернення результатів;агент зберігає завантажені бібліотеки. При старті клієнт перевіряє наявність яких-небудь файлів у визначених директоріях, обчислює хеш кожного зі знайдених файлів і намагається по черзі завантажити їх як динамічну бібліотеку. Якщо це вдається, то клієнт одержує версію бібліотеки, викликавши відповідну інтерфейсну функцію;зв’язок між агентом і сервером здійснюється по двох каналах: 1) керуючий (передача команд); 2) канал даних (передача даних, таких як файли бібліотек, результати обчислень тощо).Обчислювальний експеримент проводився на ПП «Апріоріт» (м. Дніпропетровськ). Тривалість експерименту склала двоє доби (49 годин 23 хвилини 55 секунд). В ході експерименту було обчислено 27 перших простих числа Мерсенна, що зайняло 28 годин 7 хвилин і 5 секунд.Усі розрахунки є вірними і відповідають уже відомим числам Мерсенна. Під час експерименту не було отримано помилкових даних, внаслідок чого можна зробити висновок про те, що розроблений програмний комплекс успішно справляється з задачами, для виконання яких він призначений та повністю відповідає технічному завданню.Подальший розвиток дослідження передбачає розширення функціональності програмного комплексу Metacomputing Framework шляхом створення допоміжних програмних утиліт, що надають статистику про хід виконання обчислень в режимі реального часу та дозволяють прозоро додавати і видаляти в працюючій системі нові завдання, а також розподіляти обчислювальні ресурси агентських машин між різними задачами по пріоритетах.
Основная цель работы заключалась в разработке архитектуры универсальной распределенной системы для решения теоретико-числовых проблем и ее программной реализации.
The main objective of the work was to develop a universal architecture of a distributed system to solve theoretical and numerical problems and its software implementation.
 
Publisher State institution of higher education «Kryvyi Rih National University»
 
Contributor


 
Date 2013-11-10
 
Type info:eu-repo/semantics/article
info:eu-repo/semantics/publishedVersion



 
Format application/pdf
 
Identifier http://ccjournals.eu/ojs/index.php/nocote/article/view/106
 
Source New computer technology; Vol 5 (2007): Problems of training and retraining of IT specialists; 102-103
Новые компьютерные технологии; Vol 5 (2007): Problems of training and retraining of IT specialists; 102-103
Новітні комп'ютерні технології; Vol 5 (2007): Problems of training and retraining of IT specialists; 102-103
2309-1460
 
Language ukr
 
Relation http://ccjournals.eu/ojs/index.php/nocote/article/view/106/98
 
Rights Copyright (c) 2014 New computer technology