Demo Data from EDBT 2026 / reviewers in the wild / expert
Almutaz Adileh
dblp:01/11029
· DBLP profile ↗
9ranked-venue papers
3as first author
0since 2021 · last 2020
0000-0002-4656-6523ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 8 · 2 first-authorSoftware engineering, systems software and programming languages · 4 · 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
8 papers |
Processor architecture and microarchitecture · 42% Memory systems · 30% Performance modeling and evaluation · 12% |
Topics — the 23 heaviest of 25, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Performance modeling and evaluation
analytical modeling |
0.4 | 1 | 2020 | MDM: The GPU Memory Divergence Model · MICRO 2020 |
Processor architecture and microarchitecture › out-of-order execution
out-of-order core |
0.4 | 1 | 2020 | Precise Runahead Execution · HPCA 2020 |
Memory systems › cache
prefetching |
0.4 | 1 | 2020 | Precise Runahead Execution · HPCA 2020 |
Processor architecture and microarchitecture › latency hiding
runahead execution |
0.4 | 1 | 2020 | Precise Runahead Execution · HPCA 2020 |
Memory systems › memory hierarchy › cache hierarchy
last-level cache |
0.4 | 2 | 2019 | Adaptive memory-side last-level GPU caching · ISCA 2019 Scale-out processors · ISCA 2012 |
Memory systems › memory hierarchy
cache hierarchy |
0.4 | 1 | 2019 | Adaptive memory-side last-level GPU caching · ISCA 2019 |
Memory systems › cache design
memory-side cache |
0.4 | 1 | 2019 | Adaptive memory-side last-level GPU caching · ISCA 2019 |
Processor architecture and microarchitecture
branch prediction |
0.3 | 1 | 2018 | Architectural Support for Probabilistic Branches · MICRO 2018 |
Performance modeling and evaluation
workload characterization |
0.3 | 2 | 2012 | Quantifying the Mismatch between Emerging Scale-Out Applications and Modern Processors · ACM Trans. Comput. Syst. 2012 Clearing the clouds: a study of emerging scale-out workloads on modern hardware · ASPLOS 2012 |
Energy-efficient computing › energy-aware scheduling
big.LITTLE scheduling |
0.2 | 1 | 2016 | Maximizing Heterogeneous Processor Performance Under Power Constraints · ACM Trans. Archit. Code Optim. 2016 |
Processor architecture and microarchitecture › multicore design
heterogeneous multicore |
0.2 | 1 | 2016 | Maximizing Heterogeneous Processor Performance Under Power Constraints · ACM Trans. Archit. Code Optim. 2016 |
Memory systems
cache |
0.2 | 2 | 2020 | MDM: The GPU Memory Divergence Model · MICRO 2020 Scale-out processors · ISCA 2012 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 1 | 2012 | Scale-out processors · ISCA 2012 |
Processor architecture and microarchitecture › microprocessor
datacenter processor |
0.1 | 1 | 2012 | Scale-out processors · ISCA 2012 |
Cloud and datacenter computing › datacenter workloads
scale-out workloads |
0.1 | 1 | 2012 | Clearing the clouds: a study of emerging scale-out workloads on modern hardware · ASPLOS 2012 |
GPUs and heterogeneous computing
GPU computing |
0.1 | 1 | 2020 | MDM: The GPU Memory Divergence Model · MICRO 2020 |
Processor architecture and microarchitecture › register file
physical register file |
0.1 | 1 | 2020 | Precise Runahead Execution · HPCA 2020 |
Processor architecture and microarchitecture › out-of-order execution
register renaming |
0.1 | 1 | 2020 | Precise Runahead Execution · HPCA 2020 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.1 | 1 | 2019 | Adaptive memory-side last-level GPU caching · ISCA 2019 |
Energy-efficient computing › datacenter power management
power-constrained scheduling |
0.1 | 1 | 2016 | Maximizing Heterogeneous Processor Performance Under Power Constraints · ACM Trans. Archit. Code Optim. 2016 |
Electronic design automation › high-level synthesis
scheduling |
0.1 | 1 | 2016 | Maximizing Heterogeneous Processor Performance Under Power Constraints · ACM Trans. Archit. Code Optim. 2016 |
Energy-efficient computing
datacenter energy efficiency |
0.0 | 1 | 2012 | Clearing the clouds: a study of emerging scale-out workloads on modern hardware · ASPLOS 2012 |
Interconnection networks and networks-on-chip
on-chip interconnect |
0.0 | 1 | 2012 | Scale-out processors · ISCA 2012 |
Methods — techniques the papers use, named apart from their topics
queueing model · 0.4binary instrumentation · 0.4private vs shared cache · 0.4cache partitioning · 0.4hardware/software cooperative technique · 0.3linear programming · 0.2workload characterization · 0.1simulation · 0.1performance-density metric · 0.1benchmarking · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | Precise Runahead ExecutionabstractRunahead execution improves processor performance by accurately prefetching long-latency memory accesses. When a long-latency load causes the instruction window to fill up and halt the pipeline, the processor enters runahead mode and keeps speculatively executing code to trigger accurate prefetches. A recent improvement tracks the chain of instructions that leads to the long-latency load, stores it in a runahead buffer, and executes only this chain during runahead execution, with the purpose of generating more prefetch requests. Unfortunately, all prior runahead proposals have shortcomings that limit performance and energy efficiency because they release processor state when entering runahead mode and then need to refill the pipeline to restart normal operation. Moreover, runahead buffer limits prefetch coverage by tracking only a single chain of instructions that leads to the same long-latency load. We propose precise runahead execution (PRE) which builds on the key observation that when entering runahead mode, the processor has enough issue queue and physical register file resources to speculatively execute instructions. This mitigates the need to release and re-fill processor state in the ROB, issue queue, and physical register file. In addition, PRE pre-executes only those instructions in runahead mode that lead to full-window stalls, using a novel register renaming mechanism to quickly free physical registers in runahead mode, further improving efficiency and effectiveness. Finally, PRE optionally buffers decoded runahead micro-ops in the frontend to save energy. Our experimental evaluation using a set of memory-intensive applications shows that PRE achieves an additional 18.2% performance improvement over the recent runahead proposals while at the same time reducing energy consumption by 6.8%. Ajeya Naithani, Josué Feliu, Almutaz Adileh, Lieven Eeckhout |
HPCA | 3 |
| 2020 | MDM: The GPU Memory Divergence ModelabstractAnalytical models enable architects to carry out early-stage design space exploration several orders of magnitude faster than cycle-accurate simulation by capturing first-order performance phenomena with a set of mathematical equations. However, this speed advantage is void if the conclusions obtained through the model are misleading due to model inaccuracies. Therefore, a practical analytical model needs to be sufficiently accurate to capture key performance trends across a broad range of applications and architectural configurations.In this work, we focus on analytically modeling the performance of emerging memory-divergent GPU-compute applications which are common in domains such as machine learning and data analytics. The poor spatial locality of these applications leads to frequent L1 cache blocking due to the application issuing significantly more concurrent cache misses than the cache can support, which cripples the GPU’s ability to use Thread-Level Parallelism (TLP) to hide memory latencies. We propose the GPU Memory Divergence Model (MDM) which faithfully captures the key performance characteristics of memory-divergent applications, including memory request batching and excessive NoC/DRAM queueing delays. We validate MDM against detailed simulation and real hardware, and report substantial improvements in (1) scope: the ability to model prevalent memory-divergent applications in addition to non-memory divergent applications; (2) practicality: 6.1× faster by computing model inputs using binary instrumentation as opposed to functional simulation; and (3) accuracy: 13.9% average prediction error versus 162% for the state-of-the-art GPUMech model. Lu Wang 0019, Magnus Jahre, Almutaz Adileh, Lieven Eeckhout |
MICRO | 3 |
| 2019 | Adaptive memory-side last-level GPU cachingabstractEmerging GPU applications exhibit increasingly high computation demands which has led GPU manufacturers to build GPUs with an increasingly large number of streaming multiprocessors (SMs). Providing data to the SMs at high bandwidth puts significant pressure on the memory hierarchy and the Network-on-Chip (NoC). Current GPUs typically partition the memory-side last-level cache (LLC) in equally-sized slices that are shared by all SMs. Although a shared LLC typically results in a lower miss rate, we find that for workloads with high degrees of data sharing across SMs, a private LLC leads to a significant performance advantage because of increased bandwidth to replicated cache lines across different LLC slices. Xia Zhao 0004, Almutaz Adileh, Zhibin Yu 0001, Zhiying Wang 0003, Aamer Jaleel, Lieven Eeckhout |
ISCA | 2 |
| 2019 | Racing to Hardware-Validated SimulationabstractProcessor simulators rely on detailed timing models of the processor pipeline to evaluate performance. The diversity in real-world processor designs mandates building flexible simulators that expose parts of the underlying model to the user in the form of configurable parameters. Consequently, the accuracy of modeling a real processor relies on both the accuracy of the pipeline model itself, and the accuracy of adjusting the configuration parameters according to the modeled processor. Unfortunately, processor vendors publicly disclose only a subset of their design decisions, raising the probability of introducing specification inaccuracies when modeling these processors. Inaccurately tuning model parameters deviates the simulated processor from the actual one. In the worst case, using improper parameters may lead to imbalanced pipeline models compromising the simulation output. Therefore, simulation models should be hardware-validated before using them for performance evaluation. As processors increase in complexity and diversity, validating a simulator model against real hardware becomes increasingly more challenging and time-consuming. In this work, we propose a methodology for validating simulation models against real hardware. We create a framework that relies on micro-benchmarks to collect performance statistics on real hardware, and machine learning-based algorithms to fine-tune the unknown parameters based on the accumulated statistics. We overhaul the Sniper simulator to support the ARM AArch64 instruction-set architecture (ISA), and introduce two new timing models for ARM-based in-order and out-of-order cores. Using our proposed simulator validation framework, we tune the in-order and out-of-order models to match the performance of a real-world implementation of the Cortex-A53 and Cortex-A72 cores with an average error of 7% and 15%, respectively, across a set of SPEC CPU2017 benchmarks. Almutaz Adileh, Cecilia González-Alvarez, Juan Miguel De Haro Ruiz, Lieven Eeckhout |
ISPASS | 1 |
| 2018 | Architectural Support for Probabilistic BranchesabstractA plethora of research efforts have focused on fine-tuning branch predictors to increasingly higher levels of accuracy. However, several important optimization, financial, and statistical data analysis algorithms rely on probabilistic computation. These applications draw random values from a distribution and steer control flow based on those values. Such probabilistic branches are challenging to predict because of their inherent probabilistic nature. As a result, probabilistic codes significantly suffer from branch mispredictions. This paper proposes Probabilistic Branch Support (PBS), a hardware/software cooperative technique that leverages the observation that the outcome of probabilistic branches needs to be correct only in a statistical sense. PBS stores the outcome and the probabilistic values that lead to the outcome of the current execution to direct the next execution of the probabilistic branch, thereby completely removing the penalty for mispredicted probabilistic branches. PBS relies on marking probabilistic branches in software for hardware to exploit. Our evaluation shows that PBS improves MPKI by 45% on average (and up to 99%) and IPC by 6.7% (up to 17%) over the TAGE-SC-L predictor. PBS requires 193 bytes of hardware overhead and introduces statistically negligible algorithmic inaccuracy. Almutaz Adileh, David J. Lilja, Lieven Eeckhout |
MICRO | 1 |
| 2016 | Maximizing Heterogeneous Processor Performance Under Power ConstraintsabstractHeterogeneous processors (e.g., ARM’s big.LITTLE) improve performance in power-constrained environments by executing applications on the ‘little’ low-power core and move them to the ‘big’ high-performance core when there is available power budget. The total time spent on the big core depends on the rate at which the application dissipates the available power budget. When applications with different big-core power consumption characteristics concurrently execute on a heterogeneous processor, it is best to give a larger share of the power budget to applications that can run longer on the big core, and a smaller share to applications that run for a very short duration on the big core. This article investigates mechanisms to manage the available power budget on power-constrained heterogeneous processors. We show that existing proposals that schedule applications onto a big core based on various performance metrics are not high performing, as these strategies do not optimize over an entire power period and are unaware of the applications’ power/performance characteristics. We use linear programming to design the DPDP power management technique, which guarantees optimal performance on heterogeneous processors. We mathematically derive a metric (Delta Performance by Delta Power) that takes into account the power/performance characteristics of each running application and allows our power-management technique to decide how best to distribute the available power budget among the co-running applications at minimal overhead. Our evaluations with a 4-core heterogeneous processor consisting of big.LITTLE pairs show that DPDP improves performance by 16% on average and up to 40% compared to a strategy that globally and greedily optimizes the power budget. We also show that DPDP outperforms existing heterogeneous scheduling policies that use performance metrics to decide how best to schedule applications on the big core. Almutaz Adileh, Stijn Eyerman, Aamer Jaleel, Lieven Eeckhout |
ACM Trans. Archit. Code Optim. | 1 |
| 2012 | Clearing the clouds: a study of emerging scale-out workloads on modern hardwareabstractEmerging scale-out workloads require extensive amounts of computational resources. However, data centers using modern server hardware face physical constraints in space and power, limiting further expansion and calling for improvements in the computational density per server and in the per-operation energy. Continuing to improve the computational resources of the cloud while staying within physical constraints mandates optimizing server efficiency to ensure that server hardware closely matches the needs of scale-out workloads. Michael Ferdman, Almutaz Adileh, Yusuf Onur Koçberber, Stavros Volos, Mohammad Alisafaee, Djordje Jevdjic, Cansu Kaynak, Adrian Daniel Popescu, Anastasia Ailamaki, Babak Falsafi |
ASPLOS | 2 |
| 2012 | Scale-out processorsabstractScale-out datacenters mandate high per-server throughput to get the maximum benefit from the large TCO investment. Emerging applications (e.g., data serving and web search) that run in these datacenters operate on vast datasets that are not accommodated by on-die caches of existing server chips. Large caches reduce the die area available for cores and lower performance through long access latency when instructions are fetched. Performance on scale-out workloads is maximized through a modestly-sized last-level cache that captures the instruction footprint at the lowest possible access latency. In this work, we introduce a methodology for designing scalable and efficient scale-out server processors. Based on a metric of performance-density, we facilitate the design of optimal multi-core configurations, called pods. Each pod is a complete server that tightly couples a number of cores to a small last-level cache using a fast interconnect. Replicating the pod to fill the die area yields processors which have optimal performance density, leading to maximum per-chip throughput. Moreover, as each pod is a stand-alone server, scale-out processors avoid the expense of global (i.e., interpod) interconnect and coherence. These features synergistically maximize throughput, lower design complexity, and improve technology scalability. In 20nm technology, scaleout chips improve throughput by 5x-6.5x over conventional and by 1.6x-1.9x over emerging tiled organizations. Pejman Lotfi-Kamran, Boris Grot, Michael Ferdman, Stavros Volos, Yusuf Onur Koçberber, Javier Picorel, Almutaz Adileh, Djordje Jevdjic, Sachin Idgunji, Emre Ozer 0001, Babak Falsafi |
ISCA | 7 |
| 2012 | Quantifying the Mismatch between Emerging Scale-Out Applications and Modern ProcessorsabstractEmerging scale-out workloads require extensive amounts of computational resources. However, data centers using modern server hardware face physical constraints in space and power, limiting further expansion and calling for improvements in the computational density per server and in the per-operation energy. Continuing to improve the computational resources of the cloud while staying within physical constraints mandates optimizing server efficiency to ensure that server hardware closely matches the needs of scale-out workloads. In this work, we introduce CloudSuite, a benchmark suite of emerging scale-out workloads. We use performance counters on modern servers to study scale-out workloads, finding that today’s predominant processor microarchitecture is inefficient for running these workloads. We find that inefficiency comes from the mismatch between the workload needs and modern processors, particularly in the organization of instruction and data memory systems and the processor core microarchitecture. Moreover, while today’s predominant microarchitecture is inefficient when executing scale-out workloads, we find that continuing the current trends will further exacerbate the inefficiency in the future. In this work, we identify the key microarchitectural needs of scale-out workloads, calling for a change in the trajectory of server processors that would lead to improved computational density and power efficiency in data centers. Michael Ferdman, Almutaz Adileh, Yusuf Onur Koçberber, Stavros Volos, Mohammad Alisafaee, Djordje Jevdjic, Cansu Kaynak, Adrian Daniel Popescu, Anastasia Ailamaki, Babak Falsafi |
ACM Trans. Comput. Syst. | 2 |