- •Екзаменаційний білет №6
- •Векторні і векторно-конвеєрні кс.
- •Екзаменаційний білет №7
- •Визначення часу виконання mpi-програми.
- •Екзаменаційний білет №8
- •Кс класу mimd.
- •2.Передача даних від одного процеса всім процесам програми.
- •Екзаменаційний білет №9
- •Обмеження кількості процесорів
- •Проблема когерентності кеш-пам'яті
- •2.Передача даних від всіх процесів одному процесу. Операції редукції
- •Екзаменаційний білет №10
- •Кластерні комп’ютерні системи.
- •2.Синхронізація обчислень.
Обмеження кількості процесорів
При збільшенні кількості процесорів помітно збільшується вимога до смуги пропускання шини пам'яті. Це накладає обмеження на кількість процесорів в SMP архітектурі. Сучасні конструкції дозволяють розмістити до чотирьох процесорів на одній системній платі.
Проблема когерентності кеш-пам'яті
Проблема, про яку йде мова, виникає через те, що значення елементу даних у пам'яті, що зберігається в двох різних процесорах, доступне цим процесорам тільки через їх власні Кеші. Якщо процесор змінить значення елементу даних у своєму кеші, то при спробі виведення даних з пам'яті, буде отримано старе значення. Навпаки, якщо підсистема вводу/виводу вводить в комірку основної пам'яті нове значення, в кеш-пам'яті процесора, як і раніше залишається старе.
2.Передача даних від всіх процесів одному процесу. Операції редукції
Операція приведення, результат якої передається одному процесу, виконується при виклику підпрограми MPI_Reduce:
int MPI_Reduce(void *buf, void *result, int count, MPI_Datatype datatype, MPI_Op op, int root, MPI_Comm comm)
Вхідні параметри підпрограми MPI_Reduce:
buf — адреса буфера передачі;
count — кількість елементів у буфері передачі;
datatype — тип даних у буфері передачі;
ор — операція приведення;
root — ранг головного процесу;
comm — комунікатор.
Підпрограма MPI_Reduce застосовує операцію приведення до операндам з buf, а результат кожної операції міститься в буфер результату result. MPI_Reduce повинна викликатися всіма процесами в комунікаторі comm, a аргументи count, datatype і op у цих викликах повинні збігатися. Функція приведення (ор) не повертає код помилки, тому при виникненні аварійної ситуації або завершується робота всієї програми, або помилка мовчазно ігнорується. І те й інше в однаковій мірі небажано.
Екзаменаційний білет №10
Кластерні комп’ютерні системи.
Кластерна архітектура
Розглянемо місце кластерної архітектури обчислювальних систем в цiйкласифікації. Кластер - це пов'язаний набір повноцінних комп'ютерів, який використовується вяк єдиного ресурсу. Під поняттям "повноцінний комп'ютер" розумієтьсязавершена комп'ютерна система, що володіє всім, що потрібно для їїфункціонування, включаючи процесори, пам'ять, підсистему введення/виводу, атакож операційну систему, підсистеми, додатки і т.д. Зазвичай для цьогогодяться персональні комп'ютери чи паралельні системи, які можутьволодіти архітектурою SMP і навіть NUMA. Кластери є слабосвязаннимісистемами, зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури чикомутатора. Тому вони є більш дешевою в побудові модифікацією MPP архітектури.
Кластерна архітектура паралельних комп'ютерів
Загальні принципи
Як вже було сказано раніше обчислювальний кластер - це сукупністькомп'ютерів, об'єднаних у рамках деякої мережі для вирішення однієї задачі (рис.3), яка для користувача представляється як єдиногоресурсу. Таку концепцію кластеру вперше запропонувала і реалізувала на початку 80-х корпорація Digital Equipment, яка і донині розвиває цютехнологію Поняття "єдиний ресурс" означає наявність програмного забезпечення, що даєможливість користувачам, адміністраторам і прикладним програмам вважати,що є тільки одна сутність, з якою вони працюють - кластер. Наприклад, система пакетної обробки кластеру дозволяє послати завдання наобробку кластеру, а не якомусь окремому комп'ютеру. Більш складнимприкладом є системи баз даних. Практично у всіх виробниківсистем баз даних є версії, що працюють в паралельному режимі надекількох машинах кластеру. В результаті програми, що використовують базуданих, не повинні дбати про те, де виконується їх робота. СУБДвідповідає за синхронізацію паралельно виконуваних дій і підтримкацілісності бази даних. Комп'ютери, що утворюють кластер, - так звані вузли кластеру - завждивідносно незалежні, що допускає зупинку, вимикання будь-якого зних для проведення профілактичних робіт або встановлення додатковогообладнання без порушення працездатності всього кластеру.
рис.3 Як обчислювальних вузлів в кластері зазвичай використовуютьсяоднопроцесорні персональні комп'ютери, дво-або чотирипроцесорні SMP -сервери. Кожен вузол працює під управлінням своєї копії операційноїсистеми, у якості якої найчастіше використовуються стандартніопераційні системи: Linux, NT, Solaris і т.п. Склад і потужність вузлівможе змінюватися навіть в рамках одного кластера, даючи можливість створюватинеоднорідні системи. Вибір конкретної комунікаційного середовища визначаєтьсябагатьма чинниками: особливостями класу вирішуваних завдань, необхідністюподальшого розширення кластеру і т.п. Можливе включення в конфігураціюспеціалізованих комп'ютерів, наприклад, файл-сервера, і, як правило,надана можливість віддаленого доступу на кластер через Internet. З визначення архітектури кластерних систем випливає, що вона включає всебе дуже широкий спектр систем. Розглядаючи крайні точки, кластеромможна вважати як пару ПК, пов'язаних локальної 10-мегабітної мережею Ethernet, так і обчислювальну систему, яка створюється в рамках проекту Cplantв Національній лабораторії Sandia: 1400 робочих станцій на базі процесорів Alpha, пов'язаних високошвидкісний мережею Myrinet. Таким чином видно, що різних варіантів побудови кластерів дужебагато. При цьому в архітектурі кластеру велике значення мають використовуванікомунікаційні технології і стандарти. Вони багато в чому визначають колозадач, для рішення яких можна використовувати кластери, побудовані наоснові цих технологій. Принципи побудови
Для забезпечення надійності та відмовостійкості обчислювальних системзастосовується безліч різних апаратурних і програмних рішень. Високопродуктивні кластери