Demo Data from EDBT 2026 / reviewers in the wild / expert
Muhammad Amber Hassaan
dblp:92/7751
· DBLP profile ↗
7ranked-venue papers
4as first author
0since 2021 · last 2015
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 5 · 4 first-authorSoftware engineering, systems software and programming languages · 2 · 1 first-authorDatabases, data management, data science and information retrieval · 1
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
5 papers |
Parallel and multicore computing · 82% Distributed systems · 12% Performance modeling and evaluation · 6% | |
| Theoretical computer science
3 papers |
Graph algorithms and graph theory · 72% Algorithms and data structures · 28% |
Topics — the 12 heaviest of 14, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Parallel and multicore computing
parallel programming models |
0.3 | 2 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 The tao of parallelism in algorithms · PLDI 2011 |
Parallel and multicore computing › parallel algorithms
irregular algorithms |
0.2 | 2 | 2011 | Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms · PPoPP 2011 Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 |
Parallel and multicore computing › parallelizing compiler
dependence graph |
0.2 | 1 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 |
Parallel and multicore computing
task scheduling |
0.2 | 1 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 |
Parallel and multicore computing
graph processing |
0.2 | 1 | 2014 | Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014 |
Distributed systems
graph processing systems |
0.2 | 1 | 2014 | Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014 |
Graph algorithms and graph theory
graph algorithms |
0.1 | 1 | 2011 | Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms · PPoPP 2011 |
Algorithms and data structures › parallel algorithms
parallel graph algorithms |
0.1 | 1 | 2011 | Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithms · PPoPP 2011 |
Parallel and multicore computing
speculative parallelization |
0.1 | 1 | 2010 | Structure-driven optimizations for amorphous data-parallel programs · PPoPP 2010 |
Graph algorithms and graph theory
network analysis |
0.1 | 1 | 2015 | Kinetic Dependence Graphs · ASPLOS 2015 |
Performance modeling and evaluation
bottleneck analysis |
0.1 | 1 | 2014 | Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014 |
Machine learning › Graph learning
graph algorithms |
0.0 | 1 | 2011 | The tao of parallelism in algorithms · PLDI 2011 |
Methods — techniques the papers use, named apart from their topics
kinetic dependence graph · 0.4incremental graph update · 0.4dependence graph analysis · 0.4system-level analysis · 0.2hand-optimized baseline · 0.2speculative execution · 0.1optimistic execution · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2015 | Kinetic Dependence GraphsabstractTask graphs or dependence graphs are used in runtime systems to schedule tasks for parallel execution. In problem domains such as dense linear algebra and signal processing, dependence graphs can be generated from a program by static analysis. However, in emerging problem domains such as graph analytics, the set of tasks and dependences between tasks in a program are complex functions of runtime values and cannot be determined statically. In this paper, we introduce a novel approach for exploiting parallelism in such programs. This approach is based on a data structure called the kinetic dependence graph (KDG), which consists of a dependence graph together with update rules that incrementally update the graph to reflect changes in the dependence structure whenever a task is completed. Muhammad Amber Hassaan, Donald Nguyen, Keshav Pingali |
ASPLOS | 1 |
| 2014 | Navigating the maze of graph analytics frameworks using massive graph datasetsabstractGraph algorithms are becoming increasingly important for analyzing large datasets in many fields. Real-world graph data follows a pattern of sparsity, that is not uniform but highly skewed towards a few items. Implementing graph traversal, statistics and machine learning algorithms on such data in a scalable manner is quite challenging. As a result, several graph analytics frameworks (GraphLab, CombBLAS, Giraph, SociaLite and Galois among others) have been developed, each offering a solution with different programming models and targeted at different users. Unfortunately, the "Ninja performance gap" between optimized code and most of these frameworks is very large (2-30X for most frameworks and up to 560X for Giraph) for common graph algorithms, and moreover varies widely with algorithms. This makes the end-users' choice of graph framework dependent not only on ease of use but also on performance. In this work, we offer a quantitative roadmap for improving the performance of all these frameworks and bridging the "ninja gap". We first present hand-optimized baselines that get performance close to hardware limits and higher than any published performance figure for these graph algorithms. We characterize the performance of both this native implementation as well as popular graph frameworks on a variety of algorithms. This study helps end-users delineate bottlenecks arising from the algorithms themselves vs. programming model abstractions vs. the framework implementations. Further, by analyzing the system-level behavior of these frameworks, we obtain bottlenecks that are agnostic to specific algorithms. We recommend changes to alleviate these bottlenecks (and implement some of them) and reduce the performance gap with respect to native code. These changes will enable end-users to choose frameworks based mostly on ease of use. Nadathur Satish, Narayanan Sundaram, Md. Mostofa Ali Patwary, Jiwon Seo 0002, Jongsoo Park, Muhammad Amber Hassaan, Shubho Sengupta, Zhaoming Yin, Pradeep Dubey |
SIGMOD Conference | 6 |
| 2014 | Brief announcement: parallelization of asynchronous variational integrators forshared memory architecturesabstractAsynchronous variational integrators (AVIs) are used in computational mechanics and graphics to solve complex contact mechanics problems. The parallelization of AVI is difficult problem because it is not possible to build a dependence graph for AVI either at compile-time or at runtime. However, we show that if the dependence graph for AVI can be updated incrementally as the computation is performed, it is possible to parallelize AVI in a systematic way. Using this approach, we are able to obtain speedups of up to 20 on 24 cores for relatively small AVI problems. Muhammad Amber Hassaan, Donald Nguyen, Keshav Pingali |
SPAA | 1 |
| 2011 | The tao of parallelism in algorithmsabstractFor more than thirty years, the parallel programming community has used the dependence graph as the main abstraction for reasoning about and exploiting parallelism in "regular" algorithms that use dense arrays, such as finite-differences and FFTs. In this paper, we argue that the dependence graph is not a suitable abstraction for algorithms in new application areas like machine learning and network analysis in which the key data structures are "irregular" data structures like graphs, trees, and sets. Keshav Pingali, Donald Nguyen, Milind Kulkarni 0001, Martin Burtscher, Muhammad Amber Hassaan, Rashid Kaleem, Tsung-Hsien Lee, Andrew Lenharth, Roman Manevich, Mario Méndez-Lojo, Dimitrios Prountzos |
PLDI | 5 |
| 2011 | Ordered vs. unordered: a comparison of parallelism and work-efficiency in irregular algorithmsabstractOutside of computational science, most problems are formulated in terms of irregular data structures such as graphs, trees and sets. Unfortunately, we understand relatively little about the structure of parallelism and locality in irregular algorithms. In this paper, we study multiple algorithms for four such problems: discrete-event simulation, single-source shortest path, breadth-first search, and minimal spanning trees. We show that the algorithms can be classified into two categories that we call unordered and ordered, and demonstrate experimentally that there is a trade-off between parallelism and work efficiency: unordered algorithms usually have more parallelism than their ordered counterparts for the same problem, but they may also perform more work. Nevertheless, our experimental results show that unordered algorithms typically lead to more scalable implementations, demonstrating that less work-efficient irregular algorithms may be better for parallel execution. Muhammad Amber Hassaan, Martin Burtscher, Keshav Pingali |
PPoPP | 1 |
| 2010 | Ordered and unordered algorithms for parallel breadth first searchabstractWe describe and evaluate ordered and unordered algorithms for shared-memory parallel breadth-first search. The unordered algorithm is based on viewing breadth-first search as a fixpoint computation, and in general, it may perform more work than the ordered algorithms while requiring less global synchronization. Muhammad Amber Hassaan, Martin Burtscher, Keshav Pingali |
PACT | 1 |
| 2010 | Structure-driven optimizations for amorphous data-parallel programsabstractIrregular algorithms are organized around pointer-based data structures such as graphs and trees, and they are ubiquitous in applications. Recent work by the Galois project has provided a systematic approach for parallelizing irregular applications based on the idea of optimistic or speculative execution of programs. However, the overhead of optimistic parallel execution can be substantial. In this paper, we show that many irregular algorithms have structure that can be exploited and present three key optimizations that take advantage of algorithmic structure to reduce speculative overheads. We describe the implementation of these optimizations in the Galois system and present experimental results to demonstrate their benefits. To the best of our knowledge, this is the first system to exploit algorithmic structure to optimize the execution of irregular programs. Mario Méndez-Lojo, Donald Nguyen, Dimitrios Prountzos, Muhammad Amber Hassaan, Milind Kulkarni 0001, Martin Burtscher, Keshav Pingali |
PPoPP | 5 |