Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Daniel Grund

dblp:30/6085 · DBLP profile ↗
← Back
19ranked-venue papers
6as first author
0since 2021 · last 2014
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Systems, architecture and hardware · 8 · 1 first-authorSoftware engineering, systems software and programming languages · 8 · 3 first-authorTheory of computation · 2 · 1 first-authorDatabases, data management, data science and information retrieval · 1

Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.

Computer architecture, parallel and distributed computing, and storage systems
2 papers
Memory systems · 47% Embedded and real-time systems · 16% Electronic design automation · 16%

Topics — the 8 heaviest of 8, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Processor architecture and microarchitecture
chip multiprocessor
0.112009
Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009
Embedded and real-time systems › real-time embedded systems
hard real-time systems
0.112009
Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009
Electronic design automation
timing analysis
0.112009
Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009
Memory systems
cache
0.112008
Relative competitiveness of cache replacement policies · SIGMETRICS 2008
Memory systems › cache
cache behavior
0.112008
Relative competitiveness of cache replacement policies · SIGMETRICS 2008
Memory systems › cache management
cache replacement
0.112008
Relative competitiveness of cache replacement policies · SIGMETRICS 2008
Interconnection networks and networks-on-chip › bus-based interconnection
bus
0.012009
Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009
Memory systems
memory hierarchy
0.012009
Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2009

Methods — techniques the papers use, named apart from their topics

static timing analysis · 0.1measurement-based analysis · 0.1competitive analysis · 0.1
YearPublicationVenuePosition
2014 Selfish-LRU: Preemption-aware caching for predictability and performance
abstract
We introduce Selfish-LRU, a variant of the LRU (least recently used) cache replacement policy that improves performance and predictability in preemptive scheduling scenarios. In multitasking systems with conventional caches, a single memory access by a preempting task can trigger a chain reaction leading to a large number of additional cache misses in the preempted task. Selfish-LRU prevents such chain reactions by first evicting cache blocks that do not belong to the currently active task. Simulations confirm that Selfish-LRU reduces the CRPD (cache-related preemption delay) as well as the overall number of cache misses. At the same time, it simplifies CRPD analysis and results in smaller CRPD bounds.
Jan Reineke 0001, Sebastian Altmeyer, Daniel Grund, Sebastian Hahn 0001, Claire Maïza
RTAS3
2014 Building timing predictable embedded systems
abstract
A large class of embedded systems is distinguished from general-purpose computing systems by the need to satisfy strict requirements on timing, often under constraints on available resources. Predictable system design is concerned with the challenge of building systems for which timing requirements can be guaranteed a priori . Perhaps paradoxically, this problem has become more difficult by the introduction of performance-enhancing architectural elements, such as caches, pipelines, and multithreading, which introduce a large degree of uncertainty and make guarantees harder to provide. The intention of this article is to summarize the current state of the art in research concerning how to build predictable yet performant systems. We suggest precise definitions for the concept of “predictability”, and present predictability concerns at different abstraction levels in embedded system design. First, we consider timing predictability of processor instruction sets. Thereafter, we consider how programming languages can be equipped with predictable timing semantics, covering both a language-based approach using the synchronous programming paradigm, as well as an environment that provides timing semantics for a mainstream programming language (in this case C). We present techniques for achieving timing predictability on multicores. Finally, we discuss how to handle predictability at the level of networked embedded systems where randomly occurring errors must be considered.
Philip Axer, Rolf Ernst, Heiko Falk, Alain Girault, Daniel Grund, Nan Guan, Bengt Jonsson 0001, Peter Marwedel, Jan Reineke 0001, Christine Rochange, Maurice Sebastian, Reinhard von Hanxleden, Reinhard Wilhelm, Wang Yi 0001
ACM Trans. Embed. Comput. Syst.5
2013 Sensitivity of cache replacement policies
abstract
The sensitivity of a cache replacement policy expresses to what extent the execution history may influence the number of cache hits and misses during program execution. We present an algorithm to compute the sensitivity of a replacement policy. We have implemented this algorithm in a tool called R elacs that can handle a large class of replacement policies including LRU, FIFO, PLRU, and MRU. Sensitivity properties obtained with R elacs demonstrate that the execution history can have a strong impact on the number of cache hits and misses if FIFO, PLRU, or MRU is used. A simple model of execution time is used to evaluate the impact of cache sensitivity on measured execution times. The model shows that measured execution times may strongly underestimate the worst-case execution time for FIFO, PLRU, and MRU.
Jan Reineke 0001, Daniel Grund
ACM Trans. Embed. Comput. Syst.2
2012 Relational Cache Analysis for Static Timing Analysis
abstract
Static cache analysis is an indispensable part of static timing analysis, which is employed to verify the timing behaviour of programs in safety-critical real-time systems. State-of-the-art cache analyses classify memory references as `always hit', `always miss', or `unknown'. To do so, they rely on a preceding address analysis that tries to determine the referenced addresses. If a referenced address is not determined precisely, however, those cache analyses cannot predict this reference as hit or miss. On top of that, information about other cache contents is lost upon such references. We present a novel approach to static cache analysis that alleviates the dependency on precise address analysis. Instead of having to argue about concrete addresses, we only need to argue about relations between referenced addresses, e.g. `accesses same memory block' or `maps to different cache set'. Such relations can be determined by congruence analyses, without precise knowledge about the actual addresses. The subsequent cache analysis then only relies on relations to infer cache information and to classify references. One advantage of this approach is that hits can be predicted for references with imprecisely determined addresses, even if there is no information about accessed addresses. In particular, this enables the prediction of hits for references whose addresses depend on an unknown stack pointer or even depend on the program input. Relational cache analysis is always at least as precise as the corresponding state-of-the-art cache analysis. Furthermore, we demonstrate significant improvements for three classes of program constructs.
Sebastian Hahn 0001, Daniel Grund
ECRTS2
2011 Branch target buffers: WCET analysis framework and timing predictability
Daniel Grund, Jan Reineke 0001, Gernot Gebhard
J. Syst. Archit.1
2010 Precise and Efficient FIFO-Replacement Analysis Based on Static Phase Detection
abstract
Schedulability analysis for hard real-time systems requires bounds on the execution times of its tasks. To obtain useful bounds in the presence of caches, static timing analyses must predict cache hits and misses with high precision. For caches with least-recently-used (LRU) replacement policy, precise and efficient cache analyses exist. However, other widely used policies like first-in first-out (FIFO) are inherently harder to analyze. The main contributions of this paper are precise and efficient must- and may-analyses of FIFO based on the novel concept of static phase detection. The analyses statically partition sequences of memory accesses as they will occur during program execution into phases. If subsequent phases contain accesses to the same (similar) set of memory blocks, each phase contributes a bit to the overall goal of predicting hits (misses). The new must-analysis is significantly more precise than prior analyses. Both analyses can be implemented space-efficiently by sharing information using abstract LRU-stacks.
Daniel Grund, Jan Reineke 0001
ECRTS1
2010 Static Timing Analysis for Hard Real-Time Systems
Reinhard Wilhelm, Sebastian Altmeyer, Claire Maïza, Daniel Grund, Jörg Herter, Jan Reineke 0001, Björn Wachter, Stephan Wilhelm
VMCAI4
2009 Branch Target Buffers: WCET Analysis Framework and Timing Predictability
abstract
One step in the verification of hard real-time systems is to determine upper bounds on the worst-case execution times (WCET) of tasks. To obtain tight bounds, a WCET analysis has to consider microarchitectural features like caches, branch prediction, and branch target buffers (BTB). We propose a modular WCET analysis framework for branch target buffers (BTB), which allows for easy adaptability to different BTBs. As an example, we investigate the Motorola PowerPC 56x family MPC56x, which is used in automotive and avionic systems. On a set of avionic and compiler benchmarks, our analysis improves WCET bounds on average by 13% over no BTB analysis. Capitalizing on the modularity of our framework, we explore alternative hardware designs. We propose more predictable designs, which improve obtainable WCET bounds by up to 20%, reduce analysis time considerably, and simplify the analysis. We generalize our findings and give advice concerning hardware used in real-time systems.
Daniel Grund, Jan Reineke 0001, Gernot Gebhard
RTCSA1
2009 Abstract Interpretation of FIFO Replacement
Daniel Grund, Jan Reineke 0001
SAS1
2009 Memory Hierarchies, Pipelines, and Buses for Future Architectures in Time-Critical Embedded Systems
abstract
Embedded hard real-time systems need reliable guarantees for the satisfaction of their timing constraints. Experience with the use of static timing-analysis methods and the tools based on them in the automotive and the aeronautics industries is positive. However, both the precision of the results and the efficiency of the analysis methods are highly dependent on the predictability of the execution platform. In fact, the architecture determines whether a static timing analysis is practically feasible at all and whether the most precise obtainable results are precise enough. Results contained in this paper also show that measurement-based methods still used in industry are not useful for quite commonly used complex processors. This dependence on the architectural development is of growing concern to the developers of timing-analysis tools and their customers, the developers in industry. The problem reaches a new level of severity with the advent of multicore architectures in the embedded domain. This paper describes the architectural influence on static timing analysis and gives recommendations as to profitable and unacceptable architectural features.
Reinhard Wilhelm, Daniel Grund, Jan Reineke 0001, Marc Schlickling, Markus Pister 0002, Christian Ferdinand
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst.2
2008 Fast liveness checking for ssa-form programs
abstract
Liveness analysis is an important analysis in optimizing compilers. Liveness information is used in several optimizations and is mandatory during the code-generation phase. Two drawbacks of conventional liveness analyses are that their computations are fairly expensive and their results are easily invalidated by program transformations. We present a method to check liveness of variables that overcomes both obstacles. The major advantage of the proposed method is that the analysis result survives all program transformations except for changes in the control-flow graph. For common program sizes our technique is faster and consumes less memory than conventional data-flow approaches. Thereby, we heavily make use of SSA-form properties, which allow us to completely circumvent data-flow equation solving. We evaluate the competitiveness of our approach in an industrial strength compiler. Our measurements use the integer part of the SPEC2000 benchmarks and investigate the liveness analysis used by the SSA destruction pass. We compare the net time spent in liveness computations of our implementation against the one provided by that compiler. The results show that in the vast majority of cases our algorithm, while providing the same quality of information, needs less time: an average speed-up of 16%.
Benoit Boissinot, Sebastian Hack, Daniel Grund, Benoît Dupont de Dinechin, Fabrice Rastello
CGO3
2008 Relative competitive analysis of cache replacement policies
abstract
Caches are commonly employed to hide the latency gap between memory and the CPU by exploiting locality in memory accesses. On today's architectures a cache miss may cost several hundred CPU cycles.
Jan Reineke 0001, Daniel Grund
LCTES2
2008 Estimating the Performance of Cache Replacement Policies
abstract
Caches are commonly employed to hide the latency gap between memory and the CPU by exploiting locality in memory accesses. The cache performance strongly influences a system's overall performance, as this gap is large and ever-increasing. The efficiency of a given cache architecture - usually measured by its miss ratio - varies greatly depending on the software being executed. We present an efficient method to estimate the miss ratio using a stochastic model. The model takes into account the parameters of the cache architecture and a concise characterization of the software's locality. In contrast to previous approaches, we consider the replacement policy as an important component of the cache architecture. To this end, we introduce policy tables as a concise representation of replacement policies. The software 's locality is characterized by stack histograms or our extension thereof: History stack histograms, which refine stack histograms by distinguishing contexts of accesses. Simulation results on the SPEC benchmarks demonstrate the strong influence of the replacement policy on the miss ratio and the precision of our estimates: average absolute errors between 0.18% and 2.92%.
Daniel Grund, Jan Reineke 0001
MEMOCODE1
2008 Relative competitiveness of cache replacement policies
abstract
No abstract available.
Jan Reineke 0001, Daniel Grund
SIGMETRICS2
2007 A Fast Cutting-Plane Algorithm for Optimal Coalescing
Daniel Grund, Sebastian Hack
CC1
2007 Rule Checking within the Model-Based Development of Safety-Critical Systems and Embedded Automotive Software
abstract
Safety and reliability cannot be tested into technical software systems on embedded control units after their development. Preventive actions have to be taken in respect of safety and reliability. An automatic and tool supported check of custom rules, industry standards and enterprise wide guidelines can support the quality assurance process. In the domain of automotive software engineering there is a lack of automatic checking for standard conformance. Especially, a formal and tool independent notation of rules to follow is missing. In this paper, the model-based development of automotive vehicle functions with the tools MATLAB, Simulink and Stateflow is taken as an example to show how textual rules describing standards to be met can be transformed into a formal notation using the open standards MOF and OCL. Thereafter these rules can be checked automatically. The feasibility of this approach is shown by a software demonstrator
Tibor Farkas, Daniel Grund
ISADS2
2007 Timing predictability of cache replacement policies
Jan Reineke 0001, Daniel Grund, Christoph Berg, Reinhard Wilhelm
Real Time Syst.2
2006 Register Allocation for Programs in SSA-Form
Sebastian Hack, Daniel Grund, Gerhard Goos
CC2
2006 GrGen: A Fast SPO-Based Graph Rewriting Tool
Rubino Geiß, Gernot Veit Batz, Daniel Grund, Sebastian Hack, Adam Szalkowski
ICGT3