Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PODs 2.0 release Marina_Lesha version beta3 vir...doc
Скачиваний:
3
Добавлен:
01.03.2025
Размер:
3.02 Mб
Скачать

9 Вопрос. Компьютеры с общей и распределенной памятью. 2 задачи параллел. Вычислений.

Первый класс — это компьютеры с общей памятью. Системы, построенные по такому принципу, иногда называют мультипроцессорными системами или просто мультипроцессорами. В системе присутствует несколько равноправных процессоров, имеющих одинаковый доступ к единой памяти (рис. 2.8). Все процессоры "разделяют" между собой общую память, отсюда еще одно назва­ние компьютеров этого класса — компьютеры с разделяемой памятью. Все процессоры работают с единым адресным пространством: если один процес­сор записал значение 79 в слово по адресу 1024, то другой процессор, прочи­тав слово, расположенное по адресу 1024, получит значение 79.

Память

Проц

Проц

Проц

Проц

Второй класс — это компьютеры с распределенной памятью, которые по ана­логии с предыдущим классом иногда будем называть мультикомпьютерными системами (рис. 2.9). По сути дела, каждый вычислительный узел является полноценным компьютером со своим процессором, памятью, подсистемой ввода/вывода, операционной системой. В такой ситуации, если один про­цессор запишет значение 79 по адресу 1024, то это никак не повлияет на то, что по тому же адресу прочитает другой, поскольку каждый из них работает в своем адресном пространстве.

Проц

Проц

...

Проц

Память

Память

Память

Коммуникационная среда

К компьютерам с общей памятью относятся все системы класса Symmetric Multi Processors (SMP). В SMP все, кроме нескольких процессоров, в одном экземпляре: одна память, одна операционная система, одна подсистема вво­да/вывода. Слово "симметричный" в названии архитектуры означает, что каждый процессор может делать все то, что и любой другой. Кстати, в на­стоящее время SMP часто рассматривают как альтернативное название для компьютеров с общей памятью, чему дополнительно способствуют два воз­можных варианта расшифровки данной аббревиатуры: Symmetric Multi Proc­essors и Shared Memory Processors.

Эти два класса, компьютеры с общей и распределенной памятью, появились не случайно. Они отражают две основные задачи параллельных вычислений. Первая задача заключается в построении вычислительных систем с макси­мальной производительностью. Это легко позволяет сделать компьютеры с распределенной памятью. Уже сегодня существуют установки, объединяю­щие тысячи вычислительных узлов в рамках единой коммуникационной среды. Да что говорить, даже Интернет можно рассматривать как самый большой параллельный компьютер с распределенной памятью, объединяю­щий миллионы вычислительных узлов. Но как такие системы эффективно использовать? Как убрать большие накладные расходы, идущие на взаимо­действие параллельно работающих процессоров? Как упростить разработку параллельных программ? Практически единственный способ программиро­вания подобных систем — это использование систем обмена сообщениями, например, PVM или MPI, что не всегда просто. Отсюда возникает вторая задача — поиск методов разработки эффективного программного обеспечения для параллельных вычислительных систем. Данная задача немного проще ре­шается для компьютеров с общей памятью. Накладные расходы на обмен данными между процессорами через общую память минимальны, а техно­логии программирования таких систем, как правило, проще. Проблема здесь в другом. По технологическим причинам не удается объединить большое число процессоров с единой оперативной памятью, а потому очень большую производительность на таких системах сегодня получить нельзя.