Компиляторные технологии


Текущие проекты

Исследование и разработка программной инфраструктуры для глубокого анализа сетевого трафика.

Начало проекта – 2015 год.

Задача анализа сетевого трафика приобретает все большую актуальность в связи с развитием и внедрением новых сетевых технологий, увеличением объема данных (в том числе, конфиденциальных), передаваемых по сети (аудио-, видеосвязь, обмен сообщениями), а также выпуском большого количества приложений с собственными закрытыми протоколами передачи данных. Существующие инструменты, как правило, не позволяют проанализировать протоколы прикладного уровня (отсутствуют механизмы анализа восстановленных потоков данных) и предоставляют функциональность для анализа лишь наиболее распространенных протоколов. Для передачи конфиденциальной информации (сообщения, видеосвязь, персональные данные пользователей) по сети требуется высокий уровень безопасности.

Исследование и разработка методов поиска повторного использования фрагментов кода (клонов).

Начало проекта – 2015 год. Заказчик - РФФИ.

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

Обработка больших потоков данных.

Начало проекта – 2014 год. Заказчик - РФФИ.

Для обеспечения обработки возрастающих потоков данных было разработано большое количество технологий, обеспечивающих соответствующие возможности со стороны аппаратуры: высокоскоростные каналы связи, высокочастотные процессоры, скоростные шины памяти и винчестеры с высокой плотностью записи и низким временем доступа. Однако остаётся большое количество задач, которые необходимо решить со стороны программного обеспечения, которое должно обеспечивать непосредстевенную обработку, анализ и хранение высокоскоростных потоков данных, эффективно использую ресурсы аппаратуры. Соответствующее ПО должно удовлетворять ряду довольно жёстких требований: обеспечивать пакетную обработку больших объёмов данных с высокой пропускной способностью, устойчивую работу на ненадёжном оборудовании (реализуя репликацию данных и восстановление после сбоев), хорошую масштабируемость, эффективный произвольный доступ к данным. В рамках данного проекта предполагается создание системы, обеспечивающей сбор, фильтрацию, анализ и хранение данных, поступающих в реальном времени через высокоскоростные каналы связи. Данная система позволит автоматизировать решение широкого спектра задач, связанных с обработкой скоростных потоков данных: классификацию сетевого трафика, обеспечения сетевой безопасности, анализ социальных сетей, задачи прогнозирования по большим объёмам данных.

Статический анализ исходного кода программ для их понимания.

Начало проекта – 2014 год. Заказчик - РФФИ.

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

Разработка комплекса научно-технических решений предназначенных для хранения и обработки сверхбольших объемов данных в задачах механики сплошной среды.

Начало проекта – 2014 год. Заказчик - Министерство образования и науки.

Проект направлен на решение задачи обработки больших объемов данных, возникающих при численном решении задач механики сплошной среды.

Алгоритмы оптимизации размещения виртуальных машин в модели облачных вычислений SaaS.

Начало проекта – 2014 год.

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

Исследование и разработка методов запутывания программного обеспечения.

Начало проекта – 2014 год. Заказчик - РФФИ.

Для защиты бинарного кода от анализа используется множество различных методов, один из них – запутывающие преобразования. Такие преобразования обычно вносятся при помощи автоматических обфускаторов, которые принимают на вход исходный код программы или бинарный файл, а на выходе предоставляют исполняемый файл с запутанной программой.

Разработка инструментов программирования гетерогенных вычислительных систем эксафлопсного класса.

Начало проекта – 2013 год. Заказчик - РФФИ.

Целью работ является создание системной поддержки (компиляторов, языковых расширений, системных инструментов, библиотек времени выполнения и т.п.), повышающей эффективность труда программиста при написании программ для распределенных гетерогенных вычислительных системы (узлы которых состоят из одного или нескольких центральных многоядерных процессоров и одного или нескольких акселераторов) и опробование их на прикладных пакетах индустриального уровня.

Завершенные проекты

Реализация потенциала суперкомпьютеров для масштабируемого численного моделирования задач газо- и гидродинамики в индустриальных приложениях с использованием свободного программного обеспечения.

Начало проекта – 2013 год. Окончание проекта - 2013 год. Заказчик - Министерство образования и науки.

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

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

Начало проекта – 2013 год. Окончание проекта - 2013 год. Заказчик - Министерство образования и науки.

Проект был направлен на создание научно-технического задела в области создания программных инструментов для поддержки процесса разработки параллельных приложений, гибкой и масштабируемой платформы для интеграции инструментальных средств управления вычислительными ресурсами суперкомпьютерного центра. В рамках данной работы был разработан метод обнаружения неэффективного использования коммуникационных шаблонов, логических и семантических ошибок в параллельных приложениях. Были разработаны и реализованы инструментальные средства для автоматизированного выявления ошибок в параллельных программах, написанных на языке C/C++ или Fortran с использованием библиотеки MPI , на языке UPC.

Методы суперкомпьютерного моделирования вихревых нестационарных турбулентных течений газа и генерируемых ими акустических полей на основе открытого кода в расчетах промышленно-ориентированных задач для авиационных приложений.

Начало проекта – 2013 год. Окончание проекта - 2013 год. Заказчик - Министерство образования и науки.

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

Разработка программно-аппаратной платформы «виртуальный суперкомпьютер», обеспечивающей использование суперкомпьютеров на основе технологий виртуализации.

Начало проекта – 2012 год. Окончание проекта - 2013 год. Заказчик - Министерство образования и науки.

В рамках работ по контракту разработан программный комплекс «виртуальный суперкомпьютер». Программный комплекс разработан в модели свободного ПО и основан на компонентах с открытым исходным кодом.

Исследование и разработка прототипа инструмента анализа исполняемого кода программ для обнаружения ошибок.

Начало проекта – 2012 год. Окончание проекта - 2013 год.

Данный проект посвящен разработке программных инструментов, в автоматизированном режиме ищущих набор входных данных, на котором реализуется ошибка анализируемой программы. Инструменты рассчитаны на поиск ошибок в бинарном коде программ, осуществляющих взаимодействие по сети.

Исследование и разработка методов восстановления формата данных.

Начало проекта – 2011 год. Окончание проекта - 2013 год. Заказчик - РФФИ.

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

Высокоуровневые модели параллельных вычислений и их библиотеки поддержки времени выполнения.

Начало проекта – 2011 год. Окончание проекта - 2012 год. Заказчик - Министерство образования и науки.

В рамках проекта была разработана программная модель для распределенных гетерогенных вычислительных систем, в составе узла которых находится многоядерный компьютер общего назначения (хост-машина) и один или несколько ПЛИС. В предлагаемой модели программирования гетерогенных систем будут объединены лучшие черты подходов, создающих высокоуровневые модели программирования, и подходов, максимально эффективно использующих возможности акселераторов с помощью библиотек поддержки времени выполнения. На высоком уровне программист может описывать параллельный по данным алгоритм, который можно параметризовать для конкретного гетерогенного узла.

Проектирование и разработка web-ориентированного производственно-исследовательского центра, ориентированного на решение задач анализа программ.

Начало проекта – 2011 год. Окончание проекта - 2012 год. Заказчик - Министерство образования и науки.

В рамках проекта был разработан прототип web-центра, ориентированного на решение задач анализа программ на базе разрабатываемых в ИСП РАН программных компонент технологической платформы UniHUB, вычислительной инфраструктуры программы «Университетский кластер» и открытого пакета анализа программ Avalanche.

Проведение исследований и создание научно-технического задела по созданию вычислительной платформы с набором средств разработки (API) для проведения автоматизированных инженерных расчетов больших задач аэрогидродинамики на суперкомпьютерах петафлопного кл

Начало проекта – 2011 год. Окончание проекта - 2012 год. Заказчик - Министерство образования и науки.

Проект был направлен на создание экспериментальной платформы для численного моделирования на базе вычислительного комплекса OpenFOAM для гетерогенных вычислительных систем с графическими ускорителями, путем применения технологий CUDA для перенесения наиболее ресурсоемких вычислений на графический ускоритель и организации взаимодействия центрального процессора и ускорителя.

Оптимизация программ на целевой машине пользователя с учетом особенностей его аппаратуры и поведения.

Начало проекта – 2011 год. Окончание проекта - 2013 год. Заказчик - РФФИ.

При построении системы компиляции для языков общего назначения, учитывающей специфические особенности целевой аппаратуры и наиболее вероятный сценарий использования, необходимо применять методы динамической и адаптивной оптимизации. Исследование таких методов удобно проводить в компиляторной инфраструктуре LLVM.

Организация доступа к распределенным ресурсам от уровня инфраструктуры до уровня приложения как к Web-сервису.

Начало проекта – 2010 год. Окончание проекта - 2012 год. Заказчик - Министерство образования и науки.

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