Рекомендации по созданию переносимого прикладного программного обеспечения в вычислительной среде супер-ЭВМ 3. РекомендацииПредлагаемые ниже рекомендации по созданию переносимых прикладных программ (ПП), работающих в суперкомпьютерной среде, основываются на Концепции развития инфраструктуры высокопроизводительных ресурсов в Российской Федерации, в которой указывается, что сама инфраструктура будет удовлетворять требованиям открытых систем. 3.1. Рекомендации общего характера Из модели суперкомпьютерной вычислительной среды, описанной в профиле POSIX 1003.10, следует, что разработчики переносимых ПП не должны учитывать особенности архитектуры супер-ЭВМ, в том числе и возможность проведения параллельных вычислений. На этапе разработки ПП должны быть учтены требования, содержащиеся в стандартах группы POSIX. Такие ПП будут функционировать на супер-ЭВМ всех 4-х, перечисленных в п.2.2, типов. Нижеследующие рекомендации призваны облегчить процесс создания переносимых ПП. При разработке сложных по структуре переносимых ПП желательно придерживаться принципа модульности. В этом случае программа собирается из функционально замкнутых частей (модулей). Ввиду того, что каждый из модулей является функционально самодостаточной сущностью, его разработку и тестирование можно проводить независимо от других модулей и программы в целом. Это существенным образом снижает время и стоимость создания системы в целом. По функциональному признаку модули можно разделить на две группы (рис.2):
С точки зрения переносимости важным является способ реализации именно модулей второй группы. Исходя из концепции открытых систем, состав второй группы можно классифицировать следующим образом (рис.3):
Рис.2. Модульная структура прикладной программы.
Рис. 3. Структура модулей взаимодействия с внешней средой.
Использование машинно-зависимых языков (например, ассемблера) в написании ПП снижает его мобильность. Чем выше уровень языка программирования, тем проще осуществлять перенос прикладной программы. Ряд языков получил отражение в стандартах POSIX. Среди них ФОРТРАН, АДА, Си. Использование этих языков программирования при создании ПП значительно повышает его мобильность. В Таблице 2 приведен перечень языков программирования, удовлетворяющих международным стандартам. Таблица 2. Международно стандартизованные языки
3.2. Переносимые параллельные прикладные программы Если разрабатываемую ПП предполагается использовать на суперкомпьютерах, основанных на MIMD технологии, возможно использование методов параллельного программирования. При этом для реализации взаимодействия процессов следует использовать стандартизованные интерфейсы. К таковым в первую очередь относится MPI (интерфейс обмена сообщениями). Большинство производителей суперкомпьютеров и разработчиков операционных систем поддерживает этот стандарт, что позволяет рекомендовать его для использования при создании переносимых суперкомпьютерных приложений.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|