| Назва: | Паралельні обчислювальні системи |
| Тип: | Реферати |
| Мова: | Українська |
| Розмiр: | 46,92 KB |
| Скачувань: | 50 |
3. Комп’ютери з віртуально спільною пам’яттю (Virtual shared memory). У таких системах загальна пам’ять, як така, відсутня. Кожен процесор має власну локальну пам’ять. Він може звертатися до локальної пам’яті інших процесорів, використовуючи “глобальну адресу”. Якщо “глобальна адреса” вказує не на локальну пам’ять, то доступ до пам’яті реалізується за допомогою повідомлень з малою затримкою, що пересилаються по мережі, яка з’єднує процесори.
До цього класу належать так звані кластерні (claster) системи. Особливості даної архітектури наступні;
Архітектура. Набір робочих станцій загального призначення, використовується як дешевий варіант масово-паралельного комп'ютера. Для зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури чи комутатора. При об'єднанні в кластер комп'ютерів різної потужності чи різної архітектури, говорять про гетерогенні (неоднорідні) кластери. Вузли кластера можуть одночасно використовуватися в якості робочих станцій користувачів. У випадку, коли це не потрібно, вузли можуть бути істотно полегшені і встановлені у стійку.
Приклади.
• NT-кластер у NCSA;
• Beowulf-кластери.
Операційна система. Використовуються стандартні операційні системи для робочих станцій, частіше, вільно розповсюджувані - Linux/FreeBSD, разом зі спеціальними засобами підтримки паралельного програмування і розподілу навантаження.
Модель програмування. Програмування, як правило, у рамках моделі передачі повідомлень (частіше - MPI). Дешевизна подібних систем обертається великими накладними витратами на взаємодію паралельних процесів між собою, що сильно звужує потенційний клас розв'язуваних задач.
Відзначимо також два класи комп’ютерних систем, що іноді використовуються як паралельні комп’ютери:
• локальні обчислювальні мережі (LAN), у яких комп’ютери знаходяться у фізичній близькості і з’єднані швидкою мережею;
• глобальні обчислювальні мережі (WAN), що з’єднують географічно розподілені комп’ютери.
Хоча системи цього виду вводять додаткові властивості, такі як надійність і захист, у багатьох випадках вони можуть розглядатися як MIMD комп’ютери, хоча і з високою вартістю віддаленого доступу.
3. Поняття і термінологія паралельного програмного забезпечення.
Код, що виконується на одиночному процесорі паралельного комп’ютера, знаходиться в деякому ж програмному середовищі, що і середовище однопроцесорного комп’ютера з мультипрограмною операційною системою, тому й у контексті паралельного комп’ютера так само говорять про процеси чи задачі, посилаючись на код, що виконується всередині захищеного регіону пам’яті операційної системи. Багато дій паралельної програми включають звертання до віддалених процесорів чи комірок загальної пам’яті. Для виконання цих дій може бути необхідна суттєва затрата часу, особливо, стосовно часу виконання звичайних команд процесора. Тому більшість процесорів виконує більше одного процесу одночасно, і, отже, у програмному середовищі окремо узятого процесора паралельного комп’ютера використовуються звичайні методи мультипрограмування:
• процеси блокуються, коли їм необхідно звернутися до віддалених ресурсів;
• процеси готові продовжити роботу, якщо отримана відповідна відповідь.
Виконання процесів паралельної програми переривається значно частіше, ніж процесів, що працюють у послідовному середовищі, тому що процеси паралельної програми виконують ще дії, пов’язані з обміном даними між процесорами. Маніпулювання повноваговими процесами у мультипрограмному середовищі є надто дорогим заняттям, оскільки воно тісно пов’язане з управлінням і захистом пам’яті. Внаслідок цього більшість паралельних комп’ютерів використовує легковагові процеси, що називаються нитками (threads) або потоками (streams) управління, а не повновагові процеси. Легковагові процеси не мають власних захищених областей пам’яті (хоча можуть володіти власними локальними даними), що в результаті дуже сильно спрощує маніпулювання ними. Більш того, їхнє використання більш безпечне.
Щоб уникнути плутанини, використовують наступні терміни, що позначають різні варіанти процесів виконання програм:
• легковагові процеси іменують нитками, потоками управління, співпроцесами;
• задачі будуть вказувати на повновагові процеси, тобто процеси операційної системи, що володіють власними захищеними регіонами пам’яті.
Процес використовується там, де поділ на легковагові і повновагові процеси несуттєвий і можна використовувати як ті, так і інші.
Відповідно до можливостей паралельного комп’ютера, процеси взаємодіють між собою одним з наступних способів:
До цього класу належать так звані кластерні (claster) системи. Особливості даної архітектури наступні;
Архітектура. Набір робочих станцій загального призначення, використовується як дешевий варіант масово-паралельного комп'ютера. Для зв'язку вузлів використовується одна із стандартних мережевих технологій (Fast/Gigabit Ethernet, Myrinet) на базі шинної архітектури чи комутатора. При об'єднанні в кластер комп'ютерів різної потужності чи різної архітектури, говорять про гетерогенні (неоднорідні) кластери. Вузли кластера можуть одночасно використовуватися в якості робочих станцій користувачів. У випадку, коли це не потрібно, вузли можуть бути істотно полегшені і встановлені у стійку.
Приклади.
• NT-кластер у NCSA;
• Beowulf-кластери.
Операційна система. Використовуються стандартні операційні системи для робочих станцій, частіше, вільно розповсюджувані - Linux/FreeBSD, разом зі спеціальними засобами підтримки паралельного програмування і розподілу навантаження.
Модель програмування. Програмування, як правило, у рамках моделі передачі повідомлень (частіше - MPI). Дешевизна подібних систем обертається великими накладними витратами на взаємодію паралельних процесів між собою, що сильно звужує потенційний клас розв'язуваних задач.
Відзначимо також два класи комп’ютерних систем, що іноді використовуються як паралельні комп’ютери:
• локальні обчислювальні мережі (LAN), у яких комп’ютери знаходяться у фізичній близькості і з’єднані швидкою мережею;
• глобальні обчислювальні мережі (WAN), що з’єднують географічно розподілені комп’ютери.
Хоча системи цього виду вводять додаткові властивості, такі як надійність і захист, у багатьох випадках вони можуть розглядатися як MIMD комп’ютери, хоча і з високою вартістю віддаленого доступу.
3. Поняття і термінологія паралельного програмного забезпечення.
Код, що виконується на одиночному процесорі паралельного комп’ютера, знаходиться в деякому ж програмному середовищі, що і середовище однопроцесорного комп’ютера з мультипрограмною операційною системою, тому й у контексті паралельного комп’ютера так само говорять про процеси чи задачі, посилаючись на код, що виконується всередині захищеного регіону пам’яті операційної системи. Багато дій паралельної програми включають звертання до віддалених процесорів чи комірок загальної пам’яті. Для виконання цих дій може бути необхідна суттєва затрата часу, особливо, стосовно часу виконання звичайних команд процесора. Тому більшість процесорів виконує більше одного процесу одночасно, і, отже, у програмному середовищі окремо узятого процесора паралельного комп’ютера використовуються звичайні методи мультипрограмування:
• процеси блокуються, коли їм необхідно звернутися до віддалених ресурсів;
• процеси готові продовжити роботу, якщо отримана відповідна відповідь.
Виконання процесів паралельної програми переривається значно частіше, ніж процесів, що працюють у послідовному середовищі, тому що процеси паралельної програми виконують ще дії, пов’язані з обміном даними між процесорами. Маніпулювання повноваговими процесами у мультипрограмному середовищі є надто дорогим заняттям, оскільки воно тісно пов’язане з управлінням і захистом пам’яті. Внаслідок цього більшість паралельних комп’ютерів використовує легковагові процеси, що називаються нитками (threads) або потоками (streams) управління, а не повновагові процеси. Легковагові процеси не мають власних захищених областей пам’яті (хоча можуть володіти власними локальними даними), що в результаті дуже сильно спрощує маніпулювання ними. Більш того, їхнє використання більш безпечне.
Щоб уникнути плутанини, використовують наступні терміни, що позначають різні варіанти процесів виконання програм:
• легковагові процеси іменують нитками, потоками управління, співпроцесами;
• задачі будуть вказувати на повновагові процеси, тобто процеси операційної системи, що володіють власними захищеними регіонами пам’яті.
Процес використовується там, де поділ на легковагові і повновагові процеси несуттєвий і можна використовувати як ті, так і інші.
Відповідно до можливостей паралельного комп’ютера, процеси взаємодіють між собою одним з наступних способів: