Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
31-40.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
197.12 Кб
Скачать

34. Мультикомпьютеры

Во втором варианте параллельной архитектуры каждый процессор имеет собственную память, доступную только этому процессору. Такая схема называется мультикомпьютером, или системой с распределенной памятью .Отличие мультикомпьютера от мультипроцессора в том, что каждый процессор в имеет собственную локальную память, к которой он может обращаться, выполняя команды LOAD и STORE, но другой процессор с помощью этих команд не может получить доступ к локальной памяти данного процессора. Мультипроцессоры имеют одно физическое адресное пространство, а мультикомпьютеры содержат отдельные физические адресные пространства для каждого процессора.

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

Мультикомпьютер из 16 процессоров, каждый из которых имеет собственную память (а); битовая карта изображения с рис. 8.15, разделенная между 16 модулями памяти (б)

Сначала процессору 0 нужно как-то выяснить, какой процессор содержит необходимые ему данные, и послать этому процессору сообщение с запросом копии данных. Затем процессор 0 блокируется до получения ответа. Когда процессор 1 получает сообщение, оно анализируется, после чего затребованные данные передаются обратно. Когда процессор 0 получает ответное сообщение, блокировка снимается, и процессор продолжает работу.

Для взаимодействия между процессорами используются примитивы send и receive. ПО мультикомпьютера имеет более сложную структуру, чем мультипроцессора. Основной проблемой становится правильное распределение данных и их размещение. Это еще одно отличие от мультипроцессора, где размещение данных не влияет на правильность решения задачи, хотя может повлиять на производительность. Мультикомпьютер программировать гораздо сложнее.Возникает вопрос: зачем создавать мультикомпьютеры. Ответ: создать большой мультикомпьютер проще и дешевле, чем мультипроцессор с таким же количеством процессоров. Реализация общей памяти, совместно используемой несколькими сотнями процессоров, - это весьма сложная задача, а разработать мультикомпьютер, содержащий 10 000 процессоров и более, легко.

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