Albrecht Kadlec
Vienna University of Technology
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Albrecht Kadlec.
languages, compilers, and tools for embedded systems | 2008
Dietmar Ebner; Florian Brandner; Bernhard Scholz; Andreas Krall; Peter Wiedermann; Albrecht Kadlec
Instruction selection is a well-studied compiler phase that translates the compilers intermediate representation of programs to a sequence of target-dependent machine instructions optimizing for various compiler objectives (e.g. speed and space). Most existing instruction selection techniques are limited to the scope of a single statement or a basic block and cannot cope with irregular instruction sets that are frequently found in embedded systems. We consider an optimal technique for instruction selection that uses Static Single Assignment (SSA) graphs as an intermediate representation of programs and employs the Partitioned Boolean Quadratic Problem (PBQP) for finding an optimal instruction selection. While existing approaches are limited to instruction patterns that can be expressed in a simple tree structure, we consider complex patterns producing multiple results at the same time including pre/post increment addressing modes, div-mod instructions, and SIMD extensions frequently found in embedded systems. Although both instruction selection on SSA-graphs and PBQP are known to be NP-complete, the problem can be solved efficiently - even for very large instances. Our approach has been implemented in LLVM for an embedded ARMv5 architecture. Extensive experiments show speedups of up to 57% on typical DSP kernels and up to 10% on SPECINT 2000 and MiBench benchmarks. All of the test programs could be compiled within less than half a minute using a heuristic PBQP solver that solves 99.83% of all instances optimally.
euromicro conference on real-time systems | 2009
Raimund Kirner; Albrecht Kadlec; Peter P. Puschner
This paper explores timing anomalies in WCET analysis.Timing anomalies add to the complexity of WCET analysis and make it hard to apply divide-and-conquer strategies to simplify the WCET assessment.So far, timing anomalies have been described as a problem that occurs when the WCET of a control-flow graph is computed from the WCETs of its subgraphs, i.e., from a series decomposition. This paper extends the state of the art by (i) showing that timing anomalies can as well occur in a parallel decomposition of the WCET problem, i.e., when complexity is reduced by splitting the hardware state space and performing a separate WCET analysis for hardware components that work in parallel, (ii) proving that the potential occurrence of parallel timing anomalies makes the parallel decomposition technique unsafe (i.e., one cannot guarantee that the calculated WCET bound does not underestimate the WCET), and (iii) identifying special cases of parallel timing anomalies for which the parallel decomposition technique is safe. The latter provides an important hint to hardware designers on their way to constructing predictable hardware components.
international symposium on object/component/service-oriented real-time distributed computing | 2010
Albrecht Kadlec; Raimund Kirner; Peter P. Puschner
Divide-and-conquer approaches to worst-case execution-time analysis (WCET analysis) pose a safety risk when applied to code for complex modern processors: Interferences between the hardware acceleration mechanisms of these processors lead to timing anomalies, i.e., a local timing change causes an either larger or inverse change of the global timing. This phenomenon may result in dangerous WCET underestimation. This paper presents intermediate results of our work on strategies for eliminating timing anomalies. These strategies are purely based on the modification of software, i.e., they do not require any changes to hardware. In an effort to eliminate the timing anomalies originating from the processor’s out-of-order instruction pipeline, we explored different methods of inserting instructions in the program code that render the dynamic instruction scheduler inoperative. We explain how the proposed strategies remove the timing anomalies caused by the pipeline. In the absence of working solutions for timing analysis for these complex processors, we chose portable metrics from compiler construction to assess the properties of our algorithms.
Software and Systems Modeling | 2011
Raimund Kirner; Jens Knoop; Adrian Prantl; Markus Schordan; Albrecht Kadlec
worst case execution time analysis | 2008
Raimund Kirner; Albrecht Kadlec; Adrian Prantl; Markus Schordan; Jens Knoop
worst case execution time analysis | 2009
Adrian Prantl; Jens Knoop; Raimund Kirner; Albrecht Kadlec; Markus Schordan
worst-case execution time analysis | 2008
Niklas Holsti; Jan Gustafsson; Guillem Bernat; Clément Ballabriga; Armelle Bonenfant; Roman Bourgade; Hugues Cassé; Daniel Cordes; Albrecht Kadlec; Raimund Kirner; Jens Knoop; Paul Lokuciejewski; Nicholas Merriam; Marianne De Michiel; Adrian Prantl; Bernhard Rieder; Christine Rochange; Pascal Sainrat; Markus Schordan
Archive | 2011
Raimund Kirner; Albrecht Kadlec; Peter P. Puschner
Computer Systems: Science & Engineering | 2011
Albrecht Kadlec; Raimund Kirner; Peter P. Puschner
Archive | 2009
Adrian Prantl; Jens Knoop; Raimund Kirner; Albrecht Kadlec; Markus Schordan