Применение предметных языков и акторной модели для автоматизации высокопроизводительных вычислений
Автор: Востокин Сергей Владимирович, Скорюпина Екатерина Григорьевна, Наширванов Дамир Маратович
Журнал: Известия Самарского научного центра Российской академии наук @izvestiya-ssc
Рубрика: Информатика, вычислительная техника и управление
Статья в выпуске: 4-4 т.18, 2016 года.
Бесплатный доступ
В данной работе рассматривается сочетание предметных языков и языков общего назначения для автоматизации высокопроизводительных научных вычислений на базе облачного сервиса Templet Web. Автоматизация программирования при составлении задачи в системе Templet Web основана на концепциях скелетного программирования, предметных языков и использовании специализированных визуальных редакторов предметных языков в составе интегрированной среды разработки. Для предметного языка, использующего акторную модель, был разработан пример тестовой программы. Пример подобран таким образом, чтобы быть достаточно простым (проверка выполнения тригонометрического тождества для заданного значения) и в тоже время использовать все возможности предметного языка. Высокоуровневое описание задачи на предметном языке преобразуется в код, который использует систему времени выполнения. Для рассматриваемой системы времени выполнения, основанной на акторной модели, приводится заключение о степени автоматизации предлагаемого метода программирования на основании анализа относительных размеров библиотечного, сгенерированного и рукописного кода. В качестве критерия сложности и степени автоматизации рассматриваются относительные размеры кода разных частей программы. Код примера размещен на сервисе GitHub по адресу: https://github.com/templet-language/newtemplet. Высокая степень автоматизации достигается благодаря простоте используемой модели акторов, а также способу сопряжения библиотеки времени выполнения с программой пользователя: код сопряжения строится автоматически по описанию на предметном языке. В текущей версии системы Templet Web, развернутой по адресу http://templet.ssau.ru/app на базе вычислительного кластера «Сергей Королёв» Самарского университета, в настоящее время поддерживаются предметный язык, использующий акторную модель вычислений Templet, и скелеты программ «портфель задач», «конвейер». Данная технология показала свою эффективность для решения прикладных задач анализа многомерных динамических систем и процессов при исследовании гироскопических систем ориентации космических аппаратов, а также при обучении студентов принципам работы на суперкомпьютере.
Параллельное программирование, автоматизация программирования, акторная модель вычислений, предметно-ориентированный язык, скелетное программирование, аutomatic programming
Короткий адрес: https://sciup.org/148204753
IDR: 148204753
Список литературы Применение предметных языков и акторной модели для автоматизации высокопроизводительных вычислений
- Ward M.P. Language-oriented programming//Software-Concepts and Tools, vol. 15, no. 4, pp. 147-161, 1994.
- Dmitriev S. Language oriented programming: The next programming paradigm//JetBrains onBoard, vol. 1, no. 2, pp. 1-13, 2004.
- Артамонов Ю.С., Востокин С.В. Применение облачного сервиса Templet Web при проведении лабораторных практикумов на суперкомпьютере «Сергей Королев» //Х Международная научно-практическая конференция «Современные информационные технологии и ИТ-образование», МГУ, Москва, 2015. Том 2. -С. 409-414.
- Востокин С.В. Применение предметных языков для автоматизации высокопроизводительных вычислений//Перспективные информационные технологии (ПИТ 2016): труды Международной научно-технической конференции/под ред. С.А. Прохорова. -Самара: Издательство Самарского научного центра РАН, 2016. С. 490-493.
- Ага Г., Мейсон И., Смит С., Талкотт К. Основания для вычислений акторов//Journal of Functional Programming, 1993.
- Скорюпина Е.Г, Востокин С.В. Анализ реализаций акторной модели на платформе Java//Перспективные информационные технологии (ПИТ 2016): труды Международной научно-технической конференции/под ред. С.А. Прохорова. -Самара: Издательство Самарского научного центра РАН, 2016. С. 532-534.
- Наширванов Д.М., Востокин С.В. Акторная модель для статических алгоритмов в распределенных системах с использованием интерфейса передачи сообщений MPI//Перспективные информационные технологии (ПИТ 2016): труды Международной научно-технической конференции/под ред. С.А. Прохорова. -Самара: Издательство Самарского научного центра РАН, 2016. С. 515-517.
- Cole M. Bringing skeletons out of the closet: a pragmatic manifesto for skeletal parallel programming//Parallel computing, vol. 30, no. 3, pp. 389-406, 2004.
- González-Vélez H., Leyton M. A survey of algorithmic skeleton frameworks: high-level structured parallel programming enablers//Software: Practice and Experience, vol. 40, no. 12, pp. 1135-1160, 2010.
- Литвинов В.Г. Разработка и применение вычислительной модели типовых решений. Пример использования «портфеля задач» для обучения нейронной сети HRBF//Вестн. Сам. гос. техн. ун-та. Сер. Физ.-мат. Науки, 3(36) (2014). С. 183-195.
- Востокин С.В. Templet: язык разметки для параллельного программирования//Известия Самарского научного центра РАН. Том 17, №2(5), 2015. С. 947-955.
- Программный комплекс анализа многомерных динамических систем и процессов на суперкомпьютере «Сергей Королёв»/С.В. Востокин, А.В. Дорошин, Ю.С. Артамонов, Ю.П. Назаров//Управление движением и навигация летательных аппаратов: сборник трудов XVI Всероссийского семинара по управлению движением и навигацией летательных аппаратов. -Самара: Издательство СНЦ РАН, 2013. С. 60-63.
- Вторая волна разработки Java-приложений: Представляем Kilim. URL: https://www.ibm.com/developerworks/ru/library/j-javadev2-7/(дата обращения 27.08.2016).
- Srinivasan S., Mycroft A. Kilim: Isolation-Typed Actors for Java (A Million Actors, Safe Zero-Copy Communication), University of Cambridge Computer Laboratory. URL: https://www.cl.cam.ac.uk/research/srg/opera/publications/papers/kilim_ecoop08.pdf (дата обращения 27.08.2016).
- Официальный сайт Actors Guild. URL: https://github.com/timjansen/actorsguild (дата обращения 27.08.2016).
- Официальный сайт ActorFoundry. URL: http://osl.cs.illinois.edu/software/actor-foundry/(дата обращения 27.08.2016).
- Официальный сайт Akka. URL: http://akka.io/(дата обращения 27.08.2016).
- Царёв Д.А., Артамонов Ю.С. Сравнение основных возможностей и классификация облачных инструментов разработки//Перспективные информационные технологии (ПИТ 2016): труды Международной научно-технической конференции/под ред. С.А. Прохорова. -Самара: Издательство Самарского научного центра РАН, 2016. С. 539-542.