EDBT 2026 Demo / reviewers in the wild / expert
Eiman Ebrahimi
dblp:85/6918
· DBLP profile ↗
23ranked-venue papers
6as first author
2since 2021 · last 2021
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 19 · 6 first-authorSoftware engineering, systems software and programming languages · 8 · 2 first-authorDatabases, data management, data science and information retrieval · 2 · 1 since 2021Computer networks · 1 · 1 since 2021
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
21 papers |
Memory systems · 42% GPUs and heterogeneous computing · 31% Hardware accelerators and domain-specific architectures · 10% | |
| Computer networks
1 paper |
Datacenter networks · 100% |
Topics — the 30 heaviest of 61, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
GPUs and heterogeneous computing
GPU memory management |
0.9 | 2 | 2021 | Large Graph Convolutional Network Training with GPU-Oriented Data Communication Architecture · Proc. VLDB Endow. 2021 DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 |
GPUs and heterogeneous computing › GPU memory
GPU memory hierarchy |
0.6 | 2 | 2018 | The Locality Descriptor: A Holistic Cross-Layer Abstraction to Express Data Locality In GPUs · ISCA 2018 Transparent Offloading and Mapping (TOM): Enabling Programmer-Transparent Near-Data Processing in GPU Systems · ISCA 2016 |
Distributed systems › distributed machine learning
distributed training |
0.5 | 1 | 2021 | SiP-ML: high-bandwidth optical network interconnects for machine learning training · SIGCOMM 2021 |
Hardware accelerators and domain-specific architectures › machine learning accelerator
graph neural network accelerator |
0.5 | 1 | 2021 | Large Graph Convolutional Network Training with GPU-Oriented Data Communication Architecture · Proc. VLDB Endow. 2021 |
Memory systems
cache |
0.5 | 3 | 2019 | Accelerating Dependent Cache Misses with an Enhanced Memory Controller · ISCA 2016 DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systems · HPCA 2009 |
Processor architecture and microarchitecture
chip multiprocessor |
0.4 | 5 | 2012 | Fairness via Source Throttling: A Configurable and High-Performance Fairness Substrate for Multicore Memory Systems · ACM Trans. Comput. Syst. 2012 Prefetch-aware shared resource management for multi-core systems · ISCA 2011 Fairness via source throttling: a configurable and high-performance fairness substrate for multi-core memory systems · ASPLOS 2010 |
Hardware accelerators and domain-specific architectures › machine learning accelerator
DNN accelerator |
0.4 | 1 | 2020 | Planaria: Dynamic Architecture Fission for Spatial Multi-Tenant Acceleration of Deep Neural Networks · MICRO 2020 |
GPUs and heterogeneous computing › GPU graph processing
GPU graph traversal |
0.4 | 1 | 2020 | EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal In GPUs · Proc. VLDB Endow. 2020 |
Hardware accelerators and domain-specific architectures
systolic array |
0.4 | 1 | 2020 | Planaria: Dynamic Architecture Fission for Spatial Multi-Tenant Acceleration of Deep Neural Networks · MICRO 2020 |
Memory systems
non-uniform memory access |
0.4 | 2 | 2018 | The Locality Descriptor: A Holistic Cross-Layer Abstraction to Express Data Locality In GPUs · ISCA 2018 Beyond the socket: NUMA-aware GPUs · MICRO 2017 |
Memory systems › memory management › virtual memory
address translation |
0.4 | 1 | 2019 | DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 |
GPUs and heterogeneous computing › GPU memory management
GPU address translation |
0.4 | 1 | 2019 | DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 |
Memory systems › memory management › virtual memory › address translation › TLB
TLB design |
0.4 | 1 | 2019 | DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 |
Memory systems › memory management
virtual memory |
0.4 | 1 | 2019 | DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated Systems · ACM Trans. Archit. Code Optim. 2019 |
Memory systems
data locality |
0.3 | 1 | 2018 | The Locality Descriptor: A Holistic Cross-Layer Abstraction to Express Data Locality In GPUs · ISCA 2018 |
Memory systems
DRAM |
0.3 | 1 | 2018 | A Case for Richer Cross-Layer Abstractions: Bridging the Semantic Gap with Expressive Memory · ISCA 2018 |
Memory systems
memory management |
0.3 | 1 | 2018 | Combining HW/SW Mechanisms to Improve NUMA Performance of Multi-GPU Systems · MICRO 2018 |
Memory systems › memory management
NUMA memory management |
0.3 | 1 | 2018 | Combining HW/SW Mechanisms to Improve NUMA Performance of Multi-GPU Systems · MICRO 2018 |
Memory systems
page placement |
0.3 | 1 | 2018 | A Case for Richer Cross-Layer Abstractions: Bridging the Semantic Gap with Expressive Memory · ISCA 2018 |
GPUs and heterogeneous computing › GPU cache
GPU cache architecture |
0.3 | 1 | 2017 | Beyond the socket: NUMA-aware GPUs · MICRO 2017 |
Interconnection networks and networks-on-chip › interconnect architecture
GPU interconnect |
0.3 | 1 | 2017 | Beyond the socket: NUMA-aware GPUs · MICRO 2017 |
GPUs and heterogeneous computing › multi-GPU computing
GPU scaling |
0.3 | 1 | 2017 | MCM-GPU: Multi-Chip-Module GPUs for Continued Performance Scalability · ISCA 2017 |
GPUs and heterogeneous computing › GPU architecture
multi-chip module GPU |
0.3 | 1 | 2017 | MCM-GPU: Multi-Chip-Module GPUs for Continued Performance Scalability · ISCA 2017 |
Processor architecture and microarchitecture
multicore design |
0.3 | 1 | 2017 | MCM-GPU: Multi-Chip-Module GPUs for Continued Performance Scalability · ISCA 2017 |
Memory systems
cache coherence |
0.3 | 2 | 2016 | Selective GPU caches to eliminate CPU-GPU HW cache coherence · HPCA 2016 Fairness via source throttling: a configurable and high-performance fairness substrate for multi-core memory systems · ASPLOS 2010 |
Interconnection networks and networks-on-chip › congestion control
source throttling |
0.3 | 2 | 2012 | Fairness via Source Throttling: A Configurable and High-Performance Fairness Substrate for Multicore Memory Systems · ACM Trans. Comput. Syst. 2012 Fairness via source throttling: a configurable and high-performance fairness substrate for multi-core memory systems · ASPLOS 2010 |
Memory systems
3d-stacked memory |
0.2 | 1 | 2016 | Transparent Offloading and Mapping (TOM): Enabling Programmer-Transparent Near-Data Processing in GPU Systems · ISCA 2016 |
Memory systems › cache
cache miss |
0.2 | 1 | 2016 | Accelerating Dependent Cache Misses with an Enhanced Memory Controller · ISCA 2016 |
GPUs and heterogeneous computing › GPU memory management
GPU cache management |
0.2 | 1 | 2016 | Selective GPU caches to eliminate CPU-GPU HW cache coherence · HPCA 2016 |
Memory systems › processing-in-memory
near-data processing |
0.2 | 1 | 2016 | Transparent Offloading and Mapping (TOM): Enabling Programmer-Transparent Near-Data Processing in GPU Systems · ISCA 2016 |
Methods — techniques the papers use, named apart from their topics
simulation · 1.5zero-copy access · 1.0asynchronous kernel execution · 1.0address alignment · 1.0request coalescing · 0.7prefetching · 0.5spatial multi-tenancy · 0.4dynamic architecture fission · 0.4cache-line-sized access · 0.4DRAM memoization · 0.4cross-layer interface design · 0.3cost-benefit analysis · 0.2compiler-based offloading · 0.2
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2021 | SiP-ML: high-bandwidth optical network interconnects for machine learning trainingabstractThis paper proposes optical network interconnects as a key enabler for building high-bandwidth ML training clusters with strong scaling properties. Our design, called SiP-ML, accelerates the training time of popular DNN models using silicon photonics links capable of providing multiple terabits-per-second of bandwidth per GPU. SiP-ML partitions the training job across GPUs with hybrid data and model parallelism while ensuring the communication pattern can be supported efficiently on the network interconnect. We develop task partitioning and device placement methods that take the degree and reconfiguration latency of optical interconnects into account. Simulations using real DNN models show that, compared to the state-of-the-art electrical networks, our approach improves training time by 1.3--9.1x. Mehrdad Khani Shirkoohi, Manya Ghobadi, Mohammad Alizadeh, Madeleine Glick, Keren Bergman, Amin Vahdat, Benjamin Klenk, Eiman Ebrahimi |
SIGCOMM | 9 |
| 2021 | Large Graph Convolutional Network Training with GPU-Oriented Data Communication ArchitectureabstractGraph Convolutional Networks (GCNs) are increasingly adopted in large-scale graph-based recommender systems. Training GCN requires the minibatch generator traversing graphs and sampling the sparsely located neighboring nodes to obtain their features. Since real-world graphs often exceed the capacity of GPU memory, current GCN training systems keep the feature table in host memory and rely on the CPU to collect sparse features before sending them to the GPUs. This approach, however, puts tremendous pressure on host memory bandwidth and the CPU. This is because the CPU needs to (1) read sparse features from memory, (2) write features into memory as a dense format, and (3) transfer the features from memory to the GPUs. In this work, we propose a novel GPU-oriented data communication approach for GCN training, where GPU threads directly access sparse features in host memory through zero-copy accesses without much CPU help. By removing the CPU gathering stage, our method significantly reduces the consumption of the host resources and data access latency. We further present two important techniques to achieve high host memory access efficiency by the GPU: (1) automatic data access address alignment to maximize PCIe packet efficiency, and (2) asynchronous zero-copy access and kernel execution to fully overlap data transfer with training. We incorporate our method into PyTorch and evaluate its effectiveness using several graphs with sizes up to 111 million nodes and 1.6 billion edges. In a multi-GPU training setup, our method is 65--92% faster than the conventional data transfer method, and can even match the performance of all-in-GPU-memory training for some graphs that fit in GPU memory. Seungwon Min, Kun Wu 0002, Sitao Huang, Mert Hidayetoglu, Jinjun Xiong, Eiman Ebrahimi, Deming Chen, Wen-Mei W. Hwu |
Proc. VLDB Endow. | 6 |
| 2020 | Planaria: Dynamic Architecture Fission for Spatial Multi-Tenant Acceleration of Deep Neural NetworksabstractDeep Neural Networks (DNNs) have reinvigorated real-world applications that rely on learning patterns of data and are permeating into different industries and markets. Cloud infrastructure and accelerators that offer INFerence-as-a-Service (INFaaS) have become the enabler of this rather quick and invasive shift in the industry. To that end, mostly accelerator-based INFaaS (Google's TPU [1], NVIDIA T4 [2], Microsoft Brainwave [3], etc.) has become the backbone of many real-life applications. However, as the demand for such services grows, merely scaling-out the number of accelerators is not economically cost-effective. Although multi-tenancy has propelled datacenter scalability, it has not been a primary factor in designing DNN accelerators due to the arms race for higher speed and efficiency. This paper sets out to explore this timely requirement of multi-tenancy through a new dimension: dynamic architecture fission. To that end, we define Planaria1that can dynamically fission (break) into multiple smaller yet full-fledged DNN engines at runtime. This microarchitectural capability enables spatially co-locating multiple DNN inference services on the same hardware, offering simultaneous multi-tenant DNN acceleration. To realize this dynamic reconfigurability, we first devise breakable omni-directional systolic arrays for DNN acceleration that allows omni-directional flow of data. Second, it uses this capability and a unique organization of on-chip memory, interconnection, and compute resources to enable fission in systolic array based DNN accelerators. Architecture fission and its associated flexibility enables an extra degree of freedom for task scheduling, that even allows breaking the accelerator with regard to the server load, DNN topology, and task priority. As such, it can simultaneously co-locate DNNs to enhance utilization, throughput, QoS, and fairness. We compare the proposed design to PREMA [4], a recent effort that offers multi-tenancy by time-multiplexing the DNN accelerator across multiple tasks. We use the same frequency, the same amount of compute and memory resources for both accelerators. The results show significant benefits with (soft, medium, hard) QoS requirements, in throughput (7.4×, 7.2×, 12.2×), SLA satisfaction rate (45%, 15%, 16%), and fairness (2.1×, 2.3×, 1.9×). Soroush Ghodrati, Byung Hoon Ahn, Joon Kyung Kim, Sean Kinzer, Brahmendra Reddy Yatham, Navateja Alla, Hardik Sharma, Mohammad Alian, Eiman Ebrahimi, Nam Sung Kim, Cliff Young, Hadi Esmaeilzadeh |
MICRO | 9 |
| 2020 | EMOGI: Efficient Memory-access for Out-of-memory Graph-traversal In GPUsabstractModern analytics and recommendation systems are increasingly based on graph data that capture the relations between entities being analyzed. Practical graphs come in huge sizes, offer massive parallelism, and are stored in sparse-matrix formats such as compressed sparse row (CSR). To exploit the massive parallelism, developers are increasingly interested in using GPUs for graph traversal. However, due to their sizes, graphs often do not fit into the GPU memory. Prior works have either used input data pre-processing/partitioning or unified virtual memory (UVM) to migrate chunks of data from the host memory to the GPU memory. However, the large, multi-dimensional, and sparse nature of graph data presents a major challenge to these schemes and results in significant amplification of data movement and reduced effective data throughput. In this work, we propose EMOGI, an alternative approach to traverse graphs that do not fit in GPU memory using direct cache-line-sized access to data stored in host memory. This paper addresses the open question of whether a sufficiently large number of overlapping cache-line-sized accesses can be sustained to 1) tolerate the long latency to host memory, 2) fully utilize the available bandwidth, and 3) achieve favorable execution performance. We analyze the data access patterns of several graph traversal applications in GPU over PCIe using an FPGA to understand the cause of poor external bandwidth utilization. By carefully coalescing and aligning external memory requests, we show that we can minimize the number of PCIe transactions and nearly fully utilize the PCIe bandwidth with direct cache-line accesses to the host memory. EMOGI achieves 2.60X speedup on average compared to the optimized UVM implementations in various graph traversal applications. We also show that EMOGI scales better than a UVM-based solution when the system uses higher bandwidth interconnects such as PCIe 4.0. Seungwon Min, Vikram S. Mailthody, Zaid Qureshi, Jinjun Xiong, Eiman Ebrahimi, Wen-Mei W. Hwu |
Proc. VLDB Endow. | 5 |
| 2019 | DUCATI: High-performance Address Translation by Extending TLB Reach of GPU-accelerated SystemsabstractConventional on-chip TLB hierarchies are unable to fully cover the growing application working-set sizes. To make things worse, Last-Level TLB (LLT) misses require multiple accesses to the page table even with the use of page walk caches. Consequently, LLT misses incur long address translation latency and hurt performance. This article proposes two low-overhead hardware mechanisms for reducing the frequency and penalty of on-die LLT misses. The first, Unified CAche and TLB (UCAT) , enables the conventional on-die Last-Level Cache to store cache lines and TLB entries in a single unified structure and increases on-die TLB capacity significantly. The second, DRAM-TLB , memoizes virtual to physical address translations in DRAM and reduces LLT miss penalty when UCAT is unable to fully cover total application working-set. DRAM-TLB serves as the next larger level in the TLB hierarchy that significantly increases TLB coverage relative to on-chip TLBs. The combination of these two mechanisms, DUCATI , is an address translation architecture that improves GPU performance by 81%; (up to 4.5×) while requiring minimal changes to the existing system design. We show that DUCATI is within 20%, 5%, and 2% the performance of a perfect LLT system when using 4KB, 64KB, and 2MB pages, respectively. Aamer Jaleel, Eiman Ebrahimi, Samuel H. Duncan |
ACM Trans. Archit. Code Optim. | 2 |
| 2018 | The Locality Descriptor: A Holistic Cross-Layer Abstraction to Express Data Locality In GPUsabstractExploiting data locality in GPUs is critical to making more efficient use of the existing caches and the NUMA-based memory hierarchy expected in future GPUs. While modern GPU programming models are designed to explicitly express parallelism, there is no clear explicit way to express data locality-i.e., reuse-based locality to make efficient use of the caches, or NUMA locality to efficiently utilize a NUMA system. On the one hand, this lack of expressiveness makes it a very challenging task for the programmer to write code to get the best performance out of the memory hierarchy. On the other hand, hardware-only architectural techniques are often suboptimal as they miss key higher-level program semantics that are essential to effectively exploit data locality. In this work, we propose the Locality Descriptor, a crossl-ayer abstraction to explicitly express and exploit data locality in GPUs. The Locality Descriptor (i) provides the software a flexible and portable interface to optimize for data locality, requiring no knowledge of the underlying memory techniques and resources, and (ii) enables the architecture to leverage key program semantics and effectively coordinate a range of techniques (e.g., CTA scheduling, cache management, memory placement) to exploit locality in a programmer-transparent manner. We demonstrate that the Locality Descriptor improves performance by 26.6% on average (up to 46.6%) when exploiting reuse-based locality in the cache hierarchy, and by 53.7% (up to 2.8X) when exploiting NUMA locality in a NUMA memory system. Nandita Vijaykumar, Eiman Ebrahimi, Kevin Hsieh, Phillip B. Gibbons, Onur Mutlu |
ISCA | 2 |
| 2018 | A Case for Richer Cross-Layer Abstractions: Bridging the Semantic Gap with Expressive MemoryabstractThis paper makes a case for a new cross-layer interface, Expressive Memory (XMem), to communicate higher-level program semantics from the application to the system software and hardware architecture. XMem provides (i) a flexible and extensible abstraction, called an Atom, enabling the application to express key program semantics in terms of how the program accesses data and the attributes of the data itself, and (ii) new cross-layer interfaces to make the expressed higher-level information available to the underlying OS and architecture. By providing key information that is otherwise unavailable, XMem exposes a new, rich view of the program data to the OS and the different architectural components that optimize memory system performance (e.g., caches, memory controllers). By bridging the semantic gap between the application and the underlying memory resources, XMem provides two key benefits. First, it enables architectural/system-level techniques to leverage key program semantics that are challenging to predict or infer. Second, it improves the efficacy and portability of software optimizations by alleviating the need to tune code for specific hardware resources (e.g., cache space). While XMem is designed to enhance and enable a wide range of memory optimizations, we demonstrate the benefits of XMem using two use cases: (i) improving the performance portability of software-based cache optimization by expressing the semantics of data locality in the optimization and (ii) improving the performance of OS-based page placement in DRAM by leveraging the semantics of data structures and their access properties. Nandita Vijaykumar, Abhilasha Jain, Diptesh Majumdar, Kevin Hsieh, Gennady Pekhimenko, Eiman Ebrahimi, Nastaran Hajinazar, Phillip B. Gibbons, Onur Mutlu |
ISCA | 6 |
| 2018 | Combining HW/SW Mechanisms to Improve NUMA Performance of Multi-GPU SystemsabstractHistorically, improvement in GPU performance has been tightly coupled with transistor scaling. As Moore's Law slows down, performance of single GPUs may ultimately plateau. To continue GPU performance scaling, multiple GPUs can be connected using system-level interconnects. However, limited inter-GPU interconnect bandwidth (e.g., 64GB/s) can hurt multi-GPU performance when there are frequent remote GPU memory accesses. Traditional GPUs rely on page migration to service the memory accesses from local memory instead. Page migration fails when the page is simultaneously shared between multiple GPUs in the system. As such, recent proposals enhance the software runtime system to replicate read-only shared pages in local memory. Unfortunately, such practice fails when there are frequent remote memory accesses to read-write shared pages. To address this problem, recent proposals cache remote shared data in the GPU last-level-cache (LLC). Unfortunately, remote data caching also fails when the shared-data working-set exceeds the available GPU LLC size. This paper conducts a combined performance analysis of state-of-the-art software and hardware mechanisms to improve NUMA performance of multi-GPU systems. Our evaluations on a 4-node multi-GPU system reveal that the combination of work scheduling, page placement, page migration, page replication, and caching remote data still incurs a 47% slowdown relative to an ideal NUMA-GPU system. This is because the shared memory footprint tends to be significantly larger than the GPU LLC size and can not be replicated by software because the shared footprint has read-write property. Thus, we show that existing NUMA-aware software solutions require hardware support to address the NUMA bandwidth bottleneck. We propose Caching Remote Data in Video Memory (CARVE), a hardware mechanism that stores recently accessed remote shared data in a dedicated region of the GPU memory. CARVE outperforms state-of-the-art NUMA mechanisms and is within 6% the performance of an ideal NUMA-GPU system. A design space analysis on supporting cache coherence is also investigated. Overall, we show that dedicating only 3% of GPU memory eliminates NUMA bandwidth bottlenecks while incurring negligible performance overheads due to the reduced GPU memory capacity. Vinson Young, Aamer Jaleel, Evgeny Bolotin, Eiman Ebrahimi, David W. Nellans, Oreste Villa |
MICRO | 4 |
| 2017 | MCM-GPU: Multi-Chip-Module GPUs for Continued Performance ScalabilityabstractHistorically, improvements in GPU-based high performance computing have been tightly coupled to transistor scaling. As Moore's law slows down, and the number of transistors per die no longer grows at historical rates, the performance curve of single monolithic GPUs will ultimately plateau. However, the need for higher performing GPUs continues to exist in many domains. To address this need, in this paper we demonstrate that package-level integration of multiple GPU modules to build larger logical GPUs can enable continuous performance scaling beyond Moore's law. Specifically, we propose partitioning GPUs into easily manufacturable basic GPU Modules (GPMs), and integrating them on package using high bandwidth and power efficient signaling technologies. We lay out the details and evaluate the feasibility of a basic Multi-Chip-Module GPU (MCM-GPU) design. We then propose three architectural optimizations that significantly improve GPM data locality and minimize the sensitivity on inter-GPM bandwidth. Our evaluation shows that the optimized MCM-GPU achieves 22.8% speedup and 5x inter-GPM bandwidth reduction when compared to the basic MCM-GPU architecture. Most importantly, the optimized MCM-GPU design is 45.5% faster than the largest implementable monolithic GPU, and performs within 10% of a hypothetical (and unbuildable) monolithic GPU. Lastly we show that our optimized MCM-GPU is 26.8% faster than an equally equipped Multi-GPU system with the same total number of SMs and DRAM bandwidth. Akhil Arunkumar, Evgeny Bolotin, Benjamin Y. Cho, Ugljesa Milic, Eiman Ebrahimi, Oreste Villa, Aamer Jaleel, Carole-Jean Wu, David W. Nellans |
ISCA | 5 |
| 2017 | Beyond the socket: NUMA-aware GPUsabstractGPUs achieve high throughput and power efficiency by employing many small single instruction multiple thread (SIMT) cores. To minimize scheduling logic and performance variance they utilize a uniform memory system and leverage strong data parallelism exposed via the programming model. With Moore's law slowing, for GPUs to continue scaling performance (which largely depends on SIMT core count) they are likely to embrace multi-socket designs where transistors are more readily available. However when moving to such designs, maintaining the illusion of a uniform memory system is increasingly difficult. In this work we investigate multi-socket non-uniform memory access (NUMA) GPU designs and show that significant changes are needed to both the GPU interconnect and cache architectures to achieve performance scalability. We show that application phase effects can be exploited allowing GPU sockets to dynamically optimize their individual interconnect and cache policies, minimizing the impact of NUMA effects. Our NUMA-aware GPU outperforms a single GPU by 1.5×, 2.3×, and 3.2× while achieving 89%, 84%, and 76% of theoretical application scalability in 2, 4, and 8 sockets designs respectively. Implementable today, NUMA-aware multi-socket GPUs may be a promising candidate for scaling GPU performance beyond a single socket. Ugljesa Milic, Oreste Villa, Evgeny Bolotin, Akhil Arunkumar, Eiman Ebrahimi, Aamer Jaleel, Alex Ramírez, David W. Nellans |
MICRO | 5 |
| 2016 | Selective GPU caches to eliminate CPU-GPU HW cache coherenceabstractCache coherence is ubiquitous in shared memory multiprocessors because it provides a simple, high performance memory abstraction to programmers. Recent work suggests extending hardware cache coherence between CPUs and GPUs to help support programming models with tightly coordinated sharing between CPU and GPU threads. However, implementing hardware cache coherence is particularly challenging in systems with discrete CPUs and GPUs that may not be produced by a single vendor. Instead, we propose, selective caching, wherein we disallow GPU caching of any memory that would require coherence updates to propagate between the CPU and GPU, thereby decoupling the GPU from vendor-specific CPU coherence protocols. We propose several architectural improvements to offset the performance penalty of selective caching: aggressive request coalescing, CPU-side coherent caching for GPU-uncacheable requests, and a CPU-GPU interconnect optimization to support variable-size transfers. Moreover, current GPU workloads access many read-only memory pages; we exploit this property to allow promiscuous GPU caching of these pages, relying on page-level protection, rather than hardware cache coherence, to ensure correctness. These optimizations bring a selective caching GPU implementation to within 93% of a hardware cache-coherent implementation without the need to integrate CPUs and GPUs under a single hardware coherence protocol. David W. Nellans, Eiman Ebrahimi, Thomas F. Wenisch, John Danskin, Stephen W. Keckler |
HPCA | 3 |
| 2016 | Accelerating Dependent Cache Misses with an Enhanced Memory ControllerabstractOn-chip contention increases memory access latency for multi-core processors. We identify that this additional latency has a substantial effect on performance for an important class of latency-critical memory operations: those that result in a cache miss and are dependent on data from a prior cache miss. We observe that the number of instructions between the first cache miss and its dependent cache miss is usually small. To minimize dependent cache miss latency, we propose adding just enough functionality to dynamically identify these instructions at the core and migrate them to the memory controller for execution as soon as source data arrives from DRAM. This migration allows memory requests issued by our new Enhanced Memory Controller (EMC) to experience a 20% lower latency than if issued by the core. On a set of memory intensive quad-core workloads, the EMC results in a 13% improvement in system performance and a 5% reduction in energy consumption over a system with a Global History Buffer prefetcher, the highest performing prefetcher in our evaluation. Milad Hashemi, Khubaib, Eiman Ebrahimi, Onur Mutlu, Yale N. Patt |
ISCA | 3 |
| 2016 | Transparent Offloading and Mapping (TOM): Enabling Programmer-Transparent Near-Data Processing in GPU SystemsabstractMain memory bandwidth is a critical bottleneck for modern GPU systems due to limited off-chip pin bandwidth. 3D-stacked memory architectures provide a promising opportunity to significantly alleviate this bottleneck by directly connecting a logic layer to the DRAM layers with high bandwidth connections. Recent work has shown promising potential performance benefits from an architecture that connects multiple such 3D-stacked memories and offloads bandwidth-intensive computations to a GPU in each of the logic layers. An unsolved key challenge in such a system is how to enable computation offloading and data mapping to multiple 3D-stacked memories without burdening the programmer such that any application can transparently benefit from near-data processing capabilities in the logic layer. Our paper develops two new mechanisms to address this key challenge. First, a compiler-based technique that automatically identifies code to offload to a logic-layer GPU based on a simple cost-benefit analysis. Second, a software/hardware cooperative mechanism that predicts which memory pages will be accessed by offloaded code, and places those pages in the memory stack closest to the offloaded code, to minimize off-chip bandwidth consumption. We call the combination of these two programmer-transparent mechanisms TOM: Transparent Offloading and Mapping. Our extensive evaluations across a variety of modern memory-intensive GPU workloads show that, without requiring any program modification, TOM significantly improves performance (by 30% on average, and up to 76%) compared to a baseline GPU system that cannot offload computation to 3D-stacked memories. Kevin Hsieh, Eiman Ebrahimi, Gwangsun Kim, Niladrish Chatterjee, Mike O'Connor, Nandita Vijaykumar, Onur Mutlu, Stephen W. Keckler |
ISCA | 2 |
| 2015 | Flexible software profiling of GPU architecturesabstractTo aid application characterization and architecture design space exploration, researchers and engineers have developed a wide range of tools for CPUs, including simulators, profilers, and binary instrumentation tools. With the advent of GPU computing, GPU manufacturers have developed similar tools leveraging hardware profiling and debugging hooks. To date, these tools are largely limited by the fixed menu of options provided by the tool developer and do not offer the user the flexibility to observe or act on events not in the menu. This paper presents SASSI (NVIDIA assembly code "SASS" Instrumentor), a low-level assembly-language instrumentation tool for GPUs. Like CPU binary instrumentation tools, SASSI allows a user to specify instructions at which to inject user-provided instrumentation code. These facilities allow strategic placement of counters and code into GPU assembly code to collect user-directed, fine-grained statistics at hardware speeds. SASSI instrumentation is inherently parallel, leveraging the concurrency of the underlying hardware. In addition to the details of SASSI, this paper provides four case studies that show how SASSI can be used to characterize applications and explore the architecture design space along the dimensions of instruction control flow, memory systems, value similarity, and resilience. Mark Stephenson, Siva Kumar Sastry Hari, Yunsup Lee, Eiman Ebrahimi, Daniel R. Johnson, David W. Nellans, Mike O'Connor, Stephen W. Keckler |
ISCA | 4 |
| 2012 | Predicting Performance Impact of DVFS for Realistic Memory SystemsabstractDynamic voltage and frequency scaling (DVFS) can make modern processors more power and energy efficient if we can accurately predict the effect of frequency scaling on processor performance. State-of-the-art DVFS performance predictors, however, fail to accurately predict performance when confronted with realistic memory systems. We propose CRIT+BW, the first DVFS performance predictor designed for realistic memory systems. In particular, CRIT+BW takes into account both variable memory access latency and performance effects of prefetching. When evaluated with a realistic memory system, DVFS realizes 65% of potential energy savings when using CRIT+BW, compared to less than 34% when using previously proposed DVFS performance predictors. Rustam Miftakhutdinov, Eiman Ebrahimi, Yale N. Patt |
MICRO | 2 |
| 2012 | Energy Savings via Dead Sub-Block PredictionabstractCache memories have traditionally been designed to exploit spatial locality by fetching entire cache lines from memory upon a miss. However, recent studies have shown that often the number of sub-blocks within a line that are actually used is low. Furthermore, those sub-blocks that are used are accessed only a few times before becoming dead (i.e., never accessed again). This results in considerable energy waste since 1) data not needed by the processor is brought into the cache, and 2) data is kept alive in the cache longer than necessary. We propose the Dead Sub-Block Predictor (DSBP) to predict which sub-blocks of a cache line will be actually used and how many times it will be used in order to bring into the cache only those sub-blocks that are necessary, and power them off after they are touched the predicted number of times. We also use DSBP to identify dead lines (i.e., all sub-blocks off) and augment the existing replacement policy by prioritizing dead lines for eviction. Our results show a 24% energy reduction for the whole cache hierarchy when averaged over the SPEC2000, SPEC2006 and NAS-NPB benchmarks. Marco A. Z. Alves, Khubaib, Eiman Ebrahimi, Veynu Narasiman, Carlos Villavieja, Philippe Olivier Alexandre Navaux, Yale N. Patt |
SBAC-PAD | 3 |
| 2012 | Fairness via Source Throttling: A Configurable and High-Performance Fairness Substrate for Multicore Memory SystemsabstractCores in chip-multiprocessors (CMPs) share multiple memory subsystem resources. If resource sharing is unfair, some applications can be delayed significantly while others are unfairly prioritized. Previous research proposed separate fairness mechanisms for each resource. Such resource-based fairness mechanisms implemented independently in each resource can make contradictory decisions, leading to low fairness and performance loss. Therefore, a coordinated mechanism that provides fairness in the entire shared memory system is desirable. This article proposes a new approach that provides fairness in the entire shared memory system, thereby eliminating the need for and complexity of developing fairness mechanisms for each resource. Our technique, Fairness via Source Throttling (FST), estimates unfairness in the entire memory system . If unfairness is above a system-software-set threshold, FST throttles down cores causing unfairness by limiting the number of requests they create and the frequency at which they do. As such, our source-based fairness control ensures fairness decisions are made in tandem in the entire memory system. FST enforces thread priorities/weights, and enables system-software to enforce different fairness objectives in the memory system. Our evaluations show that FST provides the best system fairness and performance compared to three systems with state-of-the-art fairness mechanisms implemented in both shared caches and memory controllers. Eiman Ebrahimi, Chang Joo Lee, Onur Mutlu, Yale N. Patt |
ACM Trans. Comput. Syst. | 1 |
| 2011 | Prefetch-aware shared resource management for multi-core systemsabstractChip multiprocessors (CMPs) share a large portion of the memory subsystem among multiple cores. Recent proposals have addressed high-performance and fair management of these shared resources; however, none of them take into account prefetch requests. Without prefetching, significant performance is lost, which is why existing systems prefetch. By not taking into account prefetch requests, recent shared-resource management proposals often significantly degrade both performance and fairness, rather than improve them in the presence of prefetching. Eiman Ebrahimi, Chang Joo Lee, Onur Mutlu, Yale N. Patt |
ISCA | 1 |
| 2011 | Parallel application memory schedulingabstractA primary use of chip-multiprocessor (CMP) systems is to speed up a single application by exploiting thread-level parallelism. In such systems, threads may slow each other down by issuing memory requests that interfere in the shared memory subsystem. This inter-thread memory system interference can significantly degrade parallel application performance. Better memory request scheduling may mitigate such performance degradation. However, previously proposed memory scheduling algorithms for CMPs are designed for multi-programmed workloads where each core runs an independent application, and thus do not take into account the inter-dependent nature of threads in a parallel application. Eiman Ebrahimi, Rustam Miftakhutdinov, Chris Fallin, Chang Joo Lee, José A. Joao, Onur Mutlu, Yale N. Patt |
MICRO | 1 |
| 2010 | Fairness via source throttling: a configurable and high-performance fairness substrate for multi-core memory systemsabstractCores in a chip-multiprocessor (CMP) system share multiple hardware resources in the memory subsystem. If resource sharing is unfair, some applications can be delayed significantly while others are unfairly prioritized. Previous research proposed separate fairness mechanisms in each individual resource. Such resource-based fairness mechanisms implemented independently in each resource can make contradictory decisions, leading to low fairness and loss of performance. Therefore, a coordinated mechanism that provides fairness in the entire shared memory system is desirable. Eiman Ebrahimi, Chang Joo Lee, Onur Mutlu, Yale N. Patt |
ASPLOS | 1 |
| 2009 | Techniques for bandwidth-efficient prefetching of linked data structures in hybrid prefetching systemsabstractLinked data structure (LDS) accesses are critical to the performance of many large scale applications. Techniques have been proposed to prefetch such accesses. Unfortunately, many LDS prefetching techniques 1) generate a large number of useless prefetches, thereby degrading performance and bandwidth efficiency, 2) require significant hardware or storage cost, or 3) when employed together with stream-based prefetchers, cause significant resource contention in the memory system. As a result, existing processors do not employ LDS prefetchers even though they commonly employ stream-based prefetchers. This paper proposes a low-cost hardware/software cooperative technique that enables bandwidth-efficient prefetching of linked data structures. Our solution has two new components: 1) a compiler-guided prefetch filtering mechanism that informs the hardware about which pointer addresses to prefetch, 2) a coordinated prefetcher throttling mechanism that uses run-time feedback to manage the interference between multiple prefetchers (LDS and stream-based) in a hybrid prefetching system. Evaluations show that the proposed solution improves average performance by 22.5% while decreasing memory bandwidth consumption by 25% over a baseline system that employs an effective stream prefetcher on a set of memory- and pointer-intensive applications. We compare our proposal to three different LDS/correlation prefetching techniques and find that it provides significantly better performance on both single-core and multi-core systems, while requiring less hardware cost. Eiman Ebrahimi, Onur Mutlu, Yale N. Patt |
HPCA | 1 |
| 2009 | Coordinated control of multiple prefetchers in multi-core systemsabstractAggressive prefetching is very beneficial for memory latency tolerance of many applications. However, it faces significant challenges in multi-core systems. Prefetchers of different cores on a chip multiprocessor (CMP) can cause significant interference with prefetch and demand accesses of other cores. Because existing prefetcher throttling techniques do not address this prefetcher-caused inter-core interference, aggressive prefetching in multi-core systems can lead to significant performance degradation and wasted bandwidth consumption. Eiman Ebrahimi, Onur Mutlu, Chang Joo Lee, Yale N. Patt |
MICRO | 1 |
| 2006 | DCim++: a C++ library for object oriented hardware design and distributed simulationabstractDCim++ is a C++ library developed for object oriented hardware design, modeling and distributed simulation. DCim++ enables C++ to be used as an OO HDL, which supports concurrency in description, inheritance in design and distributedness in simulation. Design simulation results are obtained by running C++ programs on a network of workstations. The message passing interface (MPI) library has been used in the implementation of DCim++ as the basis of communications required for distributed simulation. In our simulation scheme, we have not considered any central management unit in order to defy performance degradation, instead only a coarse-grain synchronizer is used to keep the distributed components synchronized. This paper explores the structure of the DCim++ library and its mechanisms. The process a designer has to go through in order to design a system using DCim++ and conduct its distributed simulation leaving communication complications to DCim++, has also been presented. Finally, the results of our uniprocessor and distributed simulations for ISCAS benchmark circuits show high degrees of performance gains. Hadi Esmaeilzadeh, A. Moghimi, Eiman Ebrahimi, Caro Lucas, Zainalabedin Navabi, A. M. Fakhraie |
ISCAS | 3 |