Струи как основа реализации понятия т-процесса для платформы JVM

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

Распространение и доступность современных параллельных аппаратно-программных платформ демонстрирует отставание уровня инструментов разработки параллельных приложений от нужд разработчиков программ. В ИПС РАН ведется разработка подхода к распараллеливанию программ, основанного на использовании модели вычислений «самотрансформация вычисляемой сети». В данной работе рассматриваются различные варианты подходов к реализации для платформы JVM понятия «Т- процесс» –– базового понятия данной модели вычислений. Анализируются потенциальные проблемы, связанные с реализацией понятия «Т-процесс», как на основе классических потоков ОС/JDK, так и в случае внесения поддержки легковесных потоков непосредственно в код виртуальной машины. Предлагается подход к реализации Т-процессов, основанный на использовании понятия струй, т.е. легковесных потоков, реализуемых вне ядра JVM. Приводятся результаты экспериментального сравнения подходов к реализации понятия «Т-процесс», основанных на использовании классических потоков и струй (англ. fibers). Анализируется эффект от использования струй для реализации модели вычислений «самотрансформация вычисляемой сети», используемой в разрабатываемом языке параллельного программирования ajl для платформы JVM

Еще

Автоматическое динамическое распараллеливание, параллельные вычисления, реализация языков программирования, потоки, платформа jvm, струи

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

IDR: 14336164

Fibers as the basis for the implementation of the notion of the t-process for the JVM platform

The spread and availability of modern parallel hardware and software platforms demonstrates a lag in the level of tools for developing parallel applications from the needs of program developers. The IPS RAS is developing an approach to parallelizing programs based on the use of the computation model "self-transformation of a computed network". In this paper, various variants of the approaches to implementing the concept of "T-process" for the JVM platform, the basic concept of this model of computation, are considered. Potential problems associated with the implementation of the "T-process" concept are analyzed, both on the basis of classic OS / JDK threads, and in the case of making lightweight stream support directly in the virtual machine code. An approach to the realization of T-processes based on the use of the concept of jets is proposed. lightweight flows realized outside the core of the JVM. The results of experimental comparison of approaches to the realization of the concept of "T-process" based on the use of classical streams and jets (English fibers) are presented. The effect of using jets for realizing the computation model "self-transformation of a computed network" used in the developed parallel programming language ajl for the JVM platform

Еще

Список литературы Струи как основа реализации понятия т-процесса для платформы JVM

  • S. M. Abramov, A. I. Adamowitch, I. A. Nesterov, S. P. Pimenov, Y. V. Shevchuck. Multiprocessor with automatic dynamic parallelizing//NATUG 6-th Meeting "Transputer: Research and Application", IOS Press, Vancouver, 1993. P. 333-344.
  • С. М. Абрамов, А. И. Адамович, М. Р. Коваленко. Т-система -среда программирования с поддержкой автоматического динамического распараллеливания программ. Пример реализации алгоритма построения изображений методом трассировки лучей//Программирование, Т. 25, №. 2. 1999. С. 100-107.
  • R. P. Garg, I. Sharapov. Techniques for Optimizing Applications: High Performance Computing, Prentice-Hall, 2002, 616 p.
  • L. Yibei, T. Mullen, X. Lin. Analysis of optimal thread pool size//ACM SIGOPS Operating Systems Review, V. 34. No. 2. 2000. P. 42-55.
  • Г. Шилдт. Java. Полное руководство, ООО "И.Д. Вильямс", М., 2012, 1104 с.
  • L. Stadler, T. Wurthinger, C. Wimmer. Efficient coroutines for the Java platform//8th International Conference on the Principles and Practice of Programming in Java, ACM, New York, 2010. P. 10-19.
  • L. Stadler. Coroutines for Java, URL: http://ssw.jku.at/General/Staff/LS/coro/.
  • C. Hewitt, P. Bishop, R. Steiger. A universal modular ACTOR formalism for artificial intelligence//3rd International Joint Conference on Artificial Intelligence IJCAI'73, Morgan Kaufmann Publishers Inc., San Francisco, CA, USA, 1973. P. 235-245.
  • P. Haller, M. Odersky. Event-based programming without inversion of control//Modular Programming Languages, 7th Joint Modular Languages Conference, JMLC 2006 (Oxford, UK, September 13-15, 2006), Lecture Notes in Computer Science, vol. 4228, Springer, Berlin-Heidelberg, 2006. P. 4-22.
  • S. Srinivasan, A. Mycroft. Kilim: Isolation-Typed Actors for Java//22nd European Conference on Object-Oriented Programming ECOOP'08, Springer-Verlag, 2008. P. 104-128.
Еще