ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ Факултет „Компютърни системи и управление“ Катедра „Компютърни системи“ ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ ПРИ МНОГОЯДРЕНИ ПЛАТФОРМИ АВТОРЕФЕРАТ ДИСЕРТАЦИЯ за присъждане на образователна и научна степен „ДОКТОР“ по научна специалност „компютърни системи, комплекси и мрежи“ Докторант: Маг. инж. Атанас Христов Научен ръководител: Проф. д-р инж. Пламенка Боровска София, 2013 год.
32
Embed
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯkonkursi-as.tu-sofia.bg/doks/SF_FKSU/ns/129/avtoreferat.pdf · 5 Ератостен“. Оценени са и параметрите
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ – СОФИЯ
Факултет „Компютърни системи и управление“
Катедра „Компютърни системи“
ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ
ПРИ МНОГОЯДРЕНИ ПЛАТФОРМИ
АВТОРЕФЕРАТ
ДИСЕРТАЦИЯ
за присъждане на образователна и научна степен
„ДОКТОР“
по научна специалност „компютърни системи, комплекси и мрежи“
Докторант: Маг. инж. Атанас Христов
Научен ръководител: Проф. д-р инж. Пламенка Боровска
София, 2013 год.
2
Дисертационния труд е обсъден и насочен за защита на заседание на
катедрения съвет на катедра “Компютърни системи”, факултет “Компютърни
системи и управление” към ТУ-София на заседание проведено на 20.05.2013.
Дисертационния труд съдържа 113 страници, 62 фигури и 78 литературни
източници. Състои се от анотация, четири глави, заключение, справка за
приносите, списък на публикациите, списък на използвана литература и
съдържание. Номерата на използваните в автореферата фигури съвпадат с тези в
дисертационния труд.
Материалите по защитата са на разположение на интересуващите се в
канцеларията на факултета „Компютърни системи и управление“, стая 1443а на
Технически Университет – София.
Защитата на дисертационният труд ще се състои на 23.09.2013 година от
14:30 часа, в зала 1434 на Техническия Университет – София, на заседание на
Научното жури.
Автор: маг. инж. Атанас Христов
Тема: „ОПТИМИЗАЦИЯ НА РЕСУРСНИЯ МЕНИДЖМЪНТ ПРИ
МНОГОЯДРЕНИ ПЛАТФОРМИ“
Тираж: 50 бр.
Печатна база на ТУ-София
3
ОБЩА ХАРАКТЕРИСТИКА НА ДИСЕРТАЦИОННИЯ ТРУД
Актуалност на проблема
Оптимизацията на ресурсния мениджмънт при многоядрените компютърни
системи е от съществено значение за оптимално разпределение на ресурсите при
решаване на комбинаторни проблеми с сложност NP на високопроизводителни
компютърни системи състоящи се от десетки и хиляди процесорни ядра.
Предлагането на ефективен алгоритъм за оптимизация на ресурсния мениджмънт
при многоядрените компютърни системи е от съществено значение за
увеличаване на паралелната производителност на високопроизводителните
компютърни системи.
Параметрите на паралелната производителност на комбинаторните
проблеми и приложения с сложност NP са основен фактор за определяне на
общата паралелна производителност на многоядрената платформа. Оптималното
разпределение на проблемите помежду наличните изчислителни ресурси на
високопроизводителната компютърна система определя горната и долната
граница на параметрите на паралелната производителност. Близостта до тези
гранични параметри зависи от използвания алгоритъм за оптимизация на
ресурсния мениджмънт при многоядрените платформи.
Цели и задачи на дисертационния труд
Основна цел на дисертационния труд е да се извърши изследване на
съвременните алгоритми и методи за разпределение на ресурсите и на тази
основа да се предложи и имплементира високо ефективен алгоритъм за
оптимизация на ресурсния мениджмънт при многоядрените платформи.
Предложения алгоритъм трябва да увеличи параметрите на паралелната
производителност на системата и да доведе до по-ефективното натоварване на
изчислителните ресурси на системата.
За реализирането на основната цел на дисертационния труд необходимо е
да се дефинират следните задачи:
4
1. Да се изследват и анализират основните тенденции при изграждането на
съвременните високопроизводителни компютърни системи
2. Да се предложат паралелни версии на еталонни комбинаторни
проблеми с сложност NP, които ще се използват за определяне на
горната и долната граница на параметрите на паралелната
производителност на паралелната платформа.
3. Да се предложи ефективен алгоритъм за оптимизация на ресурсния
мениджмънт при многоядрените платформи.
4. Да се провери работоспособността и да се изследва ефективността на
предложените модели и подходи за оптимизация на ресурсния
мениджмънт при многоядрени платформи.
Структура и обхват на дисертационния труд
Дисертационния труд е структуриран по следния начин: анотация, четири
глави, заключение, справка за приносите на дисертационния труд, списък на
публикациите свързани с дисертационния труд, списък на използвана литература
и съдържание.
Основна цел на дисертационния труд е да се извърши изследване на
съвременните алгоритми и методи за разпределение на ресурсите и на тази
основа да се предложи и имплементира високо ефективен алгоритъм за
оптимизация на ресурсния мениджмънт при многоядрените платформи.
Предложения алгоритъм трябва да увеличи параметрите на паралелната
производителност на системата и да доведе до по-ефективното натоварване на
изчислителните ресурси на системата.
В първа глава извършено е изследване на основните тенденции при
изграждането на съвременните високопроизводителни компютърни системи, както
и използването на архитектурния клас компютърни клъстери, които обхващат
десетки хиляди процесорни ядра. Също така изследвани са съвременните
програмни модели, парадигми и среди и анализирано е тяхното влияние върху
паралелната производителност на съвременните високопроизводителни
компютърни системи. Изследвани са и основните метаевристични алгоритми.
Във втора глава предложени са паралелни версии на три комбинаторни
проблеми: проблема за „N-те царици“, проблема за „търговския пътник“, проблема
за „пъзела на Сам Лойд“, както и паралелен алгоритъм за решаване „Ситото на
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 год., финансиран от фонд „научни изследвания“, както и в учебния процес за
лабораторни упражнения по дисциплините „Паралелно програмиране“ и
„Високопроизводителни компютърни системи“ за специалността „Компютърни
Системи и Технологии“, степен бакалавър.
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].
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“, който
анализира целевата платформа на която трябва да бъде стартирано паралелното
приложение и автоматично определя оптималния брой нишки за изпълнение на
програмата, както управлява разпределението на нишките за изпълнение от
процесорите. Това осигурява по-добра локализация на информацията и по-добър
баланс на работния товар, но допълнителните системни разходи нарастват.
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.). С това
рязко се увеличава производителността и мащабируемостта на високо
производителната компютърна система.
9
Фиг. 1.9. Абстракция на Intel ArBB програмния модел
Синтаксиса и семантиката на Intel ArBB представлява разширение на С++
програмния език. При създаването на многонишкови приложения с Intel ArBB се
използват стндартните особености и компилатори за С++.
ArBB поддържа два типа на оператори: скаларни и векторни. Векторните
оператори представляват колекции от паралелни скаларни данни. Потенциалните
паралелизми се изразяват чрез векторни операции. Векторните оператори и
операции се осъществяват чрез т.н. „плътни контейнери“ (фигура 1.10), който
представляват еквиваленти на масиви в С програмния език. ArBB поддържа
едномерни, двумерни и тримерни „плътни“ контейнери. Елементите на контейнера
могат да бъдат скалари или масиви.
За осигуряване на добър баланс на натоварването на изчислителните
възли и декомпозицията на данните между процесорите, ArBB поддържа
съвместим С++ интерфейс на виртуална машина (фигура 1.11.). Главно
предназначение на виртуалната машина е да извършва управление на нишките и
динамично генериране на оптимизиран код. Така генерирания код е лесно
преносим помжду различни типове векторни процесори и помежду системи с
различен брой на изчислителни възли.
Основни функции на виртуалната машина при ArBB програмния модел са
[76]:
10
• Управлението на данните което включва: деклариране на нови
типове, алокиране на контейнерите и преместване на данните от приложението
към виртуалната машина и обратно.
• Дефиниране на функции
• Управление на процеса на изпълнение на програмата
Фиг. 1.11. Интерфейс на виртуална машина при Intel ArBB програмния
модел
1.1.1. Ресурсни брокери
Ресурсните брокери съчетават нуждите на приложението с моменталното
състояние на хардуерните ресурси на системата. Ресурсните брокери осигуряват
виртуалната организация на системата.
Фиг. 1.13. Архитектура на ресурсен брокер
11
Ресурсните брокери (фиг. 1.13.) проследяват заетостта и натоварването на
системните ресурси и откриват възможните претоварвана на системата. Брокера
първоначално търси свободни ресурси чрез услуга за информационно
обслужване на системата, след което се извършва филтриране и ранкиране на
намерените свободни ресурси в зависимост от тяхната заетост и натоварване.
Системата е претоварена ако не може да осигури достатъчно ресурси за
удовлетворяване на изискванията на приложенията [17, 18]. За успешно
откриване на претоварването, брокера трябва да следва натоварването на всеки
споделен ресурс. За да се провери дали дадена заявка ще претовари системата,
използва се тест за сравнение на присвоените ресурси от приложението и
капацитета на наличните свободни физически ресурси на системата.
Алгоритъма на работа на ресурсния брокер (фигура 1.14.) обхваща
две фази. В първата фаза – вход, приложението изпраща към брокера заявка за
изпълнение на една или повече задачи. В втората фаза – изпълнение, ресурсния
брокер избира и предава задачите на най-подходящите ресурси. Най-
подходящите ресурси се определят чрез филтриране (отхвърляне) на ресурсите
които не ги задоволяват изискванията за налична памет, дисково пространство,
архитектура, както и филтриране на ресурсите за които потребителя няма права
за достъп. След като брокера избере най-подходящите ресурси, той предава за
изпълнение задачите на съответните ресурси и освобождава всички резервирани
ресурси в фазата на филтриране, които остават свободни след разпределението
на задачите.
Фиг. 1.14. Блок-схема на алгоритъма на работа на ресурсния брокер
12
След разпределението на всички активни приложенията между наличните
ресурси на системата, възможно е да останат неизползвани ресурси.
Неизползваните ресурси могат да бъдат ресурси, които не са присвоени от никое
приложение, както и ресурси които са присвоени от приложение, но не са
използват. Всички неизползвани ресурси преминават в състояние на ниска
консумация.
Три базови типа механизми поддържат работата на ресурсния
брокер: планираща програма, механизъм за определяне на подходящи ресурси и
механизъм за обратна връзка. Планиращата програма и механизъма за
определяне на подходящите ресурси мултиплексират, арбитрират или
разпределят хардуерните ресурси за удовлетворяване на изискванията на
приложенията при висока степен на сигурност [77, 78]. Механизмът за обратна
връзка осигурява взаимодействието с приложениеята и стратегиите за
виртуализация на системно ниво. Те осигуряват обратна връзка за капацитета на
физическите ресурси и тяхното използване.
1.4. Метаевристични алгоритми
Метаевристиката обхваща алгоритми от високо ниво, които координират
изпълнението на прости евристични алгоритми, с цел намиране на решения с по-
добро качество от тези получени при евристичните алгоритми. Предназначението
на тези алгоритми е да управляват баланса между разнообразието при търсенето,
когато търсенето се насочва към области със слаби решения в пространството на
търсене и интензификацията, която цели намирането на най-добрите решения в
рамките на претърсваната област в пространството на търсене. Пространството
на търсене представлява възможните решения на проблема. Класическата
метаевристика включва генетичните алгоритми, оптимизация с мравчените
колони, оптимизацията с пчелните колони, симулираното закаляване, търсенето
със забрани, разпръснатото търсене, търсене при различни съседи, „лакомата“
процедура за рандомизирано адаптивно търсене, меметичните алгоритми и др.
Друг алгоритъм който може да се използва при проблеми, където не може
да се анализира глобалната перспектива, е алгоритъма за оптимизация с
изкуствени пчелни колонии [21, 22, 52]. Основната идея на този алгоритъм е да се
имитира интелигентното поведение на медоносните пчели (фигура 1.16.). При
този алгоритъм, пчелната колония се състои от пчели работнички, пчели
наблюдатели и пчели скаути. Прието е, че има само една абстрактна работничка
за всеки източник на храна т.е. броя на пчелите скаути е равен на броя на
източниците на храна около кошера. Пчелите скаути откриват източници на
нектар, връщат се в кошера и започват да танцуват, приканвайки пчелите
наблюдатели да проверят новооткрития източник на нектар. Някои от пчелите
наблюдатели се заемат да посетят източника, и тези пчели се превръщат в
13
работнички, посещават източника и се опитват да намерят по-добър източник на
нектар в близкото съседство. Колкото е по-богат източника на нектар, открит от
пчела скаут, толкова по-голям брой пчели работнички ще отидат да го посетят и
ще направят опит да открият по-богати източници в съседството.
Фиг. 1.16. Реално поведение на медоносните пчелни колонии
Когато една област е претърсена и откритите източници на нектар са бедни
или не са по-богати от открития източник от пчелата скаут, съответните източници
на нектар се считат за изчерпани и се изоставят.
Алгоритмите за оптимизация с мравчените колонии и изкуствените пчелни
колонии осигуряват мощни техники за високоскоростно решаване на
оптимизационни проблеми на високопроизводителни компютърни платформи.
Тези алгоритми се характеризират с висока степен на потенциален паралелизъм,
при различна големина на пространството на търсене. Осигуряват се
възможности за паралелизация на тези алгоритми, което до значителна степен
ускорява процеса на търсене. Освен това, тези алгоритми дават възможност и за
подобряване на качеството на получените решения.
14
ГЛАВА 2. ФОРМИРАНЕ ПАКЕТ ОТ КОЛЕКЦИЯ ЕТАЛОННИ ПАРАЛЕЛНИ
ПРИЛОЖЕНИЯ
2.1.2. Паралелно решаване на комбинаторен проблем „N-те царици“
За паралелно решаване на проблема за N-те царици предлага се
метаевристиката „изкуствени пчелни колонии“. Тази метаевристика е инспирирана
и симулира реалното колективно поведение на пчелните колонии. Основен
подход при решаването на проблема за N-те царици е изграждане на компютърен
модел, симулиращ колективното поведение на пчелите при събиране на нектар. В
алгоритъма, позицията на източника представлява едно възможно решение на
проблема, а количеството нектар представлява качеството на предложеното
решение. Предлага се алгоритъм за планиране на ресурсите на основата на
метаевристиката „Изкуствени пчелни колонии“ за решаване на проблема за N-те
царици.
Фиг. 2.4. Планиране на ресурсите при решаване на проблема за N-те царици на
основата на метаевристиката „Изкуствени пчелни колонии“
На фигура 2.4. е предложен алгоритъм за планиране на ресурсите при
решаване на проблема на N-те царици на основата на метаевристиката
„Изкуствени пчелни колонии“. В предложения алгоритъм използва се динамично
планиране на ресурсите с поддръжка на таблици на задачите и свободните
ресурси. При неговата реализация предварително се дефинират стойностите на
три параметри: броя на пчелите скаути, броя на пчелите наблюдатели и броя на
15
пчелите работници. Поддържат се и два типа на таблици: таблица на задачите, в
която основния проблем е декомпозиран на повече подпроблеми и таблица на
свободните ресурси, в която се записва информация за всички налични свободни
ресурси. Таблиците са единствените глобални данни в алгоритъма, тъй като
всички пчели осъществяват директен достъп до поне една от таблиците.
Основно предназначени на пчелите скаути е да претърсват пространството
с ресурсите. При намиране на свободен ресурс, пчелите скаути записват ID-то на
процесора/ядрото в таблицата с налични свободни ресурси и инициализират
полето стойност с 1. След записване на данните в таблицата на налични
свободни ресурси, пчелата скаут започва да „танцува“ и повиква пчелите
наблюдатели да определят качеството на намерения свободен ресурс.
Качеството на свободния ресурс се определя чрез дефиниране на стойностите на
три параметри: времето необходимо за достъп до този ресурс;
междупроцесорното разстояние и времето необходимо за изпълнение на малка
еталонна програма. След определяне на тези стойности, пчелата наблюдател
увеличава стойността на полето стойност в таблицата на налични свободни
ресурси с определен коефициент. Колко стойностите на тези параметри са по-
ниски, то по подходящ е намерения свободен ресурс за изпълнение на задачите.
Коефициента нараства с намирането на най-подходящите ресурси, което
означава, че ресурсите с най-висока стойност са най-подходящи за изпълнение на
съответната задача.
Пчели работници първоначално, взима последната необработена задача от
таблицата с задачите, след което претърсва таблицата с налични свободни
ресурси и отбира най-подходящия ресурс за изпълнение на тази задача т.е.
ресурса с най-висока стойност. Броят на пчелите работници определя броя на
оптимални и субоптимални решения, намерени в рамките на една итерация на
алгоритъма. При повече пчели в кошера ще бъдат намерени повече решения на
проблема в рамките на един машинен цикъл. Броя на итерации зависи от броя на
пчели в кошера, както и от броя на задачи в таблицата с задачите. При
изчерпване на необработените задача в таблицата на задачите, изпраща се
съобщение за терминиране на всички активни процеси.
2.1.3. Оценка на производителността при решаването на проблема
за N-те царици
Резултатите от времето за изпълнение и ефективността, получени при
последователното и паралелното изпълнение с многонишкова обработка за
решаване на проблема с различна големина на шахматната дъска са дадени на
фигура 2.7 и 2.8.
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
Уск
ор
ени
е
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
Ефек
тивн
ост
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
Уско
рен
ие
19
На фигура 2.16. е представена оценката на качеството на решенията които,
са базират на проведени 60 експеримента за 800 на брой градове, като всеки
експеримент стартира с различен начален маршрут. На фигура 2.17. е показана
разликата в качеството на решенията, получена от предишните експерименти.
Фиг. 2.16. Качество на жизнеспособността при 60 експеримента за 800 на брой
градове при решаване на TSP с генетични алгоритми
Фиг. 2.17. Разлика в качеството на решенията при 60 експеримента за 800 на
брой градове при решаване на TSP с генетични алгоритми
Анализът на качеството на получените решения показва че при по-голямата
част от експериментите имаме минимално отклонение от идеалното решение на
проблема. Средното отклонение е около 5% от идеалното, докато максималното