Virtual Machine Support for Reactive Programming
Just in time compiler – interpreter optimization
Bachelor Thesis, Master Thesis
Performance remains, however, a major limitation of RP. Most RP implementations are based on libraries where the language runtime is agnostic to reactive abstractions. As a result, a number of aspects like change propagation, dependency tracking and memory management that could be specifically optimized can only benefit from general purpose optimization such as those provided by out of the box just in time compilers. Optimization at the virtual machine level has the potential to address these issues.
The candidate will design and implement a language runtime for RP based on the Oracle Truffle language optimization systems and Oracle's experimental Graal just in time compiler (https://wiki.openjdk.java.net/display/Graal/Publications+and+Presentations). The goal is to leverage just in time compiler optimization to achieve with RP a performance comparable to the one of the Observer design pattern.
Expected gain of knowledge
The candidate will acquire skills in the development of RP languages, Virtual Machines, just in time compilation, Oracle's Truffle and Graal systems, interpreter optimization. Java programming is a prerequisite for the thesis.
- Sirish Chandrasekaran, Owen Cooper, Amol Deshpande, Michael J. Franklin, Joseph M. Hellerstein, Wei Hong, Sailesh Krishnamurthy, Samuel R. Madden, Fred Reiss, and Mehul A. Shah.: Flapjax: A Programming Language for Ajax Applications. ACM SIGPLAN Conference on Object-Oriented Programming Systems, Languages & Applications, 2009
- Thomas Würthinger, Christian Wimmer, Andreas Wöß, Lukas Stadler, Gilles Duboscq, Christian Humer, Gregor Richards, Doug Simon, Mario Wolczko: One VM to Rule Them All. In Proceedings of Onward!, ACM Press, 2013.