Вычислительные системы с распределенной памятью

В системах с распределенной памятью или слабо связанных многопроцессорных системах вся память распределена между процессорными эле­ментами, и каждый блок памяти доступен только «своему» процессору. Сеть со­единений связывает процессорные элементы друг с другом. Данные системы принято называть мультикомпьютерами. Представителями этой группы являются системы с массовым параллелизмом (МРР, Massively Parallel Processing) и кластерные вычислительные системы (COW).

Различие между общей и распределенной памятью - это разница в структуре виртуальной памяти, то есть в том, как память выгладит со стороны процессора. Физически почти каждая система памяти разделена на автономные компоненты, доступ к которым может производиться независимо. Общую память от распределенной отличает то, каким образом подсистема памяти интерпретирует поступивший от процессора адрес ячейки. Для примера положим, что процессор выполняет команду LoadR0,i, означающую «Загрузить регистр R0 содержимым ячейки i». В случае общей памяти i - это глобальный адрес, и для любого процессора указывает на одну и ту же ячейку. В распределенной системе памяти i - это локальный адрес. Если два процессора выполняют команду LoadR0,i, то каждый из них обращается к i-й ячейке в своей локальной памяти, то есть к разным ячейкам, и в регистры R0 могут быть загружены неодинаковые значения.

Различие между двумя системами памяти должно учитываться программистом, поскольку оно определяет способ взаимодействия частей распараллеленной программы.

У классических мультипроцессора и мультикомпьютера имеются как преимущества, так и недостатки. Поэтому стали предприниматься попытки создания гибридных систем, которые относительно легко конструировать и относительно легко программировать. Это привело к осознанию того, что совместную память можно реализовывать по-разному, и в каждом случае будут какие-то преимущества и недостатки.

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

МРР-системы обладают следующими характеристиками:

- стандартные микропроцессоры;

- физически распределенная память;

- сеть соединений с высокой пропускной способностью и малыми задержками;

- хорошая масштабируемость (до тысяч процессоров);

- асинхронная МКМД-система с пересылкой сообщений;

- программа представляет собой множество процессов, имеющих отдельные адресные пространства;

- огромная производительность СВВ;

- отказоустойчивость.

В таких системах необходимо решить целый ряд проблем, связанных с описанием и программированием коммутаций процессов и управления ими. Математическая база этой науки в настоящее время практически отсутствует.

На рис. 5.15. представлена структура машины Cray T3E, которая относится к классу MPP-систем.


Одно из самых современных направлений в области создания вычислитель­ных систем – это кластеризация. По производительности и коэффициенту готовности кластеризация представляет собой альтернативу симметричным мультипроцессорным системам.

Кластер - это группа вза­имно соединенных вычислительных систем (узлов), работающих совместно, составляя единый вычислительный ресурс и создавая иллюзию наличия един­ственной ВМ. Важно лишь то, что каждый узел в со­стоянии функционировать самостоятельно и отдельно от кластера. В плане архитектуры суть кластерных вычислений сводится к объединению несколь­ких узлов высокоскоростной сетью. Для описания такого подхода, помимо тер­мина «кластерные вычисления», достаточно часто применяют такие названия, как: кластер рабочих станций, гипервычисления, параллельные вычисления на базе сети, ультравычисления.

Изначально перед кластерами ставились две задачи: достичь большой вычис­лительной мощности и обеспечить повышенную надежность ВС. В качестве узлов кластеров могут использоваться как одинаковые ВС (гомо­генные кластеры), так и разные (гетерогенные кластеры).

Целями построения кластеров могут служить:

1) улучшение масштабируемости (способность к наращиванию мощности);

2) повышение надежности и готовности системы в целом;

3) увеличение суммарной производительности;

4) эффективное перераспределение нагрузок между компьютерами кластера;

5) эффективное управление и контроль работой системы и т.п.

Классификация кластеров достаточно большая и не входит в рассмотрение в данной дисциплине.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: