Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Контакти
 


Тлумачний словник
Авто
Автоматизація
Архітектура
Астрономія
Аудит
Біологія
Будівництво
Бухгалтерія
Винахідництво
Виробництво
Військова справа
Генетика
Географія
Геологія
Господарство
Держава
Дім
Екологія
Економетрика
Економіка
Електроніка
Журналістика та ЗМІ
Зв'язок
Іноземні мови
Інформатика
Історія
Комп'ютери
Креслення
Кулінарія
Культура
Лексикологія
Література
Логіка
Маркетинг
Математика
Машинобудування
Медицина
Менеджмент
Метали і Зварювання
Механіка
Мистецтво
Музика
Населення
Освіта
Охорона безпеки життя
Охорона Праці
Педагогіка
Політика
Право
Програмування
Промисловість
Психологія
Радіо
Регилия
Соціологія
Спорт
Стандартизація
Технології
Торгівля
Туризм
Фізика
Фізіологія
Філософія
Фінанси
Хімія
Юриспунденкция






Паралельна обробка інформації

Паралельні комп’ютерні системи - це фізичні комп'ютерні, а також програмні системи, що реалізовують тим або іншим способом паралельну обробку даних на багатьох обчислювальних вузлах.

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

Паралельні обчислення існують в декількох формах:

- паралельність на рівні інструкцій,

- паралельність даних,

- паралельність завдань.

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

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

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

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

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

Паралельність на рівні інструкцій.

Комп'ютерна програма - це, по суті, потік інструкцій, що виконуються процесором. Але можна змінити порядок цих інструкцій, розподілити їх по групах, які виконуватимуться паралельно, без зміни результату роботи всієї програми. Даний прийом відомий як паралельність на рівні інструкцій. Просування в розвитку паралельності на рівні інструкцій в архітектурі комп'ютерів відбувалося з середини 1980-х до середини 1990-х

 

Паралельність даних.

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

 

Паралельність завдань (багатопоточність).

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

 

Розподілені операційні системи.

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

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

Розглянемо два значення терміну «мережева ОС». В даний час практично всі мережеві операційні системи ще дуже далекі від ідеалу дійсної розподіленості. Міра автономності кожного комп'ютера в мережі, що працює під управлінням мережевої операційної системи, значно вища в порівнянні з комп'ютерами, що працюють під управлінням розподіленої ОС.

В результаті мережева ОС може розглядатися як набір операційних систем окремих комп'ютерів, складових мережі. На різних комп'ютерах мережі можуть виконуватися однакові або різні ОС. Наприклад, на всіх комп'ютерах мережі може працювати одна і та ж ОС UNIX. Реалістичнішим варіантом є мережа, в якій працюють різні ОС, наприклад, частина комп'ютерів працює під управлінням UNIX, частина - під управлінням NetWare, а решту – під управлінням Windows NT і Windows 98. Всі ці операційні системи функціонують незалежно один від одного в тому сенсі, що кожна з них приймає незалежні рішення про створення і завершення своїх власних процесів і управління локальними ресурсами. Але в будь-якому разі операційні системи комп'ютерів, що працюють в мережі, повинні включати взаємно погоджений набір комунікаційних протоколів для організації взаємодії процесів, що виконуються на різних комп'ютерах мережі, і розділення ресурсів цих комп'ютерів між користувачами мережі.

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

Таким чином, термін «мережева операційна система» використовується в двох значеннях: як сукупність ОС всіх комп'ютерів мережі і як операційна система окремого комп'ютера, здатного працювати в мережі. Таким чином такі операційні системи, як, Windows NT, NetWare, Solaris, HP-UX, є мережевими, оскільки всі вони володіють засобами, які дозволяють їх користувачам працювати в мережі.

 

Шляхи досягнення паралельності.

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

- незалежність функціонування окремих пристроїв ЕОМ.Дана вимога відноситься однаково до всіх основних компонентів обчислювальної системи: пристроїв введення-виведення, процесорів та пристроїв пам'яті;

- надмірність елементів обчислювальної системи.

Організація надмірності може здійснюватися в наступних основних формах:

- використання спеціалізованих пристроїв (наприклад, окремих процесорів для різних завдань, пристроїв багаторівневої пам'яті (регістри, кеш);

- дублювання пристроїв ЕОМ (шляхом використання, наприклад, декількох однотипних процесорів або декількох пристроїв оперативної пам'яті).

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

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

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

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

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

 

 

Контрольні запитання

 

1 Чим відрізняється прінстонська архітектура комп’ютерних систем від гарвардської?

2 Які є форми паралельних обчислень?

3 За якими критеріями класифікують архітектури комп’ютерних систем?

4 Які методи досягнення паралельності?

5 Багатозадачний режим виконання незалежних частин програм є паралельним чи псевдопаралельним?

 




Переглядів: 2612

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

 

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.006 сек.