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.

Andreas Sembrant

dblp:115/4866 · DBLP profile ↗
← Back
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

TopicWeightPapersLastEvidence papers
Memory systems › memory hierarchy
cache hierarchy
0.522017
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.422015
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.222014
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.212015
Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015
Processor architecture and microarchitecture
instruction scheduling
0.212015
Cost-effective speculative scheduling in high performance processors · ISCA 2015
Embedded and real-time systems › real-time scheduling
mixed-criticality scheduling
0.212015
Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015
Cloud and datacenter computing
resource allocation
0.212015
Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015
Processor architecture and microarchitecture › instruction scheduling
speculative scheduling
0.212015
Cost-effective speculative scheduling in high performance processors · ISCA 2015
Memory systems › memory interference
cache contention
0.212013
Modeling performance variation due to cache sharing · HPCA 2013
Energy-efficient computing › power management › memory power management
cache energy reduction
0.212013
TLC: a tag-less cache for reducing dynamic first level cache energy · MICRO 2013
Performance modeling and evaluation
performance variability
0.212013
Modeling performance variation due to cache sharing · HPCA 2013
Memory systems › cache design
tag-less cache
0.212013
TLC: a tag-less cache for reducing dynamic first level cache energy · MICRO 2013
Memory systems
cache coherence
0.112017
A Split Cache Hierarchy for Enabling Data-Oriented Optimizations · HPCA 2017
Memory systems › cache coherence
directory
0.112017
A Split Cache Hierarchy for Enabling Data-Oriented Optimizations · HPCA 2017
Memory systems
cache
0.112015
Cost-effective speculative scheduling in high performance processors · ISCA 2015
Memory systems › memory hierarchy › cache hierarchy
l1 cache
0.112015
Cost-effective speculative scheduling in high performance processors · ISCA 2015
Memory systems › memory access optimization
memory-level parallelism
0.112015
Long term parking (LTP): criticality-aware resource allocation in OOO processors · MICRO 2015
Memory systems › cache › multiprocessor cache
shared cache
0.012013
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
YearPublicationVenuePosition
2018 Behind the Scenes: Memory Analysis of Graphical Workloads on Tile-Based GPUs
abstract
Graphics 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
ISPASS2
2017 POSTER: Putting the G back into GPU/CPU Systems Research
abstract
Modern 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
PACT1
2017 A Split Cache Hierarchy for Enabling Data-Oriented Optimizations
abstract
Today'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
HPCA1
2016 Data placement across the cache hierarchy: Minimizing data movement with reuse-aware placement
abstract
Modern 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
ICCD1
2015 Cost-effective speculative scheduling in high performance processors
abstract
To 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
ISCA4
2015 Long term parking (LTP): criticality-aware resource allocation in OOO processors
abstract
Modern 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
MICRO1
2014 Navigating the cache hierarchy with a single lookup
abstract
Modern 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
ISCA1
2013 Modeling performance variation due to cache sharing
abstract
Shared 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
HPCA2
2013 TLC: a tag-less cache for reducing dynamic first level cache energy
abstract
First 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
MICRO1
2012 Phase guided profiling for fast cache modeling
abstract
Statistical 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
CGO1
2012 Power-Sleuth: A Tool for Investigating Your Program's Power Behavior
abstract
Modern 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
MASCOTS2
2012 Low Overhead Instruction-Cache Modeling Using Instruction Reuse Profiles
abstract
Performance 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-PAD2