Mohammad Hammoud

dblp:84/2381 · also Mohammad H. Hammoud · DBLP profile ↗
← Back
19ranked-venue papers
9as first author
1since 2021 · last 2021
0000-0002-5742-6147ORCID · corroborated

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

Databases, data management, data science and information retrieval · 7 · 1 first-author · 1 since 2021Systems, architecture and hardware · 6 · 5 first-authorApplied, interdisciplinary, general and emerging computing · 3 · 2 first-authorArtificial intelligence and machine learning · 1Software engineering, systems software and programming languages · 1Human-computer interaction and ubiquitous computing · 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.

Databases, data mining, and information retrieval
3 papers
Information retrieval · 51% Graph data management · 28% Distributed and cloud data management · 14%
Computer architecture, parallel and distributed computing, and storage systems
2 papers
High-performance computing · 45% Parallel and multicore computing · 45% Distributed systems · 10%
Theoretical computer science
1 paper
Graph algorithms and graph theory · 100%

Topics — the 14 heaviest of 15, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Information retrieval › query processing
dynamic pruning
0.412020
Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval · SIGIR 2020
Information retrieval
query processing
0.412020
Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval · SIGIR 2020
Information retrieval › ranking › text ranking › document ranking
top-k document retrieval
0.412020
Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval · SIGIR 2020
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
Distributed and cloud data management
distributed query processing
0.212015
DREAM: Distributed RDF Engine with Adaptive Query Planner and Minimal Communication · Proc. VLDB Endow. 2015
Distributed and cloud data management
distributed RDF processing
0.212015
DREAM: Distributed RDF Engine with Adaptive Query Planner and Minimal Communication · Proc. VLDB Endow. 2015
Query processing and optimization
query planning
0.212015
DREAM: Distributed RDF Engine with Adaptive Query Planner and Minimal Communication · Proc. VLDB Endow. 2015
Graph data management
RDF data management
0.212015
DREAM: Distributed RDF Engine with Adaptive Query Planner and Minimal Communication · Proc. VLDB Endow. 2015
Information retrieval › ranking
ranking model
0.112020
Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval · SIGIR 2020
Information retrieval
retrieval models
0.112020
Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval · SIGIR 2020
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

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

pseudo-asynchronous computation · 0.7linear algebra-based graph processing · 0.7communication filtering · 0.7maxscore · 0.4WAND · 0.4
YearPublicationVenuePosition
2021 CoCoS: Fast and Accurate Distributed Triangle Counting in Graph Streams
abstract
Given a graph stream, how can we estimate the number of triangles in it using multiple machines with limited storage? Specifically, how should edges be processed and sampled across the machines for rapid and accurate estimation? The count of triangles (i.e., cliques of size three) has proven useful in numerous applications, including anomaly detection, community detection, and link recommendation. For triangle counting in large and dynamic graphs, recent work has focused largely on streaming algorithms and distributed algorithms but little on their combinations for “the best of both worlds.” In this work, we propose CoCoS , a fast and accurate distributed streaming algorithm for estimating the counts of global triangles (i.e., all triangles) and local triangles incident to each node. Making one pass over the input stream, CoCoS carefully processes and stores the edges across multiple machines so that the redundant use of computational and storage resources is minimized. Compared to baselines, CoCoS is: (a) accurate: giving up to smaller estimation error; (b) fast : up to faster, scaling linearly with the size of the input stream; and (c) theoretically sound : yielding unbiased estimates.
Kijung Shin, Euiwoong Lee, Jinoh Oh, Mohammad Hammoud, Christos Faloutsos
ACM Trans. Knowl. Discov. Data4
2020 Finding the Best of Both Worlds: Faster and More Robust Top-k Document Retrieval
abstract
Many top-k document retrieval strategies have been proposed based on the WAND and MaxScore heuristics and yet, from recent work, it is surprisingly difficult to identify the "fastest" strategy. This becomes even more challenging when considering various retrieval criteria, like different ranking models and values of k. In this paper, we conduct the first extensive comparison between ten effective strategies, many of which were never compared before to our knowledge, examining their efficiency under five representative ranking models. Based on a careful analysis of the comparison, we propose LazyBM, a remarkably simple retrieval strategy that bridges the gap between the best performing WAND-based and MaxScore-based approaches. Empirically, LazyBM considerably outperforms all of the considered strategies across ranking models, values of k, and index configurations under both mean and tail query latency.
Omar Khattab, Mohammad Hammoud, Tamer Elsayed
SIGIR2
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.4
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
CLUSTER4
2018 Revolver: Vertex-Centric Graph Partitioning Using Reinforcement Learning
abstract
Big graph analytics is gaining a widespread momentum across different fields, including biology, computer vision, social networks, recommendation systems and transportation logistics, to mention just a few. Distributed systems for graph analytics are utilized as a mean to process big graphs. To distribute and balance computation and communication loads within a distributed graph analytics system, graph partitioning algorithms can be leveraged. In this paper, we propose Revolver, a machine learning-based graph partitioning algorithm. In particular, Revolver uses reinforcement learning and label propagation to efficiently and effectively carry out the task of graph partitioning. It employs a vertex-centric approach where each vertex in a graph is associated with an autonomous agent responsible for assigning a suitable partition to the vertex. In addition, it uses label propagation to evaluate the decency of partitioning. Evaluation results show that Revolver can produce highly balanced and localized partitions compared to three popular and state-of-the-art graph partitioning algorithms.
Mohammad H. Mofrad, Rami G. Melhem, Mohammad Hammoud
IEEE CLOUD3
2018 PolyHJ: A Polymorphic Main-Memory Hash Join Paradigm for Multi-Core Machines
abstract
Relational join is a central data management operation that influences the performance of almost every database query. In this paper, we show that different input features and hardware settings necessitate different main-memory hash join models. Subsequently, we identify four particular models by which hash-based join algorithms can be executed and propose a novel polymorphic paradigm that dynamically subscribes to the best model given workload and hardware characteristics. We refer to our polymorphic paradigm as PolyHJ and suggest a corresponding implementation, which consists of two mechanisms, namely, in-place, cache-aware partitioning (ICP) and collaborative building and probing (ColBP). ICP and ColBP serve substantially in reducing multi-core cache misses, memory bandwidth usage, and cross-socket traffic. Our experimental results demonstrate that PolyHJ can successfully select the right models for the tested workloads and significantly outperform the current state-of-the-art hash-based join schemes.
Omar Khattab, Mohammad Hammoud, Omar Shekfeh
CIKM2
2018 Tri-Fly: Distributed Estimation of Global and Local Triangle Counts in Graph Streams
Kijung Shin, Mohammad Hammoud, Euiwoong Lee, Jinoh Oh, Christos Faloutsos
PAKDD (3)2
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.5
2015 A Cloud Computing Course: From Systems to Services
abstract
We have designed, developed and administered a course on cloud computing that was taught to over 700 students at our institution over two years. The goal of this project-based course is to provide students with foundational systems concepts as well as experience in developing the required skills to design and deploy viable, robust and elastic web-services within performance and budgetary constraints. We present our objectives, learning outcomes, projects, learning model, outcomes and lessons learned. So far, for this demanding course, our student retention rate is above 80% and enrollment is doubling every year.
M. Suhail Rehman, Jason Boles, Mohammad Hammoud, Majd F. Sakr
SIGCSE3
2015 DREAM: Distributed RDF Engine with Adaptive Query Planner and Minimal Communication
abstract
The Resource Description Framework (RDF) and SPARQL query language are gaining wide popularity and acceptance. In this paper, we present DREAM, a distributed and adaptive RDF system. As opposed to existing RDF systems, DREAM avoids partitioning RDF datasets and partitions only SPARQL queries. By not partitioning datasets, DREAM offers a general paradigm for different types of pattern matching queries, and entirely averts intermediate data shuffling (only auxiliary data are shuffled). Besides, by partitioning queries, DREAM presents an adaptive scheme, which automatically runs queries on various numbers of machines depending on their complexities. Hence, in essence DREAM combines the advantages of the state-of-the-art centralized and distributed RDF systems, whereby data communication is avoided and cluster resources are aggregated. Likewise, it precludes their disadvantages, wherein system resources are limited and communication overhead is typically hindering. DREAM achieves all its goals via employing a novel graph-based, rule-oriented query planner and a new cost model. We implemented DREAM and conducted comprehensive experiments on a private cluster and on the Amazon EC2 platform. Results show that DREAM can significantly outperform three related popular RDF systems.
Mohammad Hammoud, Dania Abed Rabbou, Reza Nouri, Amin Beheshti, Sherif Sakr
Proc. VLDB Endow.1
2013 MC2: Map Concurrency Characterization for MapReduce on the Cloud
abstract
MapReduce is now a pervasive analytics engine on the cloud. Hadoop is an open source implementation of MapReduce and is currently enjoying wide popularity. Hadoop offers a high-dimensional space of configuration parameters, which makes it difficult for practitioners to set for efficient and cost-effective execution. In this work we observe that MapReduce application performance is highly influenced by map concurrency. Map concurrency is defined in terms of two configurable parameters, the number of available map slots and the number of map tasks running over the slots. We show that some inherent MapReduce characteristics enable well-informed prediction of map concurrency. We propose Map Concurrency Characterization (MC2), a standalone utility program that can predict the best map concurrency for any given MapReduce application. By leveraging the generated predicted information, MC2 can judiciously guide Map phase configuration and, consequently, improve Hadoop performance. Unlike many of relevant schemes, MC2 does not employ simulation, dynamic instrumentation, and/or static analysis of unmodified job code to predict map concurrency. In contrast, MC2 utilizes a simple, yet effective mathematical model, which exploits the MapReduce characteristics that impact map concurrency. We implemented MC2 and conducted comprehensive experiments on a private cloud and on Amazon EC2 using Hadoop 0.20.2. Our results show that MC2 can correctly predict the best map concurrencies for the tested benchmarks and provide up to 2.2X speedup in runtime.
Mohammad Hammoud, Majd F. Sakr
IEEE CLOUD1
2012 Center-of-Gravity Reduce Task Scheduling to Lower MapReduce Network Traffic
abstract
MapReduce is by far one of the most successful realizations of large-scale data-intensive cloud computing platforms. MapReduce automatically parallelizes computation by running multiple map and/or reduce tasks over distributed data across multiple machines. Hadoop is an open source implementation of MapReduce. When Hadoop schedules reduce tasks, it neither exploits data locality nor addresses partitioning skew present in some MapReduce applications. This might lead to increased cluster network traffic. In this paper we investigate the problems of data locality and partitioning skew in Hadoop. We propose Center-of-Gravity Reduce Scheduler (CoGRS), a locality-aware skew-aware reduce task scheduler for saving MapReduce network traffic. In an attempt to exploit data locality, CoGRS schedules each reduce task at its center-of-gravity node, which is computed after considering partitioning skew as well. We implemented CoGRS in Hadoop-0.20.2 and tested it on a private cloud as well as on Amazon EC2. As compared to native Hadoop, our results show that CoGRS minimizes off-rack network traffic by averages of 9.6% and 38.6% on our private cloud and on an Amazon EC2 cluster, respectively. This reflects on job execution times and provides an improvement of up to 23.8%.
Mohammad Hammoud, M. Suhail Rehman, Majd F. Sakr
IEEE CLOUD1
2011 Locality-Aware Reduce Task Scheduling for MapReduce
abstract
MapReduce offers a promising programming model for big data processing. Inspired by functional languages, MapReduce allows programmers to write functional-style code which gets automatically divided into multiple map and/or reduce tasks and scheduled over distributed data across multiple machines. Hadoop, an open source implementation of MapReduce, schedules map tasks in the vicinity of their inputs in order to diminish network traffic and improve performance. However, Hadoop schedules reduce tasks at requesting nodes without considering data locality leading to performance degradation. This paper describes Locality-Aware Reduce Task Scheduler (LARTS), a practical strategy for improving MapReduce performance. LARTS attempts to collocate reduce tasks with the maximum required data computed after recognizing input data network locations and sizes. LARTS adopts a cooperative paradigm seeking a good data locality while circumventing scheduling delay, scheduling skew, poor system utilization, and low degree of parallelism. We implemented LARTS in Hadoop-0.20.2. Evaluation results show that LARTS outperforms the native Hadoop reduce task scheduler by an average of 7%, and up to 11.6%.
Mohammad Hammoud, Majd F. Sakr
CloudCom1
2011 Cache equalizer: a placement mechanism for chip multiprocessor distributed shared caches
abstract
This paper describes Cache Equalizer (CE), a novel distributed cache management scheme for large-scale chip multiprocessors (CMPs). Our work is motivated by large asymmetry in cache sets' usages. CE decouples the physical locations of cache blocks from their addresses for the sake of reducing misses caused by destructive interferences. Temporal pressure at the on-chip last-level cache is continuously collected at a group (comprised of cache sets) granularity, and periodically recorded at the memory controller to guide the placement process. An incoming block is consequently placed at a cache group that exhibits the minimum pressure. Simulation results using a full-system simulator demonstrate that CE achieves an average L2 miss rate reduction of 13.6% over a shared NUCA scheme and by as much as 46.7% for the benchmark programs we examined. Furthermore, evaluations showed that CE outperforms related cache designs.
Mohammad Hammoud, Sangyeun Cho, Rami G. Melhem
HiPEAC1
2011 C-AMTE: A location mechanism for flexible cache management in chip multiprocessors
Mohammad Hammoud, Sangyeun Cho, Rami G. Melhem
J. Parallel Distributed Comput.1
2010 An intra-tile cache set balancing scheme
abstract
This poster describes an intra-tile cache set balancing strategy that exploits the demand imbalance across sets within the same L2 cache bank. This strategy retains some fraction of the working set at underutilized sets so as to satisfy far-flung reuses. It adapts to phase changes in programs and promotes a very flexible sharing among cache sets referred to as many-from-many sharing. Simulation results using a full system simulator demonstrate the effectiveness of the proposed scheme and show that it compares favorably with related cache designs on a 16-way tiled CMP platform.
Mohammad Hammoud, Sangyeun Cho, Rami G. Melhem
PACT1
2009 ACM: An Efficient Approach for Managing Shared Caches in Chip Multiprocessors
Mohammad Hammoud, Sangyeun Cho, Rami G. Melhem
HiPEAC1
2009 Dynamic cache clustering for chip multiprocessors
abstract
This paper proposes DCC (Dynamic Cache Clustering), a novel distributed cache management scheme for large-scale chip multiprocessors. Using DCC, a per-core cache cluster is comprised of a number of L2 cache banks and cache clusters are constructed, expanded, and contracted dynamically to match each core's cache demand. The basic trade-offs of varying the on-chip cache clusters are average L2 access latency and L2 miss rate. DCC uniquely and efficiently optimizes both metrics and continuously tracks a near-optimal cache organization from many possible configurations. Simulation results using a full-system simulator demonstrate that DCC outperforms alternative L2 cache designs.
Mohammad Hammoud, Sangyeun Cho, Rami G. Melhem
ICS1
2007 CA-RAM: A High-Performance Memory Substrate for Search-Intensive Applications
abstract
This paper proposes a specialized memory structure called CA-RAM (content addressable random access memory) to accelerate search operations present in many important real-world applications. Search operations can occupy a significant portion of total execution time and energy consumption, while posing a difficult performance problem to tackle using traditional memory hierarchy concepts. In essence, CA-RAM is a direct hardware implementation of the well-known hashing technique. Searchable records are stored in CA-RAM at a location determined by a hash function, defined on their search key. After a database has been built, looking up a record in CA-RAM typically involves a single memory access followed by a parallel key matching operation. Compared with a conventional CAM (content addressable memory) solution, CA-RAM capitalizes on dense SRAM and DRAM designs, and achieves comparable search performance while occupying much smaller area and consuming significantly less power. This paper presents detailed design aspects of CA-RAM, to be integrated in future general-purpose and application-specific processors and systems. To further motivate and justify our approach, we present two real examples of using CA-RAM to build a high-performance search accelerator targeting: IP address lookup in core routers and trigram lookup in a large speech recognition system
Sangyeun Cho, Joel R. Martin, Ruibin Xu, Mohammad Hammoud, Rami G. Melhem
ISPASS4