Розподілене паралельне моделююче середовище

Вступ

1.    Аналіз стану робіт у галузі паралельного моделювання.

1.1.        Об’єкти математичного моделювання.

1.2.        Мови математичного моделювання безперервних дискретних та комбінованих динамічних систем.

1.3.        SIMD- і MIMD- системи як апаратна основа паралельних моделюючих середовищ.

1.4.        MPI-стандарт програмування у паралельних моделюючих середовищах.

1.5.        Розподілена обчислювальна мережа як основа паралельного моделюючого середовища.

1.6.        Задачі розробок та досліджень.

2.    Розробка структури розподіленого паралельного моделюючого  середовища (РПМС).

2.1.        Структура апаратних засобів.

2.2.        Структура системних програмних засобів.

2.3.        Аналіз можливостей функціонування РПМС на основі  апаратно-програмних засобів, що використовуються.

2.4.        Структура моделюючого програмного забезпечення.

2.5.        Висновки.

3.    Реалізація та експериментальні дослідження версії РПМС.

3.1.        Компонування та інсталяція РПМС.

3.2.        Розробка програми експериментальних досліджень.

3.3.        Розробка тестових завдань.

3.3.1.  Обчислення числа p.

3.3.2.  Сортування.

3.4.        Проведення тестових випробувань и аналіз результатів досліджень.

3.5.        Висновки.

4.    Методика MPI-програмування моделей динамічних систем в РПМС.

4.1.        Вибір об’єкта моделювання та його формальне описання.

4.2.        Розробка структури MIMD-моделі об’єкта.

4.3.        Етапи MPI-програмування моделі.

4.4.        Розробка MPI-алгоритму та MPI-програми моделі.

4.5.        Налагодження MPI-програми у складі РПМС.

4.6.        Висновки та рекомендації.

5.    Розробка РПМС- моделі комбінованої (безперервно-дискретної) системи керування багато зв’язаним мереженим об’єктом.

5.1.        Структура системи керування.

5.2.        Алгоритм функціонування системи керування.

5.3.        Постановка завдання моделювання та структура MIMD-моделі.

5.4.        MPI-програма реалізації моделі мереженого об’єкта та автономних регуляторів та налагодження.

5.5.        MPI-програма реалізації моделі системи керування «КОК-МО-регулятори» та налагодження.

5.6.        Модельні експерименти.

5.7.        Висновки.

Закінчення


Вступ

Прогрес сучасних галузей техніки, технологій та біотехнологій, технологій довкілля залежить від рівня теорії та практичної реалізації методів проектування автоматизованих технічних об’єктів, технологічних установок та ліній, що визначаються як складні динамічні системи (ДС). На прикінці 90-х років моделювання стало вирішальним фактором забезпечення високої якості проектування динамічних систем з зосередженими та розподіленими параметрами, розширилося коло об’єктів моделювання – від “традиційних” технічних систем до керованих біотехнологічних процесів та систем.

Центральною проблемою проектів ДС є гарантування новизни та якості проектних рішень. У переліку факторів безумовного вирішення цієї проблеми чільне місце займають методи та засоби моделювання динамічних систем, які можуть використовуватись на всіх етапах проекту ДС від формулювання техніко-економічних вимог до випробувань та початку  експлуатації. Основи такого модельного супроводження проектів ДС були в значній мірі відпрацьовані на аналогових та аналого-цифрових засобах моделювання. З середини 80-х років почався інтенсивний перехід до засобів цифрового моделювання: розроблені та реалізовані  на всіх типах цифрових ЕОМ блоково - та рівняння-орієнтовані мови моделювання ДС, швидко розвивається апаратна  база моделювання – персональні та супер- ЕОМ, паралельні обчислювальні системи SIMD та MIMD-архітектур. Саме останні покликані компенсувати відсутність надпотужних паралельних процесорів в моделюючих комплексах, які свого часу відіграли вирішальну роль у розробці аерокосмічних та технологічних ДС. Застосування паралельних ресурсів потребує нової системної організації засобів моделювання ДС, відкриває принципово нові можливості побудови моделей реальної складності та модельної підтримки проектів ДС, призводить до більш високих вимог до системотехнічної та системопрограмної організації засобів моделювання та інтерфейсів користувача.

Перспективним напрямком удосконалення та розвитку засобів моделювання є широке застосування паралельних обчислювальних систем до побудови моделюючих середовищ.

Метою даної магістерської роботи є розробка та експериментальна реалізація територіально розподіленного паралельного моделюючого середовища (РПМС) для складних динамічних систем.


1. Аналіз стану робіт у галузі паралельного моделювання.

1.1. Об’єкти математичного моделювання.

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

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

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

 

          Динамічні системи розділяються на безперервні, дискретні та комбіновані. До безперервних відносяться ДС, вхідні та вихідні параметри яких можуть приймати безліч значень. До їх складу входять: динамічні системи з концентрованими параметрами (ДСКП) та динамічні системи з розподіленими параметрами (ДСРП). У ДСКП відбувається зміна параметрів процесів тільки у часі та не залежить від координат у просторі. ДСКП описуються звичайними (лінійними та нелінійними) диференціальними рівняннями. Динамічні системи, процеси у яких залежать від часу та положення у просторі, називають ДСРП. Вони описуються рівняннями у часткових похідних. До дискретних динамічних систем відносяться системи, вхідні та вихідні параметри яких можуть приймати дискретний ряд значень. До них належать: електронно-обчислювальні мережі (ЕОМ), обчислювальні системи (ОС), розподілені обчислювальні системи (РОС), мобільні РОС (новий клас розробок), системи бізнесу, масового обслуговування, робототехнізоване виробництво. Комбіновані ДС єднають якості обох класів ДС: у них застосовуються комп’ютерно-базовані системи автоматичного керування (САК), що регулюють ДСРП, ДСКП, керуючі електронно-обчислювальні машини, контролери. Схематично структура динамічних систем приведена на рис.1.1.



1.2. Мови математичного моделювання безперервних дискретних та комбінованих динамічних систем.


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

Розвиток мов моделювання відбувається по трьох основних напрямках. Створені блочно-орієнтовані (БО), рівняння-орієнтовані (РО) та об’єктно-орієнтовані мови моделювання. У конкретних реалізаціях інструментальних засобів утворення моделей та їх моделювання можуть бути присутні реалізації ідей різних напрямків.

БО-моделювання веде свою історію з аналогових комп’ютерів, які за своєю фізичною суттю є натурально паралельними. Аналоговий комп’ютер складається з набору електронних блоків, які мають стандартні передаточні характеристики, що відповідають інтегральним, підсумовуючим, рідше диференціальним перетворенням. У наявності є блоки нелінійностей, які реалізують множення, ділення перемінних, а також функціональні перетворювачі однієї або кількох змінних. Модель ДС у термінах БО-мови записується, як на панелі аналогового комплексу. Специфікація моделі, що отримана, транслюється у виконавчий модуль. Власно моделювання починається з запуску модуля на виконання. До БО-мов відносяться ISRSIM та SIMULINK.

Мова РО-моделювання використовує натуральний запис рівнянь ДС, що моделюється. Опис, що складено, також транслюється у виконавчий модуль для його наступного запуску. Прикладом РО-мови моделювання виступає ACSL.

ОО- моделювання засновано на примітивах власно предметної галузі. Модель складається з об’єктів, що взаємодіють між собою, як у реальності. Як наслідок, користувачеві-спеціалісту у даній галузі простіше вивчити ОО- мову. Користувача звільнено від особливих методів розробки моделі, а тим більш – від програмування. ОО- мови моделювання находяться у стані розробки.

Усі напрямки дозволяють створювати моделі ДСКП та проводити модельні експерименти. Для побудови моделей ДСРП та їх моделювання неможливо використовувати БО-мову, так як  ДСРП не мають виділених об’єктів. Але для великого класу таких ДС існує можливість перетворення ДСРП у ДСКП за допомогою аналізу часток розподіленого об’єкта, кожна з яких може бути описана звичайним диференціальним рівнянням, після чого можна користуватися засобами БО та РО- мов моделювання.


1.3. SIMD- і MIMD- системи як апаратна основа паралельних моделюючих середовищ.

Класифікація ЕОМ, запропонована Флінном, розподіляє світ комп’ютерів на чотири групи [17]:

-        SISD (Single Instruction Single Data)  (Одна Інструкція Одні Дані) – класичні одно-процесорні ЕОМ

-        SIMD (Single Instruction Multiple Data) (Одна Інструкція Багато Даних) – векторні й матричні ЕОМ

-        MIMD (Multiple Instruction Multiple Data) (Багато Інструкцій Багато Даних) – багатопроцесорні ЕОМ

-        MISD (Multiple Instruction Single Data) (Багато Інструкцій Одні Дані) – конвеєрні ЕОМ

SISD- системи являють собою класичні ЕОМ за принципом фон-Неймана: вони виконують операцію, що подана на шину команд, над операндами, що знаходяться на шинах даних.

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

          SIMD- системи мають іншу структуру: вони складаються з тисяч процесорних елементів, що можуть виконати деяку спільну інструкцію над даними, що в них містяться. Дуже часто виникають ситуації, коли треба виконати якусь операцію над багатьма даними (наприклад, скласти дві матриці 100000 x 100000); у таких випадках SIMD- система дає суттєвий приріст у швидкодійності.

          MIMD- системи являють подальший розвиток обчислювальної техніки: вони складаються з кількох процесорів, кожен з котрих функціонує за власною програмою. Така структура призначена для серверних завдань (дозволяє кільком користувачам одночасно підключатися до системи та запускати на виконання кожен власну програму), складних задач, коли потрібне розпаралелювання частин програми, або для використання її як SIMD- системи.

          З розвитком обчислювальної техніки з метою підвищення потужності найбільш розповсюджених серед звичайних користувачів SISD- систем до них починають використовувати підходи конвеєризації та розпаралелювання, характерні для MIMD- систем. Нові системи складаються з кількох (найчастіше – двох) процесорів та обладують високошвидкісними механізмами внутрішньої комунікації між системними компонентами (пам’ять, накопичувачі, пристрої вводу/виводу) (рис.1.2 - 1.3). Кожен з процесорів може також складатися з кількох процесорів та виконувати одночасно кілька команд (рис.1.4).

Рис. 1.2. Структура системи UP2000.

Рис. 1.3. Структура чіпсета API Caspian.

Рис. 1.4. Структура процесора IBM Power 4.

Але все ж  саме системи SIMD та MIMD з тисячами процесорів мають значно більшу обчислювальну потужність та находяться поза межами конкуренції у складних наукових розрахунках (рис.1.5).

Рис. 1.5. Очікувана обчислювальна потужність провідних світових комп’ютерних центрів.

Системи SIMD та  MIMD за типом зв’язку між процесорами поділяються на два підкласи:

 

MIMD

-        тісний зв’язок через загальну пам’ять – багатопроцесорна ЕОМ

-        розподілена обчислювальна система з не тісним зв’язком через мережу комутацій та обміном повідомленнями

SIMD

-        векторна ЕОМ без безпосереднього зв’язку між процесорними елементами

-        матрична ЕОМ зі зв’язком між елементами через комутаційну мережу

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


Рис.1.6. Мультіпроцесорна система з тісним зв’язком між елементами.

Системи, елементи яких пов’язані через комутаційну мережу, функціонують як одна високопотужна синкретична обчислювальна система (обчислювальний кластер), крім того, для її використання не потрібно розробляти нові підходи. Компоненти такої системи можуть знаходитись на значній відсталі один від одного, тобто отримаємо розподілену обчислювальну систему (рис.1.7 – 1.8).

Грошова вартість такої системи, як правило, нижче, ніж вартість високопотужної MIMD- системи з тісним зв’язком між елементами, а з розвитком технологій глобального зв’язку (наприклад, Internet) та появою нового типу суспільства – віртуального суспільства - очікується поява все більшої кількості подібних розподілених систем.

Рис.1.7. Обчислювальна система, що складається з кількох мультіпроцесорних систем.

Рис.1.8. Кластерізована обчислювальна система.

Вже існують діючі приклади таких систем: наприклад, об’єднання ентузіастів всього світу, комп’ютери яких обробляють сигнали з космосу з метою пошуку позаземних форм життя, або об’єднання вчених, що перевіряє стійкість різних кріптоключів.

Головна проблема таких систем – обмежена пропускна потужність каналів зв’язку, але вона поступово зменшується з розвитком комунікаційних технологій.

Таким чином, для сучасних розрахунків необхідна висока обчислювальна потужність систем за рахунок маніпулювання багатьма даними одночасно, тому для моделюючого середовища треба використовувати саме системи SIMD та MIMD. Потужність них може бути поліпшена за допомогою об’єднання кількох систем у обчислювальний кластер.

1.4. MPI- стандарт програмування у паралельних моделюючих середовищах

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

          Серед мов програмування для SIMD систем можна виділити: Fortran-90 [7], Fortran D [8], C* [9], MPL [10], Parallaxis [11].

          Для MIMD систем були розроблені: Паралельний Паскаль [12], CSP [13], OCCAM [14], Linda [15], Modula-P[16].

          Головний недолік розроблених мов – необхідність розробки компілятора для кожної нової платформи, тому на зміну декількох мов прийшов єдиний стандарт MPI для MIMD систем, так як SIMD системи були вже практично витіснені.

          MPI являє собою бібліотеку функцій для розробки програм, що виконуються на декількох процесорах. Підхід до стандарту як саме до бібліотеки функцій, а не нової мови, зробив стандарт популярним: замість розробки нового (або портування існуючого) компілятора для системи потрібно реалізувати лише бібліотеку відповідних функцій (для мов програмування C та Fortran). Згідно зі стандартом, кілька копій програми виконується кожна на власному процесорі та окремо проводять обчислення. Копії виконують комунікацію між собою шляхом посилання повідомлень. Існують також механізми редукції та розповсюдження даних між процесами.

          Інший момент пов’язаний з можливістю побудови багатопроцесорних кластерів з кількох SISD машин, так як комутація між програмами здійснюється завдяки remote services (механізм виконання команд на віддалених системах). Якщо з’єднати кілька машин, що находяться на відстані, можна одержати розподілену обчислювальну мережу.

          Нові версії стандарту крім власне механізмів комунікації пропонують також прискорений файловий ввід/вивід (Fast I/O), засоби для відлагодження програми, аналізу їх виконання (MPE) та ін.

          Існує велика кількість вільно розповсюджуваних реалізацій MPI, що портовані на багато платформ. Виробник нової MIMD системи або пише власну реалізацію стандарту, або використовує існуючу – у будь-якому випадку модель можна без змін використовувати на різних платформах, що є дуже важливим для побудови РПМС.


2. Розробка структури розподіленого паралельного моделюючого  середовища (РПМС).

 

2.1. Структура апаратних засобів.

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

Структура РПМС приведена на рис.2.1.

 

Доступ до обчислювальних ресурсів HLRS (високопродуктивного комп’ютерного центру Штутгартського університету) відбувається з робочого місця (РМ) через мережу Internet та вузол IPVR (Інституту паралельних систем Штутгартського університету). Ресурсі комп’ютерного центру захищені від доступу зовні завдяки firewall – особливим вузлам, яки відфільтровують пакети, що надходять з “невідомих” хостів, для запобігання несанкціонованого використання обчислювальної потужності. Комп’ютер у IPVR є відомий для firewall, тому через нього можна отримати доступ до паралельних ресурсів.

Крім паралельних обчислювальних машин у HLRS (MIMD- систем Cray і Hitachi) надається можливість додаткового доступу до файлового сервера, де можна зберігати додаткові дані внаслідок обмеження дискової квоти на машинах.

Характеристики MIMD- системи CrayT3E (рис.2.2):

-        обчислювальна потужність: 461GFLOP/s

-        кількість вузлів: 512

-        пам’ять: 64 GB DRAM, на вузлі: 128 MB DRAM

-        дисковий накопичувач: 507 GB

-        підтримка стандартів паралельного програмування: Message Passing, Remote Copy

-        операційна система: Chorus Based OS

Bild der Cray T3E

Рис.2.2. MIMD- система CrayT3E.

Характеристики MIMD- системи Hitachi SR2201 (рис.2.3):

-        обчислювальна потужність: 9.6 GFLOP/s

-        кількість вузлів: 32

-        пам’ять: 10 GB DRAM, на вузлі: 256 MB DRAM

-        дисковий накопичувач: 54 GB

-        підтримка стандартів паралельного програмування: Message Passing (MPI)

-        операційна система: HI-UX/MPP based on OSF/1 MK-AD

Bild der Hitachi SR2201

Рис.2.3. MIMD- система Hitachi SR2201.

Характеристики файлового сервера SGI Power Challenge (рис.2.4):

-        2 центральних процесора: Mips R4400 250 MHz

-        пам’ять: 512 MB DRAM

-        дисковий накопичувач: 1260 GB

SGI Power Challenge

2.4. Файловий сервер

SGI Power Challenge.

 

 

2.2. Структура системних програмних засобів.

До системних програмних засобів РПМС відноситься усе програмне забезпечення, що дозволяє системі функціонувати.

Системне програмне забезпечення повинно:

- дозволяти виконувати операції з файловими даними (копіювання РМ<->IPVR<->HLRS, упорядкування файлів у домашніх каталогах та ін.)

-        дозволяти створювати двоїнні виконавчі модулі з похідних, що на мові високого рівня

-        виконувати процедуру авторизації при вході користувача на систему

-        системні програмні засобі находяться на різних комп’ютерах з різною архітектурою, але вони повинні взаємодіяти один з іншим.

Існує кілька засобів копіювання даних між віддаленими системами, але частіше використовуються ftp та scp/rcp [20].

При використанні ftp на комп’ютери встановлюються ftp-сервер (ftpd) та ftp-клієнт (ftp). Клієнтська програма ініціює зв’язок з сервером та отримає від нього дозвіл на роботу з файловими даними на серверу (читання/запис). Недолік підходу – потрібність знати команди (ftp- серверу): часто щоб скопіювати файл на віддалений комп’ютер, потрібно ввести кілька довгих команд, особливо, якщо копіюється кілька файлів з багаторівневою структурою каталогів. Крім того, на комп’ютер мало встановити клієнтську програму – треба ще займатися адмініструванням сервера. Позитивна сторона підходу – повний контроль за виконанням операції, можливість продовжити копіювання після аварійної зупинки.

Інший засіб копіювання – використання команд віддаленого копіювання rcp або scp, які базуються на віддаленому доступі до системи через rsh або ssh відповідно. Команди відрізняються тим, що у s- формі виконується шифрування сесії, що підвищує ступінь захисту при передачі даних. Для успішного використання команд необхідно, щоб на віддаленій системі було встановлено ssh- сервер (sshd). До позитивних сторін відносяться: простота та натуральність у використанні. Недоліки: неможливість продовжити операцію з місця аварійної зупинки.

Для операцій упорядковування даних використовуються класичні команди системи UNIX (mkdir, cp, rm і т.д.) [20].

Для  одержання можливості виконати якусь команду на віддаленій системі необхідно спочатку підключитись та війти до системи. Це може здійснити завдяки використанню особливих програмних засобів: telnet або ssh. Telnet [2-6] дозволяє виконати повний вхід на віддалену систему, як на локальну, а ssh – запускає командну оболонку на віддаленій системі з шифруванням сесії. Telnet вимагає наявності на віддаленій системі telnet- сервера (telnetd), а  sshssh- сервера (sshd).

До засобів побудови програмного забезпечення відносяться компілятори C/C++, що встановлено на MIMD- системах, з підтримкою MPI (команди mpicc, mpiCC, mpirun) [18], а також команди маніпулювання з чергами завдань (qsub, qstat та ін.).

Таким чином, структура необхідних системних програмних засобів має вигляд, як на рис.2.5.

На РМ повинні бути встановлені: ftp- сервер, якщо дані з IPVR копіюються через ftp, або ssh- сервер у разі з scp, програма telnet для отримання доступу до IPVR.

На IPVR встановлені: ssh для підключення до HLRS, scp та ssh- сервер для обміну файловими даними з HLRS та РМ, ftp для альтернативного зв’язку з РМ, telnet- сервер для надання доступу з РМ.


На комп’ютерах HLRS встановлені scp та ssh- сервер для обміну файловими даними, а також комплект mpi для розробки паралельних програм.


3.3. Розробка тестових завдань.


3.3.1. Обчислення числа p.

Класичним прикладом застосування паралельних алгоритмів є обчислення числа p за алгоритмом [19], в якому використовується правило прямокутників (рис.3.1):

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

Алгоритм може застосовуватися для порівняння різних паралельних мов програмування, бо тут, за винятком підсумовування площ прямокутників, не виконується ніякого обміну між процесорами.

Підсумовування результатів можна виконувати через  редукцію даних, що дозволяє скоротити кількість операцій з n-1 при послідовному (рис.3.2) до  (рис.3.3).


 

 


Повний текст програми обчислення числа p приведено у додатку.

3.3.2. Сортування.

При паралельних обчисленнях часто виникає необхідність відсортувати дані. Найпростіший з алгоритмів сортування для паралельних машин – алгоритм OETS (Odd-Even Transposition Sorting) [17].

Алгоритм сортує n чисел за допомогою n процесорних елементів за n кроків. Кожен ПЕ цілеспрямовано одержує одне число, що підлягає сортуванню. Під час виконання алгоритму розрізняються парні й непарні кроки. На парних кроках всі ПЕ, що мають парні ідентифікаційні номери, порівнюють їхні числа з правим сусідом (0-1, 2-3, 4-5 і т.д.) і при необхідності обмінюються числами. Аналогічно, на непарних кроках всі ПЕ, що мають непарні ідентифікаційні номери, виконують порівняння та обмін з сусідами справа (1-2, 3-4, 5-6 і т.д.). Після n кроків послідовність чисел буде розсортована (рис.3.4). Повний текст програми приведено у додатку.


 


3.4. Проведення тестових випробувань и аналіз результатів досліджень.

          Процес тестових випробувань РПМС розбивається на певну послідовність простих дій, суттю яких є:

-        підключення до віддаленої системи

-        відправка тестового завдання

-        компіляція та запуск експериментальної програми на віддаленій системі

-        отримання результатів

-        вихід з віддаленої системи

Література

1.       Святний В.А. Проблеми  паралельного моделювання  складних динамічних систем.

2.       Postel, J. and J. Reynolds, Telnet Protocol Specification, RFC 854, USC/Information Sciences Institute, May 1983.

3.       Postel, J. and J. Reynolds, Telnet Option Specifications, RFC 855, USC/Information Sciences Institute, May 1983.

4.       Postel, J. and J. Reynolds, Telnet Binary Transmission, RFC 856, USC/Information Sciences Institute, May 1983.

5.       VanBokkeln, J., Telnet Terminal-Type Option, RFC 1091, FTP Software, Inc., February 1989.

6.       Postel, J. and J. Reynolds, Telnet End of Record Option, RFC 885, USC/Information Sciences Institute, December 1983.

7.       M.Metcalf, J.Reid, Fortran 90 Explained, Oxford, New York, Tokyo, 1990.

8.       G.Kennedy, S.Haranandani, K.Kennedy, C.Koelbel, U.Kremer, C.Tseng, M.Wu, Fortran D Language Specification, Technical Report, Rice University, Houston TX, April 1991.

9.       J.Rose, G.Steele. C*: An Extended C Language for Data Parallel Programming, Thinking Machines Corp., Technical Report, May 1987.

10.   MasPar Computer Corporation, MasPar Programming Language (ANSI C compatible MPL) User Guide, Software Version 2.2, MasPar System Documentation, Dec. 1991.

11.   T.Braunl, Structured SIMD Programming in Parallaxis, Structured Programming, vol.10, no.3, July, 1989.

12.   P.Brinch Hansen, The Programming Language Concurrent Pascal, IEEE Transactions on Software Engineering, vol.1, no.2, June 1975.

13.   C.A.R.Hoare, Communicating Sequential Processes, Prentice Hall, International Series in Computer Science, Englewood Cliffs NJ, 1985.

14.   Inmos Limited, OCCAM Programming Manual, Prentice Hall International, Englewood Cliffs NJ, 1984.

15.   S.Ahuja, N.Carriero, D.Gelernter, Linda and Friends, IEEE Computer, vol.19, no.8, Aug 1986.

16.   T.Braunl, R.Hinkel, E.von Puttcamer, Konzepte der Programmiersprache Modula-P, Interner Bericht Nr.158/86, Universitat Kaiserslautern, 1986.

17.   Томас Бройнль. Паралельне програмування: Початковий курс. К: Вища школа, 1997.

18.   Marc Snir et al., William Gropp et al. MPI: The Complete Reference, The MIT Press, 1998.

19.   R.Babb (Ed.), Programming Parallel Processors, Addison-Wesly, Reading MA, 1989.

20.   Использование Linux. Специальное издание, Издательский дом «Вильямс», 1999.