АЛП

арифметико-логічний пристрій

ЛП

локальна пам’ять

СП

спільна пам’ять

БН

балансування навантаження

a, b, c,..

вектори-стовпці

ArBB

Intel Array Building Blocks – технологія блокової паралельної обробки масивів даних

HPC

High-performace computing – високопродуктивні обчислення

HTC

High-throughput computing – обчислення з високою пропускною здатністю

MPI

Message Passing Interface – інтерфейс передачі повiдомлень

OpenMP

Open MultiProcessing – відкрита специфiкацiя директив мультиобробки даних

TBB

Intel Threading Building Blocks – технологія блокової побудови багатопоточних програм


ВСТУП

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

Актуальність теми

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

НЕ нашли? Не то? Что вы ищете?

Традиційним підходом до збільшення продуктивності обчислювальних систем впродовж тривалого часу було удосконалення часових, частотних, електричних характеристик апаратних компонентів комп’ютерних систем шляхом збільшення тактової частоти роботи логічних елементів, збільшення ступеню інтеграції елементів в схемі та іншими методами на кшталт збільшення обсягу компонентів електроніки на одиницю простору. Однак, впродовж останнього десятиріччя зростання продуктивності обчислювальних машин майже зупинилось, у зв’язку з чим основним шляхом збільшення продуктивності обчислювальних систем стало застосування паралельних та розподілених обчислень.

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

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

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

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

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

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

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

Зв’язок роботи з науковими програмами, планами, темами

Дисертаційна робота виконувалася відповідно до планів науково-дослідних робіт кафедри обчислювальної техніки НТУУ "КПІ" та центру суперкомп’ютерних обчислень НТУУ "КПІ": № IT506–2007 "Створення національної Grid інфраструктури для забезпечення наукових досліджень" (номер державної реєстрації 0107U007931), що проводиться в рамках державної цільової програми "Інформаційні та комунікаційні технології в освіті й науці на 2006-2010 роки" (Постанова КМ України № 000 від 7 грудня 2005 року); "Розробка засобів підвищення ефективності роботи гетерогенних кластерних систем на базі кластера НТУУ "КПІ" (номер держреєстрації НДР 0108U000511); НДР "Заходи підтримки функціонування національної грід-інфраструктури і навчання та тренінгу системних адміністраторів" № ДР 0110U005762; "Розвиток окремих сервісів розподіленого базового координаційного грід-центру національного рівня в Інституті прикладного системного аналізу НАН України” № ДР 0111U006237; НДР "Розвиток сервісів розподіленого базового координаційного грід-центру національного рівня" № ДР 0112U004347; НДР "Удосконалення сервісів розподіленого базового координаційного грід-центру національного рівня" № ДР 0113U005059, виконаними в рамках Державної цільової науково-технічної програми впровадження і застосування грід-технологій в Україні на 2009-2013 роки (автор – відповідальний виконавець).

Мета і задачі дослідження

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

Для досягнення мети в роботі вирішуються наступні задачі.

–  Аналіз статистики розв’язання важливих наукових задач на сучасних кластерних комп’ютерних системах і обґрунтування, за результатами аналізу, критеріїв ефективності обробки проблемно-орієнтованих задач на паралельних кластерних системах.

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

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

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

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

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

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

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

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

Об'єктом дослідження є процеси обробки інформації в кластерних комп’ютерних системах та фактори, що визначають ефективність функціонування таких систем при обробці задач наукового характеру: завантаженість системних ресурсів та масштабування процесів.

Из за большого объема этот материал размещен на нескольких страницах:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53