Creative Commons Attribution 3.0 Unported license
The proliferation of high-level programming languages with advanced language features and the need for portability across increasingly heterogeneous and hierarchical architectures require a sophisticated run-time system to manage program execution and available resources. Additional benefits include isolated execution of untrusted code and the potential for dynamic optimisation, among others. This paper provides a high-level overview of language run-time systems with a focus on execution models, support for concurrency and parallelism, memory management, and communication, whilst briefly mentioning synchronisation, monitoring, and adaptive policy control. Two alternative approaches to run-time system design are presented and several challenges for future research are outlined. References to both seminal and recent work are provided.
@InProceedings{belikov:OASIcs.ICCSW.2015.3,
author = {Belikov, Evgenij},
title = {{Language Run-time Systems: an Overview}},
booktitle = {2015 Imperial College Computing Student Workshop (ICCSW 2015)},
pages = {3--12},
series = {Open Access Series in Informatics (OASIcs)},
ISBN = {978-3-95977-000-2},
ISSN = {2190-6807},
year = {2015},
volume = {49},
editor = {Schulz, Claudia and Liew, Daniel},
publisher = {Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
address = {Dagstuhl, Germany},
URL = {https://drops.dagstuhl.de/entities/document/10.4230/OASIcs.ICCSW.2015.3},
URN = {urn:nbn:de:0030-drops-54753},
doi = {10.4230/OASIcs.ICCSW.2015.3},
annote = {Keywords: Run-time Systems, Virtual Machines, Adaptive Policy Control}
}