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.

Vladimir Uzelac

dblp:04/4028 · DBLP profile ↗
← Back
8ranked-venue papers
7as 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 · 7 · 6 first-authorSoftware engineering, systems software and programming languages · 1 · 1 first-author

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
3 papers
Performance modeling and evaluation · 54% Processor architecture and microarchitecture · 22% Embedded and real-time systems · 12%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation
trace compression
0.322014
Using Branch Predictors and Variable Encoding for On-the-Fly Program Tracing · IEEE Trans. Computers 2014
Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems · IEEE Trans. Computers 2011
Processor architecture and microarchitecture › debugging support
hardware tracing
0.112011
Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems · IEEE Trans. Computers 2011
Performance modeling and evaluation
tracing
0.112011
Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems · IEEE Trans. Computers 2011
Embedded and real-time systems
program trace compression
0.112009
A real-time program trace compressor utilizing double move-to-front method · DAC 2009
Memory systems
cache
0.012011
Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems · IEEE Trans. Computers 2011
High-performance computing
communication trace collection
0.012009
A real-time program trace compressor utilizing double move-to-front method · DAC 2009
Electronic design automation
hardware verification and test
0.012009
A real-time program trace compressor utilizing double move-to-front method · DAC 2009

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

variable encoding · 0.2branch predictor structures · 0.2stream descriptor cache · 0.1last stream predictor · 0.1double move-to-front transformation · 0.1
YearPublicationVenuePosition
2014 Using Branch Predictors and Variable Encoding for On-the-Fly Program Tracing
abstract
Unobtrusive capturing of program execution traces in real-time is crucial for debugging many embedded systems. However, tracing even limited program segments is often cost-prohibitive, requiring wide trace ports and large on-chip trace buffers. This paper introduces a new cost-effective technique for capturing and compressing program execution traces on-the-fly. It relies on branch predictor-like structures in the trace module and corresponding software modules in the debugger to significantly reduce the number of events that need to be streamed out of the target system. Coupled with an effective variable encoding scheme that adapts to changing program patterns, our technique requires merely 0.029 bits per instruction of trace port bandwidth, providing a 34-fold improvement over the commercial state-of-the-art and a five-fold improvement over academic proposals, at the low cost of under 5,000 logic gates.
Vladimir Uzelac, Aleksandar Milenkovic, Milena Milenkovic, Martin Burtscher
IEEE Trans. Computers1
2013 Hardware-Based Load Value Trace Filtering for On-the-Fly Debugging
abstract
Capturing program and data traces during program execution unobtrusively on-the-fly is crucial in debugging and testing of cyber-physical systems. However, tracing a complete program unobtrusively is often cost-prohibitive, requiring large on-chip trace buffers and wide trace ports. This article describes a new hardware-based load data value filtering technique called Cache First-access Tracking. Coupled with an effective variable encoding scheme, this technique achieves a significant reduction of load data value traces, from 5.86 to 56.39 times depending on the data cache size, thus enabling cost-effective, unobtrusive on-the-fly tracing and debugging.
Vladimir Uzelac, Aleksandar Milenkovic
ACM Trans. Embed. Comput. Syst.1
2011 Caches and Predictors for Real-Time, Unobtrusive, and Cost-Effective Program Tracing in Embedded Systems
abstract
The increasing complexity of modern embedded computer systems makes software development and system verification the most critical steps in system development. To expedite verification and program debugging, chip manufacturers increasingly consider hardware infrastructure for program debugging and tracing, including logic to capture and filter traces, buffers to store traces, and a trace port through which the trace is read by the debug tools. In this paper, we introduce a new approach to capture and compress program execution traces in hardware. The proposed trace compressor encompasses two cost-effective structures, a stream descriptor cache, and a last stream predictor. Information about the program flow is translated into a sequence of hit and miss events in these structures, thus dramatically reducing the number of bits that need to be sent out of the chip. We evaluate the efficiency of the proposed mechanism by measuring the trace port bandwidth on a set of benchmark programs. Our mechanism requires only 0.15 bits/instruction/CPU on average on the trace port, which is a sixfold improvement over state-of-the-art commercial solutions. The trace compressor requires an on-chip area that is equivalent to one third of a 1 kilobyte cache and it allows for continual and unobtrusive program tracing in real time.
Aleksandar Milenkovic, Vladimir Uzelac, Milena Milenkovic, Martin Burtscher
IEEE Trans. Computers2
2010 Hardware-based data value and address trace filtering techniques
abstract
Capturing program and data traces during program execution unobtrusively in real-time is crucial in debugging and testing of cyber-physical systems. However, tracing a complete program unobtrusively is often cost-prohibitive, requiring large on-chip trace buffers and wide trace ports. Whereas program execution traces can be efficiently compressed in hardware, compression of data address and data value traces is much more challenging due to limited redundancy. In this paper we describe two hardware-based filtering techniques for data traces: cache first-access tracking for load data values and data address filtering using partial register-file replay. The results of our experimental analysis indicate that the proposed filtering techniques can significantly reduce the size of the data traces (~5 20 times for the load data value trace, depending on the data cache size; and ~5 times for the data address trace) at the cost of rather small hardware structures in the trace module.
Vladimir Uzelac, Aleksandar Milenkovic
CASES1
2010 Real-time unobtrusive program execution trace compression using branch predictor events
abstract
Unobtrusive capturing of program execution traces in real-time is crucial in debugging cyber-physical systems. However, tracing even limited program segments is often cost-prohibitive, requiring wide trace ports and large on-chip trace buffers. This paper introduces a new cost-effective technique for capturing and compressing program execution traces in real time. It uses branch predictor-like structures in the trace module to losslessly compress the traces. This approach results in high compression ratios because it only has to transmit misprediction events to the software debugger. Coupled with an effective variable encoding scheme, our technique requires merely 0.036 bits/instruction of trace port bandwidth (a 28-fold improvement over the commercial state-of-the-art) at a cost of roughly 5,200 logic gates.
Vladimir Uzelac, Aleksandar Milenkovic, Martin Burtscher, Milena Milenkovic
CASES1
2009 A real-time program trace compressor utilizing double move-to-front method
abstract
This paper introduces a new unobtrusive and cost-effective method for the capture and compression of program execution traces in real-time, which is based on a double move-to-front transformation. We explore its effectiveness and describe a cost-effective hardware implementation. The proposed trace compressor requires only 0.12 bits per instruction of trace port bandwidth, at the cost of 25K gates.
Vladimir Uzelac, Aleksandar Milenkovic
DAC1
2009 Real-time, unobtrusive, and efficient program execution tracing with stream caches and last stream predictors
abstract
This paper introduces a new hardware mechanism for capturing and compressing program execution traces unobtrusively in real-time. The proposed mechanism is based on two structures called stream cache and last stream predictor. We explore the effectiveness of a trace module based on these structures and analyze the design space. We show that our trace module, with less than 600 bytes of state, achieves a trace-port bandwidth of 0.15 bits/instruction/processor, which is over six times better than state-of-the-art commercial designs.
Vladimir Uzelac, Aleksandar Milenkovic, Milena Milenkovic, Martin Burtscher
ICCD1
2009 Experiment flows and microbenchmarks for reverse engineering of branch predictor structures
abstract
Insights into branch predictor organization and operation can be used in architecture-aware compiler optimizations to improve program performance. Unfortunately, such details are rarely publicly disclosed. In this paper we introduce a set of experiment flows and corresponding microbenchmarks for reverse engineering cache-like branch target and outcome predictor structures, indexed by branch address or program path information. The experiment flows are demonstrated on the Intel Pentium M branch predictor. We have been able to determine the size, organization, internal operation, and interactions between various hardware structures used in the Pentium M branch predictor, namely the branch target buffer, indirect branch target buffer, loop branch predictor buffer, global predictor, and bimodal predictor. These findings have been validated using a functional PIN model.
Vladimir Uzelac, Aleksandar Milenkovic
ISPASS1