Причини появи КС.
КС з’явилися тоді, коли один з роботою не справлявся.
Коли потрібно КС:
- підвищення надійності;
- підвищення продуктивності;
- робота в реальному часі (спец. обч. техніка).
Закони, які треба враховувати при розгляді КС:
1. І з. Мура (1975) – число елементів на чіпі = const*2(рік-1975)/1,5.
2. З. Рока – вартість осн. обладнання для створення напівпровідникових пристроїв буде подвоюватися кожні 4 роки.
3. ІІ з. Мура (1995) – капітальні витрати збільшуються набагато швидше ніж витрати.
Один з осн. методів підвищення продуктивності полягає в паралельній обробці інформації.
Пар. обробку інф-ії можна робити враховуючи закони Амдала:
З.І. Продуктивність КС, яка створена з зв’язаних між собою пристроїв в заг. випадку визн. найбільш непродуктивним її пристроєм.
З.ІІ. У системі, що створена з S однакових універсальних пристроїв, при виконанні пар. частини алгоритму всі S пристроїв завантаженні повністю, max можливе прискорення R=S/(?S+(1-?)), де ?=n/N – частка послідовних обчислень; n – послідовні операції з заг. N.
З.ІІІ. У системі, що створена з простих однакових універсальних пристроїв, при будь-якому режимі роботи прискорення не може перевищити зворотної величини частки послідовних обчислень.
Якщо послідовно виконується n операцій, то число ярусів будь-якої форми алгоритму не може бути менше n. В цих формуваннях ніде не конкретизувалося зміст операції. Сучасні КС можуть мати до 10000 процесорів, які повинні повністю завантажуватися. Дослідження доводять, що частка послідовних операцій у багатопроц. системах = 0,1-0,01 %.
Концепція пар. програмування.
При пар. програмуванні виникають проблеми, які можна розглянути за доп. прикладу „Мур Фокса”. Задача: ск. часу потрібно 4 робітникам для побудови стіни, якщо одному треба t годин. Для робітників виникає проблема ефективності, конструктивності. Ось декілька шляхів розв’язання задачі, що має аналогію з пар. програмуванням.
Метод 1 – конвеєрне розв’язання.
Кожен робітник викладає 1 ряд цегли, рухаючись горизонтально, вздовж муру. Ефективність буде < 100%, тому що верхні ряди не будуть будуватися, поки не буде побудовано нижніх. Це забезпечує накладні витрати пов’язані з заповненням та звільненням векторного конвеєру векторних мащин. Цей метод ефективний при достатньо довгому мурі.

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

Метод 3 – колективне розв’язання.
Цегла і цемент лежать в одному місці, а не розділяються між робітниками. Вони беруть з собою деяку к-сть матеріалів і кладуть цемент і цеглу на вільне місце. При такій організації виникає неефективність на початку і в кінці робіт, але це не завада для деяких типів задач.
При пар. роботі виникають проблеми невизначеності та тупика, які можна вирішити так: офіціант не з середовища відвідуюючих.
64-розрядні мікропроцесори (мп).
Корпорація Intel всі попередні МП виготовляла як CISC 32 розрядні. Виникла потреба 64-розрядної арх-и. CISC – Compile Instruction Set Computer, з повним набором команд. RISC – Reduced …, з скороченим.
Itanium.
За 1 маш. такт – 6 команд. Кеш: І – 32 Kb, II – 250 Kb, III – 3 Mb.
В основу покладено так звану Itanium-архітектуру EPIC – Explicitly Parallel Instruction Computing, пар. обробка команд з явним паралелізмом. VLIW – very long instruction word.
Регістри Itanium.
В технології EPIC використовується 2 методи:
1. передбачення гілкування – базується на аналізі компілятора програм, що виконується, після чого приймається рішення, яку з гілок потрібно прораховувати, а яку ні.
2. припущення (speculation loading) – інструкції і дані завантажуються у процесор до того, як вони можуть бути придатними, а у деяких випадках навіть, коли вони не будуть потрібні нікому. Таке завантаження робиться під час призупинки комп’ютера. Якщо дані необхідні до подальшої роботи, то не витрачається час для їх завантаження.
Приклади продуктивності даних сучасних мікросхем.
SPEC int 2000 – вимірює швидкодію на задачах з фіксованою комою.
Розвиток технології напівпровідникових компонент (цілісність).
0,13 мікрон – ширина затвору транзистора згідно його фотолітографії. У результаті травлення фактична ширина затвору ~70 нм.
В 2005 р. Intel обіцяє 65 нм, 2007 – 45 нм, 2009 – 32.
Плани Intel, щодо подолання 10 GHz.
Найбільші перспективи транзисторної галузі.
1. продуктивність чіпу 1 TIPS;
2. к-сть транзисторів 2 млрд;
3. розмір 10 нм;
4. діаметр пластини 300 мм;
5. частота 30 GHz;
6. мідні дроти.
1. На п 2003 р в світі з’явився 1 млрд ПК;
2. вбудовані мп, 6-7 % звичайні процесори;
3. Інтернет 2;
4. поява комп’ютерів з більш активною поведінкою;
5. об’ємні дисплеї;
6. зміна в спілкуванні з компом;
7. зміна зовн. вигляду.
Класифікація комп. систем.
1. Централізовані і децентралізовані системи.
2. Однорідні і неоднорідні.
3. Зосереджені Тпередачі >> Тобчислень і розподілені КС То >> Тп.
4. Колективні та корпоративні.
5. Класифікація Фліна.
Вводиться поняття множини потоків команд і даних – наявність в КС декількох послідовних команд, які знаходяться в сталії реалізації або декілька послідовних даних, які підлягають обробці командами.
У відповідності з Фліном КС діляться на 4 класи:
1. Сист. з одиничним потоком команд і од пот даних SISD.
Звичайний ПК одно процесорний.
ЗПКК
ЗПД
ALP
ПК

ЗПК – запам’ятовуючий пристрій команд; ЗПД – даних; ЗП – запам’ятовуючий пристрій; ПК – пристрій керування; Р – результат.
CISC, RISC, VLIW.
2. Сист. з множинним пот к і од пот д MISD.
Можливий варіант, коли декілька пот ком впливають на од пот д. Але не існує такого класу задач, в якій одна і та сама послідовність даних підлягала б обробці за декількома різними програмами, тому така схема не реалізована. Фактично реалізується наступна схема.
ЗПКК
ЗПД
ALP
ПК
ALP

Тут од пот к підрозділяється пк на декілька потоків мікро операцій, кожна з яких реалізується спеціалізованим, налаштованим на виконання даної операції пристроєм (АЛП –спеціалізовані). Пот д проходить послідовно через всі або частину цих АЛП. Саме такого класу системи прийнято наз. конвеєрними або системами з магістральною обробкою інф-ії. MISD створена з метою досягнення високої продуктивності, де використовується конвеєр операцій і команд. Є різні засоби суміщення і способи суміщення багатьох пристроїв, але головною ознакою цього класу є наявність конвеєра арифм.-лог. операцій. Сист. такого класу забезпечують max продуктивність тільки при розв’язанні задач певного типу, які існують в довгій послідовності (ланцюжки) однотипних операцій над достатньо великою послідовністю даних, тобто коли є паралелізм об’єктів і даних.
3. Сист. з од пот к і мн пот д SIMD.
Вони орієнтовані на використання паралелізму об’єктів або даних для підвищення продуктивності.
ALP
ALP
ЗПК
ЗПД
ПК


У цих КС майже по одній програмі іде обробка декількох потоків даних, що обробляються своїм АЛП, які працюють під загальним керуванням. Схема реалізується різними способами. Якщо АЛП, який містить процесор обробки та оперативний зп, може бути достатньо складним пристроєм, то потік даних у кожний процесор постуає з власного зп. Керування і память команд реалізується окремим компом, який керує ансамдлем процесорів. Память даних може мати не тільки адресну вибірку, але і асоціативну, тобто за вмістом памяті. У сист. класу SIMD використовуються визначним є одночасна обробка декількома процесорами декількох потоків, тому ці сист. діляться на матричні і асоціативні.
4. Сист. з мн пот к і мн пот д MIMD.
Можливі два способи побудови системи.
ЗПКК
ЗПД
ALP
ПК

Сукупність елементарних систем даного типу. Багатомашинні системи. Для кожної пос к і д маємо своє власне зп. Сист. складається з незалежних комп’ютерів.
ЗПКК
ALP
ALP
ЗПД
ПК
ПК

На цій схемі всі команди і дані розміщені в заг. зп. Ця різниця приводить до двох систем: багатомашинні і багатопроцесорні.
6. Класифікація Хокні.
Множинний потік команд може MIMD може бути оброблений двома способами:
1. одним конвеєрним пристроєм обробки, який працює у режимі розподілу часу для окремих потоків;
2. кожен потік обробляється своїм власним пристроєм: регулярні гратки, ієрархічні структури, Ії змінною конфігурацією.
MIMD
конвеєрні
2
перемикаючі
мережі
з заг пам.
з розп пам
рег.
грат
ки
гі
пер
ку
би
ієр.
стру
тту
ри
з зм.
кон
фін.


В групу перемикаючих тип залучені компи з прямим зв’язком до процесора один одного, що реалізується за доп. перемикача. В групу мереж, входять компи з прямим доступом до процесора тільки між сусідніми по мережі, а взаємодія віддалених процесорів підтримується спец сист. маршрутизації. В компах типу мереж розподілена пам’ять.
Засоби організації пар. обробки інф-ії.
Виділяють 3 осн. напрямки:
1. суміщення в часі різних етапів різних задач – мультипрограмна обробка інф-ії, яка можлива в одно процесорній ЕОМ і широко використовується.
2. одночасний розв’язок різних задач або частин одної задачі – можливе лише при наявності декількох пристроїв обробки. Використовуються інші особливості задач або потоків задач, який створює той чи інший паралелізм.
2.1 Природний паралелізм незалежних задач.
В систему поступає неперервний потік незв’язаної між собою задач, тобто розв’язок будь-якої задачі не залежить від результатів розв’язків інших задач. У цьому випадку використання декількох пристроїв обробки підвищує продуктивність системи.
2.2 Паралелізм незалежних гілок.
Полягає в розбитті задачі на незалежні частини – гілки програми, які при наявності декількох пристроїв обробки та незалежно один від одного. Двома нез. гілками програми вважають такі частини задачі, при виконанні яких виконуються наступні умови:
1. ні один з вх. для гілки програмних величин не є вих. величиною іншої програми (відсутність функт. зв’язків);
2. для обох гілок програми не мусить робитися запис у одні і ті самі комірки пам’яті; відсутність зв’язку з використання одних і тих самих полів опер. пам’яті;
3. умови виконання однієї гілки не залежить від результатів або ознак отриманих при виконанні іншої гілки - нез-сть за керуванням.
4. обидві гілки мусять виконуватися за різним блоками програми - програмна нез-сть.
Уявлення про паралелізм дає ярусно-пар. форма програми.
2
1
4
3
5
6


Програма представлена у вигляді сукупності гілок розміщених на декількох рівнях або ярусах.
- гілки. Довжина гілки позначена цифрою біля кола. Позначені вх. дані та результати обробки. Вх. дані позн. Х, У – вих. дані. Х мають нижні цифрові індекси, які позн. номера вх. величин. У – мають індекси знизу – визначає порядковий номер результату, який отриманий при реалізації даної гілки програми і вгорі – відповідає номеру гілки, при виконанні якої отриманий даний результат. Гілки кожного ярусу непов’язані один з одним, тобто результати виконання будь-якої гілки даного ярусу, не є вих. даними для іншої гілки цього ярусу. На цьому графі, який дозволяє наочно показати повністю незалежні гілки, можуть бути зображені зв’язки за керування або пам’яттю.
Переваги комп. системи із залученими декількома пристроями.
Довжина і-ої гілки представлена числом часових одиниць ts, які необхідні для її виконання.
Підраховано, що Т=?n=14i=1 ti=375 од часу. Приймемо, що програма виконується двома пристроями обробки, що працюють паралельно (незалежно). Час скорочення буде різним у залежності від послідовності виконання незалежних гілок. Потрібно визначити шляхи розв’язання задачі та виробити необхідну інф-ію про готовність кожної гілки. Це легко виконується, якщо достатньо точно відома тривалість виконання кожної гілки. На практиці це буває дуже рідко, відома лище наближена довжина гілок, тому організація близького до оптимального графіка роботи є складною задачею. Дуже важко уникнути простоти обладнання, що виникає за відсутності початкових даних для виконання тої чи іншої гілки. Це приводить до зниження виграшу продуктивності. При розв’язанні задач створюються певні складності при виділенні незалежних гілок, які істотно скорочують час розв’язання. До даного типу пар. обробки підходять задачі матричної алгебри, лінійного програмування, спектральної обробки сигналів, прямі та зворотні перетворення Фур’є.
2.3 Паралелізм об’єктів або даних.
Коли одною програмою мусить оброблятися деяка сукупність даних, яка поступає в систему одночасно. Використовуються в задачах обробки сигналів від радіо-локаційної станції, обробки інф-ії від давачів, які вимірюють одночасно один і той самий параметр і встановлені на різних об’єктах. Програми обробки можуть мати декілька операцій – математичні задачі, задачі векторної алгебри. При цьому виконується однакові операції над парами чисел двох об’єктів. Наприклад додавання матриць і множення матриці на скаляр можна виконувати паралельно на декількох пристроях.
Конвеєрна обробка.
Полягає у використанні одного процесора з поділеними на деяке число операційних блоків, кожен з яких спеціалізований на виконання чітко визначеної частини операції. Приклад: додати два числа з плаваючою комою А+В=С. Виконання можна поділити на 4 етапи, які виконуються послідовно, - 4 блоки, що з’єднані послідовно:
1. порівняння порядків;
2. вирівнювання порядків;
3. додавання мантис;
4. нормалізація результату.
ВП
ДМ
ПП
НР

Виникає задача додавання двох чисел, які містять по n елементів з плаваючою комою. A+B= [ai*2x]+ [bi*2y]= [ci*2xvy]. Конвеєр виграшний при виконанні багатьох операцій. Щоб не створювалися черги операндів на обробку, час виконання кожного з цих етапів приведено до max значення і= 140 нс. Перший результат на вих. конвеєра буде через 560 нс, а наступні через 140 нс.
Якби не було конвеєра, то при 25 елементів час Тз=n*?mi=1Ti=10000 нс, де Ті – час виконання і-ого етапу обробки, m – число операційних блоків, а при конвеєрній обробці Тк=(n+m-1)Ti=3920 нс.
Це був приклад конвеєра виконання арифм. операцій, а також буває на виконання команд, що застосовується уже давно. Цикл виконання команди розбивається на деклька етапів:
1. формування адреси команди;
2. вибірка команди з памяті;
3. розшифровка коду операнду;
4. формування адреси операнду;
5. вибірка операнду з памяті;
6. арифметична або логічна операція.
В пристрої керування передбачені блоки, які незалежні один від одного і пар. можуть виконувати дані етапи. Час виконання кожного етапу прийнято однаковим. В конвеєрі арифм. операцій виконується пар. обробка m пар. операндів. В конвеєрі команд виконується суміщення у часі l операцій, де l – число етапів, на яке поділено виконання команд. Виграш в l разів практично неможливий через використання умовних переходів, яких позбути взагалі неможливо. Наявність умовних переходів порушує роботу конвеєра та приводить до холостих спрацювань конвеєра. У деяких випадках розробляється структура, в якій одночасно використовуються декілька конвеєрів операцій і команд, що приводить до високої швидкодії, і тому використовується зараз.




Надійність в комп. системах.
Надійність – властивість об’єктів зберігати в часі усіх параметрів, які характеризують здатність виконувати необхідні дані в заданих режимах і умовах застосування, технічному обслуговуванні ремонтів, зберігання та транспортування. Складна властивість, яка залежить від призначення до умов застосування складається з сукупності властивостей:
1. безвідмовність;
2. довговічність;
3. ремонтоздатність;
4. збереженість.
Відмова – подія, яка полягає у порушенні працездатності об’єкта. Відмова викликається фізичним руйнуванням елемента КС або поступовим погіршенням його характеристик. Збій – короткочасне порушення правил роботи КС або його елементу, після чого працездатність само відтворюється або відтворюється оператором без проведення ремонту. Вважається, що збої викликаються внутрішніми або зовнішніми завадами. Множина помилок або їх небезпечна комбінація викликає невиконання завдання, тому що така подія може розглядатися як відмова КС або аварія. Відмовостійкість – властивість архітектури КС, яка дозволяє продовжувати роботу системи тоді, коли в апаратних або програмних засобах системи виникають відмови. Вона забезпечується застосуванням надлишковості, тобто створенням певних запасів або резервів у системі. У відмовостійкості КС може бути застосована така надлишковість:
1. параметрична;
2. алгоритмічна;
3. часова;
4. структурна.
Параметрична надлишковість – виявляється в полегшенні режимів роботи елементів та вузлів апаратури з метою підвищення надійності. Для правильно спростованої сучасної апаратури експлуатаційні параметри вибрані близькими до оптимальних, тому істотне збільшення надійності за рахунок параметричної надлишковості не можливе, але проектування апаратури з врахуванням параметричної надлишковості необхідно. При проектуванні параметричні засоби повинні враховуватися.
Параметричні засоби.
1. робота на „плато” надійності;
методи введення надлиш.
парамет
рич
ний
часова
Алго-на
просторова
стру
кту
рна
з вмк.
проект.
ко
дів
часова


2. робота при стабільному живленні;
3. зниження живлення;
4. наявність декількох джерел;
5. стабільна температура;
6. Робота при більш надійній температурі.
Часова надлишковість -