Язык программирования AJL: автоматическое динамическое распараллеливание для платформы JVM

Бесплатный доступ

Нынешнее состояние программного обеспечения и аппаратных средств широкого применения настойчиво требует развития инструментов параллельного программирования на основе языка Java. В ИПС им. А.К. Айламазяна РАН выполнена реализация языка Ajl, являющегося расширением языка Java и предназначенного для разработки параллельных программ на основе использования вычислительной модели «самотрансформация вычисляемой сети». В данной публикации рассматриваются различные аспекты выполненной работы — от синтаксиса и семантики конструкций языка и методов разработки транслятора до реализации базовых понятий использованной модели вычислений. Описывается экспериментальное исследование выполненной реализации и обсуждаются его результаты. В заключение приводится краткий обзор близких работ

Еще

ID: 14336104 Короткий адрес: https://sciup.org/14336104

Список литературы Язык программирования AJL: автоматическое динамическое распараллеливание для платформы JVM

  • S. M. Abramov, A. I. Adamowitch, I. A. Nesterov, S. P. Pimenov, Yu. V. Shevchuck. Multiprocessor with automatic dynamic parallelizing//Transputer: Research and Application, NATUG 6-th Meeting, IOS Press, Vancouver, 1993. С. 333-344.
  • С. М. Абрамов, А. И. Адамович, М. Р. Коваленко. Т-система -среда программирования с поддержкой автоматического динамического распараллеливания программ. Пример реализации алгоритма построения изображений методом трассировки лучей//Программирование, Т. 25, №. 2. 1999. С. 100-107.
  • С. М. Абрамов, В. А. Васенин, Е. Е. Мамчиц, В. А. Роганов, А. Ф. Слепухин. Динамическое распараллеливание программ на базе параллельной редукции графов. Архитектура программного обеспечения новой версии Т-системы//Высокопроизводительные вычисления и их приложения, Труды Всероссийской научной конференции (30 октября-2 ноября 2000 г., г. Черноголовка), Изд-во МГУ, М., 2000. С. 261-264.
  • A. Moskovsky, V. Roganov, S. Abramov. Parallelism granules aggregation with the T-system//Proceedings of the 9th international conference on Parallel Computing Technologies, PaCT’07 (Pereslavl-Zalessky, Russia, September 3-7, 2007), Lecture Notes in Computer Science, т. 4671, Springer-Verlag, Berlin-Heidelberg, 2007. С. 293-302.
  • В. А. Роганов, А. А. Кузнецов, Г. А. Матвеев, В. И. Осипов. Методы адаптации системы параллельного программирования OpenTS для поддержки работы T-приложений на гибридных вычислительных кластерах//Программные системы: теория и приложения, Т. 4, №. 4(18). 2013. С. 17-31, URL: http://psta.psiras.ru/read/psta2013_4_17-31.pdf
  • А. И. Адамович. Струи как основа реализации понятия Т-процесса для платформы JVM//Программные системы: теория и приложения, Т. 6, №. 4(27). 2015. С. 177-195, URL: http://psta.psiras.ru/read/psta2015_4_177195.pdf
  • Eclipse Text Modelling Framework (Xtext), URL: http://www.eclipse.org/Xtext
  • Eclipse IDE, URL: http://www.eclipse.org
  • T. Parr. ANTLR (ANother Tool for Language Recognition), URL: http://www.antlr.org
  • D. Steinberg, F. Budinsky, M. Paternostro, E. Merks. EMF: Eclipse Modeling Framework, 2nd edition, Safari Books Online, 2008, URL: https://www.safaribooksonline.com/library/view/emf-eclipsemodeling/9780321331885
  • L. Bettini, Java-, URL: https://github.com/LorenzoBettini/javamm
  • Т. Кормен, Ч. Лейзерсон, Р. Ривест. Алгоритмы: построение и анализ, МЦМНО, М., 1999, ISBN: 5-900916-37-5, 960 с.
  • J. D. McCalpin. STREAM: Sustainable Memory Bandwidth in High Performance Computers, A continually updated technical report, University of Virginia, Charlottesville, Virginia, 1991-2007, URL: http://www.cs.virginia.edu/stream/
  • J. Hammond. STREAM, URL: https://github.com/jeffhammond/STREAM/tree/master
  • The Go Programming Language Documentation, URL: https://golang.org/doc/
  • S. Ajmani. Program your next server in Go//Proceedings of Applicative 2016 (New York University, June 1st-2nd, 2016), ACM, New York, USA, URL: https://talks.golang.org/2016/applicative.slide#1
  • C. Doxsey. Introducing Go, O’Reilly Media, 2016, ISBN: 978-1-4919-4195-9, 128 с.
  • R. L. Bocchino, Jr., V. S. Adve, S. V. Adve, M. Snir. Parallel programming must be deterministic by default//Proceedings of the First USENIX conference on Hot topics in parallelism, HotPar’09 (March 30-31, 2009, Berkeley, California). С. 4-4.
  • R. Bocchino, et al. A type and effect system for deterministic parallel Java//Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications, OOPSLA’09 (October 25-29, 2009, Disney’s Contemporary Resort, Orlando, Florida), ACM, New York, NY, USA, 2009. С. 97-116, ISBN: 978-1-60558-766-0.
  • A. V. Slesarenko. Scalan: polytypic library for nested parallelism in Scala//Keldysh Institute preprints, 2011, 022, 28 с., URL: http://library.keldysh.ru/preprint.asp?id=2011-22&lg=e
  • G. E. Blelloch. Programming parallel algorithms//Communications of the ACM, V. 39. No. 3. (March 1996). С. 85-97.
  • Akka Documentation, URL: http://akka.io/docs/
  • M. K. Gupta. Akka Essentials, Packt Publishing, Birmingham, UK, 2012, ISBN: 978-1-84951-828-4.
  • C. Hewitt, P. Bishop, R. Steiger. A universal modular ACTOR formalism for artificial intelligence//Proceedings of the 3rd international joint conference on Artificial intelligence, IJCAI’73 (August 20-23, 1973, Stanford, California, USA), Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1973. С. 235-245.
Еще
Ред. заметка