Treffer: Worst-case execution time driven method inlining for embedded Java processors

Title:
Worst-case execution time driven method inlining for embedded Java processors
Authors:
Contributors:
Puschner, Peter, Schöberl, Martin
Publication Year:
2020
Collection:
TU Wien: reposiTUm
Document Type:
Dissertation thesis
File Description:
viii, 86 S.
Language:
English
Rights:
open
Accession Number:
edsbas.C915B104
Database:
BASE

Weitere Informationen

Zsfassung in dt. Sprache ; Java Bytecode wird üblicherweise in einer Java Virtual Machine (JVM) auf einem Desktop PC ausgeführt. Meistens wird der Code von der JVM interpretiert oder mittels eines Just-In-Time (JIT) Compilers in Maschinencode übersetzt. Basierend auf Profiling-Informationen werden kritische Stellen zur Laufzeit bei Bedarf optimiert. Java Prozessoren wie der Java Optimized Processor (JOP) können hingegen Java Bytecode direkt ausführen ohne zusätzlich einen Interpreter oder JIT Compiler zu benötigen. Die Worst-Case Execution Time (WCET) ist bei Echtzeitsystemen wichtiger als die Average-Case Execution Time (ACET). Falls die WCET eines Echtzeit-Prozesses zu hoch ist, werden Optimierungen während der Entwicklung benötigt um den Worst-Case Pfad im Programm zu optimieren und damit die WCET zu reduzieren. In dieser Diplomarbeit wird gezeigt, wie eine Worst-Case Analyse (WCA) verwendet werden kann um einen Optimizer zu unterstützen. Des weiteren werden die Auswirkungen des Method Cache auf die Effizienz von Optimierungen betrachtet. Ein bestehendes WCET Analysetool wird verwendet um Optimierungen für JOP zu lenken. Als zentrale Optimierung wird Method Inlining verwendet, wobei versucht wird eine Verschlechterung der WCET durch höhere Cache-Miss Kosten zu vermeiden. Ein Framework wurde erstellt um die Optimierungen und die Worst-Case Analyse auf den selben Daten arbeiten zu lassen, damit die WCA während der Optimierung mit geringen Overhead mehrfach durchgeführt werden kann. Um die Auswirkungen der Optimierungen zu testen wurden mehrere Benchmark-Anwendungen optimiert und analysiert. Die WCET, die ACET und die Codegröße der optimierten Anwendungen wurden mit den nicht optimierten Versionen verglichen. ; Java bytecode is commonly executed by a Java virtual machine (JVM) on a desktop computer, which usually either interprets the code or employs a just-in-time (JIT) compiler to translate the code to native machine code. Profile-guided optimizations are used to speedup hotspots at runtime. In contrast to ...