32
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ Факултет „Компютърни системи и управление“ Катедра „Компютърни системи“ ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ ПРИ МНОГОЯДРЕНИ ПЛАТФОРМИ АВТОРЕФЕРАТ ДИСЕРТАЦИЯ за присъждане на образователна и научна степен „ДОКТОР“ по научна специалност „компютърни системи, комплекси и мрежи“ Докторант: Маг. инж. Атанас Христов Научен ръководител: Проф. д-р инж. Пламенка Боровска София, 2013 год.

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

  • Upload
    others

  • View
    15

  • Download
    0

Embed Size (px)

Citation preview

Page 1: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ

Факултет „Компютърни системи и управление“

Катедра „Компютърни системи“

ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ

ПРИ МНОГОЯДРЕНИ ПЛАТФОРМИ

АВТОРЕФЕРАТ

ДИСЕРТАЦИЯ

за присъждане на образователна и научна степен

„ДОКТОР“

по научна специалност „компютърни системи, комплекси и мрежи“

Докторант: Маг. инж. Атанас Христов

Научен ръководител: Проф. д-р инж. Пламенка Боровска

София, 2013 год.

Page 2: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

2

Дисертационния труд е обсъден и насочен за защита на заседание на

катедрения съвет на катедра “Компютърни системи”, факултет “Компютърни

системи и управление” към ТУ-София на заседание проведено на 20.05.2013.

Дисертационния труд съдържа 113 страници, 62 фигури и 78 литературни

източници. Състои се от анотация, четири глави, заключение, справка за

приносите, списък на публикациите, списък на използвана литература и

съдържание. Номерата на използваните в автореферата фигури съвпадат с тези в

дисертационния труд.

Материалите по защитата са на разположение на интересуващите се в

канцеларията на факултета „Компютърни системи и управление“, стая 1443а на

Технически Университет – София.

Защитата на дисертационният труд ще се състои на 23.09.2013 година от

14:30 часа, в зала 1434 на Техническия Университет – София, на заседание на

Научното жури.

Автор: маг. инж. Атанас Христов

Тема: „ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ ПРИ

МНОГОЯДРЕНИ ПЛАТФОРМИ“

Тираж: 50 бр.

Печатна база на ТУ-София

Page 3: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

3

ОБЩА ХАРАКТЕРИСТИКА НА ДИСЕРТАЦИОННИЯ ТРУД

Актуалност на проблема

Оптимизацията на ресурсния мениджмънт при многоядрените компютърни

системи е от съществено значение за оптимално разпределение на ресурсите при

решаване на комбинаторни проблеми с сложност NP на високопроизводителни

компютърни системи състоящи се от десетки и хиляди процесорни ядра.

Предлагането на ефективен алгоритъм за оптимизация на ресурсния мениджмънт

при многоядрените компютърни системи е от съществено значение за

увеличаване на паралелната производителност на високопроизводителните

компютърни системи.

Параметрите на паралелната производителност на комбинаторните

проблеми и приложения с сложност NP са основен фактор за определяне на

общата паралелна производителност на многоядрената платформа. Оптималното

разпределение на проблемите помежду наличните изчислителни ресурси на

високопроизводителната компютърна система определя горната и долната

граница на параметрите на паралелната производителност. Близостта до тези

гранични параметри зависи от използвания алгоритъм за оптимизация на

ресурсния мениджмънт при многоядрените платформи.

Цели и задачи на дисертационния труд

Основна цел на дисертационния труд е да се извърши изследване на

съвременните алгоритми и методи за разпределение на ресурсите и на тази

основа да се предложи и имплементира високо ефективен алгоритъм за

оптимизация на ресурсния мениджмънт при многоядрените платформи.

Предложения алгоритъм трябва да увеличи параметрите на паралелната

производителност на системата и да доведе до по-ефективното натоварване на

изчислителните ресурси на системата.

За реализирането на основната цел на дисертационния труд необходимо е

да се дефинират следните задачи:

Page 4: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

4

1. Да се изследват и анализират основните тенденции при изграждането на

съвременните високопроизводителни компютърни системи

2. Да се предложат паралелни версии на еталонни комбинаторни

проблеми с сложност NP, които ще се използват за определяне на

горната и долната граница на параметрите на паралелната

производителност на паралелната платформа.

3. Да се предложи ефективен алгоритъм за оптимизация на ресурсния

мениджмънт при многоядрените платформи.

4. Да се провери работоспособността и да се изследва ефективността на

предложените модели и подходи за оптимизация на ресурсния

мениджмънт при многоядрени платформи.

Структура и обхват на дисертационния труд

Дисертационния труд е структуриран по следния начин: анотация, четири

глави, заключение, справка за приносите на дисертационния труд, списък на

публикациите свързани с дисертационния труд, списък на използвана литература

и съдържание.

Основна цел на дисертационния труд е да се извърши изследване на

съвременните алгоритми и методи за разпределение на ресурсите и на тази

основа да се предложи и имплементира високо ефективен алгоритъм за

оптимизация на ресурсния мениджмънт при многоядрените платформи.

Предложения алгоритъм трябва да увеличи параметрите на паралелната

производителност на системата и да доведе до по-ефективното натоварване на

изчислителните ресурси на системата.

В първа глава извършено е изследване на основните тенденции при

изграждането на съвременните високопроизводителни компютърни системи, както

и използването на архитектурния клас компютърни клъстери, които обхващат

десетки хиляди процесорни ядра. Също така изследвани са съвременните

програмни модели, парадигми и среди и анализирано е тяхното влияние върху

паралелната производителност на съвременните високопроизводителни

компютърни системи. Изследвани са и основните метаевристични алгоритми.

Във втора глава предложени са паралелни версии на три комбинаторни

проблеми: проблема за „N-те царици“, проблема за „търговския пътник“, проблема

за „пъзела на Сам Лойд“, както и паралелен алгоритъм за решаване „Ситото на

Page 5: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

5

Ератостен“. Оценени са и параметрите на паралелната производителност за

предложените алгоритми в средата Intel Parallel Studio.

В трета глава предложена е паралелна версия на алгоритъм за

оптимизация на ресурсния мениджмънт при многоядрените платформи, базиран

на метаевристиката „изкуствени пчелни колонии“ при решаване на пакети от

паралелни приложения. Изследвана и анализирана е ефективността на

различните стратегии за планиране на ресурсите при пакети от статично и

динамично паралелни приложения на многоядрени платформи с виртуализация

на ресурсите с помощта на софтуерните инструменти на Intel Array Building Blocks,

вградени в Intel Parallel Studio.

В четвърта глава изследвана и оценена е ефективността на предложения

алгоритъм при решаване на пакет от три статично паралелни приложения на

хомогенен и хетерогенен клъстер, както и при решаване на пакет от едно

динамично и две статично паралелни приложения на хомогенен и хетерогенен

клъстер в средата Intel Parallel Studio.

Приносите на дисертационния труд са в областта на ресурсния

мениджмънт при многоядрените платформи, по-точно в процеса на оптимизация

на разпределението на ресурсите.

Публикуване на резултатите от дисертационния труд

Резултатите от научните изследвания са представени на авторитетни

международни конференции в Република Македония (ETAI, Computer Science

2011), Република България (CHER 21), както и в научното списание „Computer and

Communication Engineering”.

Резултатите от научните изследвания са внедрени при изпълнението на

научно-изследователския проект „Развитие на център за върхови научни

постижения „Суперкомпютърни приложения“ (Super CA++), договор ДЦВП 02/1 от

2009 год., финансиран от фонд „научни изследвания“, както и в учебния процес за

лабораторни упражнения по дисциплините „Паралелно програмиране“ и

„Високопроизводителни компютърни системи“ за специалността „Компютърни

Системи и Технологии“, степен бакалавър.

Page 6: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

6

ГЛАВА 1. ПРОГРАМНИ МОДЕЛИ, ПАРАДИГМИ И АЛГОРИТМИ ЗА ПАРАЛЕЛНИ

ИЗЧИСЛЕНИЯ

1.2. Програмни модели, парадигми и среди за паралелни изчисления.

Програмния модел отразява същността на приложението, а не стила на

функциониране на компютърната система. Паралелните парадигми дефинират

начините за структуриране на паралелните алгоритми за изпълнението им от

паралелната платформа. Изборът на паралелната парадигма се определя от

наличната паралелна платформа и потенциални паралелизъм на приложението.

За ефективно натоварване на изчислителните елементи предлагат се

различни програмни модели и паралелни алгоритмични парадигми.

Предназначението на тези модели е да управляват работния товар и да увеличат

производителността на системата. Понастоящем, повечето паралелни

приложения за високо производителни системи се базират на конвенционалните

последователни програмни езици (C, C++, Fortran), с използване на библиотеката

за обмен на съобщения между процеси съгласно стандарта MPI, или с използване

на многонишкова обработка съгласно потребителския програмен интерфейс

OpenMP. Съществуват три основни подхода за разширения на С и Fortran, които

се прилагат при паралелното програмиране:

• Програмни библиотеки, за поддръжка на паралелизмите и

взаимодействията между процесите. MPI и POSIX Pthreads.

• Нови програмни конструктори в езиците за програмиране за поддръжка на

паралелизмите на взаимодействията между процесите. Този подход се прилага

при груповите операции за матрична обработка при Fortran 90.

• Директиви за компилатора, които представляват форматирани коментари,

съдържащи указания за компилатора за паралелизация. Прагмите в приложения

програмен интерфейс OpenMP, представляват директиви към компилатора.

Основните проблеми при паралелното програмиране базирано на

конвенционалните програмни езици са: синхронизацията, мъртвото блокиране,

неравномерното разпределение на работния товар, състезанието помежду

процесите за разпределение на изчислителните ресурси. За пренебрегване на

тези проблеми Intel предлага три гъвкави паралелни програмни модели за

многоядрени системи с обща памет: Intel Cilk Plus, Intel Threading Building Blocks

(Intel TBB) и Intel Array Building Blocks (Intel ArBB). Предназначението на тези

модели е да увеличат производителността, надеждността, преносимостта и

мащабируемостта на програмата при многонишкова обработка [7, 8].

Page 7: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

7

1.2.4. Паралелни програмни модели с обща памет

Паралелният програмен модел с обща памет се основа на общо адресно

пространство. Този модел има многонишкова обработка и е асинхронен. Модела с

обща памет представляват абстракция на централизирания симетричен

мултипроцесор. Апаратните ресурси се разглеждат като множество процесори,

всеки от които има еднакъв достъп до общата памет. Процесорите си

взаимодействат и се синхронизират чрез общата памет.

Intel Threading Building Blocks

Intel Threading Building Blocks (Intel TBB) е стандарт за спецификация на

C++ библиотека, разработен от Intel. Основното предназначение на тази

библиотека е създаване на многонишкови приложения които се възползват от

предимствата на многоядрените и мултипроцесорните архитектури с обща памет.

Чрез абстрахиране на управлението на нишките, TBB намалява сложността при

разработване на многонишкови приложения. Приложенията разработени с TBB

автоматично се мащабират при различен работен товар и различен размер на

мултипроцесорната платформа. При паралелизирането с ТВВ програмния модел,

не се налага да се променя голяма част от последователния код [12, 13].

Библиотеката за програмиране с обща памет TBB осигурява широк спектър

от функции и алгоритми за паралелно програмиране. Основните функции и

алгоритми на библиотеката са:

• Функции за паралелизация на „for” цикли, при които предварително може

да се дефинира броя на итерации на цикъла.

• Функции за паралелизация на сложни цикли - „while“ и „do“, при които

предварително не може да се определи броя итерации на цикъла.

• Функции за паралелизация на цикли които извършват сортиране и

редукция,

• Алгоритми за изграждане и управление на конвейери.

Основен проблем при многонишковата обработка е определянето на

оптималния брой нишки за изпълнение на дадена секция от паралелен код, както

и разпределянето на нишките за изпълнение от процесорите. За оптимално

натоварване на апаратните ресурси, TBB съдържа вграден „Task Manager“, който

анализира целевата платформа на която трябва да бъде стартирано паралелното

приложение и автоматично определя оптималния брой нишки за изпълнение на

програмата, както управлява разпределението на нишките за изпълнение от

процесорите. Това осигурява по-добра локализация на информацията и по-добър

баланс на работния товар, но допълнителните системни разходи нарастват.

Page 8: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

8

Модела също така осигурява и възможност за профилиране на паралелното

изпълнение на програмата.

При ТВВ програмния модел, разполагането и декомпозицията на данните

се управлява автоматично. Декомпозирането се извършва чрез рекурсивно

разделяне на работния товар, докато не се получат възможно най-малки части

код, които могат да се обработват.

Фиг. 1.8. Рекурсивна декомпозиция при ТВВ програмния модел

Основни недостатъци на TBB програмния модел са: ограничената

преносимост на платформи с разпределена памет, тъй като тези приложения са

ефективни само на компютърни платформи с обща памет [72, 73]. ТВВ, също така

изисква програмна среда Intel Parallel Studio, която поддържа този модел и е

предимно предназначена за използване на Windows платформи [74, 75].

Intel Array Building Blocks

Intel Array Building Blocks (Intel ArBB) [14, 15] е паралелен програмен

интерфейс, разработен от Intel. Модела съдържа оригинална процедура за

разработване на многонишкови приложения за системи с обща памет. ArBB

представлява съвременна библиотека за многонишкова обработка, която освен от

наличните мултипроцесорни и многоядрени възли, се възползва и от

предимствата на векторните (матричните) процесори (SIMD) (фигура 1.9.). С това

рязко се увеличава производителността и мащабируемостта на високо

производителната компютърна система.

Page 9: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

9

Фиг. 1.9. Абстракция на Intel ArBB програмния модел

Синтаксиса и семантиката на Intel ArBB представлява разширение на С++

програмния език. При създаването на многонишкови приложения с Intel ArBB се

използват стндартните особености и компилатори за С++.

ArBB поддържа два типа на оператори: скаларни и векторни. Векторните

оператори представляват колекции от паралелни скаларни данни. Потенциалните

паралелизми се изразяват чрез векторни операции. Векторните оператори и

операции се осъществяват чрез т.н. „плътни контейнери“ (фигура 1.10), който

представляват еквиваленти на масиви в С програмния език. ArBB поддържа

едномерни, двумерни и тримерни „плътни“ контейнери. Елементите на контейнера

могат да бъдат скалари или масиви.

За осигуряване на добър баланс на натоварването на изчислителните

възли и декомпозицията на данните между процесорите, ArBB поддържа

съвместим С++ интерфейс на виртуална машина (фигура 1.11.). Главно

предназначение на виртуалната машина е да извършва управление на нишките и

динамично генериране на оптимизиран код. Така генерирания код е лесно

преносим помжду различни типове векторни процесори и помежду системи с

различен брой на изчислителни възли.

Основни функции на виртуалната машина при ArBB програмния модел са

[76]:

Page 10: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

10

• Управлението на данните което включва: деклариране на нови

типове, алокиране на контейнерите и преместване на данните от приложението

към виртуалната машина и обратно.

• Дефиниране на функции

• Управление на процеса на изпълнение на програмата

Фиг. 1.11. Интерфейс на виртуална машина при Intel ArBB програмния

модел

1.1.1. Ресурсни брокери

Ресурсните брокери съчетават нуждите на приложението с моменталното

състояние на хардуерните ресурси на системата. Ресурсните брокери осигуряват

виртуалната организация на системата.

Фиг. 1.13. Архитектура на ресурсен брокер

Page 11: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

11

Ресурсните брокери (фиг. 1.13.) проследяват заетостта и натоварването на

системните ресурси и откриват възможните претоварвана на системата. Брокера

първоначално търси свободни ресурси чрез услуга за информационно

обслужване на системата, след което се извършва филтриране и ранкиране на

намерените свободни ресурси в зависимост от тяхната заетост и натоварване.

Системата е претоварена ако не може да осигури достатъчно ресурси за

удовлетворяване на изискванията на приложенията [17, 18]. За успешно

откриване на претоварването, брокера трябва да следва натоварването на всеки

споделен ресурс. За да се провери дали дадена заявка ще претовари системата,

използва се тест за сравнение на присвоените ресурси от приложението и

капацитета на наличните свободни физически ресурси на системата.

Алгоритъма на работа на ресурсния брокер (фигура 1.14.) обхваща

две фази. В първата фаза – вход, приложението изпраща към брокера заявка за

изпълнение на една или повече задачи. В втората фаза – изпълнение, ресурсния

брокер избира и предава задачите на най-подходящите ресурси. Най-

подходящите ресурси се определят чрез филтриране (отхвърляне) на ресурсите

които не ги задоволяват изискванията за налична памет, дисково пространство,

архитектура, както и филтриране на ресурсите за които потребителя няма права

за достъп. След като брокера избере най-подходящите ресурси, той предава за

изпълнение задачите на съответните ресурси и освобождава всички резервирани

ресурси в фазата на филтриране, които остават свободни след разпределението

на задачите.

Фиг. 1.14. Блок-схема на алгоритъма на работа на ресурсния брокер

Page 12: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

12

След разпределението на всички активни приложенията между наличните

ресурси на системата, възможно е да останат неизползвани ресурси.

Неизползваните ресурси могат да бъдат ресурси, които не са присвоени от никое

приложение, както и ресурси които са присвоени от приложение, но не са

използват. Всички неизползвани ресурси преминават в състояние на ниска

консумация.

Три базови типа механизми поддържат работата на ресурсния

брокер: планираща програма, механизъм за определяне на подходящи ресурси и

механизъм за обратна връзка. Планиращата програма и механизъма за

определяне на подходящите ресурси мултиплексират, арбитрират или

разпределят хардуерните ресурси за удовлетворяване на изискванията на

приложенията при висока степен на сигурност [77, 78]. Механизмът за обратна

връзка осигурява взаимодействието с приложениеята и стратегиите за

виртуализация на системно ниво. Те осигуряват обратна връзка за капацитета на

физическите ресурси и тяхното използване.

1.4. Метаевристични алгоритми

Метаевристиката обхваща алгоритми от високо ниво, които координират

изпълнението на прости евристични алгоритми, с цел намиране на решения с по-

добро качество от тези получени при евристичните алгоритми. Предназначението

на тези алгоритми е да управляват баланса между разнообразието при търсенето,

когато търсенето се насочва към области със слаби решения в пространството на

търсене и интензификацията, която цели намирането на най-добрите решения в

рамките на претърсваната област в пространството на търсене. Пространството

на търсене представлява възможните решения на проблема. Класическата

метаевристика включва генетичните алгоритми, оптимизация с мравчените

колони, оптимизацията с пчелните колони, симулираното закаляване, търсенето

със забрани, разпръснатото търсене, търсене при различни съседи, „лакомата“

процедура за рандомизирано адаптивно търсене, меметичните алгоритми и др.

Друг алгоритъм който може да се използва при проблеми, където не може

да се анализира глобалната перспектива, е алгоритъма за оптимизация с

изкуствени пчелни колонии [21, 22, 52]. Основната идея на този алгоритъм е да се

имитира интелигентното поведение на медоносните пчели (фигура 1.16.). При

този алгоритъм, пчелната колония се състои от пчели работнички, пчели

наблюдатели и пчели скаути. Прието е, че има само една абстрактна работничка

за всеки източник на храна т.е. броя на пчелите скаути е равен на броя на

източниците на храна около кошера. Пчелите скаути откриват източници на

нектар, връщат се в кошера и започват да танцуват, приканвайки пчелите

наблюдатели да проверят новооткрития източник на нектар. Някои от пчелите

наблюдатели се заемат да посетят източника, и тези пчели се превръщат в

Page 13: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

13

работнички, посещават източника и се опитват да намерят по-добър източник на

нектар в близкото съседство. Колкото е по-богат източника на нектар, открит от

пчела скаут, толкова по-голям брой пчели работнички ще отидат да го посетят и

ще направят опит да открият по-богати източници в съседството.

Фиг. 1.16. Реално поведение на медоносните пчелни колонии

Когато една област е претърсена и откритите източници на нектар са бедни

или не са по-богати от открития източник от пчелата скаут, съответните източници

на нектар се считат за изчерпани и се изоставят.

Алгоритмите за оптимизация с мравчените колонии и изкуствените пчелни

колонии осигуряват мощни техники за високоскоростно решаване на

оптимизационни проблеми на високопроизводителни компютърни платформи.

Тези алгоритми се характеризират с висока степен на потенциален паралелизъм,

при различна големина на пространството на търсене. Осигуряват се

възможности за паралелизация на тези алгоритми, което до значителна степен

ускорява процеса на търсене. Освен това, тези алгоритми дават възможност и за

подобряване на качеството на получените решения.

Page 14: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

14

ГЛАВА 2. ФОРМИРАНЕ ПАКЕТ ОТ КОЛЕКЦИЯ ЕТАЛОННИ ПАРАЛЕЛНИ

ПРИЛОЖЕНИЯ

2.1.2. Паралелно решаване на комбинаторен проблем „N-те царици“

За паралелно решаване на проблема за N-те царици предлага се

метаевристиката „изкуствени пчелни колонии“. Тази метаевристика е инспирирана

и симулира реалното колективно поведение на пчелните колонии. Основен

подход при решаването на проблема за N-те царици е изграждане на компютърен

модел, симулиращ колективното поведение на пчелите при събиране на нектар. В

алгоритъма, позицията на източника представлява едно възможно решение на

проблема, а количеството нектар представлява качеството на предложеното

решение. Предлага се алгоритъм за планиране на ресурсите на основата на

метаевристиката „Изкуствени пчелни колонии“ за решаване на проблема за N-те

царици.

Фиг. 2.4. Планиране на ресурсите при решаване на проблема за N-те царици на

основата на метаевристиката „Изкуствени пчелни колонии“

На фигура 2.4. е предложен алгоритъм за планиране на ресурсите при

решаване на проблема на N-те царици на основата на метаевристиката

„Изкуствени пчелни колонии“. В предложения алгоритъм използва се динамично

планиране на ресурсите с поддръжка на таблици на задачите и свободните

ресурси. При неговата реализация предварително се дефинират стойностите на

три параметри: броя на пчелите скаути, броя на пчелите наблюдатели и броя на

Page 15: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

15

пчелите работници. Поддържат се и два типа на таблици: таблица на задачите, в

която основния проблем е декомпозиран на повече подпроблеми и таблица на

свободните ресурси, в която се записва информация за всички налични свободни

ресурси. Таблиците са единствените глобални данни в алгоритъма, тъй като

всички пчели осъществяват директен достъп до поне една от таблиците.

Основно предназначени на пчелите скаути е да претърсват пространството

с ресурсите. При намиране на свободен ресурс, пчелите скаути записват ID-то на

процесора/ядрото в таблицата с налични свободни ресурси и инициализират

полето стойност с 1. След записване на данните в таблицата на налични

свободни ресурси, пчелата скаут започва да „танцува“ и повиква пчелите

наблюдатели да определят качеството на намерения свободен ресурс.

Качеството на свободния ресурс се определя чрез дефиниране на стойностите на

три параметри: времето необходимо за достъп до този ресурс;

междупроцесорното разстояние и времето необходимо за изпълнение на малка

еталонна програма. След определяне на тези стойности, пчелата наблюдател

увеличава стойността на полето стойност в таблицата на налични свободни

ресурси с определен коефициент. Колко стойностите на тези параметри са по-

ниски, то по подходящ е намерения свободен ресурс за изпълнение на задачите.

Коефициента нараства с намирането на най-подходящите ресурси, което

означава, че ресурсите с най-висока стойност са най-подходящи за изпълнение на

съответната задача.

Пчели работници първоначално, взима последната необработена задача от

таблицата с задачите, след което претърсва таблицата с налични свободни

ресурси и отбира най-подходящия ресурс за изпълнение на тази задача т.е.

ресурса с най-висока стойност. Броят на пчелите работници определя броя на

оптимални и субоптимални решения, намерени в рамките на една итерация на

алгоритъма. При повече пчели в кошера ще бъдат намерени повече решения на

проблема в рамките на един машинен цикъл. Броя на итерации зависи от броя на

пчели в кошера, както и от броя на задачи в таблицата с задачите. При

изчерпване на необработените задача в таблицата на задачите, изпраща се

съобщение за терминиране на всички активни процеси.

2.1.3. Оценка на производителността при решаването на проблема

за N-те царици

Резултатите от времето за изпълнение и ефективността, получени при

последователното и паралелното изпълнение с многонишкова обработка за

решаване на проблема с различна големина на шахматната дъска са дадени на

фигура 2.7 и 2.8.

Page 16: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

16

Фиг. 2.7. Време за изпълнение при последователно и паралелно решаване на

проблема за N-те царици

Фиг. 2.8. Ускорение при решаването на проблема за N-те царици при паралелни

изчисления с многонишкова обработка

2.2.1. Паралелни изчисления при решаване на пъзела на Сам Лойд с

многонишкова обработка

На фигура 2.10. е представена хистограмата от едновременното

изпълнение на програмата, както и времето за изпълнение на програмата от

различен брой нишки. Хистограмата е генерирана с помощта на Intel Parallel

Amplifier.

Резултатите от ускорението и ефективността, получени при паралелните

изчисления при решаване на пъзела на Сам Лойд на два различни Blade сървъри,

съответно с четири и осем процесора при различна големина на дъската: 5х5, 6х6,

7х7, 8х8, са дадени съответно на фигура 2.11 и фигура 2.12.

Пчелни колонии

С обратен ход

Последователно

0

50

100

150

812

1416

Вр

еме

за и

зпъ

лн

ени

е (

s)

С обратен ход

Пчелни … 0

2

4

6

812

1416

Уск

ор

ени

е

Page 17: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

17

Фиг. 2.10. Хистограма за натоварването на процесорите при решаването на

пъзела на Сам Лойд

Фиг. 2.11. Ускорение при паралелното решаването на пъзела на Сам Лойд на

многоядрена платформа с четири и осем процесора

Фиг. 2.12. Ефективност при паралелното решаването на пъзела на Сам Лойд

на многоядрена платформа с четири и осем процесора

5x5

6x6

7x7

8x8

0

2

4

6

14

8

Уск

ор

ени

е

5x5

6x6

7x78x8

0%

50%

100%

14

8

Ефек

тивн

ост

Page 18: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

18

2.3.1. Паралелни изчисления при решаване на проблема за

търговския пътник

Експерименталните изследвания са проведени за различни входни данни

т.е. за различен брой на градове и различно разстояние между градовете. На

фигура 2.14. и 2.15. е представено ускорението получено при решаване на

проблема за търговския пътник за 200, 500, 800 и 1000 брой на градове,

съответно за различна програмна имплементация: TBB и хибридно (TBB и MPI).

Фиг. 2.14. Ускорение при паралелното решаването на проблема за търговския

пътник на многоядрена платформа с TBB програмния модел

Фиг. 2.15. Ускорение при паралелното решаването на проблема за търговския

пътник с хибридна паралелна имплементация

1

4

8

0

2

4

6

8

200500

8001000

Уско

ре

ни

е

4

8

16

32

0

5

10

15

200500

8001000

Уско

рен

ие

Page 19: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

19

На фигура 2.16. е представена оценката на качеството на решенията които,

са базират на проведени 60 експеримента за 800 на брой градове, като всеки

експеримент стартира с различен начален маршрут. На фигура 2.17. е показана

разликата в качеството на решенията, получена от предишните експерименти.

Фиг. 2.16. Качество на жизнеспособността при 60 експеримента за 800 на брой

градове при решаване на TSP с генетични алгоритми

Фиг. 2.17. Разлика в качеството на решенията при 60 експеримента за 800 на

брой градове при решаване на TSP с генетични алгоритми

Анализът на качеството на получените решения показва че при по-голямата

част от експериментите имаме минимално отклонение от идеалното решение на

проблема. Средното отклонение е около 5% от идеалното, докато максималното

отклонение е 20% от идеалното.

0

5

10

15

20

25

30

35

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57Експеримент No

Жи

знес

по

соб

но

ст

0

0.3

0.6

0.9

1.2

1.5

1.8

2.1

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57Експеримент No

Раз

ли

ка в

кач

ест

во

то

Page 20: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

20

2.4.1. Паралелни изчисления при решаване на алгоритъма за ситото

на Ератостен

Експерименталните изследвания за извършени за различна големина на

масива: [1 до 1000000], [1 до 5000000], [1 до 10000000], [1 до 25000000] и [1 до

50000000]. На фигура 2.19. и 2.22. съответно е представено времето за

изпълнение и ускорението получено при стартиране на програмата с и без

оптимизация при различен брой на процесори средна стойност от 100

експеримента, за големина на масива от 1 до 10000000.

Фиг. 2.19. Време за изпълнение при паралелното решаването на алгоритъма за

ситото на Ератстен

Фиг. 2.22. Ускорение при паралелното решаването на алгоритъма за ситото

на Ератстен при различен работен товар

0

5

10

15

20

25

30

35

1 2 4 8 16 32

Без оптимизация

Вр

ем

е з

а и

зпъ

лн

ени

е (S

)

Брой процесора

1000000

5000000

100000002500000050000000

0

5

10

15

20

25

30

1 24

816

32

Уск

ор

ени

е

Page 21: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

21

ГЛАВА 3. ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ ПРИ

МНОГОЯДРЕНИТЕ ПЛАТФОРМИ

3.2. Описание на алгоритъма за оптимизация на ресурсния

мениджмънт с метаевристика „изкуствени пчелни колонии“

Предложения алгоритъма за решаване на оптимизационния проблем за

ресурсния мениджмънт при многоядрените платформи е базиран на

метаевристиката „изкуствени пчелни колонии“, симулираща колективното

поведение на медоносните пчели в природата. Основен подход при решаването е

изграждане на компютърен модел, симулиращ колективното поведение на

пчелите при събиране на нектар.

На фигура 3.1. представен е модела на паралелните изчисления за

оптимизация на ресурсния мениджмънт при многоядрена платформа с

виртуализация, базирана на метаевристиката „изкуствени пчелни колонии“.

Фиг. 3.1. Модел на паралелните изчисления за оптимизация на ресурсния

мениджмънт, базиран на метаевристиката „изкуствени пчелни колонии“

Page 22: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

22

За реализация на паралелния алгоритма за оптимизация на ресурсния

мениджмънт при многоядрените платформи се предлага използване на

виртуалната машина на програмния модел Intel ArBB и метаевристиката базирана

на „изкуствени пчелни колонии”. В предложения алгоритъм използва се

динамично планиране на ресурсите на системата. Дейностите на всеки кошер се

симулират от един процесор, докато действията на пчелите се симулират от

нишки. Броя на пчелите които симулира всяка нишка, зависи от архитектурата на

целевата платформа. Като входни параметри на виртуалната машина се задават

броя на процесори на системата и ID-то на всеки процесор, броя резервирани

процесори за имплементация на алгоритъма за оптимизация, оптималния брой

пчели които могат да бъдат генерирани паралелно от всеки кошер, като и

необходимите слайсови процесорно време за изпълнение на дадените

приложения. Поддържат се и два типа глобални данни: таблица на свободните

ресурси и таблица на задачите. Таблици е необходимо да са видими за всички

пчели, тъй като пчелите осъществяват директен достъп до данните, намиращи се

в таблиците.

В предложения алгоритъм, пчелите се разпределени в два кошера, кошер

на пчелите скаути (кошер 1) и кошер на пчелите наблюдатели и работници (кошер

2). При стартиране на алгоритъма, кошер 1 генерира N на брой пчели скаути,

където N представлява броя на ядра на системата. Всяка пчела скаут проверява

даден процесор дали е свободен или пък е зает с изпълнение на определена

задача. При намиране на свободен ресурс, пчелата скаут записва ID-то на

процесора в таблицата с свободни ресурси и се връща в кошер 1, където се

терминира. При мащабиране на системата, т.е. при увеличаване на броя на

процесори, броя на пчели скаути които трябва да се генерират увеличава. При

системи с няколко стотици изчислителни елементи, необходимо е увеличаване на

броя на кошери на пчелите скаути т.е. увеличаване на броя процесори

резервирани за генериране на пчели скаути. За определяне на оптималния брой

кошери, необходимо е да се определи оптималния брой на пчели скаути които

могат да бъдат генерирани паралелно от един кошер. Пчелите скаути се

генерират на всеки слайс процесорно време, тъй като при следващата проверка,

проверяват се само процесорите които в предишната проверка биле заети т.е.

проверява се дали приключили с изпълнението на дадения проблем. За

намаляване на времето, необходимо за проверка дали дадения ресурс е

свободен или не се използва специален флаг, който показва статуса на ресурса 0

– свободен, 1 – зает. При проверката, пчелите скаути проверяват само стойността

на този флаг.

Основното предназначение на кошер 2 е да генерира М на брой пчели

наблюдатели, къде М е оптималния брой на паралелно генерирани пчели и е

Page 23: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

23

зададен при настройката на виртуалната машина. След генерирането, пчелите

наблюдатели претърсват таблицата с свободни ресурси. Доколко пчелата

наблюдател намери свободен ресурс, тя записва ID-то на процесора, и изтрива

този ресурс от таблицата с ресурси. Доколко пчелата наблюдател не намери

свободен ресурс в таблицата с ресурсите, тя се връща в кошер 2 и се терминира.

След като пчелата наблюдател вземе текущия свободен ресурс, тя започва да

работи като пчела работник. Така получените К на брой пчели работници,

първоначално се обръщат към таблицата с нерешени задачи, от къде взима

определен подпроблем, изтрива го от таблицата и го предава за изпълнение на

процесора, чието ID е вече взето от таблицата с свободните ресурси. След като

процесора реши дадения проблем, той предава решението на пчелата работник,

след което пчелата работник с текущото решение се връща в кошер 2, където се

терминира.

3.2.2. Имплементация на алгоритъма за оптимизация на ресурсния

мениджмънт с метаевристика „изкуствени пчелни колонии“

На фигура 3.2. представена е блок-диаграмата на паралелните изчисления

за оптимизация на ресурсния мениджмънт, базиран на метаевристиката

„изкуствени пчелни колонии“.

Фиг. 3.2. Блок-диаграма на паралелните изчисления за оптимизация на ресурсния

мениджмънт, базиран на метаевристиката „изкуствени пчелни колонии“

Page 24: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

24

ГЛАВА 4. ОЦЕНКА И АНАЛИЗ НА ПАРАЛЕЛНАТА ПРОИЗВОДИТЕЛНОСТ ПРИ

ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ

4.1. Паралелни изчисления за решаване на пакет от статично паралелни

приложения на хомогенен клъстер

Експерименталната мултикомпютърна платформа за решаване на пакет от

три статично паралелни приложения и програмен модел с обмен на съобщения

представлява хомогенен клъстер състоящ се от 12 Blade сървъри, всеки с Quad

core E5405 2GHz процесор, 2GB рам памет и операционна система Windows

Server 2008. Паралелната имплементация е реализирана с програмните модели

Intel TBB и MPICH-2 на Intel Parallel Studio 2010. За виртуализация на ресурсите

използва се виртуалната машина на Intel ArBB, вградена в Intel Parallel Studio

2010.

Експерименталните изследвания са проведени с използване на

виртуалната машина на Intel Parallel Studio. На фигура 4.1. представено е

натоварването на изчислителните ресурси при решаване на пакет от три статично

паралелни приложения – проблема за N-те царици, ситото на Ератостен и

проблема за търговския пътник. Пакета е стартиран без алгоритъма за

оптимизация на ресурсния мениджмънт.

Фиг. 4.1. Натоварване на процесорите при решаване на пакет от три

статично паралелни приложения на хомогенен клъстер без оптимизация

На фигура 4.2. представено е натоварването на изчислителните ресурси

при стартиране на пакет от три статично паралелни приложения с използване на

алгоритъма за оптимизация на ресурсния мениджмънт, базиран на

метаевристиката „изкуствени пчелни колонии“.На фигура 4.3. представено е

Page 25: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

25

натоварването на клъстера по време на изпълнение на пакет от три статично

паралелни приложения.

Фиг. 4.2./4.3. Натоварване на процесорите при решаване на пакет от три

статично паралелни приложения на хомогенен клъстер с оптимизация / и

натоврване на клъстера с и без оптимизация

4.2. Паралелни изчисления за решаване на пакет от статично и

динамично паралелни приложения на хомогенен клъстер

На фигура 4.4. представено е натоварването на процесорите при решаване

на пакет от две статично паралелни приложения – проблема за N-те царици и

проблема за търговския пътник, и едно динамично приложение – проблема за

пъзела на Сам-Лойд без използване на предложения алгоритъма за оптимизация

на ресурсния мениджмънт.

Фиг. 4.4. Натоварване на процесорите при решаване на пакет от статично и

динамично паралелни приложения на хомогенен клъстер без оптимизация

Page 26: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

26

На фигура 4.5. представено е натоварването на процесорите на

мултикомпютърната платформа при решаване на пакет от статично и динамично

паралелни приложения на хомогенен клъстер с използване на предложения

алгоритъм за оптимизация на ресурсния мениджмънт базиран на основата на

метаевристиката „изкуствени пчелни колонии“. На фигура 4.6. представено е

натоварването на клъстера по време на изпълнение на пакет от две статично

паралелни и едно динамично паралелно приложение.

Фиг. 4.5./4.6. Натоварване на процесорите при решаване на пакет пакет от

статично и динамично паралелни приложения на хомогенен клъстер с

оптимизация / и натоврване на клъстера с и без оптимизация

4.3. Паралелни изчисления за решаване на пакет от статично паралелни

приложения на хетерогенен клъстер

Целевата мултикомпютъра система за решаване на този пакет

представлява хетерогенен клъстер състоящ се от 8 Blade сървъри, 6 от които с

Quad core E5405 2GHz процесор, един с 2 x Quad core E5405 2GHz процесор, и

един с Dual Core 5140 2.33 GHz процесор, всеки е 2GB рам памет и операционна

система Windows Server 2008. Паралелната програмна имплементация е

реализирана с програмните модели Intel TBB и MPICH-2 на Intel Parallel Studio

2010. За виртуализация на ресурсите използва се виртуалната машина на Intel

ArBB, вградена в Intel Parallel Studio 2010.

На фигура 4.7. представено е натоварването на процесорите при решаване

на пакет от три статично паралелни приложения – проблема за N-те царици,

ситото на Ератостен и проблема за търговския пътник на хетерогенен клъстер.

Page 27: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

27

Фиг. 4.7. Натоварване на процесорите при решаване на пакет от три

статично паралелни приложения на хетерогенен клъстер без оптимизация

На фигура 4.8. представено е натоварването на процесорите на

хетерогенния клъстер при решаване на пакет от три статично паралелни

приложения с използване на предложения алгоритъм за оптимизация на

ресурсния мениджмънт базиран на метаевристиката „изкуствени пчелни колонии“.

На фигура 4.9. представено е натоварването на клъстера по време на изпълнение

на пакет от три статично паралелни приложения.

Фиг. 4.8./4.9. Натоварване на при решаване на пакет от три статично

паралелни приложения на хетерогенен клъстер с оптимизация / и натоврване

на клъстера с и без оптимизация

4.4. Паралелни изчисления за решаване на пакет от статично и

динамично паралелни приложения на хетерогенен клъстер

На фигура 4.10. представено е натоварването на процесорите при

решаване на пакет от две статично паралелни приложения – проблема за N-те

царици и проблема за търговския пътник, и едно динамично приложение –

проблема за пъзела на Сам-Лойд без използване на предложения алгоритъма за

оптимизация на ресурсния мениджмънт.

Page 28: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

28

Фиг. 4.10. Натоварване на процесорите при решаване на пакет от едно

динамично и две статично паралелни приложения на хетерогенен клъстер без

оптимизация

На фигура 4.11. представено е натоварването на процесорите при

решаване на пакет от две статично паралелни приложения с използване на

предложения алгоритъм за оптимизация на ресурсния мениджмънт базиран на

метаевристиката „изкуствени пчелни колонии“.

Фиг. 4.11./4.12. Натоварване на при решаване на пакет от едно динамично и

две статично паралелни приложения на хетерогенен клъстер с оптимизация /

и натоврване на клъстера с и без оптимизация

4.5. Оценка и анализ на паралелната производителност при

оптимизация на ресурсния мениджмънт

Резултатите от ускорението, получени при паралелното решаване на пакет

от статично паралелни приложения на хетерогенен и хомогенен клъстер без

използване и с използване на предложения алгоритъм за оптимизация на

ресурсния мениджмънт базира на метаевристиката „изкуствени пчелни колонии“

са дадени на фигура 4.13. На фигура 4.14. представени са резултатите от

ускорението получени при решаване на пакет от статично паралелни и динамично

паралелни приложения на хомогенен и хетерогенен клъстер с и без използване на

предложения алгоритъм за оптимизация на ресурсния мениджмънт.

Page 29: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

29

Фиг. 4.13./4.14 Ускорение при решаване на пакет от три статично паралелни

приложения на хомогенен и хетерогенен клъстер / и Ускорение при решаване на

пакет от едно динамично и две статично паралелни приложения

Отклонението на разликата на качеството на решенията при решаване на

пакет от три статично паралелни приложения за 25 на брой експеримента е

показано съответно на фигура 4.15. Сравнение на получените резултати за

качеството на решението и за различните експериментални изследвания са

дадени съответно на фигура 4.17.

Фиг. 4.15. Отклонение на разликата на качеството при решаване на пакет от

три статично паралелни приложения

Фиг. 4.17. Качество на решенията при различните експериментални изследвания

00.30.60.91.21.51.8

Хомогенен клъстер Хетерогенен

клъстер

Уск

ор

ени

е

00.40.81.21.6

22.4

Хомогенен клъстер Хетерогенен

клъстер

-20.00%

-10.00%

0.00%

10.00%

20.00%

0 5 10 15 20 25

Експериемнт No

Уск

ор

ени

е

Page 30: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

30

ПРИНОСИ НА ДИСЕРТАЦИОННИЯ ТРУД

Предложени са паралелни версии на алгоритми за решаване на: проблема

за “N-те царици“; проблема за „пъзела на Сам Лойд“, проблема за „търговския

пътник“ и „ситото на Ератостен. Оценени са параметрите на паралелната

производителност на основата на многонишкова и хибридна паралелна

имплементация на Intel Parallel Studio.

Синтезиран е алгоритъм за паралелно решаване на проблема за “N-те

царици”, базиран на метаевристиката “изкуствени пчелни колонии”, който

увеличава паралелната производителност на приложението при изпълнение на

произволен клъстер. Оценени са и параметрите на паралелната

производителност (време за изпълнение, ускорение и ефективност).

Изследвана и анализирана е ефективността на различните стратегии за

планиране на ресурсите при пакети от статично и динамично паралелни

приложения на многоядрени платформи с виртуалзицаия на ресурсите, с помощта

на софтуерните инструменти на Intel Array Building Blocks, вградени в Intel Parallel

Studio.

Синтезирани са сценарий за имплементиране и паралелна версия на

алгоритъм за оптимизация на ресурсния мениджмънт при многоядрените

платформи, базиран на метаевристиката „изкуствени пчелни колонии“ при

решаване на пакети от паралелни приложения.

Изследвана и оценена е ефективността на предложения алгоритъм при

решаване на пакет от три статично паралелни приложения на хомогенен и

хетерогенен клъстер, както и при решаване на пакет от едно динамично и две

статично паралелни приложения на хомогенен и хетерогенен клъстер в средата

Intel Parallel Studio.

Page 31: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

31

ПУБЛИКАЦИИ СВЪРЗАНИ С ДИСЕРТАЦИОННИЯ ТРУД

I. Международни конференции

1. D. Kimovski, Hristov Atanas, R. Salkoski, “Development of highly parallel

“Beowulf” cluster and optimization of MPI based implementation of the N-

Queens problem with regards to the architecture of the system”, X

International Conference ETAI, 2011.

2. D. Kimovski, Hristov Atanas, “Development of Hybrid MPI/CUDA Based

Cluster”, Sixth International Conference – Computer Science, Ohrid, 2011.

3. P. Borovska, Hristov Atanas, D. Kimovski, “Performance evaluation of Intel

TBB and OpenMP programming models”, X International Conference CHER-

21, 2012.

II. Международни журнали

4. Hristov Atanas, P. Borovska, „New Generation of Programming Languages

and Models for High Performance Computing Systems“, Computer &

Communications Engineering, Vol. 6, No. 1/2012.

5. Hristov Atanas, „Parallel Hybrid Programming Model for Solving the Travelling

Salesman Problem“, Computer & Communications Engineering, Vol. 7, No.

1/2032.

III. Внедряване

Проект – Развитие на център за върхови научни постижения

„Суперкомпютърни приложения (Super CA++), договор ДЦВП 02/1 от 2009 г.,

финансиран от фонд „Научни изследвания“.

Page 32: ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите

32

OPTIMIZATION OF THE RESOURCE MANAGEMENT FOR MULTICORE

PLATFORMS

Summary

An effective resource utilization of the modern high performance computing

(HPC) systems is a subject for many scientific research investigations. The modern

high-performance computing systems (HPCS) are composed of hundreds of thousand

computational nodes. The resource management for those platforms is an essential part

for optimal resource allocation while solving NP complete problems. An effective

resource management algorithm strongly determines the overall parallel performance of

the high-performance computing system. Many programming models for effectively

resources allocation have been proposed. The main purpose of those models is to

increase the parallel performance of the HPCS.

Parallel programming implementation of the N-Queens problem, the Sam-Loyd

puzzle, the Traveling Salesman Problem (TSP) and the sieve of Eratosthenes have

been proposed in order to evaluate the overall parallel performance of the HPCS. The

proposed parallel implementations are developed on the basis of Message Passing

Interface (MPI) and Intel Threading Building Blocks (TBB) programming models.

The main goal of the thesis is to suggest an innovative algorithm for effective

resource allocation of virtualized HPC platforms based on parallel metaheuristic

“Artificial Bee Colony” (ABC) optimization. The abstraction of virtual machine is applied

to guarantee parallel application isolation and consequently, in order to prevent mutual

negative effects on the overall parallel performance.

The efficiency of the proposed algorithm for resource management of multicore

platforms was evaluated on the basis of the software tools of Intel Array Building Blocks

build-in Intel Parallel Studio.