Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
3_Тексты лекций ПВС 2011.doc
Скачиваний:
24
Добавлен:
24.12.2018
Размер:
5.46 Mб
Скачать

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

В процессе решения любой задачи на параллельной вычислительной системе можно вы­делить следующие этапы: формулировка задачи, выбор метода ее решения, фиксация алгоритма, выбор технологии программирования, создание про­граммы и, наконец, выполнение ее на той или иной вычислительной системе. Все эти этапы важны и для обычных вычислительных систем, но при использовании парал­лельных вычислительных систем они приобретают особую значимость. Лю­бая вычислительная параллельная система — это тщательно сбалансированная система, которая может дать фантастический результат. Такие системы специ­ально проектируются для того, чтобы работать с огромной производитель­ностью. Но параллельные вычислительные системы не могут работать одинаково произ­водительно на любых программах. Если структура программы не соответствует особенностям их структуры, то производительность неизбежно падает.

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

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

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

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