Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Stefan Hepp is active.

Publication


Featured researches published by Stefan Hepp.


embedded software | 2015

T-CREST

Martin Schoeberl; Sahar Abbaspour; Benny Akesson; Neil C. Audsley; Raffaele Capasso; Jamie Garside; Kees Goossens; Sven Goossens; Scott Hansen; Reinhold Heckmann; Stefan Hepp; Benedikt Huber; Alexander Jordan; Evangelia Kasapaki; Jens Knoop; Yonghui Li; Daniel Prokesch; Wolfgang Puffitsch; Peter P. Puschner; André Rocha; Cláudio Silva; Jens Sparsø; Alessandro Tocchi

Real-time systems need time-predictable platforms to allow static analysis of the worst-case execution time (WCET). Standard multi-core processors are optimized for the average case and are hardly analyzable. Within the T-CREST project we propose novel solutions for time-predictable multi-core architectures that are optimized for the WCET instead of the average-case execution time. The resulting time-predictable resources (processors, interconnect, memory arbiter, and memory controller) and tools (compiler, WCET analysis) are designed to ease WCET analysis and to optimize WCET performance. Compared to other processors the WCET performance is outstanding.The T-CREST platform is evaluated with two industrial use cases. An application from the avionic domain demonstrates that tasks executing on different cores do not interfere with respect to their WCET. A signal processing application from the railway domain shows that the WCET can be reduced for computation-intensive tasks when distributing the tasks on several cores and using the network-on-chip for communication. With three cores the WCET is improved by a factor of 1.8 and with 15 cores by a factor of 5.7.The T-CREST project is the result of a collaborative research and development project executed by eight partners from academia and industry. The European Commission funded T-CREST.


international symposium on object/component/service-oriented real-time distributed computing | 2013

The T-CREST approach of compiler and WCET-analysis integration

Peter P. Puschner; Daniel Prokesch; Benedikt Huber; Jens Knoop; Stefan Hepp; Gernot Gebhard

A good worst-case performance and the availability of high-quality bounds on the worst-case execution time (WCET) of tasks are central for the construction of hard realtime computer systems for safety-critical applications. Timing-predictability of the whole software/hardware system is a necessary prerequisite to achieve this. We show that a predictable architecture and the tight and seamless integration of compilation and WCET analysis is beneficial to achieve the initial two goals of good worst-case performance and the availability of high-quality bounds on the WCET of computation tasks. Information generated by the compiler improves the WCET analysis. Detailed timing feedback from the WCET analysis helps the compiler to reduce the worst case execution time. The paper describes the interface and the interaction between the industrial strength WCET analysis tool and the compiler as developed in the EU FP7 T-CREST project, and demonstrates the cooperation of these tools with an illustrative example.


international symposium on object/component/service-oriented real-time distributed computing | 2014

A Method Cache for Patmos

Philipp Degasperi; Stefan Hepp; Wolfgang Puffitsch; Martin Schoeberl

For real-time systems we need time-predictable processors. This paper presents a method cache as a time-predictable solution for instruction caching. The method cache caches whole methods (or functions) and simplifies worst-case execution time analysis. We have integrated the method cache in the time-predictable processor Patmos. We evaluate the method cache with a large set of embedded benchmarks. Most benchmarks show a good hit rate for a method cache size in the range between 4 and 16 KB.


worst case execution time analysis | 2014

Scope-Based Method Cache Analysis

Benedikt Huber; Stefan Hepp; Martin Schoeberl

The quest for time-predictable systems has led to the exploration of new hardware architectures that simplify analysis and reasoning in the temporal domain, while still providing competitive performance. For the instruction memory, the method cache is a conceptually attractive solution, as it requests memory transfers at well-defined instructions only. In this article, we present a new cache analysis framework that generalizes and improves work on cache persistence analysis. The analysis demonstrates that a global view on the cache behavior permits the precise analyses of caches which are hard to analyze by inspecting cache state locally.


international symposium on object/component/service-oriented real-time distributed computing | 2012

Worst-Case Execution Time Based Optimization of Real-Time Java Programs

Stefan Hepp; Martin Schoeberl

Standard compilers optimize execution time for the average case. However, in hard real-time systems the worst-case execution time (WCET) is of primary importance. Therefore, a compiler for real-time systems shall include optimizations that aim to minimize the WCET. One effective compiler optimization is method in lining. It is especially important for languages, like Java, where small setter and getter methods are considered good programming style. In this paper we present and explore WCET driven in lining of Java methods. We use the WCET analysis tool for the Java processor JOP to guide to optimization along the worst-case path. The tool JCopter is integrated with the WCET analysis tool and is used to explore different in lining strategies. On real-time benchmarks the optimization results in a reduction of the WCET by a few percent up to a factor of about 2.


Proceedings of the 20th International Conference on Real-Time and Network Systems | 2012

Static profiling of the worst-case in real-time programs

Florian Brandner; Stefan Hepp; Alexander Jordan

With the increasing performance demand in real-time systems it becomes more and more relevant to provide feedback to engineers and programmers, but also software development tools, on the performance-relevant code parts of a real-time program. So far, the information provided to programmers through tools was limited to an estimation of the worst-case execution time (WCET) and its associated worst-case execution path (WCEP). However, these metrics only provide partial information. Only those code parts that are on one of the WCEPs are indicated to the programmer. No information is provided for all other code parts. To give an accurate view covering the entire code base, tools in the spirit of standard program profiling tools are required. This work proposes an efficient approach to compute worst-case timing information for all code parts of a program using a complementary metric, called criticality. Every statement of a real-time program is assigned a criticality value, expressing how critical the respective code is with respect to the global WCET. This gives an accurate view to programmers how close the worst execution path passing through a specific part of a real-time program is to the global WCEP. We formally define the criticality metric and investigate some of its properties with respect to dominance in control-flow graphs. Exploiting some of those properties, we propose an algorithm that reduces the overhead of computing the metric to cover complete real-time programs.


international symposium on object/component/service-oriented real-time distributed computing | 2015

A Generator for Time-Predictable Code

Daniel Prokesch; Stefan Hepp; Peter P. Puschner

Time-predictability is an essential property of software components of safety-critical hard real-time systems. Single-path code generation produces code that forces every execution to follow the same trace of instructions, thus making the execution time of code independent of its input data. This supports the time predictability of components and simplifies their worst-case execution-time analysis. In this paper we present the implementation of a single-path code generator in a compiler for a time-predictable processor. The evaluation on a real-world application shows that single-path code generation is a practicable strategy for the construction of time-predictable software components.


Real-time Systems | 2014

Criticality: static profiling for real-time programs

Florian Brandner; Stefan Hepp; Alexander Jordan

With the increasing performance demand in real-time systems it becomes more and more important to provide feedback to programmers and software development tools on the performance-relevant code parts of a real-time program. So far, this information was limited to an estimation of the worst-case execution time (WCET) and its associated worst-case execution path (WCEP) only. However, both, the WCET and the WCEP, only provide partial information. Only code parts that are on one of the WCEPs are indicated to the programmer. No information is provided for all other code parts. To give a comprehensive view covering the entire code base, tools in the spirit of program profiling are required.This work proposes an efficient approach to compute worst-case timing information for all code parts of a program using a complementary metric, called criticality. Every statement of a program is assigned a criticality value, expressing how critical the code is with respect to the global WCET. This gives valuable information how close the worst execution path passing through a specific program part is to the global WCEP. We formally define the criticality metric and investigate some of its properties with respect to dominance in control-flow graphs. Exploiting some of those properties, we propose an algorithm that reduces the overhead of computing the metric to cover complete programs. We also investigate ways to efficiently find only those code parts whose criticality is above a given threshold.Experiments using well-established real-time benchmark programs show an interesting distribution of the criticality values, revealing considerable amounts of highly critical as well as uncritical code. The metric thus provides ideal information to programmers and software development tools to optimize the worst-case execution time of these programs.


Real-time Systems | 2018

Patmos: a time-predictable microprocessor

Martin Schoeberl; Wolfgang Puffitsch; Stefan Hepp; Benedikt Huber; Daniel Prokesch

Current processors provide high average-case performance, as they are optimized for general purpose computing. However, those optimizations often lead to a high worst-case execution time (WCET). WCET analysis tools model the architectural features that increase average-case performance. To keep analysis complexity manageable, those models need to abstract from implementation details. This abstraction further increases the WCET bound. This paper presents a way out of this dilemma: a processor designed for real-time systems. We design and optimize a processor, called Patmos, for low WCET bounds rather than for high average-case performance. Patmos is a dual-issue, statically scheduled RISC processor. A method cache serves as the cache for the instructions and a split cache organization simplifies the WCET analysis of the data cache. To fill the dual-issue pipeline with enough useful instructions, Patmos relies on a customized compiler. The compiler also plays a central role in optimizing the application for the WCET instead of average-case performance.


SNE Simulation Notes Europe | 2012

Construction and Implementation of a Simple Agent-Based System on GPU-Architectures

Gunter Schneckenreither; Stefan Hepp; Daniel Prokesch

Agent-based modelling and simulation is still an upcoming approach for microsimulation. But a large number of agents with advanced dynamics and interactions requires sophisticated algorithms and lots of computational effort. We try to implement a rather simple but special agent-based model model on GPU-architectures (graphics processing unit). This contribution presents the GPU implementations and and investigates its practicability. Results show that implementation of agent-based systems on a GPU-architecture can deliver enormous speedups. Depending on the detailed structure of the system highly advanced algorithms deliver another great performance-boost. The combination of both approaches can deliver up to 1.000 times faster execution of the same

Collaboration


Dive into the Stefan Hepp's collaboration.

Top Co-Authors

Avatar

Daniel Prokesch

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Martin Schoeberl

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Benedikt Huber

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Peter P. Puschner

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Florian Brandner

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Wolfgang Puffitsch

Technical University of Denmark

View shared research outputs
Top Co-Authors

Avatar

Alexander Jordan

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar

Jens Knoop

Vienna University of Technology

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Philipp Degasperi

Vienna University of Technology

View shared research outputs
Researchain Logo
Decentralizing Knowledge