Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Oded Green

dblp:116/0802 · DBLP profile ↗
← Back
13ranked-venue papers
6as first author
1since 2021 · last 2021
0000-0003-3658-1233ORCID · corroborated

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

Systems, architecture and hardware · 8 · 5 first-author · 1 since 2021Artificial intelligence and machine learning · 3Databases, data management, data science and information retrieval · 3Applied, interdisciplinary, general and emerging computing · 2Graphics, computer vision, multimedia, augmented reality and games · 1 · 1 first-authorTheory of computation · 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
3 papers
Parallel and multicore computing · 83% High-performance computing · 11% GPUs and heterogeneous computing · 6%
Computer graphics and multimedia
1 paper
Image and video processing · 100%
Theoretical computer science
1 paper
Algorithms and data structures · 33% Mathematical optimization · 33% Computational complexity · 33%
Databases, data mining, and information retrieval
1 paper
Data mining · 87% Data models and query languages · 13%

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

TopicWeightPapersLastEvidence papers
Image and video processing
image filtering
0.312018
Efficient Scalable Median Filtering Using Histogram-Based Operations · IEEE Trans. Image Process. 2018
Image and video processing › image filtering › nonlinear filtering › order-statistics filter
median filtering
0.312018
Efficient Scalable Median Filtering Using Histogram-Based Operations · IEEE Trans. Image Process. 2018
Parallel and multicore computing › parallel algorithms
parallel image processing
0.312018
Efficient Scalable Median Filtering Using Histogram-Based Operations · IEEE Trans. Image Process. 2018
Parallel and multicore computing › parallel algorithms › graph algorithms
breadth-first search
0.312017
An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017
Parallel and multicore computing › parallel graph algorithms
connected components
0.312017
An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017
Parallel and multicore computing
parallel graph algorithms
0.312017
An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017
Data mining
anomaly detection
0.212013
Detecting insider threats in a real corporate database of computer usage activity · KDD 2013
Data mining › anomaly detection
graph anomaly detection
0.212013
Detecting insider threats in a real corporate database of computer usage activity · KDD 2013
High-performance computing
parallel numerical algorithms
0.212013
A computationally efficient algorithm for the 2D covariance method · SC 2013
Computational complexity › reduction
computational complexity reduction
0.212013
A computationally efficient algorithm for the 2D covariance method · SC 2013
Mathematical optimization › statistical estimation
covariance estimation
0.212013
A computationally efficient algorithm for the 2D covariance method · SC 2013
Algorithms and data structures
numerical algorithms
0.212013
A computationally efficient algorithm for the 2D covariance method · SC 2013
GPUs and heterogeneous computing › GPU-accelerated data processing
GPU image processing
0.112018
Efficient Scalable Median Filtering Using Histogram-Based Operations · IEEE Trans. Image Process. 2018
Parallel and multicore computing › parallel computing
distributed memory computing
0.112017
An Adaptive Parallel Algorithm for Computing Connected Components · IEEE Trans. Parallel Distributed Syst. 2017
Data models and query languages › query language
visual query language
0.012013
Detecting insider threats in a real corporate database of computer usage activity · KDD 2013

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

histogram-based operations · 0.7CUDA · 0.7covariance method · 0.3shiloach-vishkin · 0.3load balancing · 0.3heuristic prediction · 0.3temporal sequence analysis · 0.2statistical anomaly detection · 0.2dynamic graph processing · 0.2
YearPublicationVenuePosition
2021 Anti-Section Transitive Closure
abstract
The transitive closure of a graph is a new graph where every vertex is directly connected to all vertices to which it had a path in the original graph. Transitive closures are useful for reachability and relationship querying. Finding the transitive closure can be computationally expensive and requires a large memory footprint as the output is typically larger than the input. Some of the original research on transitive closures assumed that graphs were dense and used dense adjacency matrices. We have since learned that many real-world networks are extremely sparse, and the existing methods do not scale. In this work, we introduce a new algorithm called Anti-section Transitive Closure (ATC) for finding the transitive closure of a graph. We present a new parallel edges operation - anti-sections - for finding new edges to reachable vertices. ATC scales to massively multi-threaded systems such as NVIDIA's GPU with tens of thousands of threads. We show that the anti-section operation shares some traits with the triangle counting intersection operation in graph analysis. Lastly, we view the transitive closure problem as a dynamic graph problem requiring edge insertions. By doing this, our memory footprint is smaller. We also show a method for creating the batches in parallel using two different techniques: dual-round and hash. Using these techniques and the Hornet dynamic graph data structure, we show our new algorithm on an NVIDIA Titan V GPU. We compare with other packages such as NetworkX, SEI-GBTL, SuiteSparse, and cuSparse.
Oded Green, Zhihui Du, Sanyamee Patel, Zehui Xie, David A. Bader
HiPC1
2020 Approximately and Efficiently Estimating Dynamic Point-to-Point Shortest Path
abstract
Point-to-point shortest path (PPSP), or s-t connectivity, is a variant of the shortest path problem found in graph theory. In this problem, we are given a graph and pairs of vertices over time, and the output is the shortest path between each pair of vertices. In this paper, we present two algorithms. Our first algorithm approximately solves the PPSP problem on any arbitrary graph. For each pair of vertices queried, it accurately and efficiently estimates the shortest path between the two vertices. Our second algorithm extends the first to work on dynamic graphs. That is, our second algorithm can efficiently account for changes in the graph, such as friend requests on the Facebook network or road closures on road networks. At a high level, both algorithms partition the graph into highly connected communities. To respond to a query q(u, v), they each find the fewest number of partitions between u and v, and the shortest path through each partition. We show that our static graph algorithm can approximate the distance between two vertices with about 20%-35% percent error and anywhere from 80X-70000X faster than a BFS in practice with the right choice of partitions. Additionally, we show that our dynamic graph algorithm can account for updates to the graph anywhere from 20X-20000X faster than rerunning the static graph algorithm for each change to the graph.
Alok Tripathy, Oded Green
IEEE BigData2
2018 Scalable K-Core Decomposition for Static Graphs Using a Dynamic Graph Data Structure
abstract
The k-core of a graph is a metric used in a wide range of applications, including social network analytics, visualization, and graph coloring. We present two new parallel and scalable algorithms for finding the maximal k-core in a graph. Unlike past approaches, our new algorithms do not rebuild the graph in every iteration - rather, they use a dynamic graph data structure and avoid one of the largest performance penalties of k-core - pruning vertices and edges. We also show how to extend our algorithms to support k-core edge decomposition for different size k-cores found in the graph. While our new algorithms are architecture independent, our implementations target NVIDIA GPUs. When comparing our algorithms against several highly optimized algorithms, including the sequential igraph implementation and the multi-thread ParK implementation, our new algorithms are significantly faster. For finding the maximal k-core in the graph, our new algorithm can be up-to 58× faster the igraph and up-to 4× faster than ParK executed on a 36 core (72 thread) system. For the k-core decomposition algorithm, we saw even greater and more consistent speedups for our algorithm where it was up-to 130× faster than igraph and up-to 8× faster than ParK. Our algorithms were executed on an NVIDIA P100 GPU.
Alok Tripathy, Fred Hohman, Polo Chau, Oded Green
IEEE BigData4
2018 Scalable Katz Ranking Computation in Large Static and Dynamic Graphs
abstract
Network analysis defines a number of centrality measures to identify the most central nodes in a network. Fast computation of those measures is a major challenge in algorithmic network analysis. Aside from closeness and betweenness, Katz centrality is one of the established centrality measures. In this paper, we consider the problem of computing rankings for Katz centrality. In particular, we propose upper and lower bounds on the Katz score of a given node. While previous approaches relied on numerical approximation or heuristics to compute Katz centrality rankings, we construct an algorithm that iteratively improves those upper and lower bounds until a correct Katz ranking is obtained. We extend our algorithm to dynamic graphs while maintaining its correctness guarantees. Experiments demonstrate that our static graph algorithm outperforms both numerical approaches and heuristics with speedups between 1.5 x and 3.5 x, depending on the desired quality guarantees. Our dynamic graph algorithm improves upon the static algorithm for update batches of less than 10000 edges. We provide efficient parallel CPU and GPU implementations of our algorithms that enable near real-time Katz centrality computation for graphs with hundreds of millions of nodes in fractions of seconds.
Alexander van der Grinten, Elisabetta Bergamini, Oded Green, David A. Bader, Henning Meyerhenke
ESA3
2018 Efficient Scalable Median Filtering Using Histogram-Based Operations
abstract
Median filtering is a smoothing technique for noise removal in images. While there are various implementations of median filtering for a single-core CPU, there are few implementations for accelerators and multi-core systems. Many parallel implementations of median filtering use a sorting algorithm for rearranging the values within a filtering window and taking the median of the sorted value. While using sorting algorithms allows for simple parallel implementations, the cost of the sorting becomes prohibitive as the filtering windows grow. This makes such algorithms, sequential and parallel alike, inefficient. In this work, we introduce the first software parallel median filtering that is non-sorting-based. The new algorithm uses efficient histogram-based operations. These reduce the computational requirements of the new algorithm while also accessing the image fewer times. We show an implementation of our algorithm for both the CPU and NVIDIA's CUDA supported graphics processing unit (GPU). The new algorithm is compared with several other leading CPU and GPU implementations. The CPU implementation has near perfect linear scaling with a speedup on a quad-core system. The GPU implementation is several orders of magnitude faster than the other GPU implementations for mid-size median filters. For small kernels, and , comparison-based approaches are preferable as fewer operations are required. Lastly, the new algorithm is open-source and can be found in the OpenCV library.
Oded Green
IEEE Trans. Image Process.1
2017 Exact and Parallel Triangle Counting in Dynamic Graphs
abstract
Triangle counting is an important building block for finding key players in a graph. It is an integral part of the popular clustering coefficient analytic and can be used for pattern matching in social networks. A triangle, which is also a 3-clique, represents a strong connection between three players that are all connected. While counting triangles is not overly expensive from a computational standpoint, especially in comparison to centrality metrics (such as betweenness centrality and closeness centrality), it can still prove to be prohibitive for large scale networks, especially for those with a power-law distribution. This problem only deepens for dynamic graphs where the network is constantly changing, requiring constant updating of the graph and the analytic. In this paper, we present a new dynamic graph algorithm for counting triangles that is based on an inclusion-exclusion formulation. While our algorithm is independent of the computing platform, we show performance results on an NVIDIA GPU. Our approach handles 32 million updates per second, or up to 11 million updates per second if the graph data structure is also updated. In past approaches, when a vertex was affected due to an edge insertion or deletion, it was necessary to find the triangles from scratch for that given vertex. Our new formulation does not need this and only requires considering the affected edges. As such our algorithm is typically several hundred times faster than the past approach - in some cases up to 819X faster.
Devavret Makkar, David A. Bader, Oded Green
HiPC3
2017 An Adaptive Parallel Algorithm for Computing Connected Components
abstract
We present an efficient distributed memory parallel algorithm for computing connected components in undirected graphs based on Shiloach-Vishkin's PRAM approach. We discuss multiple optimization techniques that reduce communication volume as well as load-balance the algorithm. We also note that the efficiency of the parallel graph connectivity algorithm depends on the underlying graph topology. Particularly for short diameter graph components, we observe that parallel Breadth First Search (BFS) method offers better performance. However, running parallel BFS is not efficient for computing large diameter components or large number of small components. To address this challenge, we employ a heuristic that allows the algorithm to quickly predict the type of the network by computing the degree distribution and follow the optimal hybrid route. Using large graphs with diverse topologies from domains including metagenomics, web crawl, social graph and road networks, we show that our hybrid implementation is efficient and scalable for each of the graph types. Our approach achieves a runtime of 215 seconds using 32 K cores of Cray XC30 for a metagenomic graph with over 50 billion edges. When compared against the previous state-of-the-art method, we see performance improvements up to 24 ×.
Patrick Flick, Tony Pan, Oded Green, Srinivas Aluru
IEEE Trans. Parallel Distributed Syst.4
2015 Branch-Avoiding Graph Algorithms
abstract
This paper quantifies the impact of branches and branch mispredictions on the single-core performance of certain graph problems, specifically for computing connected components. We show that branch mispredictions are costly and can reduce performance by as much as 30%-50%. This insight suggests that one should seek graph algorithms and implementations that avoid branches.
Oded Green, Marat Dukhan, Richard W. Vuduc
SPAA1
2014 Scheduling directives: Accelerating shared-memory many-core processor execution
Oded Green, Yitzhak Birk
Parallel Comput.1
2013 A new parallel algorithm for connected components in dynamic graphs
abstract
Social networks, communication networks, business intelligence databases, and large scientific data sources now contain hundreds of millions elements with billions of relationships. The relationships in these massive datasets are changing at ever-faster rates. Through representing these datasets as dynamic and semantic graphs of vertices and edges, it is possible to characterize the structure of the relationships and to quickly respond to queries about how the elements in the set are connected. Statically computing analytics on snapshots of these dynamic graphs is frequently not fast enough to provide current and accurate information as the graph changes. This has led to the development of dynamic graph algorithms that can maintain analytic information without resorting to full static recomputation. In this work we present a novel parallel algorithm for tracking the connected components of a dynamic graph. Our approach has a low memory requirement of O(V) and is appropriate for all graph densities. On a graph with 512 million edges, we show that our new dynamic algorithm is up to 128X faster than well-known static algorithms and that our algorithm achieves a 14X parallel speedup on a x86 64-core shared-memory system. To the best of the authors' knowledge, this is the first parallel implementation of dynamic connected components that does not eventually require static recomputation.
Robert McColl, Oded Green, David A. Bader
HiPC2
2013 Detecting insider threats in a real corporate database of computer usage activity
abstract
This paper reports on methods and results of an applied research project by a team consisting of SAIC and four universities to develop, integrate, and evaluate new approaches to detect the weak signals characteristic of insider threats on organizations' information systems. Our system combines structural and semantic information from a real corporate database of monitored activity on their users' computers to detect independently developed red team inserts of malicious insider activities. We have developed and applied multiple algorithms for anomaly detection based on suspected scenarios of malicious insider behavior, indicators of unusual activities, high-dimensional statistical patterns, temporal sequences, and normal graph evolution. Algorithms and representations for dynamic graph processing provide the ability to scale as needed for enterprise-level deployments on real-time data streams. We have also developed a visual language for specifying combinations of features, baselines, peer groups, time periods, and algorithms to detect anomalies suggestive of instances of insider threat behavior. We defined over 100 data features in seven categories based on approximately 5.5 million actions per day from approximately 5,500 users. We have achieved area under the ROC curve values of up to 0.979 and lift values of 65 on the top 50 user-days identified on two months of real data.
Ted E. Senator, Henry G. Goldberg, Alex Memory, William T. Young, Bradley Rees, Robert Pierce, Daniel Huang 0003, Matthew Reardon, David A. Bader, Edmond Chow, Irfan A. Essa, Joshua Jones, Vinay Bettadapura, Polo Chau, Oded Green, Oguz Kaya, Anita Zakrzewska, Erica Briscoe, Rudolph Louis Mappus IV, Robert McColl, Lora Weiss, Thomas G. Dietterich, Alan Fern, Weng-Keen Wong, Shubhomoy Das, Andrew Emmott, Jed Irvine, Jay-Yoon Lee, Danai Koutra, Christos Faloutsos, Daniel D. Corkill, Lisa Friedland, Amanda Gentzel, David D. Jensen
KDD15
2013 A computationally efficient algorithm for the 2D covariance method
abstract
The estimated covariance matrix is a building block for many algorithms, including signal and image processing. The Covariance Method is an estimator for the covariance matrix, favored both as an estimator and in view of the convenient properties of the matrix that it produces. However, the considerable computational requirements limit its use. We present a novel computation algorithm for the covariance method, which dramatically reduces the computational complexity (both ALU operations and memory access) relative to previous algorithms. It has a small memory footprint, is highly parallelizable and requires no synchronization among compute threads. On a 40-core X86 system, we achieve 1200X speedup relative to a straightforward singlecore implementation; even on a single core, 35X speedup is achieved.
Oded Green, Yitzhak Birk
SC1
2012 GPU merge path: a GPU merging algorithm
abstract
Graphics Processing Units (GPUs) have become ideal candidates for the development of fine-grain parallel algorithms as the number of processing elements per GPU increases. In addition to the increase in cores per system, new memory hierarchies and increased bandwidth have been developed that allow for significant performance improvement when computation is performed using certain types of memory access patterns.
Oded Green, Robert McColl, David A. Bader
ICS1