Метавычисления и системы с параллельной архитектурой (итоговый отчёт по НИР за 2008-2010 гг.) Институт Программных Систем РАН Исследовательский Центр Мультипроцессорных.

Презентация:



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

Теория и практика функциональных и логических парадигм программирования и их реализация в высокопроизводительных вычислительных средах Исследовательский.
Верификация программ посредством их параметризованного тестирования специализаторами на базе моделей этих программ, реализация верификатора для языка программирования.
Возможные направления, примерные темы курсовых и дипломных работ (2011–2012 гг) Зав. кафедрой ВТиСТ чл.-корр. РАН, Абрамов С.М.
Специализация функциональных программ методами суперкомпиляции диссертация, представленная на соискание ученой степени кандидата физико- математических.
Интернет Университет Суперкомпьютерных технологий Лекция 1 Основные понятия Учебный курс Введение в параллельные алгоритмы Якобовский М.В., д.ф.-м.н. Институт.
Специализация функциональных программ методами суперкомпиляции (по материалам диссертации) Андрей Петрович Немытых Институт Программных Систем РАН.
Применение генетических алгоритмов для генерации числовых последовательностей, описывающих движение, на примере шага вперед человекоподобного робота Ю.К.
Специализация функциональных программ методами суперкомпиляции (по материалам диссертации) Андрей Петрович Немытых Институт Программных Систем РАН.
1 МФТИ Потери производительности Параллельные алгоритмы Якобовский Михаил Владимирович д.ф.-м.н. Институт математического моделирования РАН, Москва.
Верификация как параметризованное тестирование Алексей П. Лисица The University of Liverpool. Андрей П. Немытых Институт Программных Систем РАН.
Учебный курс Объектно-ориентированный анализ и программирование Лекция 4 Трансформация логической модели в программный код Лекции читает кандидат технических.
ОПТИМАЛЬНОЕ НЕПРЯМОЕ УПРАВЛЕНИЕ ЛИНЕЙНЫМИ ДИНАМИЧЕСКИМИ СИСТЕМАМИ Белорусский государственный университет Факультет прикладной математики и информатики.
Интернет Университет Суперкомпьютерных технологий Лекция 4 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Программная система «Портал научной группы» (разработано в рамках ПНР-5) 24 марта 2011 г. Челябинск Южно-Уральский государственный университет 1.
Интернет Университет Суперкомпьютерных технологий Лекция 3 Методы построения параллельных программ (продолжение) Учебный курс Введение в параллельные алгоритмы.
Верификация автоматных программ Г. А. Корнеев А. А. Шалыто Санкт-Петербургский государственный университет информационных технологий, механики и оптики.
Методы оценки времени отклика задач в двухъядерных системах реального времени СоискательГуцалов Н.В. Научный руководитель д.т.н., профессор Никифоров В.В.

«Создание информационной системы, обеспечивающей разработку типологии субъектов Российской Федерации для целей проведения образовательной политики с учетом.
Транксрипт:

Метавычисления и системы с параллельной архитектурой (итоговый отчёт по НИР за гг.) Институт Программных Систем РАН Исследовательский Центр Мультипроцессорных Систем Лаборатория Автоматизации Программирования Научный руководитель НИР Сергей Михайлович Абрамов, Член-корреспондент РАН

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

3 Развитие технологий параллельного программирования суперкомпьютеров на основе языка Рефал Плюс (основные результаты - I) Предложены две модели параллельных вычислений на базе функционального языка РЕФАЛ Плюс: –первая основывается на понятии Т-функции без побочных эффектов, которая может вычисляться не на том вычислительном узле, где был произведён её вызов, и определяет во время исполнения программы гранулу параллелизма; –вторая представляет из себя детерминированную параллельную модель вычислений, расширяющую язык РЕФАЛ Плюс монотонными объектами. Она определяется как расширение функционального языка объектами классов, удовлетворяющих определенным ограничениям. Понятие монотонных объектов и классов определяется так, чтобы их использование из языка с параллельной операционной семантикой сохраняло детерминированность вычислений.

4 Развитие технологий параллельного программирования суперкомпьютеров на основе языка Рефал Плюс (основные результаты - II) На основе первой модели разработан и реализован прототип реализации параллельной версии языка РЕФАЛ Плюс для последовательных вычислительных машин (общедоступен через: ). Разработаны и реализованы эффективные средства параллельного программирования на языке Рефал Плюс при использовании компьютеров с распределенной памятью. Рефал-система реализована на нескольких платформах: C++, Java и OpenTS.

5 Развитие технологий параллельного программирования суперкомпьютеров на основе языка Рефал Плюс (основные результаты - III) Система программирования Рефал Плюс расширена средствами параллельного программирования, которые выполняются по схеме явного параллелизма: –для общей памяти в предположении, что на передачу данных от процесса к процессу требуется не больше времени, чем при простом вызове функций при последовательном программировании; –для распределенной памяти учитывают большую разницу времен доступа к локальной и чужой памяти. Разработаны методы и алгоритмы реализации коммуникационной сети на базе программируемых микросхем (ПЛИС), которые послужат основой для дальнейших работ по поддержке средств параллельного программирования на языках высокого уровня типа Рефала Плюс и других.

6 Развитие методов суперкомпиляции (основные результаты - I) Совместно с Институтом программирования Китайской академией наук разработан и реализован прототип суперкомпилятора для функционального типизированного языка программирования LFC. В рамках поддержки и развития суперкомпилятора SCP4 и системы программирования РЕФАЛ-5 осуществлён перенос РЕФАЛа-5 и SCP4 под операционную систему Windows Mobile Построена формальная модель, описывающая базовые инструменты суперкомпиляции. В рамках этой модели доказана теорема о возможности автоматического решения проблемы накрытия сети Петри.

7 Развитие методов суперкомпиляции (основные результаты - II) Показана возможность использования разработанных ранее методов для верификации новых классов параметризованных коммуникационных протоколов с условиями глобальной корректности. По разработанной схеме проведены автоматические доказательства корректности: –MOSI cache coherence протокола с условиями глобальной корректности; –моделей протоколов P/C, 2P/2C взаимодействия между потоками многопоточных/многонитевых (multithreaded) Java-программ. В результате полуавтоматического анализа неудачной попытки верификации одного из описаний протокола Inc/Dec модели многопоточных Java-программ с условием глобальной корректности, предъявлен тест, указывающий на некорректность данного описания.

8 Развитие методов суперкомпиляции (основные результаты - III) Разработан метод реверсного анализа программных моделей вычислительных систем. Показано, что он успешно работает при верификации некоторого класса параметризованных недетерминированных протоколов кэш когерентности и других параметризованных распределенных недетерминированных вычислительных систем, работающих бесконечное время. Разработано расширение метода частичных вычислений для специализации функциональных языков программирования на понятия, содержащееся в объектно-ориентированных языках: объекты, изменяемые во времени исполнения, классы, наследование классов, виртуальные вызовы методов. Разработанный метод поддерживает все основные конструкции объектно-ориентированных языков, таких как C# и Java.

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

10 Структура доказательства корректности программной модели протокола Dragon (индукция по структуре данных)

11 Пример большого графа – результата суперкомпиляции (общий вид графической трассы)

12 Пример большого графа – результата суперкомпиляции (окно навигации)

13 Пример большого графа – результата суперкомпиляции (выделенный объект под увеличительным стеклом).

14 Развитие методов суперкомпиляции (основные результаты - V) Разработан метод суперкомпиляции функций высших порядков: –отличительной особенностью предложенного метода является работа со связанными переменными; –гомеоморфное вложение обобщено для выражений со связанными переменными; –алгоритм обобщения конфигураций расширен на случай выражений со связанными переменными; – доказаны завершаемость и корректность предложенного метода. Разработанный метод суперкомпиляции реализован в суперкомпиляторе HOSC, работающим с подмножеством функционального языка Haskell.

15 Развитие методов суперкомпиляции (основные результаты - VI) Разработаны методы многоуровневой и множественной суперкомпиляции. Исследована применимость суперкомпилятора HOSC на следующих задачах: –доказательство эквивалентности выражений языка с функциями высших порядков; –автоматическая генерация и доказательство лемм об эквивалентностях выражений при преобразованиях программ; –многоуровневая суперкомпиляция.

16 Развитие средств автоматизации символьных вычислений, поиска доказательств и анализа программ (основные результаты - I) Дальнейшее развитие получила система "Думатель" поиска доказательств свойств программ и доказательств в алгебре, в исчислении предикатов, основанная на методе вывода равенств пополнением и на способе рассуждения по индукции ( pre2/).

17 Развитие средств автоматизации символьных вычислений (основные результаты - II) Развитие системы "Думатель": –разработан и реализован алгоритм поиска гипотез-лемм при автоматическом поиске доказательств; разработана стратегия поиска лемм в системе за счет применения полиморфизма операторов-схем (2010); –разработана модель логической электронной схемы на основе теории равенства, в рамках которой автоматически проанализированы ряд свойств синхронных логических электронных схем; –разработана система полиморфных сортов и операторов в объектном языке этого prover-а; –реализована система анализа программ с явно заданным интерпретатором. Интерпретатор лямбда выражений задан в виде системы равенств; –реализована первая версия отождествления символьных выражений, основанная на унификации конечных множеств выражений (2010).

18 Публикации и доклады на конференциях 29 публикаций 16 докладов на конференциях

19 Организация научных мероприятий - I 1.Международный рабочий семинар: «First International Workshop on Metacomputation in Russia», Переславль- Залесский, 2-5 июля 2008 года. ( ) Опубликован сборник трудов: Proceedings of First International Workshop on Metacomputation in Russia, July 2-5, Pereslavl- Zalessky, Russia, Издательство Университет города Переславля, ISBN , 2008, 180 pages 2.Международный рабочий семинар: «Second International Workshop on Metacomputation in Russia», Переславль- Залесский, 1-5 июля 2010 года. ( ) Опубликован сборник трудов: Proceedings of Second International Workshop on Metacomputation in Russia, July , Pereslavl-Zalessky, Russia, Издательство Университет города Переславля, ISBN pages

20 Организация научных мероприятий - II 1.Российско-китайский рабочий семинар: «Development of supercompilation methods for a typed functional language», Переславль-Залесский, августа 2008 года. 2.Российско-китайский рабочий семинар: «Problems of verification of distributed computing systems», Переславль-Залесский, 31 марта -1 апреля 2009 года. 3.Стажировка китайской студентки Lili Zheng (Institute of Software, Chinese Academy of Sciences). Тема стажировки: «Development of supercompilation methods for a typed functional language», ИПС РАН, Переславль- Залесский, 25 ноября - 25 декабря 2009 года.

21 Спасибо! Вопросы?

22 Публикации - I [1] A.V. Klimov, A program specialization relation based on supercompilation and its properties In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: 54-77, ISBN , [2] А.В. Климов, Применение суперкомпилятора языка Java для решения обратных задач в стиле логического программирования. // Информационные и математические технологии в науке и управлении / Труды XIV Байкальской Всероссийской конференции "Информационные и математические технологии в науке и управлении", Иркутск - Байкал, июля 2009 г. Часть III. Иркутск: ИСЭМ CO РАН, С ISBN [3] A.V. Klimov, A Java Supercompiler and its Application to Verification of Cache- Coherence Protocols. // Perspectives of Systems Informatics (Proceedings of Seventh International Andrei Ershov Memorial Conference, PSI 2009, Novosibirsk, Russia, June 15-19, 2009). Novosibirsk: A.P. Ershov Institute of Informatics Systems, P [4] Yu.A. Klimov, An Approach to Polyvariant Binding Time Analysis for a Stack- Based Language. In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: 78-84, ISBN , 2008.

23 Публикации - II [5] Климов Ю.А. Специализация программ на объектно-ориентированных языках методом частичных вычислений // Автореферат и диссертация на соискание ученой степени кандидата физико-математических наук. ИПМ им. М.В. Келдыша РАН, [6] Климов Ю.А. Метод частичных вычислений, позволяющий преобразовывать объектно-ориентированные программы в императивные // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской научной конференции (21-26 сентября 2009 г., г. Новороссийск). М.: Изд-во МГУ, С ISBN [7] Климов Ю.А. Специализатор CILPE: доказательство корректности // Препринты ИПМ им.М.В.Келдыша с. ISSN [8] Климов Ю.А. Преобразование объектно-ориентированных программ в императивные методом частичных вычислений // Программные продукты и системы (86). С ISSN X. [9] Климов Ю.А. Специализатор CILPE: генерация остаточной программы // Препринты ИПМ им.М.В.Келдыша с. ISSN [10] Климов Ю.А. Специализатор CILPE: анализ времен связывания // Препринты ИПМ им.М.В.Келдыша с. ISSN [11] Yu.A. Klimov, Anton Yu. Orlov, XSG: Fair Language with Built-in Equality. In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: 85-93, ISBN , 2008.

24 Публикации - III [12] Ю.А. Климов, А.Ю. Орлов, С.А. Романенко, Рефал Плюс в среде Eclipse. Программные системы: теория и приложения (к пятнадцатилетию УГП им. А. К. Айламазяна) // Сборник трудов научно-практической совместной конференции студентов, аспирантов, преподавателей и научных сотрудников Института программных систем Российской академии наук и «Университета города Переславля» им. А.К. Айламазяна, г. Переславль- Залесский, апрель 2008 / Под редакцией С. М. Абрамова и С. В. Знаменского. В двух томах. Переславль-Залесский: Изд-во "Университет города Переславля", ISBN , (Т.1, с ) [13] Ilya Klyuchnikov and Sergei Romanenko. Proving the Equivalence of Higher- Order Terms by Means of Supercompilation // Perspectives of Systems Informatics (Proceedings of Seventh International Andrei Ershov Memorial Conference, PSI 2009, Novosibirsk, Russia, June 15-19, 2009). Novosibirsk: A.P. Ershov Institute of Informatics Systems, P [14] Ilya Klyuchnikov and Sergei Romanenko. SPSC: a Simple Supercompiler in Scala // International Workshop on Program Understanding June, Altai Mountains, Russia. Novosibirsk: A.P. Ershov Institute of Informatics Systems, P [15] И.Г.Ключников, С.А.Романенко. SPSC: Суперкомпилятор на языке Scala. // Программные продукты и системы (86). С ISSN X.

25 Публикации - IV [16] Klyuchnikov I., Romanenko S. Towards Higher-Level Supercompilation // Proceedings of the second International Workshop on Metacomputation in Russia. Pereslavl-Zalessky, Russia, July 1-5, Pereslavl-Zalessky: Ailamazyan University of Pereslavl, Pp [17] A.P. Lisitsa, A.P. Nemytykh. Reachability Analysis in Verification via Supercompilation. (журнальный вариант статьи, ранее опубликованной в трудах международного семинара), International Journal of Foundations of Computer Science (IJFCS), Vol. 19, No. 4, pp: , August [18] A. Lisitsa, A.P. Nemytykh, Extracting Bugs from the Failed Proofs in Verification via Supercompilation, In: Bernhard Beckert, Reiner Hahnle (eds.), Tests and Proofs: Papers Presented at the Second International Conference TAP 2008, Prato, Italy, April 2008, Reports of the Faculty of Informatics, Univesitat Koblenz- Landau, No 5/2008, pp: 49-65, ISSN (print): , ISSN (Online): , [19] A. Lisitsa and A.P. Nemytykh. Verification as Specialization of Interpreters with Respect to Data. In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: , ISBN , 2008.

26 Публикации - V [20] А.П. Лисица, А.П. Немытых. Об одном приложении вычислений с оракулом. // Труды международной конференции "Программные системы: теория и приложения", ИПС РАН, г. Переславль-Залесский, май 2009 / Под редакцией С.М. Абрамова и С.В. Знаменского. Изд-во "Университет города Переславля", Т. 1, стр ISBN [21] А.П. Лисица, А.П. Немытых. Об одном приложении вычислений с оракулом. (журнальный вариант статьи, ранее опубликованной в трудах конференции). // Журнал Программирование, Т. 36, 3, стр , [22] A. Lisitsa and A.P. Nemytykh. On One Application of Computations with Oracle, Programming and Computer Software, 2010, Vol. 36, No. 3, pp © Pleiades Publishing, Ltd., 2010, ISSN [23] S.D. Mechveliani. An Experience with Term Rewriting for Program Transformation. In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: , ISBN , [24] A.P. Nemytykh, On the Place of Supercompilation inside Program Specialization. In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: , ISBN , 2008.

27 Публикации - VI [25] A.P. Nemytykh (Editor). Proceedings of Second International Workshop on Metacomputation in Russia, July , Pereslavl-Zalessky, Russia, ISBN pages, // Издательство Университет города Переславля, г. Переславль-Залесский, [26] А.Ю. Орлов, Ю.А. Климов, Параллельное программирование на языке Рефал. В трудах Всероссийской научной конференции «Научный сервис в сети Интернет: решение больших задач», сентября 2008 г., г. Новороссийск. М.: Изд-во МГУ, C ISBN [27] А.Ю. Орлов, А.Б. Шворин: О реализации в ПЛИС маршрутизатора высокопроизводительной сети // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской научной конференции (21-26 сентября 2009 г., г. Новороссийск). М.: Изд-во МГУ, С ISBN [28] S.A. Romanenko, Higher-Order Functions as a Substitute for Partial Evaluation (A Tutorial). In: Proceedings of First International Workshop on Metacomputation in Russia, Pereslavl-Zalessky, Russia, July 2-5, pp: , ISBN , [29] A.P. Lisitsa, A.P. Nemytykh. Experiments on verification via supercompilation. Интернет-ресурс (Результаты тестирования разработанных методов верификации.)