Jatin Chhugani

dblp:32/6443 · DBLP profile ↗
← Back
27ranked-venue papers
7as first author
0since 2021 · last 2016
—ORCID · none

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

Databases, data management, data science and information retrieval · 10 · 1 first-authorSystems, architecture and hardware · 9 · 2 first-authorGraphics, computer vision, multimedia, augmented reality and games · 6 · 4 first-authorSoftware engineering, systems software and programming languages · 4Human-computer interaction and ubiquitous computing · 3 · 3 first-authorApplied, interdisciplinary, general and emerging computing · 2Artificial intelligence and machine learning · 1Security and privacy · 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
17 papers
Parallel and multicore computing · 28% Performance modeling and evaluation · 20% High-performance computing · 20%
Databases, data mining, and information retrieval
6 papers
Indexing and storage engines · 66% Query processing and optimization · 21% Database system architecture and tuning · 12%
Computer graphics and multimedia
3 papers
Rendering · 58% Computer animation and physical simulation · 42%

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

TopicWeightPapersLastEvidence papers
Performance modeling and evaluation
benchmarking
0.332012
Large-scale energy-efficient graph traversal: a path to efficient data-intensive supercomputing · SC 2012
Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010
Billion-particle SIMD-friendly two-point correlation on large-scale HPC cluster systems · SC 2012
Memory systems › memory access optimization
cache blocking
0.222011
High-performance lattice QCD for multi-core based parallel systems using a cache-friendly hybrid threaded-MPI approach · SC 2011
3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs · SC 2010
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting
0.222010
Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort · SIGMOD Conference 2010
Efficient implementation of sorting on multi-core SIMD CPU architecture · Proc. VLDB Endow. 2008
Processor architecture and microarchitecture
many-core architecture
0.232012
Mapping High-Fidelity Volume Rendering for Medical Imaging to CPU, GPU and Many-Core Architectures · IEEE Trans. Vis. Comput. Graph. 2009
Can traditional programming bridge the Ninja performance gap for parallel computing applications? · ISCA 2012
PALM: Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors · Proc. VLDB Endow. 2011
Distributed systems › distributed algorithms
distributed sorting
0.112012
CloudRAMSort: fast and efficient large-scale distributed RAM sort on shared-nothing cluster · SIGMOD Conference 2012
Performance modeling and evaluation › benchmarking › parallel benchmark suites
graph500
0.112012
Large-scale energy-efficient graph traversal: a path to efficient data-intensive supercomputing · SC 2012
Parallel and multicore computing › graph processing
graph traversal
0.112012
Large-scale energy-efficient graph traversal: a path to efficient data-intensive supercomputing · SC 2012
Parallel and multicore computing
load balancing
0.112012
Billion-particle SIMD-friendly two-point correlation on large-scale HPC cluster systems · SC 2012
High-performance computing
performance optimization
0.112012
Can traditional programming bridge the Ninja performance gap for parallel computing applications? · ISCA 2012
High-performance computing
scientific computing systems
0.112012
Billion-particle SIMD-friendly two-point correlation on large-scale HPC cluster systems · SC 2012
Indexing and storage engines
b+-tree
0.112011
PALM: Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors · Proc. VLDB Endow. 2011
Indexing and storage engines
concurrent index
0.112011
PALM: Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors · Proc. VLDB Endow. 2011
Indexing and storage engines
in-memory index
0.112011
Designing fast architecture-sensitive tree search on modern multicore/many-core processors · ACM Trans. Database Syst. 2011
Indexing and storage engines › concurrent index
latch-free index
0.112011
PALM: Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors · Proc. VLDB Endow. 2011
Indexing and storage engines › column store
main-memory column store
0.112011
Fast Updates on Read-Optimized Databases Using Multi-Core CPUs · Proc. VLDB Endow. 2011
Indexing and storage engines
tree index
0.112010
FAST: fast architecture sensitive tree search on modern CPUs and GPUs · SIGMOD Conference 2010
GPUs and heterogeneous computing
GPU computing
0.112010
Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010
Memory systems › memory bandwidth
memory bandwidth optimization
0.112010
3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs · SC 2010
Parallel and multicore computing › parallel algorithms › sorting
merge sort
0.112010
Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort · SIGMOD Conference 2010
Parallel and multicore computing › parallel algorithms
sorting
0.112010
Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort · SIGMOD Conference 2010
High-performance computing
stencil computation
0.112010
3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs · SC 2010
Performance modeling and evaluation
throughput computing
0.112010
Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010
Query processing and optimization › join processing › join algorithms
hash join
0.112009
Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009
Query processing and optimization
join processing
0.112009
Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009
Query processing and optimization › join processing › join algorithms
sort-merge join
0.112009
Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009
Parallel and multicore computing › parallel query processing
multicore query processing
0.112009
Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009
High-performance computing › scientific visualization
parallel volume rendering
0.112009
Mapping High-Fidelity Volume Rendering for Medical Imaging to CPU, GPU and Many-Core Architectures · IEEE Trans. Vis. Comput. Graph. 2009
Memory systems › memory access
atomic memory operation
0.112008
Atomic Vector Operations on Chip Multiprocessors · ISCA 2008
Processor architecture and microarchitecture
SIMD
0.112008
Efficient implementation of sorting on multi-core SIMD CPU architecture · Proc. VLDB Endow. 2008
Parallel and multicore computing › data parallelism
SIMD vectorization
0.112008
Atomic Vector Operations on Chip Multiprocessors · ISCA 2008

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

SIMD · 0.8data compression · 0.3parallelization · 0.2single-node sorting · 0.1latency hiding · 0.1inter-node communication optimization · 0.1dynamic task migration · 0.1domain-specific static work division · 0.1threading · 0.1thread-level parallelism · 0.1parallel tree modification · 0.1latch-free synchronization · 0.1data-level parallelism · 0.1cache blocking · 0.1architecture-aware optimization · 0.1MPI · 0.1analytical modeling · 0.1visibility culling · 0.1
YearPublicationVenuePosition
2016 Matrix factorizations at scale: A comparison of scientific data analytics in spark and C+MPI using three case studies
abstract
We explore the trade-offs of performing linear algebra using Apache Spark, compared to traditional C and MPI implementations on HPC platforms. Spark is designed for data analytics on cluster computing platforms with access to local disks and is optimized for data-parallel tasks. We examine three widely-used and important matrix factorizations: NMF (for physical plausability), PCA (for its ubiquity) and CX (for data interpretability). We apply these methods to 1.6TB particle physics, 2.2TB and 16TB climate modeling and 1.1TB bioimaging data. The data matrices are tall-and-skinny which enable the algorithms to map conveniently into Spark's data-parallel model. We perform scaling experiments on up to 1600 Cray XC40 nodes, describe the sources of slowdowns, and provide tuning guidance to obtain high performance.
Alex Gittens, Aditya Devarakonda, Evan Racah, Michael F. Ringenburg, Lisa Gerhardt, Jey Kottalam, Jialin Liu 0002, Kristyn J. Maschhoff, Shane Canon, Jatin Chhugani, Pramod Sharma, Jiyan Yang, James Demmel, Jim Harrell, Venkat Krishnamurthy, Michael W. Mahoney, Prabhat
IEEE BigData10
2012 Fast and Efficient Graph Traversal Algorithm for CPUs: Maximizing Single-Node Efficiency
abstract
Graph-based structures are being increasingly used to model data and relations among data in a number of fields. Graph-based databases are becoming more popular as a means to better represent such data. Graph traversal is a key component in graph algorithms such as reachability and graph matching. Since the scale of data stored and queried in these databases is increasing, it is important to obtain high performing implementations of graph traversal that can efficiently utilize the processing power of modern processors. In this work, we present a scalable Breadth-First Search Traversal algorithm for modern multi-socket, multi-core CPUs. Our algorithm uses lock- and atomic-free operations on a cache-resident structure for arbitrary sized graphs to filter out expensive main memory accesses, and completely and efficiently utilizes all available bandwidth resources. We propose a work distribution approach for multi-socket platforms that ensures load-balancing while keeping cross-socket communication low. We provide a detailed analytical model that accurately projects the performance of our single- and multi-socket traversal algorithms to within 5-10% of obtained performance. Our analytical model serves as a useful tool to analyze performance bottlenecks on modern CPUs. When measured on various synthetic and real-world graphs with a wide range of graph sizes, vertex degrees and graph diameters, our implementation on a dual-socket Intel®Xeon®X5570 (Intel microarchitecture code name Nehalem) system achieves 1.5X-13.2X performance speedup over the best reported numbers. We achieve around 1 Billion traversed edges per second on a scale-free R-MAT graph with 64M vertices and 2 Billion edges on a dual-socket Nehalem system. Our optimized algorithm is useful as a building block for efficient multi-node implementations and future exascale systems, thereby allowing them to ride the trend of increasing per-node compute and bandwidth resources.
Jatin Chhugani, Nadathur Satish, Changkyu Kim, Jason Sewall, Pradeep Dubey
IPDPS1
2012 Can traditional programming bridge the Ninja performance gap for parallel computing applications?
abstract
Current processor trends of integrating more cores with wider SIMD units, along with a deeper and complex memory hierarchy, have made it increasingly more challenging to extract performance from applications. It is believed by some that traditional approaches to programming do not apply to these modern processors and hence radical new languages must be discovered. In this paper, we question this thinking and offer evidence in support of traditional programming methods and the performance-vs-programming effort effectiveness of common multi-core processors and upcoming manycore architectures in delivering significant speedup, and close-to-optimal performance for commonly used parallel computing workloads. We first quantify the extent of the “Ninja gap”, which is the performance gap between naively written C/C++ code that is parallelism unaware (often serial) and best-optimized code on modern multi-/many-core processors. Using a set of representative throughput computing benchmarks, we show that there is an average Ninja gap of 24X (up to 53X) for a recent 6-core Intel®Core™ i7 X980 Westmere CPU, and that this gap if left unaddressed will inevitably increase. We show how a set of well-known algorithmic changes coupled with advancements in modern compiler technology can bring down the Ninja gap to an average of just 1.3X. These changes typically require low programming effort, as compared to the very high effort in producing Ninja code. We also discuss hardware support for programmability that can reduce the impact of these changes and even further increase programmer productivity. We show equally encouraging results for the upcoming Intel®Many Integrated Core architecture (Intel®MIC) which has more cores and wider SIMD. We thus demonstrate that we can contain the otherwise uncontrolled growth of the Ninja gap and offer a more stable and predictable performance growth over future architectures, offering strong evidence that radical language changes are not required.
Nadathur Satish, Changkyu Kim, Jatin Chhugani, Hideki Saito 0001, Rakesh Krishnaiyer, Mikhail Smelyanskiy, Milind Girkar, Pradeep Dubey
ISCA3
2012 GPP-Grep: High-Speed Regular Expression Processing Engine on General Purpose Processors
Victor C. Valgenti, Jatin Chhugani, Yan Sun 0006, Nadathur Satish, Min Sik Kim, Changkyu Kim, Pradeep Dubey
RAID2
2012 Billion-particle SIMD-friendly two-point correlation on large-scale HPC cluster systems
abstract
Two-point Correlation Function (TPCF) is widely used in astronomy to characterize the distribution of matter/energy in the Universe, and help derive the physics that can trace back to the creation of the universe. However, it is prohibitively slow for current sized datasets, and would continue to be a critical bottleneck with the trend of increasing dataset sizes to billions of particles and more, which makes TPCF a compelling benchmark application for future exa-scale architectures. State-of-the-art TPCF implementations do not map well to the underlying SIMD hardware, and also suffer from load-imbalance for large core counts. In this paper, we present a novel SIMD-friendly histogram update algorithm that exploits the spatial locality of histogram updates to achieve near-linear SIMD scaling. We also present a load-balancing scheme that combines domain-specific initial static division of work and dynamic task migration across nodes to effectively balance computation across nodes. Using Zin supercomputer at Lawrence Livermore National Laboratory (25,600 cores of Intel®Xeon®E5-2670, each with 256-bit SIMD), we achieve 90% parallel efficiency and 96% SIMD efficiency, and perform TPCF computation on a 1.7 billion particle dataset in 5.3 hours (at least 35× faster than previous approaches). In terms of cost per performance (measured in flops/$), we achieve at least an order-of-magnitude (11.1x) higher flops/$ as compared to the best known results [1]. Consequently, we now have line-of-sight to achieving the processing power for correlation computation to process billion+ particles telescopic data.
Jatin Chhugani, Changkyu Kim, Hemant Shukla, Jongsoo Park, Pradeep Dubey, John Shalf, Horst D. Simon
SC1
2012 Large-scale energy-efficient graph traversal: a path to efficient data-intensive supercomputing
abstract
Graph traversal is a widely used algorithm in a variety of fields, including social networks, business analytics, and high-performance computing among others. There has been a push for HPC machines to be rated not just in Petaflops, but also in "GigaTEPS" (billions of traversed edges per second), and the Graph500 benchmark has been established for this purpose. Graph traversal on single nodes has been well studied and optimized on modern CPU architectures. However, current cluster implementations suffer from high latency data communication with large volumes of transfers across nodes, leading to inefficiency in performance and energy consumption. In this work, we show that we can overcome these constraints using a combination of efficient low-overhead data compression techniques to reduce transfer volumes along with latency-hiding techniques. Using an optimized single node graph traversal algorithm [1], our novel cluster optimizations result in over 6.6X performance improvements over state-of-the-art data transfer techniques, and almost an order of magnitude in energy savings. Our resulting implementation of the Graph500 benchmark achieves 115 GigaTEPS on a 320-node/5120 core Intel®Endeavor cluster with Intel®Xeon®processors E5-2670, which matches the second ranked result in the recent November 2011 Graph500 list [2] with about 5.6X fewer nodes. Our cluster optimizations only have a 1.8X overhead in overall performance from the performance of the optimized single-node implementation, and allows for near-linear scaling with number of nodes. Our algorithm on 1024 nodes on Intel®Xeon®processor X5670-based systems (with lower per-node performance) for a large multi-Terabyte graph attained 195 GigaTEPS in performance, proving the high scalability of our algorithm. Our per-node performance is the highest in the top 10 of the Nov 2011 Graph500 list.
Nadathur Satish, Changkyu Kim, Jatin Chhugani, Pradeep Dubey
SC3
2012 CloudRAMSort: fast and efficient large-scale distributed RAM sort on shared-nothing cluster
abstract
Sorting is a fundamental kernel used in many database operations. The total memory available across cloud computers is now sufficient to store even hundreds of terabytes of data in-memory. Applications requiring high-speed data analysis typically use in-memory sorting. The two most important factors in designing a high-speed in-memory sorting system are the single-node sorting performance and inter-node communication.
Changkyu Kim, Jongsoo Park, Nadathur Satish, Hongrae Lee, Pradeep Dubey, Jatin Chhugani
SIGMOD Conference6
2011 High-performance lattice QCD for multi-core based parallel systems using a cache-friendly hybrid threaded-MPI approach
abstract
Lattice Quantum Chromo-dynamics (LQCD) is a computationally challenging problem that solves the discretized Dirac equation in the presence of an SU(3) gauge field. Its key operation is a matrix-vector product, known as the Dslash operator. We have developed a novel multicore architecture-friendly implementation of the Wilson-Dslash operator which delivers 75 Gflops (single-precision) on an Intel® Xeon® Processor X5680 achieving 60% computational efficiency for datasets that fit in the last-level cache. For datasets larger than the last-level cache, this performance drops to 50 Gflops. Our performance is 2-3X higher than a well-known implementation from the Chroma software suite when running on the same hardware platform. The novel implementation of LQCD reported in this paper is based on recently published the 3.5D spatial and 4.5D temporal tiling schemes. Both blocking schemes significantly reduce LQCD external memory bandwidth requirements, delivering a more compute-bound implementation. The performance advantage of our schemes will become more significant as the gap between compute flops and external memory bandwidth continues to grow. We demonstrate very good cluster-level scalability of our implementation: for a lattice of 323 x 256 sites, we achieve over 4 Tflops when strong-scaled to a 128 node system (1536 cores total). For the same lattice size, a full Conjugate Gradients Wilson-Dslash operator, achieves 2.95 Tflops.
Mikhail Smelyanskiy, Karthikeyan Vaidyanathan, Jee W. Choi, Bálint Joó, Jatin Chhugani, Michael A. Clark, Pradeep Dubey
SC5
2011 Fast Updates on Read-Optimized Databases Using Multi-Core CPUs
abstract
Read-optimized columnar databases use differential updates to handle writes by maintaining a separate write-optimized delta partition which is periodically merged with the read-optimized and compressed main partition. This merge process introduces significant overheads and unacceptable downtimes in update intensive systems, aspiring to combine transactional and analytical workloads into one system. In the first part of the paper, we report data analyses of 12 SAP Business Suite customer systems. In the second half, we present an optimized merge process reducing the merge overhead of current systems by a factor of 30. Our linear-time merge algorithm exploits the underlying high compute and bandwidth resources of modern multi-core CPUs with architecture-aware optimizations and efficient parallelization. This enables compressed in-memory column stores to handle the transactional update rate required by enterprise applications, while keeping properties of read-optimized databases for analytic-style queries.
Jens Krüger 0003, Changkyu Kim, Martin Grund, Nadathur Satish, David Schwalb, Jatin Chhugani, Hasso Plattner, Pradeep Dubey, Alexander Zeier
Proc. VLDB Endow.6
2011 PALM: Parallel Architecture-Friendly Latch-Free Modifications to B+ Trees on Many-Core Processors
Jason Sewall, Jatin Chhugani, Changkyu Kim, Nadathur Satish, Pradeep Dubey
Proc. VLDB Endow.2
2011 Designing fast architecture-sensitive tree search on modern multicore/many-core processors
abstract
In-memory tree structured index search is a fundamental database operation. Modern processors provide tremendous computing power by integrating multiple cores, each with wide vector units. There has been much work to exploit modern processor architectures for database primitives like scan, sort, join, and aggregation. However, unlike other primitives, tree search presents significant challenges due to irregular and unpredictable data accesses in tree traversal. In this article, we present FAST, an extremely fast architecture-sensitive layout of the index tree. FAST is a binary tree logically organized to optimize for architecture features like page size, cache line size, and Single Instruction Multiple Data (SIMD) width of the underlying hardware. FAST eliminates the impact of memory latency, and exploits thread-level and data-level parallelism on both CPUs and GPUs to achieve 50 million (CPU) and 85 million (GPU) queries per second for large trees of 64M elements, with even better results on smaller trees. These are 5X (CPU) and 1.7X (GPU) faster than the best previously reported performance on the same architectures. We also evaluated FAST on the Intel$^\tiny\textregistered$ Many Integrated Core architecture (Intel$^\tiny\textregistered$ MIC), showing a speedup of 2.4X--3X over CPU and 1.8X--4.4X over GPU. FAST supports efficient bulk updates by rebuilding index trees in less than 0.1 seconds for datasets as large as 64M keys and naturally integrates compression techniques, overcoming the memory bandwidth bottleneck and achieving a 6X performance improvement over uncompressed index search for large keys on CPUs.
Changkyu Kim, Jatin Chhugani, Nadathur Satish, Eric Sedlar, Anthony D. Nguyen, Tim Kaldewey, Victor W. Lee, Scott A. Brandt, Pradeep Dubey
ACM Trans. Database Syst.2
2010 Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU
abstract
Recent advances in computing have led to an explosion in the amount of data being generated. Processing the ever-growing data in a timely manner has made throughput computing an important aspect for emerging applications. Our analysis of a set of important throughput computing kernels shows that there is an ample amount of parallelism in these kernels which makes them suitable for today's multi-core CPUs and GPUs. In the past few years there have been many studies claiming GPUs deliver substantial speedups (between 10X and 1000X) over multi-core CPUs on these kernels. To understand where such large performance difference comes from, we perform a rigorous performance analysis and find that after applying optimizations appropriate for both CPUs and GPUs the performance gap between an Nvidia GTX280 processor and the Intel Core i7-960 processor narrows to only 2.5x on average. In this paper, we discuss optimization techniques for both CPU and GPU, analyze what architecture features contributed to performance differences between the two architectures, and recommend a set of architectural features which provide significant improvement in architectural efficiency for throughput kernels.
Victor W. Lee, Changkyu Kim, Jatin Chhugani, Michael Deisher, Daehyun Kim 0001, Anthony D. Nguyen, Nadathur Satish, Mikhail Smelyanskiy, Srinivas Chennupaty, Per Hammarlund, Ronak Singhal, Pradeep Dubey
ISCA3
2010 3.5-D Blocking Optimization for Stencil Computations on Modern CPUs and GPUs
abstract
Stencil computation sweeps over a spatial grid over multiple time steps to perform nearest-neighbor computations. The bandwidth-to-compute requirement for a large class of stencil kernels is very high, and their performance is bound by the available memory bandwidth. Since memory bandwidth grows slower than compute, the performance of stencil kernels will not scale with increasing compute density. We present a novel 3.5D-blocking algorithm that performs 2.5D-spatial and temporal blocking of the input grid into on-chip memory for both CPUs and GPUs. The resultant algorithm is amenable to both thread- level and data-level parallelism, and scales near-linearly with the SIMD width and multiple-cores. Our performance numbers are faster or comparable to state-of-the-art-stencil implementations on CPUs and GPUs. Our implementation of 7-point-stencil is 1.5X-faster on CPUs, and 1.8X faster on GPUs for single- precision floating point inputs than previously reported numbers. For Lattice Boltzmann methods, the corresponding speedup number on CPUs is 2.1X.
Anthony D. Nguyen, Nadathur Satish, Jatin Chhugani, Changkyu Kim, Pradeep Dubey
SC3
2010 FAST: fast architecture sensitive tree search on modern CPUs and GPUs
abstract
In-memory tree structured index search is a fundamental database operation. Modern processors provide tremendous computing power by integrating multiple cores, each with wide vector units. There has been much work to exploit modern processor architectures for database primitives like scan, sort, join and aggregation. However, unlike other primitives, tree search presents significant challenges due to irregular and unpredictable data accesses in tree traversal.
Changkyu Kim, Jatin Chhugani, Nadathur Satish, Eric Sedlar, Anthony D. Nguyen, Tim Kaldewey, Victor W. Lee, Scott A. Brandt, Pradeep Dubey
SIGMOD Conference2
2010 Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort
abstract
Sort is a fundamental kernel used in many database operations. In-memory sorts are now feasible; sort performance is limited by compute flops and main memory bandwidth rather than I/O. In this paper, we present a competitive analysis of comparison and non-comparison based sorting algorithms on two modern architectures - the latest CPU and GPU architectures. We propose novel CPU radix sort and GPU merge sort implementations which are 2X faster than previously published results. We perform a fair comparison of the algorithms using these best performing implementations on both architectures. While radix sort is faster on current architectures, the gap narrows from CPU to GPU architectures. Merge sort performs better than radix sort for sorting keys of large sizes - such keys will be required to accommodate the increasing cardinality of future databases. We present analytical models for analyzing the performance of our implementations in terms of architectural features such as core count, SIMD and bandwidth. Our obtained performance results are successfully predicted by our models. Our analysis points to merge sort winning over radix sort on future architectures due to its efficient utilization of SIMD and low bandwidth utilization. We simulate a 64-core platform with varying SIMD widths under constant bandwidth per core constraints, and show that large data sizes of 240 (one trillion records), merge sort performance on large key sizes is up to 3X better than radix sort for large SIMD widths on future architectures. Therefore, merge sort should be the sorting method of choice for future databases.
Nadathur Satish, Changkyu Kim, Jatin Chhugani, Anthony D. Nguyen, Victor W. Lee, Daehyun Kim 0001, Pradeep Dubey
SIGMOD Conference3
2009 Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs
abstract
Join is an important database operation. As computer architectures evolve, the best join algorithm may change hand. This paper re-examines two popular join algorithms -- hash join and sort-merge join -- to determine if the latest computer architecture trends shift the tide that has favored hash join for many years. For a fair comparison, we implemented the most optimized parallel version of both algorithms on the latest Intel Core i7 platform. Both implementations scale well with the number of cores in the system and take advantages of latest processor features for performance. Our hash-based implementation achieves more than 100M tuples per second which is 17X faster than the best reported performance on CPUs and 8X faster than that reported for GPUs. Moreover, the performance of our hash join implementation is consistent over a wide range of input data sizes from 64K to 128M tuples and is not affected by data skew. We compare this implementation to our highly optimized sort-based implementation that achieves 47M to 80M tuples per second. We developed analytical models to study how both algorithms would scale with upcoming processor architecture trends. Our analysis projects that current architectural trends of wider SIMD, more cores, and smaller memory bandwidth per core imply better scalability potential for sort-merge join. Consequently, sort-merge join is likely to outperform hash join on upcoming chip multiprocessors. In summary, we offer multicore implementations of hash join and sort-merge join which consistently outperform all previously reported results. We further conclude that the tide that favors the hash join algorithm has not changed yet, but the change is just around the corner.
Changkyu Kim, Eric Sedlar, Jatin Chhugani, Tim Kaldewey, Anthony D. Nguyen, Andrea Di Blas, Victor W. Lee, Nadathur Satish, Pradeep Dubey
Proc. VLDB Endow.3
2009 Mapping High-Fidelity Volume Rendering for Medical Imaging to CPU, GPU and Many-Core Architectures
abstract
Medical volumetric imaging requires high fidelity, high performance rendering algorithms. We motivate and analyze new volumetric rendering algorithms that are suited to modern parallel processing architectures. First, we describe the three major categories of volume rendering algorithms and confirm through an imaging scientist-guided evaluation that ray-casting is the most acceptable. We describe a thread- and data-parallel implementation of ray-casting that makes it amenable to key architectural trends of three modern commodity parallel architectures: multi-core, GPU, and an upcoming many-core Intel architecture code-named Larrabee. We achieve more than an order of magnitude performance improvement on a number of large 3D medical datasets. We further describe a data compression scheme that significantly reduces data-transfer overhead. This allows our approach to scale well to large numbers of Larrabee cores.
Mikhail Smelyanskiy, David R. Holmes 0001, Jatin Chhugani, Alan Larson, Doug Carmean, Dennis P. Hanson, Pradeep Dubey, Kurt Augustine, Daehyun Kim 0001, Alan Kyker, Victor W. Lee, Anthony D. Nguyen, Larry Seiler, Richard A. Robb
IEEE Trans. Vis. Comput. Graph.3
2008 Atomic Vector Operations on Chip Multiprocessors
abstract
The current trend is for processors to deliver dramatic improvements in parallel performance while only modestly improving serial performance. Parallel performance is harvested through vector/SIMD instructions as well as multithreading (through both multithreaded cores and chip multiprocessors). Vector parallelism can be more efficiently supported than multithreading, but is often harder for software to exploit. In particular, code with sparse data access patterns cannot easily utilize the vector/SIMD instructions of mainstream processors. Hardware to scatter and gather sparse data has previously been proposed to enable vector execution for these codes. However, on multithreaded architectures, a number of applications spend significant time on atomic operations (e.g., parallel reductions), which cannot be vectorized using previously proposed schemes. This paper proposes architectural support for atomic vector operations (referred to as GLSC) that addresses this limitation. GLSC extends scatter-gather hardware to support atomic memory operations. Our experiments show that the GLSC provides an average performance improvement on a set of important RMS kernels of 54% for 4-wide SIMD.
Daehyun Kim 0001, Mikhail Smelyanskiy, Yen-Kuang Chen, Jatin Chhugani, Christopher J. Hughes, Changkyu Kim, Victor W. Lee, Anthony D. Nguyen
ISCA5
2008 Convergence of Recognition, Mining, and Synthesis Workloads and Its Implications
abstract
This paper examines the growing need for a general-purpose ldquoanalytics enginerdquo that can enable next-generation processing platforms to effectively model events, objects, and concepts based on end-user input, and accessible datasets, along with an ability to iteratively refine the model in real-time. We find such processing needs at the heart of many emerging applications and services. This processing is further decomposed in terms of an integration of three fundamental compute capabilities-recognition, mining, and synthesis (RMS). The set of RMS workloads is examined next in terms of usage, mathematical models, numerical algorithms, and underlying data structures. Our analysis suggests a workload convergence that is analyzed next for its platform implications. In summary, a diverse set of emerging RMS applications from market segments like graphics, gaming, media-mining, unstructured information management, financial analytics, and interactive virtual communities presents a relatively focused, highly overlapping set of common platform challenges. A general-purpose processing platform designed to address these challenges has the potential for significantly enhancing users' experience and programmer productivity.
Yen-Kuang Chen, Jatin Chhugani, Pradeep Dubey, Christopher J. Hughes, Daehyun Kim 0001, Victor W. Lee, Anthony D. Nguyen, Mikhail Smelyanskiy
Proc. IEEE2
2008 Efficient implementation of sorting on multi-core SIMD CPU architecture
abstract
Sorting a list of input numbers is one of the most fundamental problems in the field of computer science in general and high-throughput database applications in particular. Although literature abounds with various flavors of sorting algorithms, different architectures call for customized implementations to achieve faster sorting times. This paper presents an efficient implementation and detailed analysis of MergeSort on current CPU architectures. Our SIMD implementation with 128-bit SSE is 3.3X faster than the scalar version. In addition, our algorithm performs an efficient multiway merge, and is not constrained by the memory bandwidth. Our multi-threaded, SIMD implementation sorts 64 million floating point numbers in less than 0.5 seconds on a commodity 4-core Intel processor. This measured performance compares favorably with all previously published results. Additionally, the paper demonstrates performance scalability of the proposed sorting algorithm with respect to certain salient architectural features of modern chip multiprocessor (CMP) architectures, including SIMD width and core-count. Based on our analytical models of various architectural configurations, we see excellent scalability of our implementation with SIMD width scaling up to 16X wider than current SSE width of 128-bits, and CMP core-count scaling well beyond 32 cores. Cycle-accurate simulation of Intel's upcoming x86 many-core Larrabee architecture confirms scalability of our proposed algorithm.
Jatin Chhugani, Anthony D. Nguyen, Victor W. Lee, William Macy, Mostafa Hagog, Yen-Kuang Chen, Akram Baransi, Pradeep Dubey
Proc. VLDB Endow.1
2007 Physical simulation for animation and visual effects: parallelization and characterization for chip multiprocessors
abstract
We explore the emerging application area of physics-based simulation for computer animation and visual special effects. In particular, we examine its parallelization potential and characterize its behavior on a chip multiprocessor (CMP). Applications in this domain model and simulate natural phenomena, and often direct visual components of motion pictures. We study a set of three workloads that exemplify the span and complexity of physical simulation applications used in a production environment: fluid dynamics, facial animation, and cloth simulation. They are computationally demanding, requiring from a few seconds to several minutes to simulate a single frame; therefore, they can benefit greatly from the acceleration possible with large scale CMPs.
Christopher J. Hughes, Radek Grzeszczuk, Eftychios Sifakis, Daehyun Kim 0001, Andrew Selle, Jatin Chhugani, Matthew J. Holliman, Yen-Kuang Chen
ISCA7
2007 Geometry engine optimization: cache friendly compressed representation of geometry
abstract
Recent advances in graphics architecture focus on improving texture performance and pixel processing. These have paralleled advances in rich pixel shading algorithms for realistic images. However, applications that require significantly more geometry processing than pixel processing suffer due to limited resource being devoted to the geometry processing part of the graphics pipeline. We present an algorithm to improve the effective geometry processing performance without adding significant hardware. This algorithm computes a representation for geometry that reduces the bandwidth required to transmit it to the graphics subsystem. It also reduces the total geometry processing requirement by increasing the effectiveness of the vertex cache. A goal of this algorithm is to keep the primitive assembly simple for easy hardware implementation.
Jatin Chhugani, Subodh Kumar 0001
SI3D1
2005 vLOD: High-Fidelity Walkthrough of Large Virtual Environments
abstract
We present visibility computation and data organization algorithms that enable high-fidelity walkthroughs of large 3D geometric data sets. A novel feature of our walkthrough system is that it performs work proportional only to the required detail in visible geometry at the rendering time. To accomplish this, we use a precomputation phase that efficiently generates per cell vLOD: the geometry visible from a view-region at the right level of detail. We encode changes between neighboring cells' vLODs, which are not required to be memory resident. At the rendering time, we incrementally construct the vLOD for the current view-cell and render it. We have a small CPU and memory requirement for rendering and are able to display models with tens of millions of polygons at interactive frame rates with less than one pixel screen-space deviation and accurate visibility.
Jatin Chhugani, Budirijanto Purnomo, Shankar Krishnan, Jonathan D. Cohen 0001, Suresh Venkatasubramanian, David S. Johnson 0001, Subodh Kumar 0001
IEEE Trans. Vis. Comput. Graph.1
2004 Compressing Large Boolean Matrices using Reordering Techniques
David S. Johnson 0001, Shankar Krishnan, Jatin Chhugani, Subodh Kumar 0001, Suresh Venkatasubramanian
VLDB3
2003 Budget sampling of parametric surface patches
abstract
All in-text\treferences\tunderlined\tin\tblue\tare\tlinked\tto\tpublications\ton\tResearchGate, letting you\taccess\tand\tread\tthem\timmediately.
Jatin Chhugani, Subodh Kumar 0001
SI3D1
2001 View-dependent adaptive tessellation of spline surfaces
abstract
No abstract available.
Jatin Chhugani, Subodh Kumar 0001
SI3D1
2000 Compression Tolerant Watermarking for Image Verification
abstract
Digital watermarking is seen as a viable solution to authentication of multimedia data and hence its security, especially in a networked environment. We present a new watermarking technique to add a code to digital images in the spatial domain. This technique is further shown to be robust under common compression schemes, including lossy compression schemes. Watermark embedding is done keeping in mind the limitations of the human visual system. We have used a procedure for error diffusion so as to minimize the chances of image tampering. For the verification of the image, the original uncorrupted image is not required. Experimental results show that the watermark is robust to JPEG compression.
Harpal S. Bassali, Jatin Chhugani, Alok Aggarwal, Pradeep Dubey
ICIP2