Перкін Павло Валерійович
Українська English

Перкін Павло Валерійович

Факультет комп’ютерних наук і технологій (ФКНТ)

Кафедра комп’ютерної інженерії (КІ)

Спеціальність: Комп’ютерні системи і мережі (КС)

Тема роботи: Дослідження структур композиційних пристроїв керування з використанням розподілених обчислень

Науковий керівник: доц. кафедри КІ Зеленьова Ірина Яківна


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

Вступ

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

Для реалізації цифрових пристроїв широко використовується базис програмованих логічних інтегральних схем (ПЛІС) [1]. У порівнянні з замовними схемами, ПЛІС програють у швидкодії і в оптимальності використання апаратних засобів, проте вартість ПЛІС значно менша, ніж вартість замовної схеми, реалізація пристрою на базі ПЛІС займає значно менше часу і, найчастіше, ПЛІС є більш надійними, ніж замовні схеми [2]. У порівнянні з іншими родинами інтегральних схем, такими як: прості інтегральні схеми (ПІС), малі інтегральні схеми (МІС), середні інтегральні схеми (СІС), великі інтегральні схеми (ВІС) і т.д., основною перевагою ПЛІС є властивість реконфігурації, яка дозволяє реалізовувати різні цифрові пристрої на одній і тій самій інтегральній схемі [3].

Актуальність проблеми

Сучасні мікросхеми ПЛІС мають властивість реконфігурації, яка дозволяє кінцевому користувачу самостійно виконувати проектування цифрових пристроїв з використанням спеціалізованих САПР. При цьому тривалість процесу проектування безпосередньо залежить від обчислювальної потужності використовуваного ПК і від складності проектованого пристрою. Для збільшення продуктивності процес проектування можна виконувати з використанням розподілених обчислень. При цьому виконати запуск САПР на декількох процесорах важко, а от виконання декількох незалежних процесів одночасно може значно скоротити загальний час проектування, що значно скоротить час проектування, при обробці більш ніж одного цифрового пристрою [1].

Цілі та задачі

Основною метою магістерської роботи є зменшення часу, що витрачається на процес імплементації цифрового пристрою, шляхом реалізації цього етапу проектування за допомогою розподілених обчислень. Основною ідеєю даної методики є одночасне паралельне виконання деякої кількості процесів імплементації на багатопроцесорному обчислювальному ресурсі. В якості такого ресурсу передбачається використовувати кластер ДонНТУ NeClus – паралельну обчислювальну систему MIMD-архітектури з розподіленою пам'яттю [4]. Для досягнення мети необхідно в рамках магістерської роботи вирішити ряд завдань: вивчити особливості організації кластера; розробити протокол взаємодії керуючого вузла з операційними вузлами; розробити та дослідити методику балансування завантаження операційних вузлів; дослідити ефективність використання багатопроцесорного обчислювального ресурсу при масовому виконанні слабопов'язаних задач.

Особливості паралельних обчислень

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

Додатковою формою забезпечення паралелізму може служити конвеєрна реалізація оброблювальних пристроїв, при якій виконання операцій в пристроях представляється у вигляді виконання послідовності утворюючих операцію підкоманд; як результат, при обчисленнях на таких пристроях можуть перебувати на різних стадіях обробки одночасно декілька різних елементів даних [5].. При розгляді проблеми організації паралельних обчислень слід розрізняти наступні можливі режими виконання незалежних частин програми:

Види паралельних систем

Одним з найбільш поширених способів класифікації ЕОМ є систематика Флінна (Flynn), в рамках якої основна увага при аналізі архітектури обчислювальних систем приділяється способам взаємодії послідовностей (потоків) виконуваних команд і оброблюваних даних. В результаті такого підходу розрізняють такі основні типи систем:

Сучасні паралельні системи

Основним параметром класифікації паралельних комп'ютерів є наявність загальної (SMP) або розподіленої пам'яті (MPP). Щось середнє між SMP і MPP представляють собою NUMA-архітектури, де пам'ять фізично розподілена, але логічно загальнодоступна. Кластерні системи є більш дешевим варіантом MPP. За підтримки команд обробки векторних даних говорять про векторно-конвеєрні процесори, які, в свою чергу можуть об'єднуватися в PVP-системи з використанням загальної або розподіленої пам'яті. Все більшу популярність набувають ідеї комбінування різних архітектур в одній системі і побудови неоднорідних систем.

При організаціях розподілених обчислень в глобальних мережах (Інтернет) говорять про мета-комп'ютерах, які, строго кажучи, не представляють із себе паралельних архітектур.

Найбільш типові класи архітектур сучасних паралельних комп'ютерів і супер-ЕОМ:


Рисунок 1 - Кластер ДонНТУ

Особливості синтезу цифрових пристроїв

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

Базис ПЛІС

ПЛІС (програмована логічна інтегральна схема) - це великі інтегральні мікросхеми матричного типу, що дозволяють програмним способом реалізувати логічні функції великої складності. Фізичним обмеженням швидкодії, властивою всім традиційним архитектурам процесорів, є послідовне виконання команд [8]. На відміну від звичайних цифрових мікросхем, логіка роботи ПЛІС не визначається при виготовленні, а задається за допомогою програмування (проектування). Для програмування використовуються програматори і середовища налагодження, що дозволяють задати бажану структуру цифрового пристрою у вигляді принципової електричної схеми або програми на спеціальних мовах опису апаратури: Verilog, VHDL, AHDL та інші. Альтернативою ПЛІС є: програмовані логічні контролери (ПЛК), базові матричні кристали (БМК), потребують заводського виробничого процесу для програмування; ASIC - спеціалізовані замовні великі інтегральні схеми (ВІС), які при дрібносерійному та одиничному виробництві істотно дорожче; спеціалізовані комп'ютери, процесори (наприклад, цифровий сигнальний процесор) або мікроконтролери, які через програмний спосіб реалізації алгоритмів в роботі повільніше ПЛІС.

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

Типи ПЛІС

В даний час найбільшу поширеність отримали два типи архітектур ПЛІС:

1) CPLD (англ. complex programmable logic device). Прикладами ПЛІС даної архітектури є сімейство MAX фірми Altera і CoolRunner фірми Xilinx. Для архітектур даних ПЛІС характерні великі логічні блоки - макроячейки (macrocells). Сучасні ПЛІС містять до декількох сотень макроячеек. Кожна макроячейка реалізує функцію декількох змінних і містить тригер для зберігання отриманого результату. Для ПЛІС даної архітектури характерно вкрай низька споживана потужність в статичному режимі (струм порядку десятків мікроампер), яка лінійно зростає зі збільшенням тактової частоти. Також для даної архітектури характерні жорсткі часові затримки між макроячейками а отже і висновками мікросхеми. Типовий час затримки між висновками (pin-to-pin) становить одиниці наносекунд. Прошивка ПЛІС даної архітектури зберігається всередині мікросхеми в незалежній пам'яті.

2)FPGA (англ. field-programmable gate array). ПЛІС даної архітектури мають набагато більше розвинену архітектурою, в порівнянні з CPLD. Основною структурною одиницею ПЛІС даної архітектури є LUT (англ. Lookup tables) - таблиці перетворення, що дозволяють реалізовувати логічні функції. Сучасні ПЛІС містять апаратні помножувачі в тому числі з накопиченням (MAC), блоки внутрішньої пам'яті, апаратні інтерфейси для DDRx SDRAM, апаратні ядра PCIexpress, вбудовані мікропроцесорні ядра, трансивери для організації швидкісної передачі даних між ПЛІС і зовнішніми пристроями [8]. На рисунку 2 наведена плата Xilinx Spartan 3E – типовий представник архітектури FPGA.


Рисунок 2 - Плата Xilinx Spartan

Результати

На кафедрі комп'ютерної інженерії Донецького національного технічного університету було розроблено програмне забезпечення (ПО), що використовується для синтезу моделей керуючих автоматів. Вхідними даними для синтезу є опис граф-схеми алгоритму керування в форматі мови XML [1]. За допомогою ПО можна отримати безліч моделей керуючих пристроїв, що інтерпретують вихідну ГСА. Модель являє собою vhd-файли, що описують функціональні вузли керуючих пристроїв, а також mif-файли, що містять мікропрограму (для керуючих пристроїв з пам'яттю).

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

У ролі САПРу, для імплементації моделей буде використовуватися Xilinx ISE. процес імплементації буде повністю автоматизований, завдяки використанню tcl-скрипта, що вказує назву проекту, перелік файлів, тип і сімейство базової мікросхеми ПЛІС, а також додаткові параметри та керує процесом імплементації. На рисунку 3 приведена робота алгоритму паралельної обробки моделей.

 Анимация размером 16кб, одно повторение, 9 кадров

Рисунок 3 – Робота алгоритму паралельної імплементації.

Важливе зауваження

При написанні даного реферату магістерська робота ще не завершена. Остаточне завершення: грудень 2012. Повний текст роботи та матеріали за темою можуть бути отримані у автора або його керівника після зазначеної дати.

Список літератури