Суперкомп’ютери

Поняття про суперкомп’ютери та їх спеціалізація. Приклади виконання векторних операцій на мові Паскаль. Організація векторних обчислень. Векторний співпроцесор 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.2014

  • Cуперкомп'ютери виробництва 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.