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

12 Вопрос. Причины уменьшения быстродействия компьютера Hewlett-Packard

Superdome

В заключение, как и в предыдущем параграфе, выделим те особенности вычислительных

систем с общей памятью, которые снижают их производительность на реальных

программах. Закон Амдала носит универсальный характер, поэтому он упоминается вместе со всеми параллельными системами. Не являются исключением и компьютеры с

общей памятью. Если в программе 20% всех операций должны выполняться строго

последовательно, то ускорения больше 5 получить нельзя вне зависимости от числа

использованных процессоров (влияние кэшпамяти сейчас не рассматривается). Это

нужно учитывать и перед адаптацией старой последовательной программы к такой

архитектуре, и в процессе проектирования нового параллельного кода.

Для компьютеров с общей памятью дополнительно следует принять в расчет и такие

соображения. Наличие физической общей памяти стимулирует к использованию моделей

параллельных программ также с общей памятью. Это вполне естественно и оправданно.

Однако в этом случае возникают дополнительные участки последовательного кода,

связанные с синхронизацией доступа к общим данным, например, критические секции.

Относительно подобных конструкций в описании соответствующей технологии программирования может и не быть никакого предостережения, однако реально эти фрагменты

будут последовательными участками кода.

Работа с памятью является очень тонким местом в системах данного класса. Одну из

причин снижения производительности — неоднородность доступа к памяти, мы уже

обсуждали. Степень неоднородности на уровне 5—10% серьезных проблем не создаст.

Однако разница во времени доступа к локальной и удаленной памяти в несколько раз

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

придется решать вопросы, аналогичные распределению данных для систем с

распределенной памятью. Другую причину — конфликты при обращении к памяти

мы детально не разбирали, но она также характерна для многих SMP-систем.

Наличие кэш-памяти у каждого процессора тоже привносит свои дополнительные

особенности. Наиболее существенная из них состоит в необходимости обеспечения

согласованности содержимого кэш-памяти. Отсюда появились и первые две буквы в

аббревиатуре ccNUMA. Чем реже вовлекается аппаратура в решение этой проблемы, тем

меньше накладных расходов сопровождает выполнение программы. По этой же причине

во многих системах с общей памятью существует режим выполнения параллельной

программы с привязкой процессов к процессорам.

Сбалансированность вычислительной нагрузки также характерна для параллельных

систем, как и закон Амдала. В случае систем с общей памятью ситуация упрощается тем,

что практически всегда системы являются однородными. Они содержат одинаковые

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

идет.

Любой современный процессор имеет сложную архитектуру, объединяющую и несколько

уровней памяти, и множество функциональных устройств. Реальная

производительность отдельного процессора может отличаться от его же пиковой в

десятки раз. Чем выше степень использования возможностей каждого процессора, тем

выше общая производительность вычислительной системы.