![]() Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
![]() Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
![]() |
Обчислювальні системи з розподіленою пам’яттю
Ідея побудови таких обчислювальних систем є дуже простою. Береться деяка кількість обчислювальних вузлів, кожен з яких складається з процесорного елемента та оперативної пам’яті, доступ до якої має тільки цей процесорний елемент. Доступ до оперативної пам’яті відбувається іншим, більш складнішим шляхом. В наш час в ролі обчислювальних вузлів все частіше використовуються повноцінні комп’ютери. Комунікаційне середовище може спеціально розроблятися для певної системи, або бути стандартною мережевою технологією, вільно доступною на ринку. Переваги в таких системах наступні: - Користувач може довільно конфігурувати систему, в залежності від своїх бажань та можливостей; - Дана система може практично необмежено розростатись і вартість такої системи значно менша ніж інші паралельні системи. Дані системи отримали назву – комп’ютери з масовим розпаралелюванням або масово паралельні комп’ютери. Серед найпопулярніших систем можна виявити Intel Paragon IBM SP1 SP2. Всі вони різняться тільки процесорами, що входять до їхнього складу та комунікаційним середовищем. Наприклад, в комп’ютері Intel Paragon використовується процесор Intel І860, що розміщується у вузлах двохвимірної сітки. В обчислювальних вузлах IBM SP використовуються процесори Power PC, Power 3. Сімейство комп’ютерів Cray T3E/T3D використовує процесори сімейства Dec Alpha. Розглянемо, як приклад, комп’ютери класу Cray T3E/T3D. Ці комп’ютери є масово паралельними комп’ютерами, які можуть містити до 2000 процесорів. Як і всі комп’ютери даного класу, він складається з вузлів та комунікаційного середовища. Всі вузли комп’ютера діляться на 3 групи: вузли користувачів, вузли операційної системи та обчислювальні вузли. Користувач має доступ тільки до вузлів користувачів, які можуть працювати в багатозадачному середовищі. Доступу до вузлів операційної системи користувач не має. На цих вузлах виконуються файли операційної системи і служать для підтримки багатьох сервісних функцій. Обчислювальні вузли призначені для виконання програм користувача в монопольному режимі. При запуску програми користувача, для її виконання виділяється потрібна кількість вузлів і забезпечується монопольний режим використання цих вузлів. Кількість вузлів кожного типу залежить від конфігурації системи. Наприклад, реально працююча система має таку конфігурацію – 24/16/576 (24 – вузли користувача; 16 – вузли операційної системи; 576 – кількість обчислювальних вузлів). Кожен вузол системи складається з процесорного елементу та мережного інтерфейсу. Процесорний елемент складається з процесора Dec Alpha, локальної пам’яті і допоміжних підсистем. В системі Т3Е-1200Е використовуються процесори Alpha-21164 з частотою 600МГц. Мережний інтерфейс зв’язаний з мережевим комутатором, що являється частиною комунікаційного середовища. Всі маршрутизатори розміщуються у вузлах n-мірного гіперкубу. Дану топологію можна уявити як тривимірний куб в якому всі вузли зв’язані безпосередньо шістьома своїми сусідами, Цей вид синхронізації досить часто використовується при написанні програм, проте програмна реалізація бар’єру є досить складною і вимагає витрат ресурсів. Апаратна реалізація значно скорочує витратність ресурсів. Рис. 18. Приклад апаратної підтримки бар’єрної синхронізації Кожен процесорний елемент має вхідний і вихідний регістри синхронізації. Кожен з цих регістрів зв’язаний зі своїм власним ланцюгом синхронізації. Сам же ланцюг синхронізації складається з елементів двох типів – це реалізація логічного множення (операція And) і пристрій, що дублює значення свого одного входу на свої два виходи (елемент 1-2). Вихід останнього елемента And є входом для першого елемнта 1-2. Самі елементи зв’язані один з одним структурою бінарного дерева. Пояснимо принцип його роботи. Якщо деякий процес дійшов до бар’єру, то у відповідному процесорному елементі у вхідний регістр синхронізації записується 1. Процесор не продовжить роботу даних до тих пір, поки у його вихідному регістрі синхронізації не буде 1. Якщо уважно переглянути структуру бар’єру, то можна помітити, що якщо хоча б на одному процесорному елементі у вхідному регістрі синхронізації буде 0, тобто процес ще не дійшов до бар’єру, то у всіх вихідних регістрах всіх процесорних елементів також будуть нулі і всі процеси будуть очікувати моменту, коли даний процес дійде до бар’єру. Ці ж ланцюги в комп’ютерах даного сімейства можна використовувати і в наступних цілях. Наприклад, якщо замінити оператор множення на оператор логічного додавання, то ми отримаємо так звану "систему еврика". Тобто коли певний процес дійшов до точки бар’єру, то одиниця, записана у вхідний регістр синхронізації перейде на всі регістри всіх процесорних елементів. Тобто всі решта процесів «дізнаються» про те, що деякий процес уже завершив роботу. Такий метод використовується у різних задачах, наприклад, в задачах пошуку. Також крім традиційних суперкомп’ютерів класу Cray T3E/T3D, IBM SP використовується обчислювальний кластер. В комп’ютерній термінології поняття кластер може мати декілька значень. Наприклад, кластерна технологія використовується для покращення швидкодії та надійності серверів баз даних та веб-серверів. Ми ж надалі будемо мати на увазі тільки обчислювальні кластери, тобто кластери, що використовуються для проведення обчислень. Поштовхом для розвитку обчислювальних кластерів є велика наявність на ринку не дорогої комп’ютерної техніки, ресурси якої можна об’єднати для вирішення конкретної задачі, в той же час, як суперкомп’ютери є дорогими і малодоступними. Взагалі кажучи, обчислювальний кластер – це є об’єднання декількох комп’ютерів в рамках єдиної мережі для вирішення конкретної задачі. Кожен комп’ютер може працювати під своєю власною операційною системою: Windows-NT, Linux, Unix, тощо. Поштовхом для розвитку є велика наявність на ринку не дорогої обчислювальної техніки, ресурси якої можна об’єднати для вирішення конкретної задачі, в той час як суперкомп’ютер є дорогим і малодоступним. Склад і потужність вузлів може змінюватися в рамках єдиного кластера. Кожен вузол може бути як однопроцесорною машиною, так і багатопроцесорною SMP. Кластером можна вважати як пару комп’ютерів, з’єднаних 100 Мбіт Ethernet мережею, так і обчислювальну систему Cplant, яка об’єднує 1400 вузлів на процесорах Alpha і об’єднаних мережею Myrinet. Розглянемо найважливіші кластерні проекти. Date: 2015-07-17; view: 600; Нарушение авторских прав |