Апаратна побудова розподілених систем

Матеріал з Фізмат Вікіпедії
Перейти до: навігація, пошук


Не дивлячись на те що всі розподілені системи містять по декілька процесорів, існують різні способи їх організації в систему. Особливо це відноситься до варіантів їх з'єднання і організації взаємного обміну. У цьому розділі ми стисло розглянемо апаратне забезпечення розподілених систем, зокрема варіанти з'єднання машин між собою. Предметом нашого обговорення в наступному розділі буде програмне забезпечення розподілених систем.
За минулі роки було запропоновано безліч різних схем класифікації комп'ютерних систем з декількома процесорами, але жодна з них не стала дійсно популярною і широко поширеною. Нас цікавлять виключно системи, побудовані з набору незалежних комп'ютерів. На мал. 1.4 ми підрозділяємо всі комп'ютери на дві групи. Системи, в яких комп'ютери використовують пам'ять спільно, зазвичай називаються мультипроцесорами (multiprocessors), а що працюють кожен з своєю пам'яттю — мульткомп'ютерами (multicomputer). Основна різниця між ними полягає в тому, що мультипроцесори мають єдиний адресний простір, спільно використовуваний всіма процесорами. Якщо один з процесорів записує, наприклад, значення 44 за адресою 1000, будь-який інший процесор, який після цього прочитає значення, лежаче за адресою 1000, отримає 44. Всі машини задіюють одну і ту ж пам'ять.
На відміну від таких машин в мультікомпиотерах кожна машина використовує свою власну пам'ять. Після того, як один процесор запише значення 44 за адресою 1000, інший процесор, прочитавши значення, лежаче за адресою 1000, набуде того значення, яке зберігалося там раніше. Запис за цією адресою значення 44 іншим процесором ніяк не позначиться на вмісті його пам'яті. Типовий приклад мультикомпьютера — декілька персональних комп'ютерів, об'єднаних в мережу.
Кожна з цих категорій може бути підрозділена на додаткові категорії на основі архітектури сполучаючої їх мережі. На мал.2 цю дві архітектуру позначено як шинна (bus) і комутована (switched). Під шиною розуміється одиночна мережа, плата, шина, кабель або інше середовище, що сполучає всі машини між собою. Подібну схему використовує кабельне телебачення: кабельна компанія протягує уздовж вулиці кабель, а всім підписчикам робляться відведення від основного кабелю до їх телевізорів.
Al RBAP.jpg
Рис.2 Різні базові архітектури процесорів та пам'яті розподілених комп'ютерних систем
Комутаційні системи, на відміну від шинних, не мають єдиної магістралі, такий як у кабельного телебачення. Замість неї від машини до машини тягнуться окремі канали, виконані із застосуванням різних технологій зв'язку. Повідомлення передаються по каналах з ухваленням явного рішення про комутацію з конкретним вихідним каналом для кожного з них. Така організована глобальна телефонна мережа. Ми проведемо також розділення розподілених комп'ютерних систем на гомогенні (homogeneous) і гетерогенні (heterogeneous). Це розділення застосовується виключно до мультикомпьютерным систем. Для гомогенних муль-тікомпьютерних систем характерна одна сполучаюча комп'ютери мережа, що використовує єдину технологію. Однакові також і всі процесори, які в основному мають доступ до однакових об'ємів власної пам'яті. Гомогенні мультикомпьютерные системи нерідко використовуються як паралельні (що працюють з одним завданням), в точності як мультипроцесорні. На відміну від них гетерогенні мультикомпьютерные системи можуть містити цілу гамму незалежних комп'ютерів, сполучених різноманітними мережами. Так, наприклад, розподілена комп'ютерна система може бути побудована з декількох локальних комп'ютерних мереж, сполучених комутованою магістраллю FDDI або АТМ.
У наступних трьох пунктах я стисло розгляну мультипроцесорні, а також гомогенні і гетерогенні мультикомп'ютерні системи. Не дивлячись на те, що ці питання не пов'язані безпосередньо з нашою основною темою, розподіленими системами, вони допомагають краще за її зрозуміти, оскільки організація розподілених систем часто залежить від вхідної в їх склад апаратури.