Дослідження структури алгоритму множення матриць. Реалізація заданого алгоритму. Розробка кластерної системи
Автор работы: Пользователь скрыл имя, 10 Мая 2015 в 16:42, курсовая работа
Описание работы
Паралельні обчислення — це форма обчислень, в яких кілька дій проводяться одночасно. Грунтуються на тому, що великі задачі можна розділити на кілька менших, кожну з яких можна розв'язати незалежно від інших. Паралельні обчислення застосовуються вже протягом багатьох років, в основному в високопродуктивних обчисленнях, але зацікавлення ним зросло тільки недавно, через фізичні обмеження зростання частоти. Оскільки споживана потужність (і відповідно виділення тепла) комп'ютерами стало проблемою в останні роки, паралельне програмування стає домінуючою парадигмою в комп'ютерній архітектурі, основному в формі багатоядерних процесорів.
Содержание работы
Вступ…………………………………………………………………………………..3 1. Дослідження структури алгоритму множення матриць…………………….5 1.1. Проектування блок-схеми виконання алгоритму………………………...7 1.2. Блок-схема виконання алгоритму…………………………………………..8 2. Розрахунковий розділ…………………………………………………………...11 2.1. Послідовне виконання………………………………………………………11 2.2. Паралельне виконання……………………………………………………...12 3. Реалізація заданого алгоритму………………………………………………...16 3.1. Блок-схема роботи програми……………………………………………….16 3.2. Вибір середовища…………………………………………………………….17 3.3. Опис роботи програми……………………………………………………….17 3.4. Результат виконання програми…………………………………………….20 4. Розробка кластерної системи…………………………………………………..22 4.1. Базова інфраструктура………………………………………………………22 4.2. Проектування архітектури кластерної системи………………………….24 4.3. Вибір системного ПЗ…………………………………………………………26 Висновки…………………………………………………………………………….30 Список використаної літератури………………………………………………..31
Вибір архітектури і параметрів
обчислювальних вузлів , багато в чому,
визначить характеристики майбутнього
кластера.
Тип і частота процесорів , властивості
чіпсета , частота системної шини, обсяг
і частота оперативної пам'яті, її конструктив
, параметри кеш-пам'яті, склад портів та
підтримка периферії , можливості для
майбутньої модернізації вузлів -зі всім
цим потрібно визначитися зараз. Бажано
хоча б приблизно уявити коло завдань,
які будуть вирішуватися на кластері,
щоб підбирати склад обчислювальних вузлів,
вже виходячи з вимог, що пред'являються
цими завданнями.
Побудова кластера надійності
і його тестування.
Побудуємо кластер, що складається
з двох вузлів і одного зовнішнього масиву
даних з інтерфесом Fiber Channel. Підключимо
до нього кілька робочих станцій і проведемо
тестування можливих точок відмови кластера.
Використовуване обладнання:
Вузли кластера - два
сервери Team Server серії 1500A у складі:
Intel Server Board S5000PAL;
Intel Xeon 5130 Processor;
2Gb Fully Buffered ECC SDRAM DDR2-667;
HBA QLogic QLE2462;
Дисковий масив Dot Hill R
/ Evolution 2730 у складі:
Два Raid контролера (Двопортових);
Два блоку живлення;
12 жорстких дисків об'ємом
146Gb кожен;
Система зберігання даних в
нашому випадку являє собою повністю продубльовану
систему в одному загальному корпусі.
Всі вузли дискового масиву (контроллери,
блоки живлення, жорсткі диски) постійно
знаходяться в активному стані та підмінюють
один одного в разі відмови непомітно
для кластерної служби. Ці компоненти
допускають "гарячу" заміну, тобто
заміну без виключення масиву.
Рис.13. Схема кластера
4.3. Вибір системного
ПЗ
На кожен вузол кластера встановлена операційна система Windows Server
2003 R2 Enterprise.
Налаштування мережевих параметрів
При побудові кластера необхідно,
щоб всі вузли перебували в одній підмережі.
Внутрішня ( Private Network ) мережа не повинна
мати з'єднань із загальною( Public Network ) мережею
незалежно від того, скільки вузлів застосовується
в кластері. IP адреси , застосовані нами
, показані на схемі кластеру. Після налаштування
мережі необхідно зробити кожен вузол
контролером домену і переконатися в тому,
що вони видно в мережі як один для одного,
так і для клієнтських комп'ютерів . Перед
початком конфігурування зовнішнього
масиву і установкою служби кластерів
Microsoft потрібно вимкнути всі вузли крім
першого .
Налаштування дискового масиву
даних
У нашому прикладі система зберігання
даних являє собою пристрій SAN, його конфігурація
відбувається за допомогою веб інтерфейсу
. Кожен вузол кластера підключається
за допомогою двухпортового HBA ( Host Bus Adapter
) контроллера до обох контроллерів масиву.
Після того, як підключення та налаштування
масиву і FC HBA контроллерів виконана, необхідно
переконатися в тому, що всі створені через
веб інтерфейс диски видно в Windows , після
чого створити на них один або декілька
логічних дисків і відформатувати в NTFS.
Один з логічних дисків буде використовуватися
для кластерного кворуму. Обсяг його, як
правило, невеликий ( мінімум 50MB ) . На ньому
буде зберігатися конфігураційна інформація
та службові дані для функціонування служби
кластерів. Після налаштування першого
вузла його необхідно вимкнути, після
чого включити другий вузол , щоб переконатися,
що всі створені і відформатовані розділи
коректно відображаються і на ньому . У
разі більшої кількості вузлів таку операцію
доведеться виконати з кожним вузлом ,
включаючи його окремо від інших. Після
закінчення перевірки всіх вузлів вони
повинні бути у вимкненому стані, щоб можна
було приступити до установки самої служби
кластерів на першому вузлі.
Установка служби кластерів
Служба кластерів встановлюється
за умовчанням при установці Windows Server,
знайти її можна в Administrative Tools / Cluster
Administrator (Адміністрування / Адміністратор
кластерів). Процес установки кластерної
служби не являє собою складної задачі
і докладно описаний в інструкції з Windows
Server на сайті Microsoft. Після його закінчення
необхідно включити наступний вузол і
додати його в кластер за допомогою консолі
Cluster Administrator (Адміністратор кластерів).
Створення кластерного ресурсу
для тестування
Тепер маючи функціонуючий
кластер, можна створити на ньому кластерний
ресурс для доступу до файлів на логічному
диску масиву. Зробити це можна, вибравши
потрібну групу в панелі управління Cluster
Administrator (Адміністратор кластерів ) і потім
через меню Файл- Створити -Ресурс вибрати
потрібний тип ресурсу. Він відображається
як ресурс із заданим ім'ям і типом File Share.
Тепер до нього можна звернутися по мережі
з клієнтських комп'ютерів як до спільної
папки. Тестування відмовостійкості кластера
Перевіримо доступність кластерного
сервісу на прикладі копіювання великого
обсягу інформації комп'ютерами клієнтами
як на кластер , так і з нього.
Можливі точки відмови кластера
: Обрив (відключення) одного з кабелів
зв'язку дискового масиву з активним вузлом.
На графіку представлена мережева активність одного
з клієнтських комп'ютерів при копіюванні
файлів. На практиці це виразилося в зупинці
копіювання на час переведення зв'язку
вузла з одного Fiber Channel порту на інший.
Після чого копіювання продовжилося.
Рис.14. Графік мережевої активності одного
з клієнтських комп'ютерів при копіюванні
файлів
Втрата внутрікластерного зв'язку
ніяк не позначається на клієнтських комп'ютерах.
Але, якщо при установці служби кластера
для зовнішньої клієнтської мережі було
вказано, що її не можна використовувати
для внутрішнього зв'язку вузлів кластера
між собою , то пасивний вузол кластера
буде недоступний і, в разі виходу з ладу
активного вузла, ресурси не зможуть бути
перезапущени для забезпечення доступності.
Обрив (відключення ) клієнтської
мережі від активного вузла.
Графік нижче також представляє
мережеву активність одного з клієнтських
комп'ютерів . Тут можна помітити, що час
недоступності сервісу в порівнянні з
першим випадком збільшилася приблизно
в два рази і склало 52 секунди.
Рис.15. Графік мережевої активності
одного з клієнтських комп'ютерів
Відмова активного вузла або
відключення його від мережі електроживлення.
Відключення електроживлення
від активного в даний момент
вузла або його відмова призводить
до результатів, аналогічним попередньому
пункту втрати зв'язку з активним
вузлом. Тобто копіювання файлів
призупиниться на час переведення
ресурсів з першого вузла на
другий.
Висновки
В ході виконання даної курсової
роботи розроблено алгоритм перемноження
двох матриць та її програмну реалізацію
з використанням бібліотек MPI. Також було
проведено деякі обчислення, які дають
уявлення про характеристики даного паралельного
алгоритму, та порівняння його з послідовним.
Для восьмипроцесорної системи та матриць
з розмірами 210х72 та 72х67 умовний час виконання
паралельного алгоритму склав 1688636*ts, послідовної
частини11192708*ts. А це означає,
що завдяки розпаралелюванню показник
швидкості виконання програми збільшився
в 6,6 разів, ефективність становить 82%,
що є хорошим показником, але не ідеальним.
Виконання даної курсової роботи дало
змогу засвоїти основні методи та алгоритми
моделювання паралельних обчислювальних
процесів, принципи побудови відповідних
структур, набути початкові практичні
навики проектування засобів паралельного
програмування з можливістю в майбутньому
реалізовувати складніші проекти.
Також в цій курсовій роботі
був побудований і протестований кластер
надійності. Я ознайомилась з базовою
інфраструктурою, з проектуванням архітектури
кластерної системи, з вибором системного
ПЗ.
Список використаної
літератури
1. Бройнль Т. Паралельне програмування
: Початковий курс : Навчальний посібник
. - К. : Вища школа . , 1997 .
2. Воєводін В.В. Математичні
основи паралельних вичісленій.- М .: Изд-
во МГУ. , 1991 .
4. Ортега Дж. Введення в паралельні
і векторні методи вирішення лінійних
систем . М. : Мир , 1991 .
5. Савченко В. Формування кластерів
у регіонах на сучасному етапі / В. Савченко
// Сіверянський літопис. – 2008.
6. Семенов Г.А. Кластери підприємств
як передмова активізації розвитку регіональної
економіки / Г.А. Семенов. О.С. Богма // Економіка
та держава. – 2006.
7. Чужиков В. Кластери
як об’єкт державного регулювання / В.
Чужиков // Вісник УАДУ. – 2001.