EDBT 2026 Demo / reviewers in the wild / expert
Andreas Sembrant
dblp:115/4866
· DBLP profile ↗
12ranked-venue papers
7as first author
0since 2021 · last 2018
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 10 · 7 first-authorSoftware engineering, systems software and programming languages · 4 · 2 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
6 papers |
Memory systems · 44% Processor architecture and microarchitecture · 33% Cloud and datacenter computing · 7% |
Topics — the 18 heaviest of 18, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Memory systems › memory hierarchy
cache hierarchy |
0.5 | 2 | 2017 | A Split Cache Hierarchy for Enabling Data-Oriented Optimizations · HPCA 2017 Navigating the cache hierarchy with a single lookup · ISCA 2014 |
Processor architecture and microarchitecture
out-of-order execution |
0.4 | 2 | 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015 Cost-effective speculative scheduling in high performance processors · ISCA 2015 |
Memory systems
cache design |
0.2 | 2 | 2014 | TLC: a tag-less cache for reducing dynamic first level cache energy · MICRO 2013 Navigating the cache hierarchy with a single lookup · ISCA 2014 |
Processor architecture and microarchitecture
instruction-level parallelism |
0.2 | 1 | 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015 |
Processor architecture and microarchitecture
instruction scheduling |
0.2 | 1 | 2015 | Cost-effective speculative scheduling in high performance processors · ISCA 2015 |
Embedded and real-time systems › real-time scheduling
mixed-criticality scheduling |
0.2 | 1 | 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015 |
Cloud and datacenter computing
resource allocation |
0.2 | 1 | 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015 |
Processor architecture and microarchitecture › instruction scheduling
speculative scheduling |
0.2 | 1 | 2015 | Cost-effective speculative scheduling in high performance processors · ISCA 2015 |
Memory systems › memory interference
cache contention |
0.2 | 1 | 2013 | Modeling performance variation due to cache sharing · HPCA 2013 |
Energy-efficient computing › power management › memory power management
cache energy reduction |
0.2 | 1 | 2013 | TLC: a tag-less cache for reducing dynamic first level cache energy · MICRO 2013 |
Performance modeling and evaluation
performance variability |
0.2 | 1 | 2013 | Modeling performance variation due to cache sharing · HPCA 2013 |
Memory systems › cache design
tag-less cache |
0.2 | 1 | 2013 | TLC: a tag-less cache for reducing dynamic first level cache energy · MICRO 2013 |
Memory systems
cache coherence |
0.1 | 1 | 2017 | A Split Cache Hierarchy for Enabling Data-Oriented Optimizations · HPCA 2017 |
Memory systems › cache coherence
directory |
0.1 | 1 | 2017 | A Split Cache Hierarchy for Enabling Data-Oriented Optimizations · HPCA 2017 |
Memory systems
cache |
0.1 | 1 | 2015 | Cost-effective speculative scheduling in high performance processors · ISCA 2015 |
Memory systems › memory hierarchy › cache hierarchy
l1 cache |
0.1 | 1 | 2015 | Cost-effective speculative scheduling in high performance processors · ISCA 2015 |
Memory systems › memory access optimization
memory-level parallelism |
0.1 | 1 | 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015 |
Memory systems › cache › multiprocessor cache
shared cache |
0.0 | 1 | 2013 | Modeling performance variation due to cache sharing · HPCA 2013 |
Methods — techniques the papers use, named apart from their topics
simulation · 0.3criticality prediction · 0.2set-associative cache design · 0.2native execution profiling · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2018 | Behind the Scenes: Memory Analysis of Graphical Workloads on Tile-Based GPUsabstractGraphics rendering is a complex multi-step process whose data demands typically dominate memory system design in SoCs. GPUs create images by merging many simpler scenes for each frame. For performance, scenes are tiled into parallel tasks which produce different parts of the final output. This execution model results in complex memory behavior with bandwidth demands and data sharing varying over time, and which depends heavily on the structure of the application. To design systems that can efficiently accommodate and schedule these workloads we need to understand their behavior and diversity. In this work, we develop a quantitative characterization of the data demands of modern graphics rendering. Our approach uses an architecturally-independent analysis, identifying different types of data sharing present in the applications, independent of their scheduling. From this analysis, we present a limit study into the potential to improve memory system performance by tackling each type of data sharing. We see that there is the potential to reduce graphics bandwidth by 43% if we can take full advantage of data reuse between tasks and scenes within each frame. For the particularly complex benchmarks, capturing inter-task reuse alone has the potential to reduce bandwidth by 15% (up to 31%), while targeting interscene reuse could provide a savings of 60% (up to 75%). These insights provide us the opportunity to understand where we should focus design efforts on graphics memory systems. Germán Ceballos, Andreas Sembrant, Trevor E. Carlson, David Black-Schaffer |
ISPASS | 2 |
| 2017 | POSTER: Putting the G back into GPU/CPU Systems ResearchabstractModern SoCs contain several CPU cores and many GPU cores to execute both general purpose and highly-parallel graphics workloads. In many SoCs, more area is dedicated to graphics than to general purpose compute. Despite this, the micro-architecture research community primarily focuses on GPGPU and CPU-only research, and not on graphics (the primary workload for many SoCs). The main reason for this is the lack of efficient tools and simulators for modern graphics applications.This work focuses on the GPU's memory traffic generated by graphics. We describe a new graphics tracing framework and use it to both study graphics applications' memory behavior as well as how CPUs and GPUs affect system performance. Our results show that graphics applications exhibit a wide range of memory behavior between applications and across time, and slows down co-running SPEC applications by 59% on average. Andreas Sembrant, Trevor E. Carlson, Erik Hagersten, David Black-Schaffer |
PACT | 1 |
| 2017 | A Split Cache Hierarchy for Enabling Data-Oriented OptimizationsabstractToday's caches tightly couple data with metadata (Address Tags) at the cache line granularity. The co-location of data and its identifying metadata means that they require multiple approaches to locate data (associative way searches and level-by-level searches), evict data (coherent writebacks buffers and associative level-by-level searches) and keep data coherent (directory indirections and associative level-by-level searches). This results in complex implementations with many corner cases, increased latency and energy, and limited flexibility for data optimizations. We propose splitting the metadata and data into two separate structures: a metadata hierarchy and a data hierarchy. The metadata hierarchy tracks the location of the data in the data hierarchy. This allows us to easily apply many different optimizations to the data hierarchy, including smart data placement, dynamic coherence, and direct accesses. The new split cache hierarchy, Direct-to-Master (D2M), provides a unified mechanism for cache searching, eviction, and coherence, that eliminates level-by-level data movement and searches, associative cache address tags comparisons and about 90% of the indirections through a central directory. Optimizations such as moving LLC slices to the near-side of the network and private/shared data classification can easily be built on top off D2M to further improve its efficiency. This approach delivers a 54% improvement in cache hierarchy EDP vs. a mobile processor and 40% vs. a server processor, reduces network traffic by an average of 70%, reduces the L1 miss latency by 30% and is especially effective for workloads with high cache pressure. Andreas Sembrant, Erik Hagersten, David Black-Schaffer |
HPCA | 1 |
| 2016 | Data placement across the cache hierarchy: Minimizing data movement with reuse-aware placementabstractModern processors employ multiple levels of caching to address bandwidth, latency and performance requirements. The behavior of these hierarchies is determined by their approach to data placement and data eviction. Recent research has developed many intelligent data eviction policies, but cache hierarchies remain primarily either exclusive or inclusive with regards to data placement. This means that today's cache hierarchies typically install accessed data into all cache levels at one point or another, regardless of whether the data is reused in each level. Such data movement wastes energy by installing data into cache levels where the data is not reused. Andreas Sembrant, Erik Hagersten, David Black-Schaffer |
ICCD | 1 |
| 2015 | Cost-effective speculative scheduling in high performance processorsabstractTo maximize performance, out-of-order execution processors sometimes issue instructions without having the guarantee that operands will be available in time; e.g. loads are typically assumed to hit in the L1 cache and dependent instructions are issued accordingly. This form of speculation -- that we refer to as speculative scheduling -- has been used for two decades in real processors, but has received little attention from the research community. Arthur Perais, André Seznec, Pierre Michaud, Andreas Sembrant, Erik Hagersten |
ISCA | 4 |
| 2015 | Long term parking (LTP): criticality-aware resource allocation in OOO processorsabstractModern processors employ large structures (IQ, LSQ, register file, etc.) to expose instruction-level parallelism (ILP) and memory-level parallelism (MLP). These resources are typically allocated to instructions in program order. This wastes resources by allocating resources to instructions that are not yet ready to be executed and by eagerly allocating resources to instructions that are not part of the application's critical path. Andreas Sembrant, Trevor E. Carlson, Erik Hagersten, David Black-Schaffer, Arthur Perais, André Seznec, Pierre Michaud |
MICRO | 1 |
| 2014 | Navigating the cache hierarchy with a single lookupabstractModern processors optimize for cache energy and performance by employing multiple levels of caching that address bandwidth, low-latency and high-capacity. A request typically traverses the cache hierarchy, level by level, until the data is found, thereby wasting time and energy in each level. In this paper, we present the Direct-to-Data (D2D) cache that locates data across the entire cache hierarchy with a single lookup. Andreas Sembrant, Erik Hagersten, David Black-Schaffer |
ISCA | 1 |
| 2013 | Modeling performance variation due to cache sharingabstractShared cache contention can cause significant variability in the performance of co-running applications from run to run. This variability arises from different overlappings of the applications' phases, which can be the result of offsets in application start times or other delays in the system. Understanding this variability is important for generating an accurate view of the expected impact of cache contention. However, variability effects are typically ignored due to the high overhead of modeling or simulating the many executions needed to expose them. This paper introduces a method for efficiently investigating the performance variability due to cache contention. Our method relies on input data captured from native execution of applications running in isolation and a fast, phase-aware, cache sharing performance model. This allows us to assess the performance interactions and bandwidth demands of co-running applications by quickly evaluating hundreds of overlappings. We evaluate our method on a contemporary multicore machine and show that performance and bandwidth demands can vary significantly across runs of the same set of co-running applications. We show that our method can predict application slowdown with an average relative error of 0.41% (maximum 1.8%) as well as bandwidth consumption. Using our method, we can estimate an application pair's performance variation 213× faster, on average, than native execution. Andreas Sandberg, Andreas Sembrant, Erik Hagersten, David Black-Schaffer |
HPCA | 2 |
| 2013 | TLC: a tag-less cache for reducing dynamic first level cache energyabstractFirst level caches are performance-critical and are therefore optimized for speed. To do so, modern processors reduce the miss ratio by using set-associative caches and optimize latency by reading all ways in parallel with the TLB and tag lookup. However, this wastes energy since only data from one way is actually used. Andreas Sembrant, Erik Hagersten, David Black-Schaffer |
MICRO | 1 |
| 2012 | Phase guided profiling for fast cache modelingabstractStatistical cache models are powerful tools for understanding application behavior as a function of cache allocation. However, previous techniques have modeled only the average application behavior, which hides the effect of program variations over time. Without detailed time-based information, transient behavior, such as exceeding bandwidth or cache capacity, may be missed. Yet these events, while short, often play a disproportionate role and are critical to understanding program behavior. Andreas Sembrant, David Black-Schaffer, Erik Hagersten |
CGO | 1 |
| 2012 | Power-Sleuth: A Tool for Investigating Your Program's Power BehaviorabstractModern processors support aggressive power saving techniques to reduce energy consumption. However, traditional profiling techniques have mainly focused on performance, which does not accurately reflect the power behavior of applications. For example, the longest running function is not always the most energy-hungry function. Thus software developers cannot always take full advantage of these power-saving features. We present Power-Sleuth, a power/performance estimation tool which is able to provide a full description of an application's behavior for any frequency from a single profiling run. The tool combines three techniques: a power and a performance estimation model with a program phase detection technique to deliver accurate, per-phase, per-frequency analysis. Our evaluation (against real power measurements) shows that we can accurately predict power and performance across different frequencies with average errors of 3.5% and 3.9% respectively. Vasileios Spiliopoulos 0001, Andreas Sembrant, Stefanos Kaxiras |
MASCOTS | 2 |
| 2012 | Low Overhead Instruction-Cache Modeling Using Instruction Reuse ProfilesabstractPerformance loss caused by L1 instruction cache misses varies between different architectures and cache sizes. For processors employing power-efficient in-order execution with small caches, performance can be significantly affected by instruction cache misses. The growing use of low-power multi-threaded CPUs (with shared L1 caches) in general purpose computing platforms requires new efficient techniques for analyzing application instruction cache usage. Such insight can be achieved using traditional simulation technologies modeling several cache sizes, but the overhead of simulators may be prohibitive for practical optimization usage. In this paper we present a statistical method to quickly model application instruction cache performance. Most importantly we propose a very low-overhead sampling mechanism to collect runtime data from the application's instruction stream. This data is fed to the statistical model which accurately estimates the instruction cache miss ratio for the sampled execution. Our sampling method is about 10x faster than previously suggested sampling approaches, with average runtime overhead as low as 25% over native execution. The architecturally-independent data collected is used to accurately model miss ratio for several cache sizes simultaneously, with average absolute error of 0.2%. Finally, we show how our tool can be used to identify program phases with large instruction cache footprint. Such phases can then be targeted to optimize for reduced code footprint. Muneeb Khan, Andreas Sembrant, Erik Hagersten |
SBAC-PAD | 2 |