Md. Mostofa Ali Patwary

dblp:44/6370 · DBLP profile ↗
← Back
25ranked-venue papers
9as first author
0since 2021 · last 2019
—ORCID · none

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

Systems, architecture and hardware · 15 · 8 first-authorDatabases, data management, data science and information retrieval · 4Artificial intelligence and machine learning · 3Theory of computation · 3 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 3

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
10 papers
High-performance computing · 57% Parallel and multicore computing · 25% Distributed systems · 12%
Databases, data mining, and information retrieval
5 papers
Data mining · 87% Graph data management · 13%
Artificial intelligence
1 paper
Optimization for machine learning · 70% Deep learning architectures and training · 30%
Theoretical computer science
2 papers
Graph algorithms and graph theory · 43% Algorithmic game theory and mechanism design · 43% Computational geometry · 15%

Topics — the 28 heaviest of 29, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Data mining
clustering
0.742015
BD-CATS: big data clustering at trillion particle scale · SC 2015
Pardicle: Parallel Approximate Density-Based Clustering · SC 2014
Scalable parallel OPTICS data clustering using graph algorithmic techniques · SC 2013
Data mining › clustering
density-based clustering
0.742015
BD-CATS: big data clustering at trillion particle scale · SC 2015
Pardicle: Parallel Approximate Density-Based Clustering · SC 2014
Scalable parallel OPTICS data clustering using graph algorithmic techniques · SC 2013
Distributed systems
graph processing systems
0.422015
GraphMat: High performance graph analytics made productive · Proc. VLDB Endow. 2015
Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014
High-performance computing › large-scale simulation
cosmological simulation
0.312017
Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies · SC 2017
Parallel and multicore computing
distributed deep learning training
0.312017
Deep learning at 15PF: supervised and semi-supervised classification for scientific data · SC 2017
High-performance computing
large-scale training
0.312017
Deep learning at 15PF: supervised and semi-supervised classification for scientific data · SC 2017
High-performance computing
many-core acceleration
0.312017
Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies · SC 2017
High-performance computing
performance optimization at scale
0.312017
Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies · SC 2017
High-performance computing
scientific computing systems
0.312017
Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies · SC 2017
Algorithmic game theory and mechanism design › matching
b-matching
0.212016
Designing scalable b-Matching algorithms on distributed memory multiprocessors by approximation · SC 2016
Graph algorithms and graph theory
graph matching
0.212016
Designing scalable b-Matching algorithms on distributed memory multiprocessors by approximation · SC 2016
Machine learning › Optimization for machine learning › model-based optimization
bayesian optimization
0.212015
Scalable Bayesian Optimization Using Deep Neural Networks · ICML 2015
Machine learning › Deep learning architectures and training › scientific machine learning
neural surrogate model
0.212015
Scalable Bayesian Optimization Using Deep Neural Networks · ICML 2015
Machine learning › Optimization for machine learning › model-based optimization › bayesian optimization
surrogate model
0.212015
Scalable Bayesian Optimization Using Deep Neural Networks · ICML 2015
Graph data management
graph analytics
0.212015
GraphMat: High performance graph analytics made productive · Proc. VLDB Endow. 2015
High-performance computing › iterative methods
conjugate gradient
0.212014
Efficient Shared-Memory Implementation of High-Performance Conjugate Gradient Benchmark and its Application to Unstructured Matrices · SC 2014
Parallel and multicore computing
graph processing
0.212014
Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014
High-performance computing
sparse linear solver
0.212014
Efficient Shared-Memory Implementation of High-Performance Conjugate Gradient Benchmark and its Application to Unstructured Matrices · SC 2014
Cloud and datacenter computing › big data analytics
scalable analytics
0.122015
BD-CATS: big data clustering at trillion particle scale · SC 2015
Pardicle: Parallel Approximate Density-Based Clustering · SC 2014
Parallel and multicore computing
parallel algorithms
0.122013
Scalable parallel OPTICS data clustering using graph algorithmic techniques · SC 2013
A new scalable parallel DBSCAN algorithm using the disjoint-set data structure · SC 2012
Computational geometry › spatial data structures
kd-tree
0.112017
Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies · SC 2017
Parallel and multicore computing › parallel algorithms
distributed-memory parallel algorithms
0.112016
Designing scalable b-Matching algorithms on distributed memory multiprocessors by approximation · SC 2016
Machine learning › Optimization for machine learning
hyperparameter optimization
0.112015
Scalable Bayesian Optimization Using Deep Neural Networks · ICML 2015
High-performance computing › sparse linear algebra
sparse matrix computation
0.112015
GraphMat: High performance graph analytics made productive · Proc. VLDB Endow. 2015
Performance modeling and evaluation
bottleneck analysis
0.112014
Navigating the maze of graph analytics frameworks using massive graph datasets · SIGMOD Conference 2014
Parallel and multicore computing › parallel data mining
parallel clustering
0.112014
Pardicle: Parallel Approximate Density-Based Clustering · SC 2014
Parallel and multicore computing › parallel programming models
shared-memory parallelization
0.112014
Efficient Shared-Memory Implementation of High-Performance Conjugate Gradient Benchmark and its Application to Unstructured Matrices · SC 2014
Parallel and multicore computing › parallel algorithms
graph algorithms
0.012013
Scalable parallel OPTICS data clustering using graph algorithmic techniques · SC 2013

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

MPI · 0.7disjoint-set data structure · 0.6synchronous and asynchronous training · 0.6spherical harmonic expansion · 0.6semi-supervised learning · 0.6load balancing · 0.6convolutional neural network · 0.6SIMD parallelism · 0.6approximation algorithm · 0.5OpenMP · 0.5vertex programming · 0.2sparse matrix operations · 0.2kd-tree · 0.2geometric partitioning · 0.2gaussian process · 0.2adaptive basis function regression · 0.2DBSCAN · 0.2dynamic partitioning · 0.2
YearPublicationVenuePosition
2019 Language Modeling at Scale
abstract
We show how Zipf's Law can be used to scale up language modeling (LM) to take advantage of more training data and more GPUs. LM plays a key role in many important natural language applications such as speech recognition and machine translation. Scaling up LM is important since it is widely accepted by the community that there is no data like more data. Eventually, we would like to train on terabytes (TBs) of text (trillions of words). Modern training methods are far from this goal, because of various bottlenecks, especially memory (within GPUs) and communication (across GPUs). This paper shows how Zipf's Law can address these bottlenecks by grouping parameters for common words and character sequences, because U ≪ N, where U is the number of unique words (types) and N is the size of the training set (tokens). For a local batch size K with G GPUs and a D-dimension embedding matrix, we reduce the original per-GPU memory and communication asymptotic complexity from Θ(GKD) to Θ(GK + UD). Empirically, we find U ∝ (GK)^0.64 on four publicly available large datasets. When we scale up the number of GPUs to 64, a factor of 8, training time speeds up by factors up to 6.7× (for character LMs) and 6.3× (for word LMs) with negligible loss of accuracy. Our weak scaling on 192 GPUs on the Tieba dataset shows a 35% improvement in LM prediction accuracy by training on 93 GB of data (2.5× larger than publicly available SOTA dataset), but taking only 1.25× increase in training time, compared to 3 GB of the same dataset running on 6 GPUs.
Md. Mostofa Ali Patwary, Milind Chabbi, Heewoo Jun, Jiaji Huang, Gregory Frederick Diamos, Kenneth Church 0001
IPDPS1
2017 Galactos: computing the anisotropic 3-point correlation function for 2 billion galaxies
abstract
The nature of dark energy and the complete theory of gravity are two central questions currently facing cosmology. A vital tool for addressing them is the 3-point correlation function (3PCF), which probes deviations from a spatially random distribution of galaxies. However, the 3PCF's formidable computational expense has prevented its application to astronomical surveys comprising millions to billions of galaxies. We present Galactos, a high-performance implementation of a novel, O(N2) algorithm that uses a load-balanced k-d tree and spherical harmonic expansions to compute the anisotropic 3PCF. Our implementation is optimized for the Intel Xeon Phi architecture, exploiting SIMD parallelism, instruction and thread concurrency, and significant L1 and L2 cache reuse, reaching 39% of peak performance on a single node. Galactos scales to the full Cori system, achieving 9.8 PF (peak) and 5.06 PF (sustained) across 9636 nodes, making the 3PCF easily computable for all galaxies in the observable universe.
Brian Friesen, Md. Mostofa Ali Patwary, Brian Austin, Nadathur Satish, Zachary Slepian, Narayanan Sundaram, Deborah Bard, Daniel J. Eisenstein, Jack Deslippe, Pradeep Dubey, Prabhat
SC2
2017 Deep learning at 15PF: supervised and semi-supervised classification for scientific data
abstract
This paper presents the first, 15-PetaFLOP Deep Learning system for solving scientific pattern classification problems on contemporary HPC architectures. We develop supervised convolutional architectures for discriminating signals in high-energy physics data as well as semi-supervised architectures for localizing and classifying extreme weather in climate data. Our Intelcaffe-based implementation obtains ~2TFLOP/s on a single Cori Phase-II Xeon-Phi node. We use a hybrid strategy employing synchronous node-groups, while using asynchronous communication across groups. We use this strategy to scale training of a single model to ~9600 Xeon-Phi nodes; obtaining peak performance of 11.73-15.07 PFLOP/s and sustained performance of 11.41-13.27 PFLOP/s. At scale, our HEP architecture produces state-of-the-art classification accuracy on a dataset with 10M images, exceeding that achieved by selections on high-level physics-motivated features. Our semi-supervised architecture successfully extracts weather patterns in a 15TB climate dataset. Our results demonstrate that Deep Learning can be optimized and scaled effectively on many-core, HPC systems.
Thorsten Kurth, Jian Zhang 0049, Nadathur Satish, Evan Racah, Ioannis Mitliagkas, Md. Mostofa Ali Patwary, Tareq M. Malas, Narayanan Sundaram, Wahid Bhimji, Mikhail Smorkalov, Jack Deslippe, Mikhail Shiryaev, Srinivas Sridharan 0002, Prabhat, Pradeep Dubey
SC6
2016 Controlled vs. Automatic Processing: A Graph-Theoretic Approach to the Analysis of Serial vs. Parallel Processing in Neural Network Architectures
Sebastian Musslick, Biswadip Dey, Kayhan Özcimder, Md. Mostofa Ali Patwary, Theodore L. Willke, Jonathan D. Cohen 0003
CogSci4
2016 GraphPad: Optimized Graph Primitives for Parallel and Distributed Platforms
abstract
The duality between graphs and matrices means that many common graph analyses can be expressed with primitives such as generalized sparse matrix-vector multiplication (SpMSpV) and sparse matrix-matrix multiplication (SpGEMM). Achieving high performance on these primitives is challenging due to limited arithmetic intensity, irregular memory accesses, and significant network communication requirements in the distributed setting. In this paper we implement four graph applications using GraphPad, our optimized multinode implementations of generalized linear algebra primitives such as SpMSpV and SpGEMM. GraphPad is highly flexible to accommodate multiple data layouts, partitioning strategies, and incorporates communication optimizations. Our performance at scale can exceed that of CombBLAS by up to 40×. In addition to GraphPad's performance in a distributed setting, it is also within 2× the performance of GraphMat, a high performance graph framework on a single node for four out of five benchmarks. We also show our communication optimizations and flexibility are critical for good performance on both HPC clusters and commodity cloud platforms.
Michael J. Anderson, Narayanan Sundaram, Nadathur Satish, Md. Mostofa Ali Patwary, Theodore L. Willke, Pradeep Dubey
IPDPS4
2016 PANDA: Extreme Scale Parallel K-Nearest Neighbor on Distributed Architectures
abstract
Computing k-Nearest Neighbors (KNN) is one of the core kernels used in many machine learning, data mining and scientific computing applications. Although kd-tree based O(log n) algorithms have been proposed for computing KNN, due to its inherent sequentiality, linear algorithms are being used in practice. This limits the applicability of such methods to millions of data points, with limited scalability for Big Data analytics challenges in the scientific domain. In this paper, we present parallel and highly optimized kd*tree based KNN algorithms (both construction and querying) suitable for distributed architectures. Our algorithm includes novel approaches for pruning search space and improving load balancing and partitioning among nodes and threads. Using TB-sized datasets from three science applications: astrophysics, plasma physics, and particle physics, we show that our implementation can construct kd-tree of 189 billion particles in 48 seconds on utilizing ~50,000 cores. We also demonstrate computation of KNN of 19 billion queries in 12 seconds. We demonstrate almost linear speedup both for shared and distributed memory computers. Our algorithms outperforms earlier implementations by more than order of magnitude, thereby radically improving the applicability of our implementation to state-of-the-art Big Data analytics problems.
Md. Mostofa Ali Patwary, Nadathur Satish, Narayanan Sundaram, Jialin Liu 0002, Peter J. Sadowski, Evan Racah, Surendra Byna, Craig Tull, Wahid Bhimji, Prabhat, Pradeep Dubey
IPDPS1
2016 Designing scalable b-Matching algorithms on distributed memory multiprocessors by approximation
abstract
A b-MATCHING is a subset of edges M such that at most b(v) edges in M are incident on each vertex v, where b(v) is specified. We present a distributed-memory parallel algorithm, b-SUITOR, that computes a b-MATCHING with more than half the maximum weight in a graph with weights on the edges. The approximation algorithm is designed to have high concurrency and low time complexity. We organize the implementation of the algorithm in terms of asynchronous supersteps that combine computation and communication, and balance the computational work and frequency of communication to obtain high performance. Since the performance of the b-SUITOR algorithm is strongly influenced by communication, we present several strategies to reduce the communication volume. We implement the algorithm using a hybrid strategy where inter-node communication uses MPI and intra-node computation is done with OpenMP threads. We demonstrate strong and weak scaling of b-SUITOR up to 16K processors on two supercomputers at NERSC. We compute a b-MATCHING in a graph with 2 billion edges in under 4 seconds using 16K processors.
Arif M. Khan, Alex Pothen, Md. Mostofa Ali Patwary, Mahantesh Halappanavar, Nadathur Satish, Narayanan Sundaram, Pradeep Dubey
SC3
2015 Scalable Bayesian Optimization Using Deep Neural Networks
abstract
Bayesian optimization is an effective methodology for the global optimization of functions with expensive evaluations. It relies on querying a distribution over functions defined by a relatively cheap surrogate model. An accurate model for this distribution over functions is critical to the effectiveness of the approach, and is typically fit using Gaussian processes (GPs). However, since GPs scale cubically with the number of observations, it has been challenging to handle objectives whose optimization requires many evaluations, and as such, massively parallelizing the optimization. In this work, we explore the use of neural networks as an alternative to GPs to model distributions over functions. We show that performing adaptive basis function regression with a neural network as the parametric form performs competitively with state-of-the-art GP-based approaches, but scales linearly with the number of data rather than cubically. This allows us to achieve a previously intractable degree of parallelism, which we apply to large scale hyperparameter optimization, rapidly finding competitive models on benchmark object recognition tasks using convolutional networks, and image caption generation using neural language models.
Jasper Snoek, Oren Rippel, Kevin Swersky, Jamie Kiros, Nadathur Satish, Narayanan Sundaram, Md. Mostofa Ali Patwary, Prabhat, Ryan P. Adams
ICML7
2015 BD-CATS: big data clustering at trillion particle scale
abstract
Modern cosmology and plasma physics codes are now capable of simulating trillions of particles on petascale systems. Each timestep output from such simulations is on the order of 10s of TBs. Summarizing and analyzing raw particle data is challenging, and scientists often focus on density structures, whether in the real 3D space, or a high-dimensional phase space. In this work, we develop a highly scalable version of the clustering algorithm Dbscan, and apply it to the largest datasets produced by state-of-the-art codes. Our system, called Bd-Cats, is the first one capable of performing end-to-end analysis at trillion particle scale (including: loading the data, geometric partitioning, computing kd-trees, performing clustering analysis, and storing the results). We show analysis of 1.4 trillion particles from a plasma physics simulation, and a 10,2403 particle cosmological simulation, utilizing ~100,000 cores in 30 minutes. Bd-Cats is helping infer mechanisms behind particle acceleration in plasma physics and holds promise for qualitatively superior clustering in cosmology. Both of these results were previously intractable at the trillion particle scale.
Md. Mostofa Ali Patwary, Surendra Byna, Nadathur Satish, Narayanan Sundaram, Zarija Lukic, Vadim Roytershteyn, Michael J. Anderson, Yushu Yao, Prabhat, Pradeep Dubey
SC1
2015 GraphMat: High performance graph analytics made productive
abstract
Given the growing importance of large-scale graph analytics, there is a need to improve the performance of graph analysis frameworks without compromising on productivity. GraphMat is our solution to bridge this gap between a user-friendly graph analytics framework and native, hand-optimized code. GraphMat functions by taking vertex programs and mapping them to high performance sparse matrix operations in the backend. We thus get the productivity benefits of a vertex programming framework without sacrificing performance. GraphMat is a single-node multicore graph framework written in C++ which has enabled us to write a diverse set of graph algorithms with the same effort compared to other vertex programming frameworks. GraphMat performs 1.1-7X faster than high performance frameworks such as GraphLab, CombBLAS and Galois. GraphMat also matches the performance of MapGraph, a GPU-based graph framework, despite running on a CPU platform with significantly lower compute and bandwidth resources. It achieves better multicore scalability (13-15X on 24 cores) than other frameworks and is 1.2X off native, hand-optimized code on a variety of graph algorithms. Since GraphMat performance depends mainly on a few scalable and well-understood sparse matrix operations, GraphMat can naturally benefit from the trend of increasing parallelism in future hardware.
Narayanan Sundaram, Nadathur Satish, Md. Mostofa Ali Patwary, Subramanya Dulloor, Michael J. Anderson, Satya Gautam Vadlamudi, Dipankar Das 0002, Pradeep Dubey
Proc. VLDB Endow.3
2014 Clique guided community detection
abstract
Discovering communities to understand and model network structures has been a fundamental problem in several fields including social networks, physics, and biology. Many algorithms have been developed for finding the communities. Modularity based technique is fairly new relative to clustering, though it is very popular currently. Although some fast modularity based algorithms exist for detecting communities, the quality of these solutions is limited. At the other extreme, a clique embodies a basic community as it has the greatest possible edge density. However, the requirement that each pair of vertices be connected is too strict. Therefore, techniques to merge partitioned cliques using a hill-climbing greedy algorithm have been studied to form communities. However, the task of finding cliques is computationally expensive. In this paper, we present a new approach for fast and efficient community detection. We propose a clique guided community detection framework that consists of two phases. In the first phase, the framework finds disjoint cliques. In the second phase, the cliques from the first phase are used to guide the merging of individual vertices until a good quality solution is obtained. For the first phase, we develop an algorithm named MaCH (Maximum Clique Heuristic), which is a new approach to compute disjoint cliques using a heuristic-based branch-and-bound technique. We provide experimental results to demonstrate the efficiency of the new algorithm and compare our approach with other previously proposed algorithms.
Diana Palsetia, Md. Mostofa Ali Patwary, William Hendrix, Ankit Agrawal 0001, Alok N. Choudhary
IEEE BigData2
2014 Efficient Shared-Memory Implementation of High-Performance Conjugate Gradient Benchmark and its Application to Unstructured Matrices
abstract
A new sparse high performance conjugate gradient benchmark (HPCG) has been recently released to address challenges in the design of sparse linear solvers for the next generation extreme-scale computing systems. Key computation, data access, and communication pattern in HPCG represent building blocks commonly found in today's HPC applications. While it is a well known challenge to efficiently parallelize Gauss-Seidel smoother, the most time-consuming kernel in HPCG, our algorithmic and architecture-aware optimizations deliver 95% and 68% of the achievable bandwidth on Xeon and Xeon Phi, respectively. Based on available parallelism, our Xeon Phi shared-memory implementation of Gauss-Seidel smoother selectively applies block multi-color reordering. Combined with MPI parallelization, our implementation balances parallelism, data access locality, CG convergence rate, and communication overhead. Our implementation achieved 580 TFLOPS (82% parallelization efficiency) on Tianhe-2 system, ranking first on the most recent HPCG list in July 2014. In addition, we demonstrate that our optimizations not only benefit HPCG original dataset, which is based on structured 3D grid, but also a wide range of unstructured matrices.
Jongsoo Park, Mikhail Smelyanskiy, Karthikeyan Vaidyanathan, Alexander Heinecke, Dhiraj D. Kalamkar, Md. Mostofa Ali Patwary, Yutong Lu, Pradeep Dubey
SC7
2014 Pardicle: Parallel Approximate Density-Based Clustering
abstract
DBSCAN is a widely used is density-based clustering algorithm for particle data well-known for its ability to isolate arbitrarily-shaped clusters and to filter noise data. The algorithm is super-linear (O(nlogn)) and computationally expensive for large datasets. Given the need for speed, we propose a fast heuristic algorithm for DBSCAN using density based sampling, which performs equally well in quality compared to exact algorithms, but is more than an order of magnitude faster. Our experiments on astrophysics and synthetic massive datasets (8.5 billion numbers) shows that our approximate algorithm is up to 56x faster than exact algorithms with almost identical quality (Omega-Index = 0.99). We develop a new parallel DBSCAN algorithm, which uses dynamic partitioning to improve load balancing and locality. We demonstrate near-linear speedup on shared memory (15x using 16 cores, single node Intel® Xeon® processor) and distributed memory (3917x using 4096 cores, multinode) computers, with 2x additional performance improvement using Intel® Xeon Phi coprocessors. Additionally, existing exact algorithms can achieve up to 3.4 times speedup using dynamic partitioning.
Md. Mostofa Ali Patwary, Nadathur Satish, Narayanan Sundaram, Fredrik Manne, Pradeep Dubey
SC1
2014 Navigating the maze of graph analytics frameworks using massive graph datasets
abstract
Graph 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 Conference3
2013 Scalable parallel OPTICS data clustering using graph algorithmic techniques
abstract
OPTICS is a hierarchical density-based data clustering algorithm that discovers arbitrary-shaped clusters and eliminates noise using adjustable reachability distance thresholds. Parallelizing OPTICS is considered challenging as the algorithm exhibits a strongly sequential data access order. We present a scalable parallel OPTICS algorithm (Poptics) designed using graph algorithmic concepts. To break the data access sequentiality, POPTICS exploits the similarities between the OPTICS algorithm and Prim's Minimum Spanning Tree algorithm. Additionally, we use the disjoint-set data structure to achieve a high parallelism for distributed cluster extraction. Using high dimensional datasets containing up to a billion floating point numbers, we show scalable speedups of up to 27.5 for our OpenMP implementation on a 40-core shared-memory machine, and up to 3,008 for our MPI implementation on a 4,096-core distributed-memory machine. We also show that the quality of the results given by POPTICS is comparable to those given by the classical OPTICS algorithm.
Md. Mostofa Ali Patwary, Diana Palsetia, Ankit Agrawal 0001, Wei-keng Liao, Fredrik Manne, Alok N. Choudhary
SC1
2013 Graphical Modeling of Macro Behavioral Targeting in Social Networks
abstract
We investigate a class of emerging online marketing challenges in social networks; macro behavioral targeting (MBT) is introduced as non-personalized broadcasting efforts to massive populations. We propose a new probabilistic graphical model for MBT. Further, a linear-time approximation method is proposed to circumvent an intractable parametric representation of user behaviors. We compare the proposed model with the existing state-of-the-art method on real datasets from social networks. Our model outperforms in all categories by comfortable margins.
Ankit Agrawal 0001, Zhengzhang Chen, Yu Cheng 0001, Alok N. Choudhary, Md. Mostofa Ali Patwary, Yusheng Xie, Kunpeng Zhang 0001
SDM6
2013 Fast Algorithms for the Maximum Clique Problem on Massive Sparse Graphs
Bharath Pattabiraman, Md. Mostofa Ali Patwary, Assefaw Hadish Gebremedhin, Wei-keng Liao, Alok N. Choudhary
WAW2
2013 ColPack: Software for graph coloring and related problems in scientific computing
abstract
We present a suite of fast and effective algorithms, encapsulated in a software package called ColPack, for a variety of graph coloring and related problems. Many of the coloring problems model partitioning needs arising in compression-based computation of Jacobian and Hessian matrices using Algorithmic Differentiation. Several of the coloring problems also find important applications in many areas outside derivative computation, including frequency assignment in wireless networks, scheduling, facility location, and concurrency discovery and data movement operations in parallel and distributed computing. The presentation in this article includes a high-level description of the various coloring algorithms within a common design framework, a detailed treatment of the theory and efficient implementation of known as well as new vertex ordering techniques upon which the coloring algorithms rely, a discussion of the package's software design, and an illustration of its usage. The article also includes an extensive experimental study of the major algorithms in the package using real-world as well as synthetically generated graphs.
Assefaw Hadish Gebremedhin, Duc C. Nguyen, Md. Mostofa Ali Patwary, Alex Pothen
ACM Trans. Math. Softw.3
2012 Parallel hierarchical clustering on shared memory platforms
abstract
Hierarchical clustering has many advantages over traditional clustering algorithms like k-means, but it suffers from higher computational costs and a less obvious parallel structure. Thus, in order to scale this technique up to larger datasets, we present SHRINK, a novel shared-memory algorithm for single-linkage hierarchical clustering based on merging the solutions from overlapping sub-problems. In our experiments, we find that SHRINK provides a speedup of 18–20 on 36 cores on both real and synthetic datasets of up to 250,000 points. Source code for SHRINK is available for download on our website, http://cucis.ece.northwestern.edu.
William Hendrix, Md. Mostofa Ali Patwary, Ankit Agrawal 0001, Wei-keng Liao, Alok N. Choudhary
HiPC2
2012 Multi-core Spanning Forest Algorithms using the Disjoint-set Data Structure
abstract
We present new multi-core algorithms for computing spanning forests and connected components of large sparse graphs. The algorithms are based on the use of the disjoint-set data structure. When compared with the previous best algorithms for these problems our algorithms are appealing for several reasons: Extensive experiments using up to 40 threads on several different types of graphs show that they scale better. Also, the new algorithms do not make use of any hardware specific routines, and thus are highly portable. Finally, the algorithms are quite simple and easy to implement.
Md. Mostofa Ali Patwary, Peder Refsnes, Fredrik Manne
IPDPS1
2012 A new scalable parallel DBSCAN algorithm using the disjoint-set data structure
abstract
DBSCAN is a well-known density based clustering algorithm capable of discovering arbitrary shaped clusters and eliminating noise data. However, parallelization of DBSCAN is challenging as it exhibits an inherent sequential data access order. Moreover, existing parallel implementations adopt a master-slave strategy which can easily cause an unbalanced workload and hence result in low parallel efficiency. We present a new parallel DBSCAN algorithm (PDSDBSCAN) using graph algorithmic concepts. More specifically, we employ the disjoint-set data structure to break the access sequentiality of DBSCAN. In addition, we use a tree-based bottom-up approach to construct the clusters. This yields a better-balanced workload distribution. We implement the algorithm both for shared and for distributed memory. Using data sets containing up to several hundred million high-dimensional points, we show that PDSDBSCAN significantly outperforms the master-slave approach, achieving speedups up to 25.97 using 40 cores on shared memory architecture, and speedups up to 5,765 using 8,192 cores on distributed memory architecture.
Md. Mostofa Ali Patwary, Diana Palsetia, Ankit Agrawal 0001, Wei-keng Liao, Fredrik Manne, Alok N. Choudhary
SC1
2012 Accelerating pairwise statistical significance estimation for local alignment by harvesting GPU's power
abstract
BACKGROUND: Pairwise statistical significance has been recognized to be able to accurately identify related sequences, which is a very important cornerstone procedure in numerous bioinformatics applications. However, it is both computationally and data intensive, which poses a big challenge in terms of performance and scalability. RESULTS: We present a GPU implementation to accelerate pairwise statistical significance estimation of local sequence alignment using standard substitution matrices. By carefully studying the algorithm's data access characteristics, we developed a tile-based scheme that can produce a contiguous data access in the GPU global memory and sustain a large number of threads to achieve a high GPU occupancy. We further extend the parallelization technique to estimate pairwise statistical significance using position-specific substitution matrices, which has earlier demonstrated significantly better sequence comparison accuracy than using standard substitution matrices. The implementation is also extended to take advantage of dual-GPUs. We observe end-to-end speedups of nearly 250 (370) × using single-GPU Tesla C2050 GPU (dual-Tesla C2050) over the CPU implementation using Intel Corei7 CPU 920 processor. CONCLUSIONS: Harvesting the high performance of modern GPUs is a promising approach to accelerate pairwise statistical significance estimation for local sequence alignment.
Sanchit Misra, Ankit Agrawal 0001, Md. Mostofa Ali Patwary, Wei-keng Liao, Zhiguang Qin, Alok N. Choudhary
BMC Bioinform.4
2011 New Multithreaded Ordering and Coloring Algorithms for Multicore Architectures
Md. Mostofa Ali Patwary, Assefaw Hadish Gebremedhin, Alex Pothen
Euro-Par (2)1
2011 Parallel algorithms for bipartite matching problems on distributed memory computers
Johannes Langguth, Md. Mostofa Ali Patwary, Fredrik Manne
Parallel Comput.2
2010 Experiments on Union-Find Algorithms for the Disjoint-Set Data Structure
Md. Mostofa Ali Patwary, Jean R. S. Blair, Fredrik Manne
SEA1