TY - GEN
T1 - High-level programming of embedded hard real-time devices
AU - Pizlo, Filip
AU - Ziarek, Lukasz
AU - Blanton, Ethan
AU - Maj, Petr
AU - Vitek, Jan
PY - 2010
Y1 - 2010
N2 - While managed languages such as C# and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Real-time extensions to these languages have the dubious distinction of, at the same time, eschewing the benefits of high-level programming and failing to offer competitive performance. The goal of our research is to explore the limitations of high-level managed languages for real-time systems programming. To this end we target a real-world embedded platform, the LEON3 architecture running the RTEMS real-time operating system, and demonstrate the feasibility of writing garbage collected code in critical parts of embedded systems. We show that Java with a concurrent, real-time garbage collector, can have throughput close to that of C programs and comes within 10% in the worst observed case on realistic benchmark. We provide a detailed breakdown of the costs of Java features and their execution times and compare to real-time and throughput-optimized commercial Java virtual machines.
AB - While managed languages such as C# and Java have become quite popular in enterprise computing, they are still considered unsuitable for hard real-time systems. In particular, the presence of garbage collection has been a sore point for their acceptance for low-level system programming tasks. Real-time extensions to these languages have the dubious distinction of, at the same time, eschewing the benefits of high-level programming and failing to offer competitive performance. The goal of our research is to explore the limitations of high-level managed languages for real-time systems programming. To this end we target a real-world embedded platform, the LEON3 architecture running the RTEMS real-time operating system, and demonstrate the feasibility of writing garbage collected code in critical parts of embedded systems. We show that Java with a concurrent, real-time garbage collector, can have throughput close to that of C programs and comes within 10% in the worst observed case on realistic benchmark. We provide a detailed breakdown of the costs of Java features and their execution times and compare to real-time and throughput-optimized commercial Java virtual machines.
KW - java virtual machine
KW - memory management
KW - real-time systems
UR - https://www.scopus.com/pages/publications/77954583861
U2 - 10.1145/1755913.1755922
DO - 10.1145/1755913.1755922
M3 - Conference contribution
SN - 9781605585772
T3 - EuroSys'10 - Proceedings of the EuroSys 2010 Conference
SP - 69
EP - 82
BT - EuroSys'10 - Proceedings of the EuroSys 2010 Conference
T2 - 5th ACM EuroSys Conference on Computer Systems, EuroSys 2010
Y2 - 13 April 2010 through 16 April 2010
ER -