Muhammad Yousuf Ahmad

dblp:138/8066 · DBLP profile ↗
← Back
5ranked-venue papers
3as first author
0since 2021 · last 2020
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Databases, data management, data science and information retrieval · 3 · 2 first-authorSystems, architecture and hardware · 1Software engineering, systems software and programming languages · 1 · 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
3 papers
Storage systems · 34% High-performance computing · 30% Parallel and multicore computing · 30%
Databases, data mining, and information retrieval
1 paper
Graph data management · 100%
Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%

Topics — the 8 heaviest of 9, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Parallel and multicore computing
parallel programming models
0.412020
Graphite: A NUMA-aware HPC System for Graph Analytics Based on a new MPI * X Parallelism Model · Proc. VLDB Endow. 2020
Graph data management
distributed graph processing
0.312018
LA3: A Scalable Link- and Locality-Aware Linear Algebra-Based Graph Analytics System · Proc. VLDB Endow. 2018
Graph data management
graph analytics
0.312018
LA3: A Scalable Link- and Locality-Aware Linear Algebra-Based Graph Analytics System · Proc. VLDB Endow. 2018
Storage systems › computational storage
compaction offloading
0.212015
Compaction Management in Distributed Key-Value Datastores · Proc. VLDB Endow. 2015
Storage systems › key-value storage
LSM-tree
0.212015
Compaction Management in Distributed Key-Value Datastores · Proc. VLDB Endow. 2015
Graph algorithms and graph theory
network analysis
0.112020
Graphite: A NUMA-aware HPC System for Graph Analytics Based on a new MPI * X Parallelism Model · Proc. VLDB Endow. 2020
Distributed systems
distributed graph processing
0.112018
LA3: A Scalable Link- and Locality-Aware Linear Algebra-Based Graph Analytics System · Proc. VLDB Endow. 2018
Storage systems › key-value storage
distributed key-value store
0.112015
Compaction Management in Distributed Key-Value Datastores · Proc. VLDB Endow. 2015

Methods — techniques the papers use, named apart from their topics

pseudo-asynchronous computation · 0.7linear algebra-based graph processing · 0.7communication filtering · 0.7warmup algorithm · 0.2compaction offloading · 0.2cache prefetching · 0.2
YearPublicationVenuePosition
2020 Graphite: A NUMA-aware HPC System for Graph Analytics Based on a new MPI * X Parallelism Model
abstract
In this paper, we propose a new parallelism model denoted as MPI * X and suggest a linear algebra-based graph analytics system, namely, Graphite, which effectively employs it. MPI * X promotes thread-based partitioning to distribute computation and communication across threads on a cluster of machines, while eliminating the need for unnecessary thread synchronizations. Consequently, it contrasts with the traditional MPI + X parallelism model , which utilizes process-based partitioning to distribute data among processes as a way to scale out on a cluster of machines (the MPI part), then splits each partition into subpartitions among the threads of each process as a method to scale up within a machine (the X part). Besides adopting MPI * X, Graphite is NUMA-aware. In particular, it assigns threads to partitions in a way that exploits CPU and memory affinity, alongside leveraging faster MPI shared memory transport. Moreover, it adopts a variant of the popular GAS (Gather, Apply, and Scatter) computing model, thus decoupling the computation of partitions from the communication of partial results. Lastly, it supports thread-level asynchrony, which does not only overlap the computation with communication, but further interleaves multiple communications. We compared Graphite against GraphPad, Gemini, and LA3 graph analytics systems in an HPC environment using different graph applications. Results show that Graphite is roughly up to 3X faster than these state-of-the-art systems.
Mohammad H. Mofrad, Rami G. Melhem, Muhammad Yousuf Ahmad, Mohammad Hammoud
Proc. VLDB Endow.3
2019 Efficient Distributed Graph Analytics using Triply Compressed Sparse Format
abstract
This paper presents Triply Compressed Sparse Column (TCSC), a novel compression technique designed specifically for matrix-vector operations where the matrix as well as the input and output vectors are sparse. We refer to these operations as SpMSpV2. TCSC compresses the nonzero columns and rows of a highly sparse matrix representing a large real-world graph. During this compression, it encodes the sparsity patterns of the input and output vectors within the compressed representation of the sparse matrix itself. Consequently, it aligns the compressed indices of the input and output vectors with those of the compressed matrix columns and rows, thus eliminating the need for extra indirections when SpMSpV2operations access the vectors. This results in fewer cache misses, greater space efficiency and faster execution times. We evaluate TCSC's performance and show that it is more space and time efficient compared to CSC and DCSC, with up to 11× speedup. We integrate TCSC into GraphTap, our suggested linear algebra-based distributed graph analytics system. We compare GraphTap against GraphPad and LA3, two state-of-the-art linear algebra-based distributed graph analytics systems, using different dataset scales and numbers of processes. GraphTap is up to 7× faster than these systems due to TCSC and the resulting communication efficiency.
Mohammad H. Mofrad, Rami G. Melhem, Muhammad Yousuf Ahmad, Mohammad Hammoud
CLUSTER3
2018 LA3: A Scalable Link- and Locality-Aware Linear Algebra-Based Graph Analytics System
abstract
This paper presents LA3 , a scalable distributed system for graph analytics. LA3 couples a vertex-based programming model with a highly optimized linear algebra-based engine. It translates any vertex-centric program into an iteratively executed sparse matrix-vector multiplication (SpMV). To reduce communication and enhance scalability, the adjacency matrix representing an input graph is partitioned into locality-aware 2D tiles distributed across multiple processes. Alongside, three major optimizations are incorporated to preclude redundant computations and minimize communication. First, the link-based structure of the input graph is exploited to classify vertices into different types. Afterwards, vertices of special types are factored out of the main loop of the graph application to avoid superfluous computations. We refer to this novel optimization as computation filtering. Second, a communication filtering mechanism is involved to optimize for the high sparsity of the input matrix due to power-law distributions, common in real-world graphs. This optimization ensures that each process receives only the messages that pertain to non-zero entries in its tiles, substantially reducing communication traffic since most tiles are highly sparse. Lastly, a pseudo-asynchronous computation and communication optimization is proposed, whereby processes progress and communicate asynchronously, consume messages as soon as they become available, and block otherwise. We implemented and extensively tested LA3 on private and public clouds. Results show that LA3 outperforms six related state-of-the-art and popular distributed graph analytics systems by an average of 10X.
Muhammad Yousuf Ahmad, Omar Khattab, Arsal Malik, Ahmad Musleh, Mohammad Hammoud, Mucahid Kutlu, Mostafa Shehata, Tamer Elsayed
Proc. VLDB Endow.1
2015 Compaction Management in Distributed Key-Value Datastores
abstract
Compactions are a vital maintenance mechanism used by datastores based on the log-structured merge-tree to counter the continuous buildup of data files under update-intensive workloads. While compactions help keep read latencies in check over the long run, this comes at the cost of significantly degraded read performance over the course of the compaction itself. In this paper, we offer an in-depth analysis of compaction-related performance overheads and propose techniques for their mitigation. We offload large, expensive compactions to a dedicated compaction server to allow the datastore server to better utilize its resources towards serving the actual workload. Moreover, since the newly compacted data is already cached in the compaction server's main memory, we fetch this data over the network directly into the datastore server's local cache, thereby avoiding the performance penalty of reading it back from the filesystem. In fact, pre-fetching the compacted data from the remote cache prior to switching the workload over to it can eliminate local cache misses altogether. Therefore, we implement a smarter warmup algorithm that ensures that all incoming read requests are served from the datastore server's local cache even as it is warming up. We have integrated our solution into HBase, and using the YCSB and TPC-C benchmarks, we show that our approach significantly mitigates compaction-related performance problems. We also demonstrate the scalability of our solution by distributing compactions across multiple compaction servers.
Muhammad Yousuf Ahmad, Bettina Kemme
Proc. VLDB Endow.1
2013 Transactional Failure Recovery for a Distributed Key-Value Store
Muhammad Yousuf Ahmad, Bettina Kemme, Ivan Brondino, Marta Patiño-Martínez, Ricardo Jiménez-Peris
Middleware1