Применение предметных языков и акторной модели для автоматизации высокопроизводительных вычислений

Автор: Востокин Сергей Владимирович, Скорюпина Екатерина Григорьевна, Наширванов Дамир Маратович

Журнал: Известия Самарского научного центра Российской академии наук @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.
Еще
Статья научная