Скачать презентацию Метавычисления и системы с параллельной архитектурой итоговый отчёт Скачать презентацию Метавычисления и системы с параллельной архитектурой итоговый отчёт

2cfccd935d88f807bdde88b8c96dc7ce.ppt

  • Количество слайдов: 27

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

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

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

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

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

Развитие методов суперкомпиляции (основные результаты - I) • Совместно с Институтом программирования Китайской академией Развитие методов суперкомпиляции (основные результаты - I) • Совместно с Институтом программирования Китайской академией наук разработан и реализован прототип суперкомпилятора для функционального типизированного языка программирования LFC. • В рамках поддержки и развития суперкомпилятора SCP 4 и системы программирования РЕФАЛ-5 осуществлён перенос РЕФАЛа-5 и SCP 4 под операционную систему Windows Mobile 5. 0. http: //www. botik. ru/pub/local/scp/refal 5/. • Построена формальная модель, описывающая базовые инструменты суперкомпиляции. В рамках этой модели доказана теорема о возможности автоматического решения проблемы накрытия сети Петри. 6

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

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

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

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

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

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

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

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

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

Развитие средств автоматизации символьных вычислений, поиска доказательств и анализа программ (основные результаты - I) Развитие средств автоматизации символьных вычислений, поиска доказательств и анализа программ (основные результаты - I) • Дальнейшее развитие получила система "Думатель" поиска доказательств свойств программ и доказательств в алгебре, в исчислении предикатов, основанная на методе вывода равенств пополнением и на способе рассуждения по индукции (http: //www. botik. ru/pub/local/Mechveliani/dumatel/1. 06 pre 2/). 16

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

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

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

Организация научных мероприятий - II 1. Российско-китайский рабочий семинар: «Development of supercompilation methods for Организация научных мероприятий - II 1. Российско-китайский рабочий семинар: «Development of supercompilation methods for a typed functional language» , Переславль-Залесский, 28 -31 августа 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 года. 20

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

Публикации - I [1] A. V. Klimov, A program specialization relation based on supercompilation Публикации - 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 978 -5 -90179512 -5, 2008. [2] А. В. Климов, Применение суперкомпилятора языка Java для решения обратных задач в стиле логического программирования. // Информационные и математические технологии в науке и управлении / Труды XIV Байкальской Всероссийской конференции "Информационные и математические технологии в науке и управлении", Иркутск - Байкал, 515 июля 2009 г. Часть III. Иркутск: ИСЭМ CO РАН, 2009. С. 165 -172. ISBN 978 -5 -93908 -077 -4. [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, 2009. P. 141149. [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 978 -5 -901795 -12 -5, 2008. 22

Публикации - II [5] Климов Ю. А. Специализация программ на объектно-ориентированных языках методом частичных Публикации - II [5] Климов Ю. А. Специализация программ на объектно-ориентированных языках методом частичных вычислений // Автореферат и диссертация на соискание ученой степени кандидата физико-математических наук. ИПМ им. М. В. Келдыша РАН, 2009. [6] Климов Ю. А. Метод частичных вычислений, позволяющий преобразовывать объектно-ориентированные программы в императивные // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской научной конференции (21 -26 сентября 2009 г. , г. Новороссийск). М. : Изд-во МГУ, 2009. С. 241 -246. ISBN 978 -5 -211 -05697 -8. [7] Климов Ю. А. Специализатор CILPE: доказательство корректности // Препринты ИПМ им. М. В. Келдыша. 2009. № 33. 32 с. ISSN 2071 -2898. [8] Климов Ю. А. Преобразование объектно-ориентированных программ в императивные методом частичных вычислений // Программные продукты и системы. 2009. № 2 (86). С. 71 -74. ISSN 0236 -235 X. [9] Климов Ю. А. Специализатор CILPE: генерация остаточной программы // Препринты ИПМ им. М. В. Келдыша. 2009. № 8. 26 с. ISSN 2071 -2898. [10] Климов Ю. А. Специализатор CILPE: анализ времен связывания // Препринты ИПМ им. М. В. Келдыша. 2009. № 7. 28 с. ISSN 2071 -2898. [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 978 -5 -901795 -12 -5, 23 2008.

Публикации - III [12] Ю. А. Климов, А. Ю. Орлов, С. А. Романенко, Рефал Публикации - III [12] Ю. А. Климов, А. Ю. Орлов, С. А. Романенко, Рефал Плюс в среде Eclipse. Программные системы: теория и приложения (к пятнадцатилетию УГП им. А. К. Айламазяна) // Сборник трудов научно-практической совместной конференции студентов, аспирантов, преподавателей и научных сотрудников Института программных систем Российской академии наук и «Университета города Переславля» им. А. К. Айламазяна, г. Переславль. Залесский, апрель 2008 / Под редакцией С. М. Абрамова и С. В. Знаменского. В двух томах. — Переславль-Залесский: Изд-во "Университет города Переславля", ISBN 978 -5 -901795 -11 -8, 2008. (Т. 1, с. 123 -132) [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, 2009. P. 150 -158. [14] Ilya Klyuchnikov and Sergei Romanenko. SPSC: a Simple Supercompiler in Scala // International Workshop on Program Understanding 19 -23 June, Altai Mountains, Russia. Novosibirsk: A. P. Ershov Institute of Informatics Systems, 2009. P. 5 -17. [15] И. Г. Ключников, С. А. Романенко. SPSC: Суперкомпилятор на языке Scala. // Программные продукты и системы. 2009. № 2 (86). С. 74 -80. ISSN 0236235 X. 24

Публикации - IV [16] Klyuchnikov I. , Romanenko S. Towards Higher-Level Supercompilation // Proceedings Публикации - 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, 2010. - Pereslavl-Zalessky: Ailamazyan University of Pereslavl, 2010. - Pp. 82 -101. [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: 953 -969, August 2008. [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): 1864 -0346, ISSN (Online): 18640850, 2008. [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: 94 -112, ISBN 978 -5 -901795 -12 -5, 2008. 25

Публикации - V [20] А. П. Лисица, А. П. Немытых. Об одном приложении вычислений Публикации - V [20] А. П. Лисица, А. П. Немытых. Об одном приложении вычислений с оракулом. // Труды международной конференции "Программные системы: теория и приложения", ИПС РАН, г. Переславль-Залесский, май 2009 / Под редакцией С. М. Абрамова и С. В. Знаменского. Изд-во "Университет города Переславля", Т. 1, стр. 245 -264 ISBN 978 -5 -901795 -16 -3. [21] А. П. Лисица, А. П. Немытых. Об одном приложении вычислений с оракулом. (журнальный вариант статьи, ранее опубликованной в трудах конференции). // Журнал “Программирование”, Т. 36, № 3, стр. 43 -54, 2010. [22] A. Lisitsa and A. P. Nemytykh. On One Application of Computations with Oracle, Programming and Computer Software, 2010, Vol. 36, No. 3, pp. 157 -165. © Pleiades Publishing, Ltd. , 2010, ISSN 0361 -7688. [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: 119 -130, ISBN 978 -5 -901795 -12 -5, 2008. [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: 131 -144, ISBN 978 -5 -901795 -12 -5, 2008. 26

Публикации - VI [25] A. P. Nemytykh (Editor). Proceedings of Second International Workshop on Публикации - VI [25] A. P. Nemytykh (Editor). Proceedings of Second International Workshop on Metacomputation in Russia, July 1 -5 2010, Pereslavl-Zalessky, Russia, ISBN 978 -5 -901795 -21 -7. 186 pages, // Издательство “Университет города Переславля”, г. Переславль-Залесский, 2010. [26] А. Ю. Орлов, Ю. А. Климов, Параллельное программирование на языке Рефал. В трудах Всероссийской научной конференции «Научный сервис в сети Интернет: решение больших задач» , 22 -27 сентября 2008 г. , г. Новороссийск. М. : Изд-во МГУ, 2008. C. 241 -243. ISBN 978 -5 -211 -05616 -9. [27] А. Ю. Орлов, А. Б. Шворин: О реализации в ПЛИС маршрутизатора высокопроизводительной сети // Научный сервис в сети Интернет: масштабируемость, параллельность, эффективность: Труды Всероссийской научной конференции (21 -26 сентября 2009 г. , г. Новороссийск). — М. : Изд-во МГУ, 2009. С. 208 -210. ISBN 978 -5 -21105697 -8. [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: 145 -162, ISBN 978 -5 -901795 -12 -5, 2008. [29] A. P. Lisitsa, A. P. Nemytykh. Experiments on verification via supercompilation. Интернет-ресурс http: //refal. botik. ru/protocols/ , (Результаты тестирования разработанных методов верификации. ) 2007 -2009. 27