Эффективные методы создания высокопроизводительных параллельных программ на языке C++ и его диалекте Т++ для многоядерных ЭВМ, SMP, кластерных и распределенных систем
Целью работы является создание перспективных технологий, средств параллельного программирования и распределенной обработки данных для новых поколений вычислительных систем с набором из следующих свойств и конкурентных преимуществ (предлагаемые к реализации перспективные технологии и средства параллельного программирования должны поддерживать сочетания из нескольких этих свойств):
• совместимость с отраслевыми стандартами, стандартными платформами и программными средствами;
• универсальность: предлагаемые решения должны быть применимы к широкому классу прикладных областей;
• радикальное сокращение трудоемкости создания параллельного кода;
• радикальное улучшение таких характеристик кода, как надежность (вероятность ошибок) и управляемость кода;
• значительная автоматизация процесса разработки и исполнения параллельных приложений (разгрузка программистов);
• высокая масштабируемость предлагаемого решения в широком диапазоне числа процессоров;
• создание эффективных приложений для компьютерных систем с высокой степенью параллелизма, обеспечение работы приложений с терафлопным уровнем реальной производительности;
• качественное изменение свойства переносимости параллельного кода: один и тот же код можно использовать в различных установках (в идеале «один код для любой платформы»: многоядерные системы, кластеры, SMP-системы, вычислительные среды и GRID-подобные системы) под управлением разных ОС (Linux, коммерческие UNIX-системы, системы семейства MS Windows и др.)
• увеличение времени жизни кода: при модернизации аппаратной платформы код не потребуется сильно изменять, обеспечение преемственности в развитии вычислительной техники при смене поколений компьютеров;
• поддержка устойчивости к частичному выходу из строя оборудования и другие перспективные функциональные характеристики.
Соисполнители
Этапы проекта
Исследованы новые методы, технологии и средства параллельного программирования, новые способы организации параллельных и распределенных вычислений, ориентированные на будущие поколения суперкомпьютерных систем.
Разработана концепция средств и технологии параллельного программи-рования.
Разработана архитектура инструментальной системы параллельного программирования.
Разработан ряд методов: организации вычислительных Веб-сервисов; создания параллельных приложений с использованием шаблонов; использования параллельных шаблонов в комбинации со стандартной библиотекой STL — для разработки параллельного программного обеспечения на языке программирования C++ с использованием языковых расширений и библиотек шаблонных классов C++.
Проведены патентные исследования по ГОСТ 15.011-96.
Подготовлен промежуточный отчет о НИР.
Разработано языковое расширение C++ для поддержки параллельного счета.
Разработана структура библиотек шаблонных функций и классов.
Разработан диалект Т++ языка C++, ориентированный на написание параллельных приложений для различных многопроцессорных архитектур.
Проведены патентные исследования по ГОСТ 15.011-96.
Подготовлен промежуточный отчет о НИР.
Выполнены программирование и отладка системы программирования OpenTS (Т-системы с открытой архитектурой), ориентированной на разработку параллельных программ для широкого класса многопроцессорных архитектур: многоядерных ЭВМ, SMP, кластерных и распределенных систем. Уточнен полный состав набора тестов и демонстрационных примеров для системы ОpenTS. Подготовлена программная документация. Разработана программа и методика тестовых испытаний. Проведены патентные исследования по ГОСТ 15.011-96, подготовлен отчет о патентных исследованиях. Подготовлен промежуточный отчет о НИР.