Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Voprosy_IGME.doc
Скачиваний:
9
Добавлен:
01.05.2025
Размер:
3.64 Mб
Скачать
  1. Мультикомпьютеры и мультипроцессоры - типовые вычислительные структуры и программное обеспечение параллельных вс, режимы их работы.

Самые известные и популярные мультикомпьютеры – процессоры с массовым параллелизмом (Massively Parallel Processors - MPP). Это очень дорогие суперкомпьютеры, стоимость которых может составлять несколько миллионов американских долларов. MPP используются для выполнения сложных вычислений (например, при построении моделей сложных объектов), управления распределенными базами данных, имеющими огромные размеры, обработки большого числа транзакций за короткое время (например, в транснациональных банках).

Какими бы производительными не были процессоры, скорость обработки информации в MPP-структуре будет зависеть от имеющейся высокоскоростной коммуникационной сети, а именно от ее пропускной способности и времени запаздывания. Обе характеристики крайне важны для MPP. Программное обеспечение MPP-систем стоит очень больших денег и наряду с отмеченными нами параметрами является определяющей характеристикой MPP. Огромное число процессоров, дисковых массивов и микросхем памяти просто не может работать «нормально» без сбоев и отказов. Поэтому в MPP имеются программно-аппаратные средства мониторинга состояния работы устройств, средства резервирования (когда часть устройств дублируется), а также реализована возможность «горячей» (без остановки работы MPP) замены вышедших из строя процессоров. Обещанный интересный пример, на базе которого мы посмотрим принципы работы MPP-систем – это процессор с массовым параллелизмом Blue Geneкомпании IBM. Этот модуль, представлял собой специализированную схему, состоящую из двух ядер PowerPC 4402, работающих с тактовой частотой 700 МГц. Оба процессора абсолютно идентичны, но используются для различных целей. Первый для выполнения вычислений (вычислительный), а второй для организации нормального взаимодействия с узлами (модулями) MPP (коммуникационный), которых в Blue Gene/L 65 535. На микросхеме модуля расположены три микросхемы кэш-памяти – 1, 2 и 3-го уровней. Интересно то, что 1-й уровень – это кэш 1-го процессора, а 2-й уровень – это кэш 2-го процессора. Такое разделение обусловлено тем, что PowerPC не поддерживают разделяемый кэш. Для более высокого уровня в IBM разработали плату, на которую устанавливается две описанных выше микросхемы и оперативная память емкостью 1 Гб. Платы монтируются на встраиваемые панели, по 16 плат на панель. Следующий уровень представляет собой монтаж панелей в стойки – 16 в верхнюю ее часть, а 16 в нижнюю3. Стойка имеет габаритные размеры 60х90 см. Верхняя и нижняя части стойки разделены переключателем. Это позволяет независимо извлекать верхнюю или нижнюю ее части для технического обслуживания или замены, в то время как вторая (резервная) группа продолжает работу. Скорее всего, читая этот раздел, вы все время задавали себе один и тот же вопрос (если вы внимательный и прилежный студент). Почему если все время идет разговор о процессорах, сама MPP-структура отнесена к мультикомпьютерам? Ответ достаточно прост!? Ни один процессор не имеет доступа к общей памяти, доступ есть только к памяти на плате модуля. А также имеются 1024 узла ввода-вывода, которые соединяются с дисками и периферийными устройствами.

Классификационный признак

Описание

По типу ЭВМ (процессоров)

Однородные предполагают комплексирование однотипных ЭВМ (процессоров)

Неоднородные предполагают комплексирование разнотипных ЭВМ (процессоров)

По степени территориальной разобщенности

Сосредоточенного типа, к которым относятся мультипроцессоры

Распределенного типа, к которым относятся мультикомпьютеры

По методам управления элементами вычислительной системы

Централизованные, в которых выделяется отдельная ЭВМ (процессор), обеспечивающий управление вычислениями

В децентрализованных функции управления распределены между элементами системы

Со смешанным управлением

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

С жестким закреплением функций

С плавающим закреплением функций

По режиму работы

Работающие в оперативном режиме (on-line или режиме реального времени) с жесткими ограничениями на время обработки информации)

Работающие в неоперативном режиме (off-line), допускающие отложенную обработку 

Теперь мы можем перейти к рассмотрению многопроцессорных систем или мультипроцессоров. Главная отличительная черта таких систем – это совместное использование несколькими процессорами общей физической памяти (рис. 4.3). Поэтому часто мультипроцессоры называют системами собщей памятью. Принципов построения вычислительных систем всего три – с использованием общего процессора, общей памяти и общих каналов связи. Рис. 4.3. Мультипроцессор с общей памятью Внутри мультипроцессорной системы происходит информационное взаимодействие под управлением единой операционной системы, что существенно улучшает динамические характеристики этого взаимодействия, но значительно усложняет операционную систему. И чем больше процессоров, тем сложнее программное обеспечение. С точки зрения программиста организовать доступ одного процессора к памяти – задача простая. В том случае если процессоров два, появляется необходимость контроля общего доступа к памяти и исключения возможных конфликтов при обращении к одним участкам памяти. А если этих процессоров 4, 8 или даже 64? Поэтому программное обеспечение для таких систем, как правило, очень сложное и дорогостоящее.

В UMA мультипроцессорах каждый процессор получает доступ к любому модулю памяти за одно и то же время, а значит, слова считываются из памяти за одно и то же время. Поэтому самые быстрые обращения замедляются, чтобы соответствовать самым медленным, что очень удобно для программистов, которым нет необходимости учитывать время доступа к памяти. Программист, учитывая эту особенность, может предугадать производительность системы на этапе разработки программного продукта, что делает этот процесс крайне эффективным. Поэтому такой вид доступа к памяти называется «однородным». NUMA мультипроцессоры свойством однородности не обладают. Дело в том, что у них какие-то модули памяти располагаются ближе к процессору, а какие дальше от него, поэтому время доступа к этим модулям будет меньше. А значит для обеспечения требуемой производительности важно знать в каком модуле памяти располагаются данные и программа.

Программное обеспечение вычислительных систем также разделяется на системное и прикладное. Мы рассмотрим пример операционной системы, пакета для обмена информацией между мультикомпьютерами, языка программирования, а также системы реализации территориально рассредоточенных вычислений. Для кластеров уже несколько лет назад появился компонент Cluster Server операционной системы Microsoft Windows NT/2000 Enterprise. Этот компонент используется для управления кластером, а также для диагностики сбоев, происходящих в кластере и восстановления работоспособности. Зачастую программное обеспечение является мультиплотформенным, т.е. подходит и для MPP-систем и для кластеров и относится к классу переносимых. Основной механизм обмена информацией между приложениями внутри вычислительной системы – обмен сообщениями. Это справедливо и для обмена информацией между компьютерами в мультикомпьютерах. Для этого еще совсем недавно применялся пакет PVM (Parallel Virtual Machine – параллельная виртуальная машина). Сейчас применяется пакет MPI (Message-Passing Interface – интерфейс передачи сообщений). В основе MPI лежат четыре концепции: коммуникаторы, типы передаваемых данных, коммуникационные операции и виртуальные топологии.  К вышедшей позднее версии MPI-2 была добавлена поддержка динамических процессов, удаленного доступа к памяти, неблокирующего коллективного взаимодействия, масштабируемого ввода-вывода, обработки в режиме реального времени [6]. К языкам программирования мультикомпьютеров относится система Orca, в основе которого лежит язык Modula-2Orca поддерживает объекты и позволяет создавать новые процессы. Объект в Orca – это абстрактный тип данных, аналогичный объекту в Java или пакету в Ada. Orca поддерживает репликацию, миграцию и состоятельность объектов. Каждый объект может быть единственным или реплицированным. Если объектединственный, то он находится только на одной машине и все запросу перенаправляются на нее. Реплицированный объект имеется на всех машинах, на которых запущен процесс, использующий этот объект. Это упрощает чтение, но усложняет обновление . Для построения территориально рассредоточенного мультикомпьютера, так называемого глобального мультикомпьютера с общей памятью на прикладном уровне, имеется система Globe. В системе Globe объект может находиться одновременно в адресном пространстве множества процессов, выполняющихся, возможно, даже на разных континентах.

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