Demo Data from VLDB 2026 / reviewers in the wild / expert
Peter Marwedel
dblp:m/PeterMarwedel
· DBLP profile ↗
74ranked-venue papers
13as first author
0since 2021 · last 2019
0000-0001-5923-9145ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 52 · 13 first-authorSoftware engineering, systems software and programming languages · 16Applied, interdisciplinary, general and emerging computing · 4
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
9 papers |
Embedded and real-time systems · 65% Electronic design automation · 24% Memory systems · 7% | |
| Software engineering, system software, and programming languages
3 papers |
Compilers and program optimization · 100% |
Topics — the 20 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Embedded and real-time systems › embedded software › embedded operating systems
embedded memory management |
0.1 | 1 | 2006 | Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2006 |
Embedded and real-time systems › embedded software › embedded operating systems › embedded memory management
scratchpad memory allocation |
0.1 | 1 | 2006 | Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2006 |
Compilers and program optimization › compiler optimization
energy-aware compilation |
0.0 | 1 | 2001 | Analysis of the influence of register file size on energyconsumption, code size, and execution time · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001 |
Embedded and real-time systems
energy-efficient embedded systems |
0.0 | 1 | 2001 | Analysis of the influence of register file size on energyconsumption, code size, and execution time · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001 |
Compilers and program optimization › compiler construction
retargetable compilation |
0.0 | 2 | 1997 | Code Generation for Core Processors · DAC 1997 Verification of Hardware Descriptions by Retargetable Code Generation · DAC 1989 |
Embedded and real-time systems › embedded system design
energy-constrained embedded systems |
0.0 | 1 | 2006 | Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2006 |
Memory systems
on-chip memory |
0.0 | 1 | 2006 | Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded Systems · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2006 |
Electronic design automation
high-level synthesis |
0.0 | 4 | 1989 | Integrated Scheduling and Binding: A Synthesis Approach for Design Space Exploration · DAC 1989 A new synthesis for the MIMOLA software system · DAC 1986 The mimola design system: Tools for the design of digital processors · DAC 1984 |
Electronic design automation
hardware verification and test |
0.0 | 1 | 1995 | Retargetable Self-Test Program Generation Using Constraint Logic Programming · DAC 1995 |
Processor architecture and microarchitecture › register file
register file design |
0.0 | 1 | 2001 | Analysis of the influence of register file size on energyconsumption, code size, and execution time · IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. 2001 |
Electronic design automation
design space exploration |
0.0 | 1 | 1989 | Integrated Scheduling and Binding: A Synthesis Approach for Design Space Exploration · DAC 1989 |
Electronic design automation › hardware verification and test
hardware verification |
0.0 | 1 | 1989 | Verification of Hardware Descriptions by Retargetable Code Generation · DAC 1989 |
Electronic design automation › logic synthesis
incremental synthesis |
0.0 | 1 | 1989 | Integrated Scheduling and Binding: A Synthesis Approach for Design Space Exploration · DAC 1989 |
Electronic design automation › high-level synthesis
scheduling and binding |
0.0 | 1 | 1989 | Integrated Scheduling and Binding: A Synthesis Approach for Design Space Exploration · DAC 1989 |
Embedded and real-time systems
embedded software |
0.0 | 1 | 1997 | Code Generation for Core Processors · DAC 1997 |
Electronic design automation
design automation tools |
0.0 | 1 | 1995 | Retargetable Self-Test Program Generation Using Constraint Logic Programming · DAC 1995 |
Electronic design automation › high-level synthesis
register-transfer level synthesis |
0.0 | 1 | 1986 | A new synthesis for the MIMOLA software system · DAC 1986 |
Processor architecture and microarchitecture › instruction set architecture
instruction set design |
0.0 | 2 | 1984 | The mimola design system: Tools for the design of digital processors · DAC 1984 The MIMOLA design system: Detailed description of the software system · DAC 1979 |
Electronic design automation › high-level synthesis › scheduling and allocation
module selection |
0.0 | 1 | 1986 | A new synthesis for the MIMOLA software system · DAC 1986 |
Electronic design automation › high-level synthesis
scheduling |
0.0 | 1 | 1986 | A new synthesis for the MIMOLA software system · DAC 1986 |
Methods — techniques the papers use, named apart from their topics
profiling · 0.1power modeling · 0.1integer linear programming · 0.1heuristic · 0.1finite domain constraints · 0.0constraint logic programming · 0.0retargetable compilation · 0.0behavioral specification · 0.0integrated scheduling and binding · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2019 | Can Flexible Multi-Core Scheduling Help to Execute Machine Learning Algorithms Resource-Efficiently?abstractMachine learning techniques such as model-based optimization are frequently used to solve expensive problems. Since a sequential execution of these algorithms is time-intensive due to the problem complexity, several attempts have been made to parallelize existing approaches. However, no state-of-the-art technique is able to efficiently exploit the full potential of multi-core architectures up to now. In this work, we propose a flexible extension to the Resource-Aware Model-Based Optimization framework (RAMBO) adopting multi-core scheduling techniques, which allows to use the available resources in a more efficient way and thus reduces the time required to solve expensive optimization problems. Helena Kotthaus, Lea Schönberger, Andreas Lang 0002, Jian-Jia Chen, Peter Marwedel |
SCOPES | 5 |
| 2017 | A parallelization approach for resource-restricted embedded heterogeneous MPSoCs inspired by OpenMP
Olaf Neugebauer, Michael Engel, Peter Marwedel |
J. Syst. Softw. | 3 |
| 2017 | Parallelism analysis: Precise WCET values for complex multi-core systems
Timon Kelter, Peter Marwedel |
Sci. Comput. Program. | 2 |
| 2016 | Compensate or ignore? meeting control robustness requirements through adaptive soft-error handlingabstractTo avoid catastrophic events like unrecoverable system failures on mobile and embedded systems caused by soft-errors, software-based error detection and compensation techniques have been proposed. Methods like error-correction codes or redundant execution can offer high flexibility and allow for application-specific fault-tolerance selection without the needs of special hardware supports. However, such software-based approaches may lead to system overload due to the execution time overhead. An adaptive deployment of such techniques to meet both application requirements and system constraints is desired. From our case study, we observe that a control task can tolerate limited errors with acceptable performance loss. Such tolerance can be modeled as a (m,k) constraint which requires at least m correct runs out of any k consecutive runs to be correct. In this paper, we discuss how a given (m,k) constraint can be satisfied by adopting patterns of task instances with individual error detection and compensation capabilities. We introduce static strategies and provide a formal feasibility analysis for validation. Furthermore, we develop an adaptive scheme that extends our initial approach with online awareness that increases efficiency while preserving analysis results. The effectiveness of our method is shown in a real-world case study as well as for synthesized task sets. Kuan-Hsun Chen, Björn Bönninghoff, Jian-Jia Chen, Peter Marwedel |
LCTES | 4 |
| 2015 | Plasmon-based Virus Detection on Heterogeneous Embedded SystemsabstractEmbedded systems, e.g. in computer vision applications, are expected to provide significant amounts of computing power to process large data volumes. Many of these systems, such as used in medical diagnosis, are mobile devices and face significant challenges to provide sufficient performance while operating on a constrained energy budget. Olaf Neugebauer, Pascal Libuschewski, Michael Engel, Heinrich Müller, Peter Marwedel |
SCOPES | 5 |
| 2014 | A context-aware battery lifetime model for carrier aggregation enabled LTE-A systemsabstractA Quality of Experience (QoE) parameter of increasing importance is the time that a battery powered communication device (e.g. smartphone) can be operated before it needs to be recharged. However, due to the fact that battery capacity is not evolving as fast as the power requirement, the battery lifetime of modern user equipment is stagnating or even decreasing from one device generation to another. In parallel, a major challenge for the design of next generation wireless systems such as LTE-Advanced (LTE-A) is that the required high portion of spectrum is not available in a consecutive portion. For this reason, a procedure called interband non-continuous Carrier Aggregation (CA) will be introduced in LTE-A which allows for the combination of multiple spectrum pieces from different frequency bands. This procedure however requires the parallel operation of multiple power amplifiers that are characterized by a high energy demand. In this paper, we quantify the impact of CA on the power consumption of LTE-A enabled communication by means of a Markovian based power consumption model that incorporates system parameters as well as context parameters. The results show that the suitability of CA does from a battery lifetime perspective strongly depend upon the actual device characteristics as well as the resource availability is the various frequency bands. Furthermore, the application of the sophisticated Kinetic Battery Model (KiBaM) shows that the charge recovery effect during idle periods does significantly affect the battery lifetime. Bjoern Dusza, Peter Marwedel, Olaf Spinczyk, Christian Wietfeld |
CCNC | 2 |
| 2014 | Dynamic page sharing optimization for the R languageabstractDynamic languages such as R are increasingly used to process .large data sets. Here, the R interpreter induces a large memory overhead due to wasteful memory allocation policies. If an application's working set exceeds the available physical memory, the OS starts to swap, resulting in slowdowns of a several orders of magnitude. Thus, memory optimizations for R will be beneficial to many applications. Helena Kotthaus, Ingo Korb, Michael Engel, Peter Marwedel |
DLS | 4 |
| 2014 | Computing maximum blocking times with explicit path analysis under non-local flow boundsabstractWorst-case time (WCET) analyses for single tasks are well established and their results ultimately serve the purpose of providing execution time parameters for schedulability analyses. Besides WCET analysis, an important problem is maximum blocking time (MBT) analysis which is essential in deferred preemption schedules for the selection of preemption points. Among the most pressing problems in this context is the need for good path analyses, which are a fundamental bottleneck for selecting these points. Current state of the art relies on ILP-based or severely constrained explicit path analyses, both of which are unsatisfactory in general. Jan C. Kleinsorge, Peter Marwedel |
EMSOFT | 2 |
| 2014 | Static WCET analysis of the H.264/AVC decoder exploiting coding informationabstractMultimedia playback programs must satisfy certain hard real-time constraints to give their user a pleasant viewing experience. Having a tight estimation on the worst case execution time (WCET) is essential for the resource scheduler to ensure all the tasks in the system can satisfy their timing requirements while maintaining good system resource utilization. In this paper we present a detailed hybrid WCET analysis of the H.264/AVC reference decoder and demonstrate that the coding information can be used to tighten the pure static WCET estimation up to 70%. Chen-Wei Huang, Timon Kelter, Björn Bönninghoff, Jan C. Kleinsorge, Michael Engel, Peter Marwedel, Shiao-Li Tsao |
RTCSA | 6 |
| 2014 | Static analysis of multi-core TDMA resource arbitration delays
Timon Kelter, Heiko Falk, Peter Marwedel, Sudipta Chattopadhyay 0001, Abhik Roychoudhury |
Real Time Syst. | 3 |
| 2014 | A Unified WCET analysis framework for multicore platformsabstractWith the advent of multicore architectures, worst-case execution time (WCET) analysis has become an increasingly difficult problem. In this article, we propose a unified WCET analysis framework for multicore processors featuring both shared cache and shared bus. Compared to other previous works, our work differs by modeling the interaction of shared cache and shared bus with other basic microarchitectural components (e.g., pipeline and branch predictor). In addition, our framework does not assume a timing anomaly free multicore architecture for computing the WCET. A detailed experiment methodology suggests that we can obtain reasonably tight WCET estimates in a wide range of benchmark programs. Sudipta Chattopadhyay 0001, Lee Kee Chong, Abhik Roychoudhury, Timon Kelter, Peter Marwedel, Heiko Falk |
ACM Trans. Embed. Comput. Syst. | 5 |
| 2014 | Building timing predictable embedded systemsabstractA 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. | 8 |
| 2013 | Automatic Extraction of pipeline parallelism for embedded heterogeneous multi-core platformsabstractAutomatic parallelization of sequential applications is the key for efficient use and optimization of current and future embedded multi-core systems. However, existing approaches often fail to achieve efficient balancing of tasks running on heterogeneous cores of an MPSoC. A reason for this is often insufficient knowledge of the underlying architecture's performance. In this paper, we present a novel parallelization approach for embedded MPSoCs that combines pipeline parallelization for loops with knowledge about different execution times for tasks on cores with different performance properties. Using Integer Linear Programming, an optimal solution with respect to the model used is derived implementing tasks with a well-balanced execution behavior. We evaluate our pipeline parallelization approach for heterogeneous MPSoCs using a set of standard embedded benchmarks and compare it with two existing state-of-the-art approaches. For all benchmarks, our parallelization approach obtains significantly higher speedups than either approach on heterogeneous MPSoCs. Daniel Cordes, Michael Engel, Olaf Neugebauer, Peter Marwedel |
CASES | 4 |
| 2013 | Simple analysis of partial worst-case execution paths on general control flow graphsabstractOne of the most important computations in static worst-case execution time analyses is the path analysis which computes the potentially most time-consuming execution path in a program. This is typically done either with an implicit path computation based on solving an integer linear program, or with explicit path computations directly on the program's control flow graph. The former approach is powerful and comparably simple to use but hard to extend and to combine with other program analyses due to its restriction to the linear equation model. The latter approaches are often restricted to well-structured graphs, suffer from inaccuracy or require nontrivial structural analyses or graph transformations upfront or during their computations. In this paper, we propose a generalized computational model and a comprehensive explicit path analysis that operates on arbitrary directed control flow graphs. We propose simple and yet effective techniques to deal with unstructured control flows and complex flow fact models. The analysis does not require a control flow graph to be mutable, is non-recursive, fast, and provides the means to compute all worst-case paths from arbitrary source nodes. It is well suited for solving local problems and the computation of partial solutions, which is highly relevant for problems related to scheduling and execution modes alike. Jan C. Kleinsorge, Heiko Falk, Peter Marwedel |
EMSOFT | 3 |
| 2013 | Automatic Extraction of Task-Level Parallelism for Heterogeneous MPSoCsabstractHeterogeneous multi-core platforms are increasingly attractive for embedded applications due to their adaptability and efficiency. This proliferation of heterogeneity demands new approaches for extracting thread level parallelism from sequential applications which have to be efficient at runtime. We present, to the best of our knowledge, the first Integer Linear Programming (ILP)-based parallelization approach for heterogeneous multi-core platforms. Using Hierarchical Task Graphs and high-level timing models, our approach manages to balance the extracted tasks while considering performance differences between cores. As a result, we obtain considerable speedups at runtime, significantly outperforming tools for homogeneous systems. We evaluate our approach by parallelizing standard benchmarks from various application domains. Daniel Cordes, Olaf Neugebauer, Michael Engel, Peter Marwedel |
ICPP | 4 |
| 2013 | Improving the fault resilience of an H.264 decoder using static analysis methodsabstractFault tolerance rapidly evolves into one of the most significant design objectives for embedded systems due to reduced semiconductor structures and supply voltages. However, resource-constrained systems cannot afford traditional error correction for overhead and cost reasons. New methods are required to sustain acceptable service quality in case of errors while avoiding crashes. We present a flexible fault-tolerance approach that is able to select correction actions depending on error semantics using application annotations and static analysis approaches. We verify the validity of our approach by analyzing the vulnerability and improving the reliability of an H.264 decoder using flexible error handling. Florian Schmoll, Andreas Heinig, Peter Marwedel, Michael Engel |
ACM Trans. Embed. Comput. Syst. | 3 |
| 2012 | WCET-aware static locking of instruction cachesabstractIn the past decades, embedded system designers moved from simple, predictable system designs towards complex systems equipped with caches. This step was necessary in order to bridge the increasingly growing gap between processor and memory system performance. Static analysis techniques had to be developed to allow the estimation of the cache behavior and an upper bound of the execution time of a program. This bound is called worst-case execution time (WCET). Its knowledge is crucial to verify whether hard real-time systems satisfy their timing constraints, and the WCET is a key parameter for the design of embedded systems. Sascha Plazar, Jan C. Kleinsorge, Peter Marwedel, Heiko Falk |
CGO | 3 |
| 2012 | Multi-objective aware extraction of task-level parallelism using genetic algorithmsabstractA large amount of research work has been done in the area of automatic parallelization for decades, resulting in a huge amount of tools, which should relieve the designer from the burden of manually parallelizing an application. Unfortunately, most of these tools are only optimizing the execution time by splitting up applications into concurrently executed tasks. In the domain of embedded devices, however, it is not sufficient to look only at this criterion. Since most of these devices are constraint-driven regarding execution time, energy consumption, heat dissipation and other objectives, a good trade-off has to be found to efficiently map applications to multiprocessor system on chip (MPSoC) devices. Therefore, we developed a fully automated multi-objective aware parallelization framework, which optimizes different objectives at the same time. The tool returns a Pareto-optimal front of solutions of the parallelized application to the designer, so that the solution with the best trade-off can be chosen. Daniel Cordes, Peter Marwedel |
DATE | 2 |
| 2012 | MAMOT: Memory-Aware Mapping Optimization Tool for MPSoCabstractMapping applications onto multiprocessor system-on-chip (MPSoC) devices is a well-known and complex optimization problem, receiving large interest in recent years. Diverse frameworks for mapping optimization have been developed, that typically distribute application tasks to available processors while optimizing one or more objectives such as performance and energy consumption. However, even though the memory subsystem is a resource that contributes drastically to the overall performance and energy consumption of the MPSoC, no mapping optimization framework is considering it so far. This paper addresses this challenge, and investigates the effect of memory hierarchies for MPSoC mapping. A memory-aware mapping optimization tool (that we refer to as MAMOT) has been developed for this purpose. We primarily focus on heterogeneous MPSoCs with heterogeneous memory hierarchies. Our evaluations show that considering memory mapping during MPSoC mapping optimization may reduce the application runtime up to 29.5% and its energy consumption up to 40%. Olivera Jovanovic, Peter Marwedel, Iuliana Bacivarov, Lothar Thiele |
DSD | 2 |
| 2012 | Feedback-Based Global Instruction Scheduling for GPGPU Applications
Constantin Timm, Markus Görlich, Frank Weichert, Peter Marwedel, Heinrich Müller |
ICCSA (1) | 4 |
| 2012 | A Unified WCET Analysis Framework for Multi-core PlatformsabstractWith the advent of multi-core architectures, worst case execution time (WCET) analysis has become an increasingly difficult problem. In this paper, we propose a unified WCET analysis framework for multi-core processors featuring both shared cache and shared bus. Compared to other previous works, our work differs by modeling the interaction of shared cache and shared bus with other basic micro-architectural components (e.g. pipeline and branch predictor). In addition, our framework does not assume a timing anomaly free multi-core architecture for computing the WCET. A detailed experiment methodology suggests that we can obtain reasonably tight WCET estimates in a wide range of benchmark programs. Sudipta Chattopadhyay 0001, Lee Kee Chong, Abhik Roychoudhury, Timon Kelter, Peter Marwedel, Heiko Falk |
IEEE Real-Time and Embedded Technology and Applications Symposium | 5 |
| 2012 | Introduction to the Special Section on SCOPES'09abstractintroduction Introduction to the Special Section on SCOPES’09 Guest Editors: Heiko Falk Ulm University, Germany Ulm University, GermanyView Profile , Peter Marwedel TU Dortmund, Germany TU Dortmund, GermanyView Profile Authors Info & Claims ACM Transactions on Embedded Computing SystemsVolume 11SIssue 1Article No.: 17pp 1–3https://doi.org/10.1145/2180887.2180894Published:01 June 2012Publication History 0citation126DownloadsMetricsTotal Citations0Total Downloads126Last 12 Months1Last 6 weeks1 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access Heiko Falk, Peter Marwedel |
ACM Trans. Embed. Comput. Syst. | 2 |
| 2011 | WCET-driven branch prediction aware code positioningabstractIn the past decades, embedded system designers moved from simple, predictable system designs towards complex systems equipped with caches, branch prediction units and speculative execution. This step was necessary in order to fulfill increasing requirements on computational power. Static analysis techniques considering such speculative units had to be developed to allow the estimation of an upper bound of the execution time of a program. This bound is called worst-case execution time (WCET). Its knowledge is crucial to verify whether hard real-time systems satisfy their timing constraints, and the WCET is a key parameter for the design of embedded systems. Sascha Plazar, Jan C. Kleinsorge, Heiko Falk, Peter Marwedel |
CASES | 4 |
| 2011 | Bus-Aware Multicore WCET Analysis through TDMA Offset BoundsabstractIn the domain of real-time systems, the analysis of the timing behavior of programs is crucial for guaranteeing the schedulability and thus the safeness of a system. Static analyses of the WCET (Worst-Case Execution Time) have proven to be a key element for timing analysis, as they provide safe upper bounds on a program's execution time. For single-core systems, industrial-strength WCET analyzers are already available, but up to now, only first proposals have been made to analyze the WCET in multicore systems, where the different cores may interfere during the access to shared resources. An important example for this are shared buses which connect the cores to a shared main memory. The time to gain access to the shared bus may vary significantly, depending on the used bus arbitration protocol and the access timings. In this paper, we propose a new technique for analyzing the duration of accesses to shared buses. We implemented a prototype tool which uses the new analysis and tested it on a set of real world benchmarks. Results demonstrate that our analysis achieves the same precision as the best existing approach while drastically outperforming it in matters of analysis time. Timon Kelter, Heiko Falk, Peter Marwedel, Sudipta Chattopadhyay 0001, Abhik Roychoudhury |
ECRTS | 3 |
| 2011 | A synergetic approach to accurate analysis of cache-related preemption delayabstractThe worst-case execution time (WCET) of a task denotes the largest possible execution time for all possible inputs and thus, hardware states. For non-preemptive multitask scheduling, techniques for the static estimation of safe upper bounds have been subject to industrial practice for years. For preemptive scheduling however, the isolated analysis of tasks becomes imprecise as interferences among tasks cannot be considered with sufficient precision. For such scenarios, the cache-related preemption delay (CRPD) denotes a key metric as it reflects the effects of preemptions on the execution behavior of a single task. Until recently, proposals for CRPD analyses were often limited to direct mapped caches or comparably imprecise for k-way set-associative caches. Jan C. Kleinsorge, Heiko Falk, Peter Marwedel |
EMSOFT | 3 |
| 2011 | Automatic Extraction of Pipeline Parallelism for Embedded Software Using Linear ProgrammingabstractThe complexity and performance requirements of embedded software are continuously increasing, making Multiprocessor System-on-Chip (MPSoC) architectures more and more important in the domain of embedded and cyber-physical systems. Using multiple cores in a single system reduces problems concerning energy consumption, heat dissipation, and increases performance. Nevertheless, these benefits do not come for free. Porting existing, mostly sequential, applications to MPSoCs requires extracting efficient parallelism to utilize all available cores. Many embedded applications, like network services and multimedia tasks for voice-, image- and video processing, are operating on data streams and thus have a streaming-based structure. Despite the abundance of parallelism in streaming applications, it is a non-trivial task to split and efficiently map sequential applications to MPSoCs. Therefore, we present an algorithm which automatically extracts pipeline parallelism from sequential ANSI-C applications. The presented tool employs an integer linear programming (ILP) based approach enriched with an adequate cost model to automatically control the granularity of the parallelization. By applying our tool to real-life applications, it can be shown that our approach is able to speed up applications by a factor of up to 3.9x on a four-core MPSoC architecture, compared to a sequential execution. Daniel Cordes, Andreas Heinig, Peter Marwedel, Arindam Mallik |
ICPADS | 3 |
| 2011 | Approximating Pareto optimal compiler optimization sequences - a trade-off between WCET, ACET and code sizeabstractSUMMARY With the growing complexity of embedded systems software, high code quality can only be achieved using a compiler. Sophisticated compilers provide a vast spectrum of various optimizations to improve code aggressively w.r.t. different objective functions, e.g. average‐case execution time ( ACET ) or code size. Owing to the complex interactions between the optimizations, the choice for a promising sequence of code transformations is not trivial. Compiler developers address this problem by proposing standard optimization levels, e.g. O3 or Os . However, previous studies have shown that these standard levels often miss optimization potential or might even result in performance degradation. In this paper, we propose the first adaptive worst‐case execution time ( WCET )‐aware compiler framework for an automatic search of compiler optimization sequences that yield highly optimized code. Besides the objective functions ACET and code size, we consider the WCET which is a crucial parameter for real‐time systems. To find suitable trade‐offs between these objectives, stochastic evolutionary multi‐objective algorithms identifying Pareto optimal solutions for the objectives 〈WCET, ACET 〉 and 〈WCET, code size 〉 are exploited. A comparison based on statistical performance assessments is performed that helps to determine the most suitable multi‐objective optimizer. The effectiveness of our approach is demonstrated on real‐life benchmarks showing that standard optimization levels can be significantly outperformed. Copyright © 2011 John Wiley & Sons, Ltd. Paul Lokuciejewski, Sascha Plazar, Heiko Falk, Peter Marwedel, Lothar Thiele |
Softw. Pract. Exp. | 4 |
| 2010 | MNEMEE: a framework for memory management and optimization of static and dynamic data in MPSoCsabstractAs embedded systems are becoming the center of our digital life, system design becomes progressively harder. The integration of multiple features on devices with limited resources requires careful and exhaustive exploration of the design search space in order to efficiently map modern applications to an embedded multi-processor platform. The MNEMEE project [1] addresses this challenge by offering a unique integrated tool flow that performs source-to-source transformations to automatically optimize the original source code and map it on the target platform. The optimizations aim at reducing the number of memory accesses and the required memory storage of both dynamically and statically allocated data. Furthermore, the MNEMEE tool flow performs optimal assignment of all data on the memory hierarchy of the target platform. Overall, the MNEMEE techniques embedded in it will lead to more cost efficient systems that offer a better performance and lower energy consumption. This tutorial gives an overview of the MNEMEE tool flow. The objective of the tutorial is to familiarize the audience with the tool framework and the optimizations used in the individual tools. The tutorial also features a demonstration of the tool flow. This demonstration shows that the tools developed in the MNEMEE project provide a user-friendly and efficient framework for MPSoC programming and memory management. Arindam Mallik, Peter Marwedel, Dimitrios Soudris, Sander Stuijk |
CASES | 2 |
| 2010 | Multi-objective Exploration of Compiler Optimizations for Real-Time SystemsabstractWith the growing complexity of embedded systems software, high code quality can only be achieved using a compiler. Sophisticated compilers provide a vast spectrum of various optimizations to improve code aggressively w. r. t. different objective functions, e. g., average-case execution time (ACET) or code size. Due to the complex interactions between the optimizations, the choice for a promising sequence of code transformations is not trivial. Compiler developers address this problem by proposing standard optimization levels, e. g., O3 or Os. However, previous studies have shown that these standard levels often miss optimization potential or might even result in performance degradation. In this paper, we propose the first adaptive WCET-aware compiler framework for an automatic search of compiler optimization sequences which yield highly optimized code. Besides the objective functions ACET and code size, we consider the worst-case execution time (WCET) which is a crucial parameter for real-time systems. To find suitable trade-offs between these objectives, stochastic evolutionary multi-objective algorithms identifying Pareto optimal solutions are exploited. A comparison based on statistical performance assessments is performed which helps to determine the most suitable multi-objective optimizer. The effectiveness of our approach is demonstrated on real-life benchmarks showing that standard optimization levels can be significantly outperformed. Paul Lokuciejewski, Sascha Plazar, Heiko Falk, Peter Marwedel, Lothar Thiele |
ISORC | 4 |
| 2010 | WCET-Driven Cache-Aware Memory Content SelectionabstractCaches are widely used to bridge the increasingly growing gap between processor and memory performance. They store copies of frequently used parts of the slow main memory for faster access. Static analysis techniques allow the estimation of the worst case cache behavior and enable the computation of an upper bound of the execution time of a program. This bound is called worst-case execution time (WCET). Its knowledge is crucial to verify if hard real-time systems satisfy their timing constraints and the WCET is a key parameter for the design of embedded systems. In this paper, we propose a new WCET-driven cache-aware memory content selection algorithm, which allocates functions whose WCET highly benefits from a cached execution to cached memory areas. Vice versa, rarely used functions which do not benefit from a cached execution are allocated to non-cached memory areas. As a result of this, unfavorable functions w. r. t. a program's WCET can not evict beneficial functions from the cache. This can lead to a reduced cache miss ratio and a decreased WCET. The effectiveness of our approach is demonstrated by results achieved on real-life benchmarks. In a case study, our greedy algorithm is able to reduce the benchmarks' WCET by up to 20%. Sascha Plazar, Paul Lokuciejewski, Peter Marwedel |
ISORC | 3 |
| 2010 | Versatile system-level memory-aware platform description approach for embedded MPSoCsabstractIn this paper, we present a novel system modeling language which targets primarily the development of source-level multiprocessor memory aware optimizations. Robert Pyka, Felipe Klein, Peter Marwedel, Stylianos Mamagkakis |
LCTES | 3 |
| 2010 | An automatic framework for dynamic data structures optimization in CabstractModern embedded devices require highly optimized code in order to efficiently run the wide range of applications they are designed for. However, most modern applications are getting more and more dynamic, which at the software level, translates in the use of dynamic data structures like dynamic arrays and lists. State of the art solutions for the optimization of these dynamic structures operate with code written in C++ or higher level languages. This work presents an automatic framework for the dynamic data structure optimization of applications written in C. The major advantages of this framework are the rich set of ready-to-use data structures in C that a developer can use to focus on the application itself and the fact that it targets applications in C rather than a higher level language. Moreover, the communication with existing state of the art optimization mechanisms in C++ provides the flexibility in optimization and the customization in the final solutions, needed for modern applications from many domains. The real world applicability of the proposed framework is proved by integrating it with well-known benchmarks written in C. Experimental results show possible reduction of data accesses by 7% and memory footprint by 33%. Christos Baloukas, Lazaros Papadopoulos, Robert Pyka, Dimitrios Soudris, Peter Marwedel |
VLSI-SoC | 5 |
| 2009 | A Fast and Precise Static Loop Analysis Based on Abstract Interpretation, Program Slicing and Polytope ModelsabstractA static loop analysis is a program analysis computing loop iteration counts. This information is crucial for different fields of applications. In the domain of compilers, the knowledge about loop iterations can be exploited for aggressive loop optimizations like Loop Unrolling. A loop analyzer also provides static information about code execution frequencies which can assist feedback-directed optimizations. Another prominent application is the static worst-case execution time (WCET) analysis which relies on a safe approximation of loop iteration counts. In this paper, we propose a framework for a static loop analysis based on Abstract Interpretation, a theory of a sound approximation of program semantics. To accelerate the analysis, we preprocess the analyzed code using Program Slicing, a technique that removes statements irrelevant for the loop analysis. In addition, we introduce a novel polytope-based loop evaluation that further significantly reduces the analysis time. The efficiency of our loop analyzer is evaluated on a large number of benchmarks. Results show that 99% of the considered loops could be successfully analyzed in an acceptable amount of time. This study points out that our methodology is best suited for real-world problems. Paul Lokuciejewski, Daniel Cordes, Heiko Falk, Peter Marwedel |
CGO | 4 |
| 2009 | Combining Worst-Case Timing Models, Loop Unrolling, and Static Loop Analysis for WCET MinimizationabstractProgram loops are notorious for their optimization potential on modern high-performance architectures. Compilers aim at their aggressive transformation to achieve large improvements of the program performance. In particular, the optimization loop unrolling has shown in the past decades to be highly effective achieving significant increases of the average-case performance. In this paper, we present loop unrolling that is tailored towards real-time systems. Our novel optimization is driven by worst-case execution time (WCET) information to effectively minimize the program's worst-case behavior. To exploit maximal optimization potential, the determination of a suitable unrolling factor is based on precise loop iteration counts provided by a static loop analysis. In addition,our heuristics avoid adverse effects of unrolling which result from instruction cache overflows and the generation of additional spill code. Results on 45 real-life benchmarks demonstrate that aggressive loop unrolling can yield WCET reductions of up to 13.7% over simple, naive approaches employed by many production compilers. Paul Lokuciejewski, Peter Marwedel |
ECRTS | 2 |
| 2009 | Accelerating WCET-driven optimizations by the invariant path paradigm: a case study of loop unswitching
Paul Lokuciejewski, Fatih Gedikli, Peter Marwedel |
SCOPES | 3 |
| 2008 | WCET-driven Cache-based Procedure Positioning OptimizationsabstractProcedure Positioning is a well known compiler optimization aiming at the improvement of the instruction cache behavior. A contiguous mapping of procedures calling each other frequently in the memory avoids overlapping of cache lines and thus decreases the number of cache conflict misses. In standard literature, these positioning techniques are guided by execution profile data and focus on an improved average-case performance. We present two novel positioning optimizations driven by worst-case execution time (WCET) information to effectively minimize the program's worst-case behavior. WCET reductions by 10% on average are achieved. Moreover, a combination of positioning and the WCET-driven Procedure Cloning optimization proposed in [14] is presented improving the WCET analysis by 36% on average. Paul Lokuciejewski, Heiko Falk, Peter Marwedel |
ECRTS | 3 |
| 2008 | WCET-driven, code-size critical procedure cloningabstractIn the domain of the worst-case execution time (WCET) analysis, loops are an inherent source of unpredictability and loss of precision since the determination of tight and safe information on the number of loop iterations is a difficult task. In particular, data-dependent loops whose iteration counts depend on function parameters can not be precisely handled by a timing analysis. Procedure Cloning can be exploited to make these loops explicit within the source code allowing a highly precise WCET analysis. Paul Lokuciejewski, Heiko Falk, Peter Marwedel, Henrik Theiling |
SCOPES | 3 |
| 2007 | Operating system integrated energy aware scratchpad allocation strategies for multiprocess applicationsabstractVarious scratchpad allocation strategies have been developed in the past. Most of them target the reduction of energy consumption. These approaches share the necessity of having direct access to the scratchpad memory. In earlier embedded systems this was always true, but with the increasing complexity of tasks systems have to perform, an additional operating system layer between the hardware and the application is becoming mandatory. This paper presents an approach to integrate a scratchpad memory manager into the operating system. The goal is to minimize energy consumption. In contrast to previous work, compile time knowledge about the application's behavior is taken into account. A set of fast heuristic allocation methods is proposed in this paper. An in-depth study and comparison of achieved energy savings and cycle reductions was performed. The results show that even in the highly dynamic environment of an operating system equipped embedded system, up to 83% energy consumption reduction can be achieved. Robert Pyka, Christoph Faßbach, Manish Verma, Heiko Falk, Peter Marwedel |
SCOPES | 5 |
| 2006 | Cache-Aware Scratchpad-Allocation Algorithms for Energy-Constrained Embedded SystemsabstractIn the context of mobile embedded devices, reducing energy is one of the prime objectives. Memories are responsible for a significant percentage of a system's aggregate energy consumption. Consequently, novel memories as well as novel-memory architectures are being designed to reduce the energy consumption. Caches and scratchpads are two contrasting memory architectures. The former relies on hardware logic while the latter relies on software for its utilization. To meet different requirements, most contemporary high-end embedded microprocessors include on-chip instruction and data caches along with a scratchpad. Previous approaches for utilizing scratchpad did not consider caches and hence fail for the contemporary high-end systems. Instructions are allocated onto the scratchpad, while taking into account the behavior of the instruction cache present in the system. The problem of scratchpad allocation is solved using a heuristic and also optimally using an integer linear programming formulation. An average reduction of 7% and 23% in processor cycles and instruction-memory energy, respectively, is reported when compared against a previously published technique. The average deviation between optimal and nonoptimal solutions was found to be less than 6% both in terms of processor cycles and energy. The scratchpad in the presented architecture is similar to a preloaded loop cache. Comparing the energy consumption of the presented approach against that of a preloaded loop cache, an average reduction of 9% and 29% in processor cycles and instruction-memory energy, respectively, is reported Manish Verma, Lars Wehmeyer, Peter Marwedel |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 3 |
| 2006 | Overlay techniques for scratchpad memories in low power embedded processorsabstractEnergy consumption is one of the important parameters to be optimized during the design of portable embedded systems. Thus, most of the contemporary portable devices feature low-power processors coupled with on-chip memories (e.g., caches, scratchpads). Scratchpads are better than traditional caches in terms of power, performance, area, and predictability. However, unlike caches they depend upon software allocation techniques for their utilization. In this paper, we present scratchpad overlay techniques which analyze the application and insert instructions to dynamically copy both variables and code segments onto the scratchpad at runtime. We demonstrate that the problem of overlaying scratchpad is an extension of the Global Register Allocation problem. We present optimal and near-optimal approaches for solving the scratchpad overlay problem. The near-optimal scratchpad overlay approach achieves close to the optimal results and is significantly faster than the optimal approach. Our approaches improve upon the previously known static allocation technique for assigning both variables and code segments onto the scratchpad. The evaluation of the approaches for ARM7 processor reports, average energy, and execution time reductions of 26% and 14% over the static approach, respectively. Additional experiments comparing the overlayed scratchpads against unified caches of the same size, report average energy, and execution time savings of 20% and 10%, respectively. We also report data memory energy reductions of 45%-57% due to the insertion of a 1024-bytes scratchpad memory in the memory hierarchy of a digital signal processor (DSP) Manish Verma, Peter Marwedel |
IEEE Trans. Very Large Scale Integr. Syst. | 2 |
| 2005 | Influence of Memory Hierarchies on Predictability for Time Constrained Embedded SoftwareabstractSafety-critical embedded systems having to meet real-time constraints are expected to be highly predictable in order to guarantee at design time that certain timing deadlines will always be met. This requirement usually prevents designers from utilizing caches due to their highly dynamic, thus hardly predictable, behavior. The integration of scratchpad memories represents an alternative approach which allows the system to benefit from a performance gain comparable to that of caches, while at the same time maintaining predictability. We compare the impact of scratchpad memories and caches on worst case execution time (WCET) analysis results. We show that caches, despite requiring complex techniques, can have a negative impact on the predicted WCET while the estimated WCET for scratchpad memories scales with the achieved performance gain at no extra analysis cost. Lars Wehmeyer, Peter Marwedel |
DATE | 2 |
| 2004 | Compiler based exploration of DSP energy savings by SIMD operations
Markus Lorenz, Peter Marwedel, Thorsten Dräger, Gerhard P. Fettweis, Rainer Leupers |
ASP-DAC | 2 |
| 2004 | Fast, predictable and low energy memory references through architecture-aware compilation
Peter Marwedel, Lars Wehmeyer, Manish Verma, Stefan Steinke, Urs Helmig |
ASP-DAC | 1 |
| 2004 | Phase Coupled Code Generation for DSPs Using a Genetic AlgorithmabstractThe growing use of digital signal processors (DSPs) in embedded systems necessitates the use of optimizing compilers supporting special hardware features. Due to the irregular architectures present in today's DSPs there is a need of compilers which are capable of performing a phase coupling of the highly interdependent code generation subtasks and a graph based code selection. In this paper we present a code generator which performs a graph based code selection and a complete phase coupling of code selection, instruction scheduling (including compaction) and register allocation. In addition, our code generator takes into account effects of the subsequent address code generation phase. In order to solve the phase coupling problem and to handle the problem complexity, our code generator is based on a genetic algorithm. Experimental results for several benchmarks and an MP3 application for two DSPs show the effectiveness and the retargetability of our approach. Using the presented techniques, the number of execution cycles is reduced by 51 % on average for the M3-DSP and by 38% on average for the ADSP2100 compared to standard techniques. Markus Lorenz, Peter Marwedel |
DATE | 2 |
| 2004 | Cache-Aware Scratchpad Allocation AlgorithmabstractIn the context of portable embedded systems, reducing energy is one of the prime objectives. Most high-end embedded microprocessors include onchip instruction and data caches, along with a small energy efficient scratchpad. Previous approaches for utilizing scratchpad did not consider caches and hence fail for the au courant architecture. In the presented work, we use the scratchpad for storing instructions and propose a generic cache aware scratchpad allocation (CASA) algorithm. We report an average reduction of 8-29% in instruction memory energy consumption compared to a previously published technique for benchmarks from the mediabench suite. The scratchpad in the presented architecture is similar to a preloaded loop cache. Comparing the energy consumption of our approach against preloaded loop caches, we report average energy savings of 20-44%. Manish Verma, Lars Wehmeyer, Peter Marwedel |
DATE | 3 |
| 2003 | Data partitioning for maximal scratchpad usageabstractThe energy consumption for Mobile Embedded Systems is a limiting factor because of today's battery capacities. The memory subsystem consumes a large chunk of the energy, necessitating its efficient utilization. Energy efficient scratchpads are thus becoming common, though unlike caches they require to be explicitly utilized. In this paper, an algorithm integrated into a compiler is presented which analyzes the application, partitions an array variable whenever its beneficial, appropriately modifies the application and selects the best set of variables and program parts to be placed onto the scratchpad. Results show an energy improvement between 5.7% and 17.6% for a variety of applications against a previously known algorithm. Manish Verma, Stefan Steinke, Peter Marwedel |
ASP-DAC | 3 |
| 2003 | Control Flow Driven Splitting of Loop Nests at the Source Code Level
Heiko Falk, Peter Marwedel |
DATE | 2 |
| 2002 | Assigning Program and Data Objects to Scratchpad for Energy ReductionabstractThe number of embedded systems is increasing and a remarkable percentage is designed as mobile applications. For the latter, energy consumption is a limiting factor because of today's battery capacities. Besides the processor, memory accesses consume a high amount of energy. The use of additional less power hungry memories like caches or scratchpads is thus common. Caches incorporate the hardware control logic for moving data in and out automatically. On the other hand, this logic requires chip area and energy. A scratchpad memory is much more energy efficient, but there is a need for software control of its content. In this paper, an algorithm integrated into a compiler is presented which analyses the application and selects program and data parts which are placed into the scratchpad. Comparisons against a cache solution show remarkable advantages between 12% and 43% in energy consumption for designs of the same memory size. Stefan Steinke, Lars Wehmeyer, Bo-Sik Lee, Peter Marwedel |
DATE | 4 |
| 2002 | Embedded Software: How To Make It Efficient?abstractThis paper stresses the importance of designing efficient embedded software and it provides a global view of some of the techniques that have been developed to meet this goal. These techniques include high-level transformations, compiler optimizations reducing the energy consumption of embedded programs and optimizations exploiting architectural features of embedded processors. Such optimizations lead to significant reductions of the execution time, the required energy and the memory size of embedded applications. Despite this, they can hardly be found in any available compiler. Peter Marwedel |
DSD | 1 |
| 2001 | Optimized address assignment for DSPs with SIMD memory accessesabstractThis paper deals with address assignment in code generation for digital signal processors (DSPs) with SIMD (single instruction multiple data) memory accesses. In these processors data are organized in groups (or partitions), whose elements share one common memory address. In order to optimize program performance for processors with such memory architectures it is important to have a suitable memory layout of the variables. We propose a two-step address assignment technique for scalar variables using a genetic algorithm based partitioning method and a graph based heuristic which makes use of available DSP address generation hardware. We show that our address assignment techniques lead to a significant code quality improvement compared to heuristics. Markus Lorenz, David Koffmann, Steven Bashford, Rainer Leupers, Peter Marwedel |
ASP-DAC | 5 |
| 2001 | Low-Energy DSP Code Generation Using a Genetic AlgorithmabstractThis paper deals with low-energy code generation for a highly optimized digital signal processor designed for mobile communication applications. We present a genetic algorithm based code generator (GCG), and an instruction-level power model for this processor. Our code generator is capable of reducing the power dissipation of target applications by means of two techniques. First, GCG minimizes the number of memory accesses by using a special list-scheduling algorithm. This technique makes it possible to perform graph based code selection and to take into account the high interdependencies of the sub-tasks of code generation by phase coupling. In addition, GCG optimizes the scheduling of processor instructions with respect to the instruction-level power model based on a gate level simulation. Experimental results for several benchmarks show the effectiveness of our approach. Markus Lorenz, Rainer Leupers, Peter Marwedel, Thorsten Dräger, Gerhard P. Fettweis |
ICCD | 3 |
| 2001 | Guest editorial
Peter Marwedel |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 1 |
| 2001 | Analysis of the influence of register file size on energyconsumption, code size, and execution timeabstractInterest in low-power embedded systems has increased considerably in the past few years. To produce low-power code and to allow an estimation of power consumption of software running on embedded systems, a power model was developed based on physical measurement using an evaluation board and integrated into a compiler and profiler. The compiler uses the power information to choose instruction sequences consuming less power, whereas the profiler gives information about the total power consumed during execution of the generated program. The used compiler is parameterized such that, e.g., the register file size may be changed. The resulting code is evaluated with respect to code size, performance, and power consumption for different register file sizes. The extracted information is especially useful during application analysis and architecture space exploration in application-specific integrated processor (ASIP) design. Our analysis gives the designer the ability to estimate the desirable register file size for an ASIP design. The size of the register file should be considered as a design parameter since it has a strong impact on the energy consumption of embedded systems. Lars Wehmeyer, Manoj Kumar Jain, Stefan Steinke, Peter Marwedel, M. Balakrishnan |
IEEE Trans. Comput. Aided Des. Integr. Circuits Syst. | 4 |
| 2000 | Guest EditorialabstractAs the trend toward comprehensive use of electronic information processing continues, more and more embedded systems are being designed and used.Examples of such systems include mobile telecommunication devices, information appliances, automotive electronic equipment, and information technology equipment in smart homes.These systems have a number of characteristics in common.Embedded systems typically meet the majority of the following criteria:• They have to meet hard deadlines for their response time.• They do not come with a keyboard, a large screen, and a mouse; they hide information processing from the user. Peter Marwedel |
ACM Trans. Design Autom. Electr. Syst. | 1 |
| 1999 | Function inlining under code size constraints for embedded processorsabstractFunction inlining is a compiler optimization that generally increases performance at the expense of larger code size. However, current inlining techniques do not meet the special demands in the design of embedded systems, since they are based on simple heuristics, and they generate code of unpredictable size. This paper presents a novel approach to function inlining in C compilers for embedded processors, which aims at maximum program speedup under a global limit on code size. The core of this approach is a branch-and-bound algorithm which allows one to quickly explore the large search space. In an application study, we show how this algorithm can be applied to maximize the execution speed of an application under a given code size constraint. Rainer Leupers, Peter Marwedel |
ICCAD | 2 |
| 1998 | Optimized Array Index Computation in DSP ProgramsabstractAn increasing number of components in embedded systems are implemented by software running on embedded processors. This trend creates a need for compilers for embedded processors capable of generating high quality machine code. Particularly for DSPs, such compilers are hardly available, and novel DSP-specific code optimization techniques are required. In this paper we focus on efficient address computation for array accesses in loops. Based on previous work, we present a new and optimal algorithm for address register allocation and provide an experimental evaluation of different algorithms. Furthermore, an efficient and close-to-optimum heuristic is proposed for large problems. Rainer Leupers, Anupam Basu, Peter Marwedel |
ASP-DAC | 3 |
| 1998 | Register-Constrained Address Computation in DSP ProgramsabstractThis paper describes a new code optimization technique for digital signal processors (DSPs). One important characteristic of DSP algorithms are iterative accesses to data array elements within loops. DSPs support efficient address computations for such array accesses by means of dedicated address generation units (AGUs). We present a heuristic technique which, given an AGU with a fixed number of address registers, minimizes the number of instructions needed for array address computations in a program loop. Anupam Basu, Rainer Leupers, Peter Marwedel |
DATE | 3 |
| 1998 | Synthesis of Communicating Controllers for Concurrent Hardware/Software SystemsabstractTwo main aspects in hardware/software co-design are hardware/software partitioning and co-synthesis. Most co-design approaches work only on one of these problems. In this paper, an approach coupling hardware/software partitioning and co-synthesis is presented, working fully-automatically. The techniques have been integrated in the co-design tool COOL supporting the complete design flow from system specification to board-level implementation for multi-processor and multi-ASIC target architectures for data-flow dominated applications. Ralf Niemann, Peter Marwedel |
DATE | 2 |
| 1997 | Processor-core based design and testabstractThis paper responds to the rapidly increasing use of various cores for implementing systems-on-a-chip. It specifically focusses on processor cores. We give some examples of cores, including DSP cores and application-specific instruction-set processors (ASIPs). We mention market trends for these components, and we touch design procedures, in particular the use of compilers. Finally, we discuss the problem of testing core-based designs. Existing solutions include boundary scan, embedded in-circuit emulation (ICE), the use of processor resources for stimuli/response compaction and self-test programs. Peter Marwedel |
ASP-DAC | 1 |
| 1997 | Built-in chaining: introducing complex components into architectural synthesisabstractExtends the set of library components which are usually considered in architectural synthesis by components with built-in chaining (BIC). For such components, the result of some internally computed arithmetic function is made available as an argument to some other function through a local connection. These components can be used to implement chaining in a data-path in a single component. Components with BIC are combinatorial circuits. They correspond to "complex gates" in logic synthesis. If compared to implementations with several components, components with BIC usually provide a denser layout, reduced power consumption and a shorter delay time. Multiplier/accumulators are the most prominent example of such components. Such components require new approaches for library mapping in architectural synthesis. In this paper, we describe an integer programming (IP) based approach taken in our OSCAR (Optimum Simultaneous sCheduling, Allocation and Resource assignment) synthesis system. Peter Marwedel, Birger Landwehr, Rainer Dömer |
ASP-DAC | 1 |
| 1997 | Code Generation for Core ProcessorsabstractThis tutorial responds to the rapidly increasing useof cores in general and of processor cores in particular for implementingsystems-on-a-chip. In the first part of this text, we willprovide a brief introduction to various cores. Applications can befound in most segments of the embedded systems market. Theseapplications demand for extreme efficiency, and in particular forefficient processor architectures and for efficient embedded software.In the second part of this text, we will show that current compilersdo not provide the required efficiency and we will give anoverview over new compiler optimization techniques, which aimat making assembly language programming for embedded softwareobsolete. These new techniques take advantage of the specialcharacteristics of embedded software and embedded architectures.Due to efficiency considerations, processor architectures optimizedfor application domains or even for particular applications areof interest. This results in a large number of architectures and instructionsets, leading to the requirement for retargeting compilersto those numerous architectures. In the final section of the tutorial,we will present techniques for retargeting compilers to newarchitectures easily. We will show, how compilers can be generatedfrom descriptions of processors. One of the approaches closesthe gap which so far existed between electronic CAD and compiler generation. Peter Marwedel |
DAC | 1 |
| 1997 | Time-constrained code compaction for DSPsabstractThis paper addresses instruction-level parallelism in code generation for digital signal processors (DSPs). In the presence of potential parallelism, the task of code generation includes code compaction, which parallelizes primitive processor operations under given dependency and resource constraints. Furthermore, DSP algorithms in most cases are required to guarantee real-time response. Since the exact execution speed of a DSP program is only known after compaction, real-time constraints should be taken into account during the compaction phase. While previous DSP code generators rely on rigid heuristics for compaction, we propose a novel approach to exact local code compaction based on an integer programming (IP) model, which handles time constraints. Due to a general problem formulation, the IP model also captures encoding restrictions and handles instructions having alternative encodings and side effects and therefore applies to a large class of instruction formats. Capabilities and limitations of our approach are discussed for different DSPs. Rainer Leupers, Peter Marwedel |
IEEE Trans. Very Large Scale Integr. Syst. | 2 |
| 1996 | Algorithms for address assignment in DSP code generationabstractThis paper presents DSP code optimization techniques, which originate from dedicated memory address generation hardware. We define a generic model of DSP address generation units. Based on this model we present efficient heuristics for computing memory layouts for program variables, which optimize utilization of parallel address generation units. Improvements and generalizations of previous work are described, and the efficacy of the proposed algorithms is demonstrated through experimental evaluation. Rainer Leupers, Peter Marwedel |
ICCAD | 2 |
| 1996 | Hardware-Software Co-Design for Test: It's the Last Straw!
J. El-Ziq, Najmi T. Jarwala, Niraj K. Jha, Peter Marwedel, Christos A. Papachristou, Janusz Rajski, John W. Sheppard |
VTS | 4 |
| 1995 | Using compilers for heterogeneous system design
Rainer Leupers, Peter Marwedel |
PACT | 2 |
| 1995 | Retargetable Self-Test Program Generation Using Constraint Logic ProgrammingabstractAbstract- This paper presents new techniques in two different areas. Firstly, it proposes a solution to the problem of testing embedded processors. Towards this end, it discusses the auto-matic generation of executable test programs from a specification of test patterns for processor components. Secondly, the paper shows how constraint logic programming (CLP) improves the software production process for design automation tools. The advantages of CLP languages include: built-in symbolic variables and the built-in support for constraints over finite domains such as integers and Booleans. 1. Ulrich Bieker, Peter Marwedel |
DAC | 2 |
| 1993 | Tree-based mapping of algorithms to predefined structuresabstractDue to the need for fast design cycles and low production cost, programmable targets like DSP processors are becoming increasingly popular. Design planning, detailed design as well as updating such designs requires mapping existing algorithms onto these targets. Instead of writing target-specific mappers, we propose using retargetable mappers. The technique reported in this paper is based on pattern matching. Binary code is generated as a result of this matching process. This paper describes the techniques of our mapper MSSV and identifies areas for improvements. As a result, it shows that efficient handling of alternative mappings is crucial for an acceptable performance. Peter Marwedel |
ICCAD | 1 |
| 1989 | Integrated Scheduling and Binding: A Synthesis Approach for Design Space ExplorationabstractSynthesis of digital systems, involves a number of tasks ranging from scheduling to generating interconnections. The interrelationship between these tasks implies that good designs can only be generated by considering the overall impact of a design decision. The approach presented in this paper provides a framework for integrating scheduling decisions with binding decisions. The methodology supports allocation of a wider mix of operator modules and covers the design space more effectively. The process itself can be described as incremental synthesis and is thus well-suited for applications involving partial pre-synthesized structures. M. Balakrishnan, Peter Marwedel |
DAC | 2 |
| 1989 | Verification of Hardware Descriptions by Retargetable Code GenerationabstractThis paper proposes a new method for hardware verification. The basic idea is the application of a retargetable compiler as verification tool. A retargetable compiler is able to compile programs into the machine code of a specified hardware (target). If the program is the complete behavioural specification of the target, the compiler can be used to verify that a properly programmed structure implements the behaviour. Methods, algorithms and applications of an existing retargetable compiler are described. Lothar Nowak, Peter Marwedel |
DAC | 2 |
| 1989 | Improving the performance of high-level synthesis
Peter Marwedel, Wolfgang Schenk |
Microprocessing and Microprogramming | 1 |
| 1986 | A new synthesis for the MIMOLA software systemabstractThe MIMOLA software system is a system for the design of digital processors. The system includes subsystems for retargetable microcode generation, automatic generation of self-test programs and a synthesis subsystem. This paper describes the synthesis part of the system, which accepts a PASCAL-like, high-level program as specification and produces a register transfer structure. Because of the complexity of this design process, a set of sub-problems is identified and algorithms for their solution are indicated. These algorithms include a flexible statement decomposition, statement scheduling, register assignment, module selection and optimizations of interconnections and instruction word length. Peter Marwedel |
DAC | 1 |
| 1986 | An algorithm for the synthesis of processor structures from behavioural specifications
Peter Marwedel |
Microprocessing and Microprogramming | 1 |
| 1984 | The mimola design system: Tools for the design of digital processors
Peter Marwedel |
DAC | 1 |
| 1979 | The MIMOLA design system: Detailed description of the software system
Peter Marwedel |
DAC | 1 |