Эффективные методы создания высокопроизводи-тельных параллельных программ на языке С++ и его диалекте T++ для многоядерных ЭВМ, SMP, кластерных и распределенных систем
Объектом исследования являются методы разработки и отладки высокопроизводительных параллельных программ для широкого класса многопроцессорных архитектур. Цель работы — создание перспективных технологий, средств параллельного программирования и распределенной обработки данных для новых поколений вычислительных систем; развитие новых технологий разработки параллельных программ, ориентированных на широкий класс многопроцессорных архитектур: многоядерные ЭВМ, SMP, кластерные и распределенные системы. Методы исследований включают в себя сочетание функциональной, объектно-ориентированной и императивной парадигм программирования. Полученные результатыНа 1-ом этапе НИР проведен анализ научной литературы и других материалов, относящихся к перспективным технологиям параллельного программирования. Исследованы новые методы, технологии и средства параллельного программирования, новые способы организации параллельных и распределенных вычислений, ориентированные на будущие поколения суперкомпьютерных систем. Разработана концепция средств и технологии параллельного программирования. Разработана архитектура инструментальной системы параллельного программирования. Разработан ряд методов: организации вычислительных Веб-сервисов; создания параллельных приложений с использованием шаблонов; использования параллельных шаблонов в комбинации со стандартной библиотекой STL — для разработки параллельного программного обеспечения на языке программирования C++ с использованием языковых расширений и библиотек шаблонных классов C++. Проведены патентные исследования. На 2-ом этапе НИР разработаны общие алгоритмы компонент системы программирования OpenTS (Т-системы с открытой архитектурой), ориентированной на разработку параллельных программ для широкого класса многопроцессорных архитектур: многоядерных ЭВМ, SMP, кластерных и распределенных систем. Разработано языковое расширение C++ для поддержки параллельного счета. Разработана структура библиотек шаблонных функций и классов для системы T-Sim. Разработан диалект Т++ языка C++, ориентированный на написание параллельных приложений для различных многопроцессорных архитектур (многоядерные ЭВМ, SMP, кластерные и территориально распределенные вычислительные системы). Проведены патентные исследования. На 3-м этапе НИР выполнены программирование и отладка системы программиро-вания OpenTS (Т-системы с открытой архитектурой), ориентированной на разработку па-раллельных программ для широкого класса многопроцессорных архитектур: многоядер-ных ЭВМ, SMP, кластерных и распределенных систем. Уточнен полный состав набора тестов и демонстрационных примеров для системы ОpenTS. Подготовлена программная документация. Разработана программа и методика тестовых испытаний. Проведены патентные исследования. На заключительном этапе НИР проведено обобщение результатов предыдущих этапов работы. Получена оценка полноты решения задач и эффективности полученных результатов в сравнении с современным научно-техническим уровнем. Разработанная система ОpenTS апробирована на примере создания пилотных прикладных программ. Рассмотрена возможность создания конкурентоспособной продукции и услуг и разработаны рекомендации по использованию результатов НИР. Результаты интеллектуальной деятельности, созданные в ходе выполнения НИР Зарегистрированы три программы для ЭВМ:
Возможная область применения: спрос на разрабатываемые технологии предполагается, в первую очередь, в следующих отраслях науки и техники: разработка программного обеспечения (в интересах практически всех заказчиков и областей применения, для практически всех целевых платформ — сегодня все они имеют параллельную архитектуру), научные исследования, электроника, связь и информационные технологии, медицина и здравоохранение, военная техника, производство и эффективное использование энергии, в российских организациях, работающих по приоритетным направлениям развития науки и техники. Значимость работы: создание удобных, эффективных и простых в использовании средств разработки параллельных программ может повлиять на индустрию программного обеспечения во всем мире. Развитие средств параллельной обработки информации открывает новые возможности наращивания производительности и предоставления потребителям новых продуктов и услуг, недоступных ранее. Скорость внедрения технологий определит конкурентные преимущества (или, наоборот, слабости) компаний-разработчиков ПО на глобальном рынке. Экономический эффект: на основе полученных результатов возможно (в области производства программного обеспечения и в области применения новых перспективных вычислительных систем):
|