logo
3_Тексты лекций ПВС 2011

Анализ реальной производительности («узких» мест) мвс с общей оперативной памятью

Закон Амдала носит универсальный характер, поэтому он справедлив для всех типов параллельных вычислительных систем. Не являются исключением и мультипроцессорные вычислительные системы (МВС) с общей оперативной памятью. Если в программе 20% всех операций должны выполняться строго последовательно, то ускорения больше 5 получить нельзя вне зависимости от числа использованных процессоров (влияние кэш-памяти сейчас не рассматривается). Это нужно учитывать и перед адаптаци­ей старой последовательной программы к такой структуре, и в процессе проектирования нового параллельного кода.

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

Работа с оперативной памятью является очень тонким местом в системах с неоднородным доступом в оперативную память. Одна из причин снижения производительности — неоднородность доступа к памяти. Степень неоднородности на уровне 5—10% серьезных проблем не создаст. Однако разница во времени доступа к локальной и удаленной оперативной памяти в несколько раз потребует от пользователя очень аккуратного программирования. В этом случае ему придется решать вопросы, аналогичные распределению данных для систем с распределенной оперативной памятью. Другая причина — конфликты при обращении к оперативной памяти - также характерна для многих мультипроцессорных систем.

Наличие кэш-памяти у каждого процессора тоже привносит свои дополнительные особенности. Наиболее существенная из них состоит в необходимо­сти обеспечения согласованности содержимого кэш-памяти.. Чем реже вовлекается аппаратура в решение этой проблемы, тем меньше накладных расходов сопровож­дает выполнение программы. По этой же причине во многих мультипроцессорных вычислительных системах с общей оперативной памятью существует режим выполнения параллельной программы с привязкой процессов к процессорам.

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

Любой современный процессор имеет сложную структуру, объединяющую и несколько уровней памяти, и множество функциональных устройств. Реаль­ная производительность отдельного процессора может отличаться от его пи­ковой производительности в десятки раз. Чем выше степень использования возможностей каждого процессора, тем выше общая производительность вычислительной системы.