Demo Data from VLDB 2026 / reviewers in the wild / expert
M. Aater Suleman
dblp:78/219
· DBLP profile ↗
9ranked-venue papers
4as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 9 · 4 first-authorSoftware engineering, systems software and programming languages · 6 · 3 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
7 papers |
Processor architecture and microarchitecture · 62% Memory systems · 16% Parallel and multicore computing · 16% | |
| Software engineering, system software, and programming languages
2 papers |
Concurrent programming · 57% Operating systems · 43% |
Topics — the 20 heaviest of 21, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Processor architecture and microarchitecture
chip multiprocessor |
0.4 | 4 | 2012 | MorphCore: An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP · MICRO 2012 Data marshaling for multi-core architectures · ISCA 2010 Accelerating critical section execution with asymmetric multi-core architectures · ASPLOS 2009 |
Processor architecture and microarchitecture › chip multiprocessor
heterogeneous chip multiprocessor |
0.3 | 2 | 2013 | Utility-based acceleration of multithreaded applications on asymmetric CMPs · ISCA 2013 Bottleneck identification and scheduling in multithreaded applications · ASPLOS 2012 |
Memory systems
cache management |
0.2 | 2 | 2010 | Data marshaling for multi-core architectures · ISCA 2010 Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache Lines · HPCA 2007 |
Processor architecture and microarchitecture
multicore design |
0.2 | 2 | 2012 | Bottleneck identification and scheduling in multithreaded applications · ASPLOS 2012 Accelerating critical section execution with asymmetric multi-core architectures · ASPLOS 2009 |
Parallel and multicore computing › parallel scheduling
thread scheduling |
0.2 | 1 | 2013 | Utility-based acceleration of multithreaded applications on asymmetric CMPs · ISCA 2013 |
Parallel and multicore computing › parallel computing › parallel application performance
multithreaded application performance |
0.1 | 1 | 2012 | Bottleneck identification and scheduling in multithreaded applications · ASPLOS 2012 |
Processor architecture and microarchitecture › out-of-order execution
out-of-order core |
0.1 | 1 | 2012 | MorphCore: An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP · MICRO 2012 |
Processor architecture and microarchitecture › multithreading
simultaneous multithreading |
0.1 | 1 | 2012 | MorphCore: An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLP · MICRO 2012 |
Processor architecture and microarchitecture › chip multiprocessor
inter-core communication |
0.1 | 1 | 2010 | Data marshaling for multi-core architectures · ISCA 2010 |
Processor architecture and microarchitecture › multithreading
multithreaded execution |
0.1 | 1 | 2008 | Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPs · ASPLOS 2008 |
Memory systems › cache › cache behavior
cache line utilization |
0.1 | 1 | 2007 | Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache Lines · HPCA 2007 |
Memory systems › cache
cache organization |
0.1 | 1 | 2007 | Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache Lines · HPCA 2007 |
Electronic design automation › timing analysis
critical path analysis |
0.0 | 1 | 2013 | Utility-based acceleration of multithreaded applications on asymmetric CMPs · ISCA 2013 |
Operating systems › resource management › process management › CPU scheduling
thread scheduling |
0.0 | 1 | 2012 | Bottleneck identification and scheduling in multithreaded applications · ASPLOS 2012 |
Parallel and multicore computing
parallel programming models |
0.0 | 1 | 2010 | Data marshaling for multi-core architectures · ISCA 2010 |
Concurrent programming › synchronization
critical sections |
0.0 | 1 | 2009 | Accelerating critical section execution with asymmetric multi-core architectures · ASPLOS 2009 |
Concurrent programming
synchronization |
0.0 | 1 | 2009 | Accelerating critical section execution with asymmetric multi-core architectures · ASPLOS 2009 |
Energy-efficient computing › low-power design
on-chip power reduction |
0.0 | 1 | 2008 | Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPs · ASPLOS 2008 |
Energy-efficient computing
power management |
0.0 | 1 | 2008 | Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPs · ASPLOS 2008 |
Memory systems › data locality
spatial locality |
0.0 | 1 | 2007 | Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache Lines · HPCA 2007 |
Methods — techniques the papers use, named apart from their topics
critical-path measurement · 0.3cooperative software-hardware mechanism · 0.3utility-based acceleration · 0.2software/hardware cooperative scheduling · 0.2core fusion · 0.1profiling · 0.1data marshaling · 0.1line distillation · 0.1LRU stack analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | Utility-based acceleration of multithreaded applications on asymmetric CMPsabstractAsymmetric Chip Multiprocessors (ACMPs) are becoming a reality. ACMPs can speed up parallel applications if they can identify and accelerate code segments that are critical for performance. Proposals already exist for using coarse-grained thread scheduling and fine-grained bottleneck acceleration. Unfortunately, there have been no proposals offered thus far to decide which code segments to accelerate in cases where both coarse-grained thread scheduling and fine-grained bottleneck acceleration could have value. This paper proposes Utility-Based Acceleration of Multithreaded Applications on Asymmetric CMPs (UBA), a cooperative software/hardware mechanism for identifying and accelerating the most likely critical code segments from a set of multithreaded applications running on an ACMP. The key idea is a new Utility of Acceleration metric that quantifies the performance benefit of accelerating a bottleneck or a thread by taking into account both the criticality and the expected speedup. UBA outperforms the best of two state-of-the-art mechanisms by 11% for single application workloads and by 7% for two-application workloads on an ACMP with 52 small cores and 3 large cores. José A. Joao, M. Aater Suleman, Onur Mutlu, Yale N. Patt |
ISCA | 2 |
| 2012 | Bottleneck identification and scheduling in multithreaded applicationsabstractPerformance of multithreaded applications is limited by a variety of bottlenecks, e.g. critical sections, barriers and slow pipeline stages. These bottlenecks serialize execution, waste valuable execution cycles, and limit scalability of applications. This paper proposes Bottleneck Identification and Scheduling in Multithreaded Applications (BIS), a cooperative software-hardware mechanism to identify and accelerate the most critical bottlenecks. BIS identifies which bottlenecks are likely to reduce performance by measuring the number of cycles threads have to wait for each bottleneck, and accelerates those bottlenecks using one or more fast cores on an Asymmetric Chip Multi-Processor (ACMP). Unlike previous work that targets specific bottlenecks, BIS can identify and accelerate bottlenecks regardless of their type. We compare BIS to four previous approaches and show that it outperforms the best of them by 15% on average. BIS' performance improvement increases as the number of cores and the number of fast cores in the system increase. José A. Joao, M. Aater Suleman, Onur Mutlu, Yale N. Patt |
ASPLOS | 2 |
| 2012 | MorphCore: An Energy-Efficient Microarchitecture for High Performance ILP and High Throughput TLPabstractSeveral researchers have recognized in recent years that today's workloads require a micro architecture that can handle single-threaded code at high performance, and multi-threaded code at high throughput, while consuming no more energy than is necessary. This paper proposes Morph Core, a unique approach to satisfying these competing requirements, by starting with a traditional high performance out-of-order core and making minimal changes that can transform it into a highly-threaded in-order SMT core when necessary. The result is a micro architecture that outperforms an aggressive 4-way SMT out-of-order core, "medium" out-of-order cores, small in-order cores, and Core Fusion. Compared to a 2-way SMT out-of-order core, Morph Core increases performance by 10% and reduces energy-delay-squared product by 22%. Khubaib, M. Aater Suleman, Milad Hashemi, Chris Wilkerson, Yale N. Patt |
MICRO | 2 |
| 2010 | Feedback-directed pipeline parallelismabstractExtracting high performance from Chip Multiprocessors requires that the application be parallelized. A common software technique to parallelize loops is pipeline parallelism in which the programmer/compiler splits each loop iteration into stages and each stage runs on a certain number of cores. It is important to choose the number of cores for each stage carefully because the core-to-stage allocation determines performance and power consumption. Finding the best core-to-stage allocation for an application is challenging because the number of possible allocations is large, and the best allocation depends on the input set and machine configuration. M. Aater Suleman, Moinuddin K. Qureshi, Khubaib, Yale N. Patt |
PACT | 1 |
| 2010 | Data marshaling for multi-core architecturesabstractPrevious research has shown that Staged Execution (SE), i.e., dividing a program into segments and executing each segment at the core that has the data and/or functionality to best run that segment, can improve performance and save power. However, SE's benefit is limited because most segments access inter-segment data, i.e., data generated by the previous segment. When consecutive segments run on different cores, accesses to inter-segment data incur cache misses, thereby reducing performance. This paper proposes Data Marshaling (DM), a new technique to eliminate cache misses to inter-segment data. DM uses profiling to identify instructions that generate inter-segment data, and adds only 96 bytes/core of storage overhead. We show that DM significantly improves the performance of two promising Staged Execution models, Accelerated Critical Sections and producer-consumer pipeline parallelism, on both homogeneous and heterogeneous multi-core systems. In both models, DM can achieve almost all of the potential of ideally eliminating cache misses to inter-segment data. DM's performance benefit increases with the number of cores. M. Aater Suleman, Onur Mutlu, José A. Joao, Khubaib, Yale N. Patt |
ISCA | 1 |
| 2009 | Accelerating critical section execution with asymmetric multi-core architecturesabstractTo improve the performance of a single application on Chip Multiprocessors (CMPs), the application must be split into threads which execute concurrently on multiple cores. In multi-threaded applications, critical sections are used to ensure that only one thread accesses shared data at any given time. Critical sections can serialize the execution of threads, which significantly reduces performance and scalability. M. Aater Suleman, Onur Mutlu, Moinuddin K. Qureshi, Yale N. Patt |
ASPLOS | 1 |
| 2008 | Feedback-driven threading: power-efficient and high-performance execution of multi-threaded workloads on CMPsabstractExtracting high-performance from the emerging Chip Multiprocessors (CMPs) requires that the application be divided into multiple threads. Each thread executes on a separate core thereby increasing concurrency and improving performance. As the number of cores on a CMP continues to increase, the performance of some multi-threaded applications will benefit from the increased number of threads, whereas, the performance of other multi-threaded applications will become limited by data-synchronization and off-chip bandwidth. For applications that get limited by data-synchronization, increasing the number of threads significantly degrades performance and increases on-chip power. Similarly, for applications that get limited by off-chip bandwidth, increasing the number of threads increases on-chip power without providing any performance improvement. Furthermore, whether an application gets limited by data-synchronization, or bandwidth, or neither depends not only on the application but also on the input set and the machine configuration. Therefore, controlling the number of threads based on the run-time behavior of the application can significantly improve performance and reduce power. M. Aater Suleman, Moinuddin K. Qureshi, Yale N. Patt |
ASPLOS | 1 |
| 2007 | Line Distillation: Increasing Cache Capacity by Filtering Unused Words in Cache LinesabstractCaches are organized at a line-size granularity to exploit spatial locality. However, when spatial locality is low, many words in the cache line are not used. Unused words occupy cache space but do not contribute to cache hits. Filtering these words can allow the cache to store more cache lines. We show that unused words in a cache line are unlikely to be accessed in the less recent part of the LRU stack. We propose line distillation (LDIS), a technique that retains only the used words and evicts the unused words in a cache line. We also propose distill cache, a cache organization to utilize the capacity created by LDIS. Our experiments with 16 memory-intensive benchmarks show that LDIS reduces the average misses for a 1MB 8-way L2 cache by 30% and improves the average IPC by 12% Moinuddin K. Qureshi, M. Aater Suleman, Yale N. Patt |
HPCA | 2 |
| 2006 | 2D-Profiling: Detecting Input-Dependent Branches with a Single Input Data SetabstractStatic compilers use profiling to predict run-time program behavior. Generally, this requires multiple input sets to capture wide variations in run-time behavior. This is expensive in terms of resources and compilation time. We introduce a new mechanism, 2D-profiling, which profiles with only one input set and predicts whether the result of the profile would change significantly across multiple input sets. We use 2D-profiling to predict whether a branch's prediction accuracy varies across input sets. The key insight is that if the prediction accuracy of an individual branch varies significantly over a profiling run with one input set, then it is more likely that the prediction accuracy of that branch varies across input sets. We evaluate 2D-profiling with the SPEC CPU 2000 integer benchmarks and show that it can identify input-dependent branches accurately. Hyesoon Kim, M. Aater Suleman, Onur Mutlu, Yale N. Patt |
CGO | 2 |