Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_26-48 (1).docx
Скачиваний:
11
Добавлен:
01.07.2025
Размер:
375 Кб
Скачать
☆

33. Реализация принципа «сверхмультиобработки». Статический и динамический способ создания «общего кода».

Такой режим, при котором возможно параллельное выполнение нескольких программ на одном процессоре или нескольких программ на нескольких машинах, причем количество программ (n) больше количества машин (М). При таком режиме каждая программа делится на блоки, каждый из которых может выполняться независимо друг от друга. Каждому процессу присваивается блок данных. В фунциональных языках возможна реализация более мелкого чем мультиобработка параллелизма.

Это достигается следующими способами:

  1. копирование тела функции для каждого выполненного процесса,

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

  3. использование общего кода, но код генерируется на этапе компиляции (статический способ использования общего кода). При этом вычисляется функция над многими аргументами:

О рганизация вычисления при разделении функции:

" " – адреса.

Функция может быть

Активизирована

одновременно

несколькими процессорами,

во время активизации для

любого процесса создается

активизатор (или цветная

фишка): (in, in') – для каждого

имени процесса in создается новое

имя in', которое подсоединяется к данному процессу.

Ф

in

f1 in1

f2 in2

f3 in3

ишка – процесс, а активизированная функция – цвет. В результате работы тела функции активизируется return. Это мультиобработка, поскольку:

  1. О

    Process 1

    существляется параллелизм на уровне обработки нескольких аргументов.

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

34. Перспективы развития архитектур класса мрр (Massively Parallel Processor).

MPP архитектура (massive parallel processing) - массивно-параллельная архитектура. Главная особенность такой архитектуры состоит в том, что память физически разделена. В этом случае система строится из отдельных модулей, содержащих процессор, локальный банк операционной памяти (ОП), два коммуникационных процессора (рутера) или сетевой адаптер, иногда - жесткие диски и/или другие устройства ввода/вывода. Один рутер используется для передачи команд, другой - для передачи данных. По сути, такие модули представляют собой полнофункциональные компьютеры (см. рис.). Доступ к банку ОП из данного модуля имеют только процессоры (ЦП) из этого же модуля. Модули соединяются специальными коммуникационными каналами. Пользователь может определить логический номер процессора, к которому он подключен, и организовать обмен сообщениями с другими процессорами. Используются два варианта работы операционной системы (ОС) на машинах MPP архитектуры. В одном полноценная операционная система (ОС) работает только на управляющей машине (front-end), на каждом отдельном модуле работает сильно урезанный вариант ОС, обеспечивающий работу только расположенной в нем ветви параллельного приложения. Во втором варианте на каждом модуле работает полноценная UNIX-подобная ОС, устанавливаемая отдельно на каждом модуле. 

А рхитектура с раздельной памятью

Главным преимуществом систем с раздельной памятью является хорошая масштабируемость: в отличие от SMP-систем в машинах с раздельной памятью каждый процессор имеет доступ только к своей локальной памяти, в связи с чем не возникает необходимости в потактовой синхронизации процессоров. Практически все рекорды по производительности на сегодняшний день устанавливаются на машинах именно такой архитектуры, состоящих из нескольких тысяч процессоров (ASCI Red, ASCI Blue Pacific). 

Недостатки:

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

Системами с раздельной памятью являются суперкомпьютеры МВС-1000, IBM RS/6000 SP, SGI/CRAY T3E, системы ASCI, Hitachi SR8000, системы Parsytec. Машины последней серии CRAY T3E от SGI, основанные на базе процессоров Dec Alpha 21164 с пиковой производительностью 1200 Мфлопс/с (CRAY T3E-1200), способны масштабироваться до 2048 процессоров. При работе с MPP системами используют так называемую Massive Passing Programming Paradigm - парадигму программирования с передачей данных (MPI, PVM, BSPlib)

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]