About
90
Publications
32,825
Reads
How we measure 'reads'
A 'read' is counted each time someone views a publication summary (such as the title, abstract, and list of authors), clicks on a figure, or views or downloads the full-text. Learn more
2,051
Citations
Introduction
Additional affiliations
August 2014 - present
November 2008 - July 2010
August 2010 - August 2014
Education
August 1999 - August 2003
January 1996 - May 1999
August 1993 - June 1996
Publications
Publications (90)
Cancer is a heterogeneous disease that results from genetic alteration of cell cycle and proliferation controls. Identifying mutations that drive cancer, understanding cancer type specificities, and delineating how driver mutations interact with each other to establish disease is vital for identifying therapeutic vulnerabilities. Such cancer specif...
Large-scale computing, including machine learning (MI) and AI, offer a great promise in enabling sustainability and resiliency of electric energy systems. At present, however, there is no standardized framework for systematic modeling and simulation of system response over time to different continuous- and discrete-time events and/or changes in equ...
Severe acute respiratory syndrome-related coronavirus (SARS-CoV-2), which still infects hundreds of thousands of people globally each day despite various countermeasures, has been mutating rapidly. Mutations in the spike (S) protein seem to play a vital role in viral stability, transmission, and adaptability. Therefore, to control the spread of the...
This paper considers structures of systems beyond dyadic (pairwise) interactions and investigates mathematical modeling of multi-way interactions and connections as hypergraphs, where captured relationships among system entities are set-valued. To date, in most situations, entities in a hypergraph are considered connected as long as there is at lea...
Experience replay (ER) improves the data efficiency of off-policy reinforcement learning (RL) algorithms by allowing an agent to store and reuse its past experiences in a replay buffer. While many techniques have been proposed to enhance ER by biasing how experiences are sampled from the buffer, thus far they have not considered strategies for refr...
Mobile health monitoring plays a central role in the future of cyber physical systems (CPS) for healthcare applications. Such monitoring systems need to process user data accurately. Unlike in other human-centered CPS, in healthcare CPS, the user functions in multiple roles all at the same time: as an operator, an actuator, the physical environment...
Recent advances in mobile devices, wearable sensors and data analytics are enabling greater adoption of remote health monitoring systems, where human activity recognition (HAR) plays a key role. Most HAR systems assume that consecutive data segments are independent and aim at accurately classifying each individual data segment. However, because tra...
Algorithmic differentiation (AD), also known as automatic differentiation, is a technology for accurate and efficient evaluation of derivatives of a function given as a computer model. The evaluations of such models are essential building blocks in numerous scientific computing and data analysis applications, including optimization, parameter ident...
Background: Sequence similarity networks are useful for classifying and characterizing biologically important proteins. Threshold-based approaches to similarity network construction using exact distance measures are prohibitively slow to compute and rely on the difficult task of selecting an appropriate threshold, while similarity networks based on...
Machine learning algorithms, which form the core intelligence of wearables, traditionally deduce a computational model from a set of training data to detect events of interest. However, in the dynamic environment in which wearables operate, the accuracy of a computational model drops whenever changes in configuration or context of the system occur....
Perhaps the most important organizing principle in biology for bac- teria is the tree of phyla. It represents the evolution of bacteria now living in virtually every environment. The availability of whole genome sequences has provided the opportunity to reconstruct a comprehensive view of the tree and to trace the shared ancestry among all bacteria...
Data is increasingly being used to make everyday life easier and better. Applications such as waiting time estimation, traffic prediction, and parking search are good examples of how data from different sources can be used to facilitate our daily life. In this study, we consider an under-utilized data source: university ID cards. Such cards are use...
This study is motivated by a practical question faced by a computer science curriculum committee at a major research university. And that question is, are students who transfer credits for the first two courses into the computer science program at a disadvantage in their likelihood for success in the third course compared to students who took all t...
Recent advancements in mobile devices, data analysis , and wearable sensors render the capability of in-place health monitoring. Supervised machine learning algorithms, the core intelligence of these systems, learn from labeled training data. However, labeling vast amount of data is time-consuming and expensive. Moreover, sensor data often contains...
Human activity recognition (HAR) is an important component in health-care systems. For example, it can enable context-aware applications such as elderly care and patient monitoring. Relying on a set of training data, supervised machine learning algorithms form the core intelligence of most existing HAR systems. Meanwhile, the accuracy of an HAR mod...
Temporal graphs - graphs that change with time - are becoming increasingly relevant and important, especially in areas such as web graphs of documents, online social networks, and transportation traffic networks. In such areas, the exponential growth of the sizes of the graphs, and the high-velocity streams of changes in the graphs have called for...
Mobile health monitoring plays a central role in a variety of healthcare applications. Using mobile technology, health-care providers can access clinical information and communicate with subjects in real-time. Due to the sensitive nature of health-care applications, these systems need to process physiological signals highly
accurately. However, as...
Query performance prediction has shown benefits to query optimization and resource allocation for relational databases. Emerging applications are leading to search scenarios where workloads with heterogeneous, structure-less analytical queries are processed over large-scale graph and network data. This calls for effective models to predict the perf...
Wearables have emerged as a revolutionary technology in many application domains including healthcare and fitness. Machine learning algorithms, which form the core intelligence of wearables, traditionally deduce a computational model from a set of training examples to detect events of interest (e.g. activity type). However, in the dynamic environme...
Graph coloring—in a generic sense—is used to identify subsets of independent tasks in parallel scientific computing applications. Traditional coloring heuristics aim to reduce the number of colors used as that number also corresponds to the number of parallel steps in the application. However, if the color classes produced have a skew in their size...
Bovine anaplasmosis caused by the intraerythrocytic rickettsial pathogen Anaplasma marginale is endemic in South Africa. Anaplasma marginale subspecies centrale ( A. centrale ) also infects cattle, however, it causes a milder form of anaplasmosis and is used as a live vaccine against A. marginale. There has been less interest in the epidemiology of...
A one-sided programming model separates communication from synchronization, and is the driving principle behind partitioned global address space (PGAS) libraries such as Global Arrays (GA) and SHMEM. PGAS models expose a rich set of functionality that a developer needs in order to implement mathematical algorithms that require frequent multidimensi...
Background:
Short-sequence repeats (SSRs) occur in both prokaryotic and eukaryotic DNA, inter- and intragenically, and may be exact or inexact copies. When heterogeneous SSRs are present in a given locus, we can take advantage of the pattern of different repeats to genotype strains based on the SSRs. Cataloguing and tracking these repeats can be d...
We revisit an algorithm [called Edge Pushing (EP)] for computing Hessians using Automatic Differentiation (AD) recently proposed by Gower and Mello (Optim Methods Softw 27(2): 233–249, 2012). Here we give a new, simpler derivation for the EP algorithm based on the notion of live variables from data-flow analysis in compiler theory and redesign the...
We present a fast, parallel maximum clique algorithm for large sparse graphs that is designed to exploit characteristics of social and information networks. The method exhibits a roughly linear runtime scaling over real-world networks ranging from a thousand to a hundred million nodes. In a test on a social network with 1.8 billion edges, the algor...
The maximum clique problem is a well known NP-Hard problem with applications
in data mining, network analysis, information retrieval and many other areas
related to the World Wide Web. There exist several algorithms for the problem
with acceptable runtimes for certain classes of graphs, but many of them are
infeasible for massive graphs. We present...
We propose a fast, parallel maximum clique algorithm for large sparse graphs that is designed to exploit characteristics of social and information networks. Despite clique's status as an NP-hard problem with poor approximation guarantees, our method exhibits nearly linear runtime scaling over real-world networks ranging from 1000 to 100 million nod...
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 prob...
We propose a fast, parallel, maximum clique algorithm for large, sparse
graphs that is designed to exploit characteristics of social and information
networks. We observe roughly linear runtime scaling over graphs between 1000
vertices and 100M vertices. In a test with a 1.8 billion-edge social network,
the algorithm finds the largest clique in abou...
Consider a graph G = (V, E). A k-core of G is a maximal induced subgraph of G where each vertex
has degree at least k. There is a linear time O(|E|+|V |) time algorithm to compute the maximum k such
that a vertex is in a k-core for all vertices in the graph [1]. Because of this efficient algorithm, and a simple,
but often powerful, interpretation,...
Exact maximum clique finders have progressed to the point where we can
investigate cliques in million-node social and information networks, as well as
find strongly connected components in temporal networks. We use one such finder
to study a large collection of modern networks emanating from biological,
social, and technological domains. We show in...
Graph algorithms are challenging to parallelize when high performance and scalability are primary goals. Low concurrency, poor data locality, irregular access pattern, and high data access to computation ratio are among the chief reasons for the challenge. The performance implication of these features is exasperated on distributed memory machines....
The maximum clique problem is a well known NP-Hard problem with applications
in data mining, network analysis, informatics, and many other areas. Although
there exist several algorithms with acceptable runtimes for certain classes of
graphs, many of them are infeasible for massive graphs. We present a new exact
algorithm that employs novel pruning...
A significant number of large optimization problems exhibit structure known as partial separability, for example, least squares problems, where elemental functions are gathered into groups that are then squared. The sparsity of the Jacobian of a partially separable function can be exploited by computing the smaller Jacobians of the elemental functi...
We explore the interplay between architectures and algorithm design in the
context of shared-memory platforms and a specific graph problem of central
importance in scientific and high-performance computing, distance-1 graph
coloring. We introduce two different kinds of multithreaded heuristic
algorithms for the stated, NP-hard, problem. The first a...
We discuss the design, implementation and performance of algorithms suitable for the efficient computation of sparse Jacobian and Hessian matrices using automatic differentiation via operator overloading on multicore architectures. The procedure for exploiting sparsity (for runtime and memory efficiency) in serial computation involves a number of s...
Many scientific applications benefit from the accurate and efficient computation of derivatives. Automatically generating these derivative computations from an applications source code offers a competitive alternative to other approaches, such as less accurate numerical approximations or labor-intensive analytical implementations. ADIC2 is a source...
We present new multithreaded vertex ordering and distance-k graph coloring algorithms that are well-suited for multicore platforms. The vertex ordering techniques rely on various notions of “degree”,
are known to be effective in reducing the number of colors used by a greedy coloring algorithm, and are generic enough to be applicable to contexts ot...
We discuss the design and implementation of new highly-scalable distributed-memory parallel algorithms for two prototypical graph problems, edge-weighted matching and distance-1 vertex coloring. Graph algorithms in general have low concurrency, poor data locality, and high ratio of data access to computation costs, making it challenging to achieve...
The distance-2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than 2 from each other. Its applications include derivative computation in numerical optimization and channel assignment in radio networks. We present efficient, distributed-memory, parallel h...
The computation of a sparse Hessian matrix H using automatic differentiation (AD) can be made efficient using the following four-step procedure: (1) Determine the sparsity structure of H, (2) obtain a seed matrix S that defines a column partition of H using a specialized coloring on the adjacency graph of H, (3) compute the compressed Hessian matri...
Combinatorial scientific computing (CSC) is founded on the recognition of the enabling power of combinatorial algorithms in scientific and engineering computation and in high-performance computing. The domain of CSC extends beyond traditional scientific computing---the three major branches of which are numerical linear algebra, numerical solution o...
We discuss recent activities in the SciDAC Applied Mathematics Institute for Combinatorial Scientific Computing and Petascale Simulations (CSCAPES).
We present a scalable framework for parallelizing greedy graph coloring algorithms on distributed-memory computers. The framework unifies several existing algorithms and blends a variety of techniques for creating or facilitating concurrency. The latter techniques include exploiting features of the initial data distribution, the use of speculative...
The Combinatorial Scientific Computing and Petascale Simulations (CSCAPES) Institute is developing algorithms and software for combinatorial problems that play an enabling role in scientific and engineering computations. Discrete algorithms will be increasingly critical for achieving high performance for irregular problems on petascale architecture...
Acyclic and star coloring problems are specialized vertex coloring problems that arise in the efficient computation of Hessians using automatic differentiation or finite differencing, when both sparsity and symmetry are exploited. We present an algorithmic paradigm for finding heuristic solutions for these two NP-hard problems. The underlying commo...
Combinatorial algorithms have long played a crucial enabling role in scientific and engineering computations. The importance of discrete algorithms continues to grow with the demands of new applications and advanced architectures. This paper surveys some recent developments in this rapidly changing and highly interdisciplinary field.
We present a new parallel computation model called the Parallel Resource-Optimal computation model. PRO is a framework being proposed to enable the design of efficient and scalable parallel algorithms in a manner that is architecture independent and to simplify the analysis of such algorithms. Three key features distinguish PRO from existing parall...
Graph coloring has been employed since the 1980s to efficiently compute sparse Jacobian and Hessian matrices using either finite differences or automatic differentiation. Several coloring problems occur in this context, depending on whether the matrix is a Jacobian or a Hessian, and on the specifics of the computational techniques employed. We cons...
The distance-2 graph coloring problem aims at partitioning the vertex set of a graph into the fewest sets consisting of vertices pairwise at distance greater than two from each other. Application examples include numerical optimization and channel assignment. We present the first distributed-memory heuristic algorithm for this NP-hard problem. Para...
In large-scale parallel applications a graph coloring is often carried out to schedule computational tasks. In this paper, we describe a new distributed- memory algorithm for doing the coloring itself in parallel. The algorithm operates in an iterative fashion; in each round vertices are speculatively colored based on limited information, and then...
This paper presents new efficient parallel algorithms for finding approximate solutions to graph coloring problems. We consider an existing shared memory parallel graph coloring algorithm and suggest several enhancements both in terms of ordering the vertices so as to minimize cache misses, and performing vertex-to-processor assignments based on gr...
Matrix partitioning problems that arise in the e#cient estimation of sparse Jacobians and Hessians can be modeled using variants of graph coloring problems. In a previous work [7], we argue that distance2 and distance- graph coloring are robust and flexible formulations of the respective matrix estimation problems. The problem size in large-scale o...
We revisit the role of graph coloring in modeling a variety of matrix partitioning problems that arise in numerical determination of large sparse Jacobian and Hessian matrices. The problems considered in this paper correspond to the various scenarios under which a matrix computation, or estimation, may be carried out, i.e., the particular problem d...
We revisit the role of graph coloring in modeling problems that arise in e#cient estimation of large sparse Jacobian and Hessian matrices using both finite di#erence (FD) and automatic di#erentiation (AD) techniques, in each case via direct methods. For Jacobian estimation using column partitioning, we propose a new coloring formulation based on a...
We present an efficient and scalable coarse grained multicomputer (CGM) coloring algorithm that colors a graph G with at most Δ+1 colors where Δ is the maximum degree in G. This algorithm is given in two variants: randomized and deterministic. We show that on a p-processor CGM model the proposed algorithms require a parallel time of O(|G|/p) and a...
The papers in this volume were presented at PARA 2000, the Fifth International Workshop on Applied Parallel Computing. PARA 2000 was held in Bergen, Norway, June 18-21, 2000. The workshop was organized by Parallab and the Department of Informatics at the University of Bergen. The general theme for PARA 2000 was New paradigms for HPC in industry and...
Finding a good graph coloring quickly is often a crucial phase in the development of e#cient, parallel algorithms for many scientific and engineering applications. In this paper we consider the problem of solving the graph coloring problem itself in parallel. We present a simple and fast parallel graph coloring heuristic that is well suited for sha...
We present the first efficient algorithm for a coarse grained multiprocessor that colors a graph G with a guarantee of at most D G +1 colors. 1