Суперкомп’ютери
Поняття про суперкомп’ютери та їх спеціалізація. Приклади виконання векторних операцій на мові Паскаль. Організація векторних обчислень. Векторний співпроцесор IBM 3090. Застосування конвеєрного арифметико-логічного пристрою для операцій з векторами.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | реферат |
Язык | украинский |
Дата добавления | 08.09.2011 |
Размер файла | 22,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Суперкомп'ютери
Векторні обчислення
Не дивлячись на те, що продуктивність сучасних обчислювальних машин багатократно виросла, існує клас задач, для яких їх можливості залишаються недостатніми. Це задачі зв'язані з моделюванням фізичних процесів в різних середовищах, задачі аеродинаміки, сейсмології, метеорології, ядерної фізики, фізики плазми і т.д.
Характерною особливістю згаданих задач є виконання однакових обчислювальних процедур з великими масивами числових даних, які описують багатомірні фізичні поля в динаміці. Для розв'язання подібних задач розробляється окремий клас обчислювальних систем, що отримав назву суперкомпютерів. Теми повинні володіти можливістю виконувати сотні мільйонів арифметичних операцій в секунду над числами в форматі з плаваючою крапкою. Вартість існуючих систем такого класу досягає 10-15 млн. доларів. На відміну від великих обчислювальних систем (майнфреймів), які проектуються в розрахунку на мультипрограмний режим роботи і інтенсивний обмін інформацією з периферійними пристроями, суперкомп'ютери оптимізовані з врахуванням особливостей числової обробки великих і надвеликих масивів даних.
Із-за великої вартості суперкомп'ютерів і їх спеціализації на виконанні задач певного класу ринок таких систем обмежений. Вони використовуються тільки у великих науково-дослідних центрах, які працюють, в основному, над реалізацією грандіозних наукових проектів. Однією з таких проблем на сьогоднішній день є керований термоядерний синтез. Не дивлячись на великі обчислювальні можливості сучасних суперкомп'ютерів, потреби наукових досліджень весь час зростають.
В рамках цього напряму розвивається клас комп'ютерів, орієнтованих на операції над векторами, - так звані матричні процесори (array processor). Вини використовуються як співпроцесори для ефективної обробки векторних фрагментів програм.
Виконання векторних операцій
В комп'ютері загального призначення обробка векторів або масивів чисел у форматі з плаваючою крапкою організовується у виді циклічної процедури, а при чому в кожному циклі обробляється черговий елемент масиву.
Приклад: Дано два вектори чисел А і В. Необхідно додати їх і помістити результат у вектор С. Для цього потрібно виконати 3 операції додавання:
Як можна прискорити виконання подібних операцій? Необхідно впровадити паралелізм в тій або іншій формі.
Існує кілька підходів впровадження ідей паралельного виконання операцій обробки векторів.
Приклад 1: Перемножити квадратні матриці АЧВ=С розмірністю (nЧn). Кожний елемент матриці обчислюється по формулі:
.
Наведемо фрагмент програми на мові Паскаль, яку можна виконати на любому скалярному процесорі загального призначення:
For i:=1 to n do
For j:=1 to n do
Begin
C(i,j) := 0;
For k:=1 to n do
C(i,j) := C(i,j) + A(i,k)*B(k,j);
End;
Один із методів підвищення продуктивності виконання подібних обчислень отримав назву векторної обробки. Цей метод допускає, що в програмі можна оперувати з одномірними векорами даних.
Приклад 2: Наведемо фрагмент програми на мові Паскаль, в якому реалізована нова форма операторів, яка дозволяє специфікувати операції над векторами:
For i:=1 to n do
Begin
C(i,j) := 0;(j = 1,n)
For k:=1 to n do
C(i,j) := C(i,j) + A(i,k)*B(k,j);(j = 1,n)
End;
Запис виду (j = 1,n) означає, що операції над елементами з всіма індексами j в заданому інтервалі будуть виконуватись як єдина процедура. У представленому фрагменті всі елементи i-го рядка обчислюються паралельно. Кожний елемент в рядку представляє собою суму, доданки якої обчислюються послідовно. Але навіть у цьому випадку потрібно тільки N2 операцій вектороного множення у порівнянні з N3 операціями скалярного множення у попередньому варіанті.
Паралельна обробка
суперкомп'ютер вектор обчислення
Такий підхід допускає, що у нашому розпорядженні є N незалежних процесорів, які працюють паралельно. Для того щоб ефективно їх використати, потрібно якимось чином вказати, які обчислення повинні виконувати ці процесори. Для цього в мові програмування є два типи директив. Директива FORK n вказує, що паралельно виконувані процеси починаються з оператора програми, поміченого міткою n. Кожне виконання директиви FORK породжує новий процес. Дирекива JOIN виконує роль зворотну до FORK. Вираз JOIN N вказує, що N незалежних процесів зливаються в один, який продовжується оператором, який слідує зразу за JOIN. Координація такого зливання процесів покладається на операційну сисиему, і виконання загального процесу не продовжується до тих пір, поки N паралельних незалежних процесів не завершиться.
Приклад 3: Наведемо текст програми паралельної обробки, який по формі мало відрізняється від першого прокладу. Але в даному випадку кожний стовпець С обчислюється окремим процесором і, як наслідок, елементи кожного рядка матриці обчислюються паралельно.
For j:=1 to n do
FORK 100;
J = N;
For i:=1 to n do
Begin
C(i,j) := 0;
For k:=1 to n do
C(i,j) := C(i,j) + A(i,k)*B(k,j);
End;
JOIN N;
Вище описані підходи до логічної організації векторних обчислень. Тепер розглянемо якою має бути структура процесорів, здатних реалізувати ці підходи. Можна виділити три основні категорії:
§ Процесор з конвеєрними АЛП;
§ Процесор з паралельними АЛП;
§ Паралельні процесори.
На рис. 1 наведені схеми двох перших варіантів. У наведеній схемі концепція конвеєра поширюється і на організацію АЛП.
Оскільки арифметичні операції з числами з плаваючою крапкою досить складні, то можна розбити кожну операцію на окремі фази і виконувати ці фази паралельно з різними числами (Рис. 2).
Операція додавання розділена на чотири фази:
1. порівняння порядків - С;
2. зсув мантиси одного із доданків - S;
3. додавання мантис - А;
4. нормалізація суми - N.
5.
Размещено на http://www.allbest.ru/
а)
Размещено на http://www.allbest.ru/
б)
Рис. 1. Організація векторних обчислень:
а - конвеєрний АЛП;
б - паралельні АЛП.
Послідовності чисел (векторні доданки) подаються на вхід блоку виконанння першої фази. В дальнійшому, по мірі того як процес обробки просувається, у блоках виконання різних фаз опиняються чотири пари чисел - елементів сумування векторів.
Векторной співпроцесор IBM 3090
Хорошим прикладом використання конвеєрного АЛП для обробки векторів є векторний співпроцесор IBM 3090, розроблений як один з компонентів сімейства IBM S/370. Його векторні функції схожі на ті, що реалізовані в суперкомп'ютері CRAY.
В співпроцесорі широко використовуються векторні регістри. Кожний векторний регістр є набором скалярних регістрів. Для обчисленні векторної суми С = А + В вектори А і В завантажуються в два векторні регістри. Не дочікуючи завершення завантаження, дані з цих регістрів передаються в АЛП, а результат поступає у вихідний регістр. Накладання фаз операцій завантаження і обчислення суттєво прискорює виконання всієї операції.
Структура співпроцесора
Застосування конвеєрного АЛП для виконання операцій з векторами забезпечує підвищення швидкодії в порівнянні з циклічним виконанням скалярних арифметичних операцій, чому сприяють наступні умови:
1. Фіксована структура векторних даних дозволяє замінити службові операції в тілі циклу більш швидкими внутрішніми операціями в співпроцесорі, які реалізуються апаратно або за допомогою мікропрограм.
2. Доступ до даних і обчислення можуть виконуватись паралельно.
3. Використання векторних регістрів для зберігання проміжкових результатів дозволяє уникнути додаткових звернень до пам'яті.
Размещено на Allbest.ru
Подобные документы
Суперкомп'ютери в сучасному суспільстві. Області застосування суперкомп'ютерів. Програмне забезпечення суперкомп'ютерів. Технічні характеристики Hopper - Cray XE6. Масштабованість програмного забезпечення. Інтегровані апаратні системи телемеханіки.
реферат [351,5 K], добавлен 22.04.2014Cуперкомп'ютери виробництва Cray Research. Векторна обчислювальна система: регістри та арифметико-логічний пристрій. Підходи до архітектури засобів векторної обробки. Архітектура комп’ютерів Cray. Реконфігурований блэйд-сервер. Програмне забезпечення.
курсовая работа [696,0 K], добавлен 18.05.2012Підвищення продуктивності мікропроцесорних систем. Основні напрями вдосконалення архітектури сучасних обчислювальних систем. Багатоядерні МП та багатопроцесорні МПС. Конвеєризація та розпаралелювання обчислень. Суперкомп'ютери - надвисоки швидкості.
лекция [408,1 K], добавлен 13.04.2008Загальна інформація про створення суперкомп’ютера Stampede. Аналіз прискорювача Intel Xeon Phi - карти Intel, архітектури Intel Xeon Phi, апаратної частини. Екскурсія по суперкомп’ютеру Stampede. Опис особливостей мережі. Характеристики сховища даних.
реферат [2,8 M], добавлен 19.06.2015Функції арифметико-логічного пристрою - виконання операцій над числами, що надходять до нього, за сигналами з пристрою керування. Правила переводу чисел з однієї системи числення в іншу. Розроблення алгоритму; функціональна і принципова електричні схеми.
курсовая работа [1,0 M], добавлен 27.04.2014Призначення модулів та їх структура. Компіляція програм, які використовують модулі. Програмна реалізація алгоритму створення бібліотеки операцій над векторами. Інструкція користувачеві програми. Контрольні приклади та аналіз результатів їх реалізації.
курсовая работа [145,6 K], добавлен 20.03.2011Функціонально розподілені системи. Паралельні комп’ютери та їх продуктивність. Методи розподілення доступу до спільної пам’яті в багатопроцесорних системах. Системи з розподіленою пам’яттю. Класичні матричні системи, метакомп’ютери та трансп’ютери.
курсовая работа [485,9 K], добавлен 20.06.2010Історія виникнення квантових комп’ютерів. Структура квантових комп’ютерів та принципи роботи. Квантовий комп’ютер на ядерних спінах у кремнію. Квантовий комп’ютер на електронному спіновому резонансі в структурах Ge–Si. Надпровідниковий суперкомп’ютер.
курсовая работа [579,4 K], добавлен 15.12.2008Арифметико-логічний пристрій (АЛП) призначений для виконання арифметичних і логічних операцій над числами (словами) за сигналами з пристрою керування. Процес функціонування АЛП являє собою визначену послідовність елементарних дій у його вузлах.
лекция [67,3 K], добавлен 13.04.2008Загальні відомості про системи числення. Поняття основи. Машинні коди чисел. Алгоритми виконання операцій додавання і віднімання в арифметико-логічному пристрої ЕОМ, множення і ділення двійкових чисел в АЛП. Логічні основи ЕОМ. Досконалі нормальні форми.
учебное пособие [355,4 K], добавлен 09.02.2012