Demo Data from EDBT 2026 / reviewers in the wild / expert
Victor W. Lee
dblp:53/182
· DBLP profile ↗
24ranked-venue papers
2as first author
0since 2021 · last 2020
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 15 · 2 first-authorSoftware engineering, systems software and programming languages · 5 · 1 first-authorDatabases, data management, data science and information retrieval · 5Artificial intelligence and machine learning · 1Graphics, computer vision, multimedia, augmented reality and games · 1Theory of computation · 1Applied, interdisciplinary, general and emerging computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
17 papers |
Performance modeling and evaluation · 16% Storage systems · 16% Energy-efficient computing · 14% | |
| Artificial intelligence
3 papers |
Probabilistic and Bayesian machine learning · 72% Deep learning architectures and training · 28% | |
| Databases, data mining, and information retrieval
3 papers |
Indexing and storage engines · 56% Query processing and optimization · 44% | |
| Interdisciplinary, comprehensive, and emerging computing
2 papers |
Computational science and engineering · 100% |
Topics — the 30 heaviest of 53, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Machine learning › Probabilistic and Bayesian machine learning
probabilistic programming |
0.8 | 2 | 2019 | Etalumis: bringing probabilistic programming to scientific simulators at scale · SC 2019 Efficient Probabilistic Inference in the Quest for Physics Beyond the Standard Model · NeurIPS 2019 |
Storage systems › key-value storage
in-memory key-value store |
0.5 | 2 | 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016 Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015 |
Storage systems
key-value storage |
0.5 | 2 | 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016 Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015 |
Machine learning › Probabilistic and Bayesian machine learning › statistical inference
bayesian inference |
0.4 | 1 | 2019 | Etalumis: bringing probabilistic programming to scientific simulators at scale · SC 2019 |
Computational science and engineering
high energy physics |
0.4 | 1 | 2019 | Efficient Probabilistic Inference in the Quest for Physics Beyond the Standard Model · NeurIPS 2019 |
Distributed systems › distributed machine learning
distributed training |
0.4 | 1 | 2019 | Etalumis: bringing probabilistic programming to scientific simulators at scale · SC 2019 |
High-performance computing
large-scale training |
0.3 | 1 | 2018 | CosmoFlow: using deep learning to learn the universe at scale · SC 2018 |
Energy-efficient computing › power management
dynamic voltage and frequency scaling |
0.3 | 1 | 2017 | Voltage Regulator Efficiency Aware Power Management · ASPLOS 2017 |
Energy-efficient computing
power management |
0.3 | 1 | 2017 | Voltage Regulator Efficiency Aware Power Management · ASPLOS 2017 |
Performance modeling and evaluation
workload characterization |
0.3 | 2 | 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016 Convergence of Recognition, Mining, and Synthesis Workloads and Its Implications · Proc. IEEE 2008 |
Performance modeling and evaluation
benchmarking |
0.3 | 2 | 2012 | Extending the BT NAS parallel benchmark to exascale computing · SC 2012 Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010 |
Cloud and datacenter computing › datacenter architecture
datacenter server architecture |
0.2 | 1 | 2015 | Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015 |
Parallel and multicore computing › parallel algorithms › sorting
parallel sorting |
0.2 | 2 | 2010 | 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 |
Energy-efficient computing › energy-efficient architecture
energy-efficient microarchitecture |
0.2 | 1 | 2014 | Improving the energy efficiency of Big Cores · ISCA 2014 |
High-performance computing › supercomputing
exascale computing |
0.1 | 1 | 2012 | Extending the BT NAS parallel benchmark to exascale computing · SC 2012 |
Performance modeling and evaluation › benchmarking › parallel benchmark suites
NAS parallel benchmarks |
0.1 | 1 | 2012 | Extending the BT NAS parallel benchmark to exascale computing · SC 2012 |
Reconfigurable computing and FPGAs › FPGA accelerator
FPGA-based key-value store |
0.1 | 2 | 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server Platform · ACM Trans. Comput. Syst. 2016 Architecting to achieve a billion requests per second throughput on a single key-value store server platform · ISCA 2015 |
Indexing and storage engines
in-memory index |
0.1 | 1 | 2011 | Designing fast architecture-sensitive tree search on modern multicore/many-core processors · ACM Trans. Database Syst. 2011 |
Machine learning › Deep learning architectures and training
recurrent neural network |
0.1 | 1 | 2019 | Efficient Probabilistic Inference in the Quest for Physics Beyond the Standard Model · NeurIPS 2019 |
High-performance computing
scientific computing systems |
0.1 | 1 | 2019 | Etalumis: bringing probabilistic programming to scientific simulators at scale · SC 2019 |
Indexing and storage engines
tree index |
0.1 | 1 | 2010 | FAST: fast architecture sensitive tree search on modern CPUs and GPUs · SIGMOD Conference 2010 |
GPUs and heterogeneous computing
GPU computing |
0.1 | 1 | 2010 | Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010 |
Parallel and multicore computing › parallel algorithms › sorting
merge sort |
0.1 | 1 | 2010 | Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort · SIGMOD Conference 2010 |
Parallel and multicore computing › parallel algorithms
sorting |
0.1 | 1 | 2010 | Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sort · SIGMOD Conference 2010 |
Performance modeling and evaluation
throughput computing |
0.1 | 1 | 2010 | Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 2 | 2010 | Scaling performance of interior-point method on large-scale chip multiprocessor system · SC 2007 Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPU · ISCA 2010 |
Computational science and engineering
cosmology |
0.1 | 1 | 2018 | CosmoFlow: using deep learning to learn the universe at scale · SC 2018 |
Query processing and optimization › join processing › join algorithms
hash join |
0.1 | 1 | 2009 | Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009 |
Query processing and optimization
join processing |
0.1 | 1 | 2009 | 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.1 | 1 | 2009 | Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUs · Proc. VLDB Endow. 2009 |
Methods — techniques the papers use, named apart from their topics
markov chain monte carlo · 1.5deep learning · 1.0sequential importance sampling · 0.8inference compilation · 0.8deep recurrent neural network · 0.8PyTorch-MPI · 0.83DCNN-LSTM · 0.8SIMD · 0.6simulation · 0.2full-system characterization · 0.2design principles · 0.2concurrency control · 0.2thread-level parallelism · 0.1data-level parallelism · 0.1data compression · 0.1analytical modeling · 0.1interior point method · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2020 | APMT: an automatic hardware counter-based performance modeling tool for HPC applicationsabstractAbstract The ever-growing complexity of HPC applications and the computer architectures cost more efforts than ever to learn application behaviors. In this paper, we propose the APMT, an Automatic Performance Modeling Tool, to understand and predict performance efficiently in the regimes of interest to developers and performance analysts while outperforming many traditional techniques. In APMT, we use hardware counter-assisted profiling to identify the key kernels and non-scalable kernels and build each kernel model according to our performance modeling framework. Meantime, we also provide an optional refinement modeling framework to further understand the key performance metric, cycles-per-instruction (CPI). Our evaluations show that by only performing a few small-scale profiling, APMT is able to keep the average error rate around 15% with average performance overheads of 3% in different scenarios, including NAS parallel benchmarks, dynamical core of atmosphere model of the Community Earth System Model (CESM), and the ice component of CESM on commodity clusters. APMT improve the model prediction accuracies by 25–52% in strong scaling tests comparing to the well-known analytical model and the empirical model. Nan Ding 0006, Victor W. Lee, Wei Xue 0003 |
CCF Trans. High Perform. Comput. | 2 |
| 2019 | Efficient Probabilistic Inference in the Quest for Physics Beyond the Standard ModelabstractWe present a novel probabilistic programming framework that couples directly to existing large-scale simulators through a cross-platform probabilistic execution protocol, which allows general-purpose inference engines to record and control random number draws within simulators in a language-agnostic way. The execution of existing simulators as probabilistic programs enables highly interpretable posterior inference in the structured model defined by the simulator code base. We demonstrate the technique in particle physics, on a scientifically accurate simulation of the tau lepton decay, which is a key ingredient in establishing the properties of the Higgs boson. Inference efficiency is achieved via inference compilation where a deep recurrent neural network is trained to parameterize proposal distributions and control the stochastic simulator in a sequential importance sampling scheme, at a fraction of the computational cost of a Markov chain Monte Carlo baseline. Atilim Günes Baydin, Wahid Bhimji, Lukas Heinrich, Saeid Naderiparizi, Andreas Munk 0001, Jialin Liu 0002, Bradley Gram-Hansen, Gilles Louppe, Lawrence Meadows, Philip Torr 0001, Victor W. Lee, Kyle Cranmer, Prabhat, Frank D. Wood |
NeurIPS | 12 |
| 2019 | Etalumis: bringing probabilistic programming to scientific simulators at scaleabstractProbabilistic programming languages (PPLs) are receiving widespread attention for performing Bayesian inference in complex generative models. However, applications to science remain limited because of the impracticability of rewriting complex scientific simulators in a PPL, the computational cost of inference, and the lack of scalable implementations. To address these, we present a novel PPL framework that couples directly to existing scientific simulators through a cross-platform probabilistic execution protocol and provides Markov chain Monte Carlo (MCMC) and deep-learning-based inference compilation (IC) engines for tractable inference. To guide IC inference, we perform distributed training of a dynamic 3DCNN-LSTM architecture with a PyTorch-MPI-based framework on 1,024 32-core CPU nodes of the Cori supercomputer with a global mini-batch size of 128k: achieving a performance of 450 Tflop/s through enhancements to PyTorch. We demonstrate a Large Hadron Collider (LHC) use-case with the C++ Sherpa simulator and achieve the largest-scale posterior inference in a Turing-complete PPL. Atilim Günes Baydin, Wahid Bhimji, Lukas Heinrich, Lawrence Meadows, Jialin Liu 0002, Andreas Munk 0001, Saeid Naderiparizi, Bradley Gram-Hansen, Gilles Louppe, Mingfei Ma, Philip Torr 0001, Victor W. Lee, Kyle Cranmer, Prabhat, Frank D. Wood |
SC | 14 |
| 2019 | Implications of a metric for performance portability
Simon J. Pennycook, Jason Sewall, Victor W. Lee |
Future Gener. Comput. Syst. | 3 |
| 2018 | CosmoFlow: using deep learning to learn the universe at scale
Amrita Mathuriya, Deborah Bard, Peter Mendygral, Lawrence Meadows, James Arnemann, Siyu He, Tuomas Kärnä, Diana Moise, Simon J. Pennycook, Kristyn J. Maschhoff, Jason Sewall, Nalini Kumar, Shirley Ho, Michael F. Ringenburg, Prabhat, Victor W. Lee |
SC | 17 |
| 2017 | Voltage Regulator Efficiency Aware Power ManagementabstractConventional off-chip voltage regulators are typically bulky and slow, and are inefficient at exploiting system and workload variability using Dynamic Voltage and Frequency Scaling (DVFS). On-die integration of voltage regulators has the potential to increase the energy efficiency of computer systems by enabling power control at a fine granularity in both space and time. The energy conversion efficiency of on-chip regulators, however, is typically much lower than off-chip regulators, which results in significant energy losses. Fine-grained power control and high voltage regulator efficiency are difficult to achieve simultaneously, with either emerging on-chip or conventional off-chip regulators. Victor W. Lee, Engin Ipek |
ASPLOS | 2 |
| 2016 | Full-Stack Architecting to Achieve a Billion-Requests-Per-Second Throughput on a Single Key-Value Store Server PlatformabstractDistributed in-memory key-value stores (KVSs), such as memcached, have become a critical data serving layer in modern Internet-oriented data center infrastructure. Their performance and efficiency directly affect the QoS of web services and the efficiency of data centers. Traditionally, these systems have had significant overheads from inefficient network processing, OS kernel involvement, and concurrency control. Two recent research thrusts have focused on improving key-value performance. Hardware-centric research has started to explore specialized platforms including FPGAs for KVSs; results demonstrated an order of magnitude increase in throughput and energy efficiency over stock memcached. Software-centric research revisited the KVS application to address fundamental software bottlenecks and to exploit the full potential of modern commodity hardware; these efforts also showed orders of magnitude improvement over stock memcached. We aim at architecting high-performance and efficient KVS platforms, and start with a rigorous architectural characterization across system stacks over a collection of representative KVS implementations. Our detailed full-system characterization not only identifies the critical hardware/software ingredients for high-performance KVS systems but also leads to guided optimizations atop a recent design to achieve a record-setting throughput of 120 million requests per second (MRPS) (167MRPS with client-side batching) on a single commodity server. Our system delivers the best performance and energy efficiency (RPS/watt) demonstrated to date over existing KVSs including the best-published FPGA-based and GPU-based claims. We craft a set of design principles for future platform architectures, and via detailed simulations demonstrate the capability of achieving a billion RPS with a single server constructed following our principles. Sheng Li 0007, Hyeontaek Lim, Victor W. Lee, Jung Ho Ahn, Anuj Kalia, Michael Kaminsky, David G. Andersen, Seongil O, Sukhan Lee 0002, Pradeep Dubey |
ACM Trans. Comput. Syst. | 3 |
| 2015 | Architecting to achieve a billion requests per second throughput on a single key-value store server platformabstractDistributed in-memory key-value stores (KVSs), such as memcached, have become a critical data serving layer in modern Internet-oriented datacenter infrastructure. Their performance and efficiency directly affect the QoS of web services and the efficiency of datacenters. Traditionally, these systems have had significant overheads from inefficient network processing, OS kernel involvement, and concurrency control. Two recent research thrusts have focused upon improving key-value performance. Hardware-centric research has started to explore specialized platforms including FPGAs for KVSs; results demonstrated an order of magnitude increase in throughput and energy efficiency over stock memcached. Software-centric research revisited the KVS application to address fundamental software bottlenecks and to exploit the full potential of modern commodity hardware; these efforts too showed orders of magnitude improvement over stock memcached. Sheng Li 0007, Hyeontaek Lim, Victor W. Lee, Jung Ho Ahn, Anuj Kalia, Michael Kaminsky, David G. Andersen, Seongil O, Sukhan Lee 0002, Pradeep Dubey |
ISCA | 3 |
| 2014 | Improving the energy efficiency of Big CoresabstractTraditionally, architectural innovations designed to boost single-threaded performance incur overhead costs which significantly increase power consumption. In many cases the increase in power exceeds the improvement in performance, resulting in a net increase in energy consumption. Thus, it is reasonable to assume that modern attempts to improve single-threaded performance will have a negative impact on energy efficiency. This has led to the belief that “Big Cores” are inherently inefficient. To the contrary, we present a study which finds that the increased complexity of the core microarchitecture in recent generations of the Intel®Core™ processor have reduced both the time and energy required to run various workloads. Moreover, taking out the impact of process technology changes, our study still finds the architecture and microarchitecture changes -such as the increase in SIMD width, addition of the frontend caches, and the enhancement to the out-of-order execution engine- account for 1.2x improvement in energy efficiency for these processors. This paper provides real-world examples of how architectural innovations can mitigate inefficiencies associated with “Big Cores” -for example, micro-op caches obviate the costly decode of complex x86 instructions- resulting in a core architecture that is both high performance and energy efficient. It also contributes to the understanding of how microarchitecture affects performance, power and energy efficiency by modeling the relationship between them. Kenneth Czechowski, Victor W. Lee, Ed Grochowski, Ronny Ronen, Ronak Singhal, Richard W. Vuduc, Pradeep Dubey |
ISCA | 2 |
| 2012 | Miss-Correlation Folding: Encoding Per-Block Miss Correlations in Compressed DRAM for Data PrefetchingabstractCache misses frequently exhibit repeated streaming behavior, i.e. a sequence of cache misses has a high tendency of being repeated. Correlation-based prefetchers record the missing streams in a history table for accurate prefetching. Saving a large miss history in off-chip DRAM is a practical implementation, but incurs access latency and consumes memory bandwidth which leads to performance degradation. In this paper, we investigate a new data prefetching mechanism based on per-block miss correlation where a miss is correlated with an earlier miss when the two misses are closely encountered both in time and space. The miss correlations are captured dynamically and saved along with the content of the data block using a simple data compression technique. As a result of this novel combination, our scheme provides unbounded correlation history and its prefetch metadata can be fetched together with demand data without incurring additional latency nor consuming any memory bandwidth. Performance evaluations using data-parallel applications demonstrate that prefetchers based on per-block miss correlations can improve IPC by 42-139% with an average of 88% compared to the IPC without prefetching. In comparison with regular stream prefetcher, sampled temporal streaming prefetcher and spatial-temporal memory streaming prefetcher, up to 115%, 99% and 98% IPC improvement can be obtained with an average about 36%, 26% and 27% respectively. Jih-Kwon Peir, Victor W. Lee |
IPDPS | 3 |
| 2012 | Extending the BT NAS parallel benchmark to exascale computingabstractThe NAS Parallel Benchmarks (NPB) are a well-known suite of benchmarks that proxy scientific computing applications. They specify several problem sizes that represent how such applications may run on different sizes of HPC systems. However, even the largest problem (class F) is still far too small to exercise properly a petascale supercomputer. Our work shows how one may scale the Block Tridiagonal (BT) NPB from today's published size to petascale and exascale computing systems. In this paper we discuss the pros and cons of various ways of scaling. We discuss how scaling BT would impact computation, memory access, and communications, and highlight the expected bottleneck, which turns out to be not memory or communication bandwidth, but network latency. Two complementary ways are presented to overcome latency obstacles. We also describe a practical method to gather approximate performance data for BT at exascale on actual hardware, without requiring an exascale system. Rob F. Van der Wijngaart, Srinivas Sridharan 0002, Victor W. Lee |
SC | 3 |
| 2011 | Emerging applications for multi/many-core processorsabstractThere has always been a strong relationship between computer applications and computer architectures. Advances in computer architecture enable new usage models; new usage models challenge new architectures. For many decades, the interplays between applications and architectures have resulted in significant progress in the computer technologies. Recently, the computer industry adopts the multi/many-core architecture for better performance, energy efficiency and reliability. This industry-wide movement towards multi/many-core architectures opens up many opportunities for developing new classes of applications. This paper uses a few emerging applications as examples to illustrate the interplay between applications and architecture. It further discusses the key characteristics of emerging applications and how multi/many-core architecture addresses the needs of the new applications. The paper closes with recommendations for new application developers to allow better utilization of new multi/many-core processors. Victor W. Lee, Yen-Kuang Chen, Pradeep Debuy |
ISCAS | 1 |
| 2011 | Designing fast architecture-sensitive tree search on modern multicore/many-core processorsabstractIn-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. | 7 |
| 2010 | Debunking the 100X GPU vs. CPU myth: an evaluation of throughput computing on CPU and GPUabstractRecent 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 |
ISCA | 1 |
| 2010 | FAST: fast architecture sensitive tree search on modern CPUs and GPUsabstractIn-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 Conference | 7 |
| 2010 | Fast sort on CPUs and GPUs: a case for bandwidth oblivious SIMD sortabstractSort 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 Conference | 5 |
| 2009 | Sort vs. Hash Revisited: Fast Join Implementation on Modern Multi-Core CPUsabstractJoin 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. | 7 |
| 2009 | Mapping High-Fidelity Volume Rendering for Medical Imaging to CPU, GPU and Many-Core ArchitecturesabstractMedical 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. | 11 |
| 2008 | Atomic Vector Operations on Chip MultiprocessorsabstractThe 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 |
ISCA | 8 |
| 2008 | Convergence of Recognition, Mining, and Synthesis Workloads and Its ImplicationsabstractThis 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. IEEE | 7 |
| 2008 | Efficient implementation of sorting on multi-core SIMD CPU architectureabstractSorting 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. | 3 |
| 2007 | Scaling performance of interior-point method on large-scale chip multiprocessor systemabstractIn this paper we describe parallelization of interior-point method (IPM) aimed at achieving high scalability on large-scale chip-multiprocessors (CMPs). IPM is an important computational technique used to solve optimization problems in many areas of science, engineering and finance. IPM spends most of its computation time in a few sparse linear algebra kernels. While each of these kernels contains a large amount of parallelism, sparse irregular datasets seen in many optimization problems make parallelism difficult to exploit. As a result, most researchers have shown only a relatively low scalability of 4X-12X on medium to large scale parallel machines. Mikhail Smelyanskiy, Victor W. Lee, Daehyun Kim 0001, Anthony D. Nguyen, Pradeep Dubey |
SC | 2 |
| 2006 | Coterminous locality and coterminous group data prefetching on chip-multiprocessorsabstractDue to shared cache contentions and interconnect delays, data prefetching is more critical in alleviating penalties from increasing memory latencies and demands on chip-multiprocessors (CMPs). Through deep analysis of SPEC2000 applications, we find that a part of the nearby data memory references often exhibit highly-repeated patterns with long, but equal block reuse distance. These references can form a coterminous group (CG). Coterminous locality is introduced as that when a member in a CG is referenced, the remaining members will likely be referenced in the near future. Based on the coterminous locality behavior, we implement a novel CG data prefetcher on CMPs. Performance evaluations show that the proposed prefetcher can accurately cover up to 40-50% of the total misses, and result in 50-60% of potential performance improvement for several selected workload mixes Xudong Shi 0003, Jih-Kwon Peir, Lu Peng 0001, Yen-Kuang Chen, Victor W. Lee, B. Liang |
IPDPS | 6 |
| 2003 | Experience with Applying Formal Methods to Protocol Specification and System Architecture
Mani Azimi, Ching-Tsun Chou, Victor W. Lee, Phanindra K. Mannava, Seungjoon Park |
Formal Methods Syst. Des. | 4 |