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

Kai Li 0001

dblp:l/KaiLi1 · DBLP profile ↗
← Back
109ranked-venue papers
10as first author
10since 2021 · last 2025
0000-0002-2095-7024ORCID · conflict

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

Systems, architecture and hardware · 61 · 8 first-authorSoftware engineering, systems software and programming languages · 28 · 2 first-author · 1 since 2021Artificial intelligence and machine learning · 15 · 7 since 2021Databases, data management, data science and information retrieval · 12Graphics, computer vision, multimedia, augmented reality and games · 10 · 1 since 2021Applied, interdisciplinary, general and emerging computing · 7 · 2 since 2021Human-computer interaction and ubiquitous computing · 4Computer networks · 1Security and privacy · 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.

Artificial intelligence
12 papers
Language models and text generation · 37% Trustworthy machine learning · 30% Efficient and distributed learning · 29%
Computer architecture, parallel and distributed computing, and storage systems
50 papers
Hardware accelerators and domain-specific architectures · 31% Storage systems · 18% Memory systems · 17%
Network and information security
5 papers
Privacy and data protection · 74% Security and privacy of machine learning · 26%
Databases, data mining, and information retrieval
12 papers
Information retrieval · 80% Data stream processing · 6% Data mining · 5%
Computer networks
3 papers
Content delivery and video streaming · 77% Edge and fog computing · 19% Network optimization and economics · 4%

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

TopicWeightPapersLastEvidence papers
Privacy and data protection › privacy-preserving machine learning
federated learning privacy
1.122022
Recovering Private Text in Federated Learning of Language Models · NeurIPS 2022
Evaluating Gradient Inversion Attacks and Defenses in Federated Learning · NeurIPS 2021
Machine learning › Efficient and distributed learning › KV cache management
cache eviction
0.912025
Learned Prefix Caching for Efficient LLM Inference · NeurIPS 2025
Machine learning › Efficient and distributed learning › inference efficiency
LLM inference optimization
0.912025
Learned Prefix Caching for Efficient LLM Inference · NeurIPS 2025
Natural language and speech › Language models and text generation
alignment
0.812024
Catastrophic Jailbreak of Open-source LLMs via Exploiting Generation · ICLR 2024
Machine learning › Trustworthy machine learning › model security
copyright protection
0.812024
Evaluating Copyright Takedown Methods for Language Models · NeurIPS 2024
Natural language and speech › Language models and text generation
inference-time intervention
0.812024
Evaluating Copyright Takedown Methods for Language Models · NeurIPS 2024
Machine learning › Trustworthy machine learning
machine unlearning
0.812024
Evaluating Copyright Takedown Methods for Language Models · NeurIPS 2024
Security and privacy of machine learning › adversarial attack
jailbreak attack
0.812024
Catastrophic Jailbreak of Open-source LLMs via Exploiting Generation · ICLR 2024
Hardware accelerators and domain-specific architectures › machine learning accelerator › DNN inference
early-exit inference
0.812024
Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving · SOSP 2024
Cloud and datacenter computing
inference serving
0.812024
Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving · SOSP 2024
Hardware accelerators and domain-specific architectures
machine learning accelerator
0.812024
Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving · SOSP 2024
Performance modeling and evaluation › design trade-off analysis
throughput-latency tradeoff
0.812024
Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving · SOSP 2024
Natural language and speech › Language models and text generation
retrieval-augmented language models
0.712023
Privacy Implications of Retrieval-Based Language Models · EMNLP 2023
Security and privacy of machine learning › model privacy
language model privacy
0.712023
Privacy Implications of Retrieval-Based Language Models · EMNLP 2023
Privacy and data protection › data confidentiality › content privacy
text privacy
0.612022
Recovering Private Text in Federated Learning of Language Models · NeurIPS 2022
Information retrieval
similarity search
0.542017
Intelligent Probing for Locality Sensitive Hashing: Multi-Probe LSH and Beyond · Proc. VLDB Endow. 2017
Asymmetric distance estimation with sketches for similarity search in high-dimensional spaces · SIGIR 2008
Sizing sketches: a rank-based analysis for similarity search · SIGMETRICS 2007
Privacy and data protection › privacy-preserving machine learning › federated learning privacy
gradient inversion attack
0.512021
Evaluating Gradient Inversion Attacks and Defenses in Federated Learning · NeurIPS 2021
Privacy and data protection › privacy-preserving machine learning
gradient inversion defense
0.512021
Evaluating Gradient Inversion Attacks and Defenses in Federated Learning · NeurIPS 2021
Privacy and data protection › information leakage
privacy leakage
0.512021
Evaluating Gradient Inversion Attacks and Defenses in Federated Learning · NeurIPS 2021
Information retrieval › similarity search › nearest neighbor search
approximate nearest neighbor search
0.532017
Intelligent Probing for Locality Sensitive Hashing: Multi-Probe LSH and Beyond · Proc. VLDB Endow. 2017
Efficient k-nearest neighbor graph construction for generic similarity measures · WWW 2011
Asymmetric distance estimation with sketches for similarity search in high-dimensional spaces · SIGIR 2008
Machine learning › Efficient and distributed learning
federated learning
0.412020
InstaHide: Instance-hiding Schemes for Private Distributed Learning · ICML 2020
Machine learning › Trustworthy machine learning › privacy
privacy-preserving machine learning
0.412020
InstaHide: Instance-hiding Schemes for Private Distributed Learning · ICML 2020
Content delivery and video streaming › caching › cache management
cache replacement
0.412020
Learning Relaxed Belady for Content Distribution Network Caching · NSDI 2020
Content delivery and video streaming › content delivery network
CDN caching
0.412020
Learning Relaxed Belady for Content Distribution Network Caching · NSDI 2020
Privacy and data protection › differential privacy › distributed differential privacy
differentially private distributed learning
0.412020
InstaHide: Instance-hiding Schemes for Private Distributed Learning · ICML 2020
Information retrieval › hashing › hashing for nearest neighbor search
locality-sensitive hashing
0.422017
Intelligent Probing for Locality Sensitive Hashing: Multi-Probe LSH and Beyond · Proc. VLDB Endow. 2017
Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search · VLDB 2007
Hardware accelerators and domain-specific architectures › machine learning accelerator
convolution optimization
0.312018
Optimizing N-dimensional, winograd-based convolution for manycore CPUs · PPoPP 2018
Hardware accelerators and domain-specific architectures › machine learning accelerator › convolution optimization
winograd convolution
0.312018
Optimizing N-dimensional, winograd-based convolution for manycore CPUs · PPoPP 2018
Information retrieval › similarity search › nearest neighbor search › approximate nearest neighbor search
multi-probe LSH
0.312017
Intelligent Probing for Locality Sensitive Hashing: Multi-Probe LSH and Beyond · Proc. VLDB Endow. 2017
Edge and fog computing › edge caching
content popularity prediction
0.312017
Popularity Prediction of Facebook Videos for Higher Quality Streaming · USENIX ATC 2017

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

decoding manipulation · 1.5learned eviction policy · 0.9human-in-the-loop · 0.9fine-tuning · 0.9conversational content analysis · 0.9LLM-as-a-judge · 0.9unlearning · 0.8system prompting · 0.8runtime monitoring · 0.8red-teaming · 0.8red teaming · 0.8early exit · 0.8decoding-time filtering · 0.8adaptation strategies · 0.8public-private data mixing · 0.7encoder decoupling · 0.7datastore sanitization · 0.7multi-probe LSH · 0.6
YearPublicationVenuePosition
2025 SORRY-Bench: Systematically Evaluating Large Language Model Safety Refusal
abstract
Evaluating aligned large language models' (LLMs) ability to recognize and reject unsafe user requests is crucial for safe, policy-compliant deployments. Existing evaluation efforts, however, face three limitations that we address with **SORRY-Bench**, our proposed benchmark. **First**, existing methods often use coarse-grained taxonomies of unsafe topics, and are over-representing some fine-grained topics. For example, among the ten existing datasets that we evaluated, tests for refusals of self-harm instructions are over 3x less represented than tests for fraudulent activities. SORRY-Bench improves on this by using a fine-grained taxonomy of 44 potentially unsafe topics, and 440 class-balanced unsafe instructions, compiled through human-in-the-loop methods. **Second**, evaluations often overlook the linguistic formatting of prompts, like different languages, dialects, and more --- which are only implicitly considered in many evaluations. We supplement SORRY-bench with 20 diverse linguistic augmentations to systematically examine these effects. **Third**, existing evaluations rely on large LLMs (e.g., GPT-4) for evaluation, which can be computationally expensive. We investigate design choices for creating a fast, accurate automated safety evaluator. By collecting 7K+ human annotations and conducting a meta-evaluation of diverse LLM-as-a-judge designs, we show that fine-tuned 7B LLMs can achieve accuracy comparable to GPT-4 scale LLMs, with lower computational cost. Putting these together, we evaluate over 50 proprietary and open-weight LLMs on SORRY-Bench, analyzing their distinctive safety refusal behaviors. We hope our effort provides a building block for systematic evaluations of LLMs' safety refusal capabilities, in a balanced, granular, and efficient manner. Benchmark demo, data, code, and models are available through [https://sorry-bench.github.io](https://sorry-bench.github.io).
Tinghao Xie, Xiangyu Qi, Yi Zeng 0005, Yangsibo Huang, T. W. U. Madhushani, Kaixuan Huang, Luxi He, Boyi Wei, Dacheng Li, Ying Sheng 0007, Ruoxi Jia 0001, Bo Li 0026, Kai Li 0001, Danqi Chen 0001, Peter Henderson 0002, Prateek Mittal
ICLR13
2025 Learned Prefix Caching for Efficient LLM Inference
abstract
Prefix caching is a key technique for reducing Large Language Model (LLM) inference costs. However, the prevalent least-recently-used (LRU) eviction algorithm has a large gap to the optimal algorithm. This paper introduces LPC, the first learned method to perform LLM prefix cache eviction. LPC leverages conversational content analysis to provide predictive guidance for eviction, determining which conversations are likely to continue. These insights, combined with last access timestamps, inform more effective cache management. Extensive evaluations across three real-world datasets demonstrate that LPC achieves 18-47% reductions in required cache sizes for equivalent hit ratios and has an 11% improvement in LLM prefilling throughput in an emulated environment.
Dongsheng Yang 0001, Austin T. Li, Kai Li 0001, Wyatt Lloyd
NeurIPS3
2024 Catastrophic Jailbreak of Open-source LLMs via Exploiting Generation
abstract
The rapid progress in open-source large language models (LLMs) is significantly advancing AI development. Extensive efforts have been made before model release to align their behavior with human values, with the primary goal of ensuring their helpfulness and harmlessness. However, even carefully aligned models can be manipulated maliciously, leading to unintended behaviors, known as ``jailbreaks". These jailbreaks are typically triggered by specific text inputs, often referred to as adversarial prompts. In this work, we propose the generation exploitation attack, an extremely simple approach that disrupts model alignment by only manipulating variations of decoding methods. By exploiting different generation strategies, including varying decoding hyper-parameters and sampling methods, we increase the attack success rate from $0\%$ to more than $95\%$ across 11 language models including LLaMA2, Vicuna, Falcon, and MPT families, outperforming state-of-the-art attacks with $30\times$ lower computational cost. Finally, we propose an effective alignment method that explores diverse generation strategies, which can reasonably reduce the attack success rate under our attack. Altogether, our study underscores a major failure in current safety evaluation and alignment procedures for open-source LLMs, strongly advocating for more comprehensive red teaming and better alignment before releasing such models.
Yangsibo Huang, Samyak Gupta, Mengzhou Xia, Kai Li 0001, Danqi Chen 0001
ICLR4
2024 Evaluating Copyright Takedown Methods for Language Models
abstract
Language models (LMs) derive their capabilities from extensive training on diverse data, including copyrighted material. These models can memorize and generate content similar to their training data, potentially risking legal issues like copyright infringement.Therefore, model creators are motivated to develop mitigation methods that prevent generating particular copyrighted content, an ability we refer to as copyright takedowns. This paper introduces the first evaluation of the feasibility and side effects of copyright takedowns for LMs. We propose CoTaEval, an evaluation framework to assess the effectiveness of copyright takedown methods,the impact on the model's ability to retain uncopyrightable factual knowledge from the copyrighted content, and how well the model maintains its general utility and efficiency.We examine several strategies, including adding system prompts, decoding-time filtering interventions, and unlearning approaches. Our findings indicate that no method excels across all metrics, showing significant room for research in this unique problem setting and indicating potential unresolved challenges for live policy proposals.
Boyi Wei, Yangsibo Huang, Noah A. Smith, Chiyuan Zhang, Luke Zettlemoyer, Kai Li 0001, Peter Henderson 0002
NeurIPS7
2024 Apparate: Rethinking Early Exits to Tame Latency-Throughput Tensions in ML Serving
abstract
Machine learning (ML) inference platforms are tasked with balancing two competing goals: ensuring high throughput given many requests, and delivering low-latency responses to support interactive applications. Unfortunately, existing platform knobs (e.g., batch sizes) fail to ease this fundamental tension, and instead only enable users to harshly trade off one property for the other. This paper explores an alternate strategy to taming throughput-latency tradeoffs by changing the granularity at which inference is performed. We present Apparate, a system that automatically applies and manages early exits (EEs) in ML models, whereby certain inputs can exit with results at intermediate layers. To cope with the time-varying overhead and accuracy challenges that EEs bring, Apparate repurposes exits to provide continual feedback that powers several novel runtime monitoring and adaptation strategies. Apparate lowers median response latencies by 40.5--91.5% and 10.0--24.2% for diverse CV and NLP classification workloads, and median time-per-token latencies by 22.6--77.9% for generative scenarios, without affecting throughputs or violating tight accuracy constraints.
Yinwei Dai, Rui Pan 0003, Anand Padmanabha Iyer, Kai Li 0001, Ravi Netravali
SOSP4
2023 Privacy Implications of Retrieval-Based Language Models
abstract
Retrieval-based language models (LMs) have demonstrated improved interpretability, factuality, and adaptability compared to their parametric counterparts by incorporating retrieved text from external datastores.While it is well known that parametric models are prone to leaking private data, it remains unclear how the addition of a retrieval datastore impacts model privacy.In this work, we present the first study of privacy risks in retrieval-based LMs, particularly kNN-LMs.Our goal is to explore the optimal design and training procedure in domains where privacy is of concern, aiming to strike a balance between utility and privacy.Crucially, we find that kNN-LMs are more susceptible to leaking private information from their private datastore than parametric models.We further explore mitigations of privacy risks: When privacy information is targeted and readily detected in the text, we find that a simple sanitization step would eliminate the risks while decoupling query and key encoders achieves an even better utility-privacy trade-off.Otherwise, we consider strategies of mixing public and private data in both datastore and encoder training.While these methods offer modest improvements, they leave considerable room for future work.Together, our findings provide insights for practitioners to better understand and mitigate privacy risks in retrieval-based LMs 1 .
Yangsibo Huang, Samyak Gupta, Zexuan Zhong, Kai Li 0001, Danqi Chen 0001
EMNLP4
2023 A Dataset Auditing Method for Collaboratively Trained Machine Learning Models
abstract
Dataset auditing for machine learning (ML) models is a method to evaluate if a given dataset is used in training a model. In a Federated Learning setting where multiple institutions collaboratively train a model with their decentralized private datasets, dataset auditing can facilitate the enforcement of regulations, which provide rules for preserving privacy, but also allow users to revoke authorizations and remove their data from collaboratively trained models. This paper first proposes a set of requirements for a practical dataset auditing method, and then present a novel dataset auditing method called Ensembled Membership Auditing ( EMA ). Its key idea is to leverage previously proposed Membership Inference Attack methods and to aggregate data-wise membership scores using statistic testing to audit a dataset for a ML model. We have experimentally evaluated the proposed approach with benchmark datasets, as well as 4 X-ray datasets (CBIS-DDSM, COVIDx, Child-XRay, and CXR-NIH) and 3 dermatology datasets (DERM7pt, HAM10000, and PAD-UFES-20). Our results show that EMA meet the requirements substantially better than the previous state-of-the-art method. Our code is at:https://github.com/Hazelsuko07/EMA.
Yangsibo Huang, Chun-Yin Huang, Xiaoxiao Li 0001, Kai Li 0001
IEEE Trans. Medical Imaging4
2022 Recovering Private Text in Federated Learning of Language Models
abstract
Federated learning allows distributed users to collaboratively train a model while keeping each user’s data private. Recently, a growing body of work has demonstrated that an eavesdropping attacker can effectively recover image data from gradients transmitted during federated learning. However, little progress has been made in recovering text data. In this paper, we present a novel attack method FILM for federated learning of language models (LMs). For the first time, we show the feasibility of recovering text from large batch sizes of up to 128 sentences. Unlike image-recovery methods that are optimized to match gradients, we take a distinct approach that first identifies a set of words from gradients and then directly reconstructs sentences based on beam search and a prior-based reordering strategy. We conduct the FILM attack on several large-scale datasets and show that it can successfully reconstruct single sentences with high fidelity for large batch sizes and even multiple sentences if applied iteratively.We evaluate three defense methods: gradient pruning, DPSGD, and a simple approach to freeze word embeddings that we propose. We show that both gradient pruning and DPSGD lead to a significant drop in utility. However, if we fine-tune a public pre-trained LM on private text without updating word embeddings, it can effectively defend the attack with minimal data utility loss. Together, we hope that our results can encourage the community to rethink the privacy concerns of LM training and its standard practices in the future. Our code is publicly available at https://github.com/Princeton-SysML/FILM .
Samyak Gupta, Yangsibo Huang, Zexuan Zhong, Tianyu Gao 0001, Kai Li 0001, Danqi Chen 0001
NeurIPS5
2021 EMA: Auditing Data Removal from Trained Models
Yangsibo Huang, Kai Li 0001
MICCAI (5)3
2021 Evaluating Gradient Inversion Attacks and Defenses in Federated Learning
abstract
Gradient inversion attack (or input recovery from gradient) is an emerging threat to the security and privacy preservation of Federated learning, whereby malicious eavesdroppers or participants in the protocol can recover (partially) the clients' private data. This paper evaluates existing attacks and defenses. We find that some attacks make strong assumptions about the setup. Relaxing such assumptions can substantially weaken these attacks. We then evaluate the benefits of three proposed defense mechanisms against gradient inversion attacks. We show the trade-offs of privacy leakage and data utility of these defense methods, and find that combining them in an appropriate manner makes the attack less effective, even under the original strong assumptions. We also estimate the computation cost of end-to-end recovery of a single image under each evaluated defense. Our findings suggest that the state-of-the-art attacks can currently be defended against with minor data utility loss, as summarized in a list of potential strategies.
Yangsibo Huang, Samyak Gupta, Zhao Song 0002, Kai Li 0001, Sanjeev Arora
NeurIPS4
2020 Patient-Specific Effects of Medication Using Latent Force Models with Gaussian Processes
abstract
A multi-output Gaussian process (GP) is a flexible Bayesian nonparametric framework that has proven useful in jointly modeling the physiological states of patients in medical time series data. However, capturing the short-term effects of drugs and therapeutic interventions on patient physiological state remains challenging. We propose a novel approach that models the effect of interventions as a hybrid Gaussian process composed of a GP capturing patient baseline physiology convolved with a latent force model capturing effects of treatments on specific physiological features. The combination of a multi-output GP with a time-marked kernel GP leads to a well-characterized model of patients’ physiological state across a hospital stay, including response to interventions. Our model leads to analytically tractable cross-covariance functions that allow for scalable inference. Our hierarchical model includes estimates of patient-specific effects but allows sharing of support across patients. Our approach achieves competitive predictive performance on challenging hospital data, where we recover patient-specific response to the administration of three common drugs: one antihypertensive drug and two anticoagulants.
Li-Fang Cheng, Bianca Dumitrascu, Michael Minyi Zhang, Corey Chivers, Michael Draugelis, Kai Li 0001, Barbara E. Engelhardt
AISTATS6
2020 InstaHide: Instance-hiding Schemes for Private Distributed Learning
abstract
How can multiple distributed entities train a shared deep net on their private data while protecting data privacy? This paper introduces InstaHide, a simple encryption of training images. Encrypted images can be used in standard deep learning pipelines (PyTorch, Federated Learning etc.) with no additional setup or infrastructure. The encryption has a minor effect on test accuracy (unlike differential privacy). Encryption consists of mixing the image with a set of other images (in the sense of Mixup data augmentation technique (Zhang et al., 2018)) followed by applying a random pixel-wise mask on the mixed image. Other contributions of this paper are: (a) Use of large public dataset of images (e.g. ImageNet) for mixing during encryption; this improves security. (b) Experiments demonstrating effectiveness in protecting privacy against known attacks while preserving model accuracy. (c) Theoretical analysis showing that successfully attacking privacy requires attackers to solve a difficult computational problem. (d) Demonstration that Mixup alone is insecure as (contrary to recent proposals), by showing some efficient attacks. (e) Release of a challenge dataset to allow design of new attacks.
Yangsibo Huang, Zhao Song 0002, Kai Li 0001, Sanjeev Arora
ICML3
2020 Learning Relaxed Belady for Content Distribution Network Caching
Daniel S. Berger, Kai Li 0001, Wyatt Lloyd
NSDI3
2019 Compressed Sensing MRI Reconstruction on Intel HARPv2
abstract
Implementing the Iterative Soft-Thresholding Algorithm (ISTA) of compressed sensing for MRI image reconstruction is a good candidate for designing accelerators because real-time functional MRI applications require intensive computations. A straightforward mapping of the computation graph of ISTA onto an FPGA, with a wide enough datapath to saturate memory bandwidth, would require substantial resources, such that a modest size FPGA would not fit the reconstruction pipeline for an entire MRI image. This paper proposes several methods to design the kernel components of ISTA, such as matrix transpose, datapath reuse, parallelism within maps, and data buffering to overcome the problem. Our implementation with Intel OpenCL SDK and performance evaluation on Intel HARPv2 show that our methods can map the reconstruction for the entire 256 × 256 MRI image with 8 or more channels to its FPGA, while achieving good overall performance.
Yushan Su, Jonathan I. Tamir, Michael Lustig, Kai Li 0001
FCCM5
2019 The anatomy of efficient FFT and winograd convolutions on modern CPUs
abstract
Winograd-based convolution has quickly gained traction as a preferred approach to implement convolutional neural networks (ConvNet) on various hardware platforms because it could require fewer floating point operations than FFT-based or direct convolutions.
Aleksandar Zlateski, Zhen Jia 0001, Kai Li 0001, Frédo Durand
ICS3
2018 Optimizing N-dimensional, winograd-based convolution for manycore CPUs
abstract
Recent work on Winograd-based convolution allows for a great reduction of computational complexity, but existing implementations are limited to 2D data and a single kernel size of 3 by 3. They can achieve only slightly better, and often worse performance than better optimized, direct convolution implementations. We propose and implement an algorithm for N-dimensional Winograd-based convolution that allows arbitrary kernel sizes and is optimized for manycore CPUs. Our algorithm achieves high hardware utilization through a series of optimizations. Our experiments show that on modern ConvNets, our optimized implementation, is on average more than 3 x, and sometimes 8 x faster than other state-of-the-art CPU implementations on an Intel Xeon Phi manycore processors. Moreover, our implementation on the Xeon Phi achieves competitive performance for 2D ConvNets and superior performance for 3D ConvNets, compared with the best GPU implementations.
Zhen Jia 0001, Aleksandar Zlateski, Frédo Durand, Kai Li 0001
PPoPP4
2017 Popularity Prediction of Facebook Videos for Higher Quality Streaming
Linpeng Tang, Amit Puntambekar, Ymir Vigfusson, Wyatt Lloyd, Kai Li 0001
USENIX ATC6
2017 Intelligent Probing for Locality Sensitive Hashing: Multi-Probe LSH and Beyond
abstract
The past decade has been marked by the (continued) explosion of diverse data content and the fast development of intelligent data analytics techniques. One problem we identified in the mid-2000s was similarity search of feature-rich data. The challenge here was achieving both high accuracy and high efficiency in high-dimensional spaces. Locality sensitive hashing (LSH), which uses certain random space partitions and hash table lookups to find approximate nearest neighbors, was a promising approach with theoretical guarantees. But LSH alone was insufficient since a large number of hash tables were required to achieve good search quality. Building on an idea of Panigrahy, our multi-probe LSH method introduced the idea of intelligent probing. Given a query object, we strategically probe its neighboring hash buckets (in a query-dependent fashion) by calculating the statistical probabilities of similar objects falling into each bucket. Such intelligent probing can significantly reduce the number of hash tables while achieving high quality. In this paper, we revisit the problem motivation, the challenges, the key design considerations of multi-probe LSH, as well as discuss recent developments in this space and some questions for further research.
Qin Lv, William K. Josephson, Moses Charikar, Kai Li 0001
Proc. VLDB Endow.5
2016 Real-time full correlation matrix analysis of fMRI data
abstract
Real-time functional magnetic resonance imaging (rtfMRI) is an emerging approach for studying the functioning of the human brain. Computational challenges combined with high data velocity have to this point restricted rtfMRI analyses to studying regions of the brain independently. However, given that neural processing is accomplished via functional interactions among brain regions, neuroscience could stand to benefit from rtfMRI analyses of full-brain interactions. In this paper, we extend such an offline analysis method, full correlation matrix analysis (FCMA), to enable its use in rtfMRI studies. Specifically, we introduce algorithms capable of processing real-time data for all stages of the FCMA machine learning workflow: incremental feature selection, model updating, and real-time classification. We also present an actor-model based distributed system designed to support FCMA and other rtfMRI analysis methods. Experiments show that our system successfully analyzes a stream of brain volumes and returns neurofeedback with less than 180 ms of lag. Our real-time FCMA implementation provides the same accuracy as an optimized offline FCMA toolbox while running 3.6–6.2x faster.
Yida Wang 0003, Bryn Keller, Mihai Capota, Michael J. Anderson, Narayanan Sundaram, Jonathan D. Cohen 0003, Kai Li 0001, Nicholas B. Turk-Browne, Theodore L. Willke
IEEE BigData7
2016 Disruptive Research and Innovation
abstract
Ever since Clayton Christensen coined the terms "disruptive technologies" and "disruptive innovations" in 1990s, researchers and entrepreneurs love the word "disruptive" because disrupting current knowledge or products help us accelerate knowledge discoveries and moving the society into a new era. What is disruptive research? What is disruptive innovation? How do they happen? To answer such questions, in this talk, I will share my experience from co-leading the ImageNet project which built a knowledge base for computer vision and machine learning community, and from co-founding Data Domain, Inc. Which built deduplication storage ecosystems to replace tape library infrastructure in data centers.
Kai Li 0001
IPDPS1
2016 Erasing Belady's Limitations: In Search of Flash Cache Offline Optimality
Yue Cheng 0001, Fred Douglis, Philip Shilane, Grant Wallace, Peter Desnoyers, Kai Li 0001
USENIX ATC6
2015 RIPQ: Advanced Photo Caching on Flash for Facebook
Linpeng Tang, Wyatt Lloyd, Kai Li 0001
FAST5
2015 Full correlation matrix analysis of fMRI data on Intel® Xeon Phi™ coprocessors
abstract
Full correlation matrix analysis (FCMA) is an unbiased approach for exhaustively studying interactions among brain regions in functional magnetic resonance imaging (fMRI) data from human participants. In order to answer neuroscientific questions efficiently, we are developing a closed-loop analysis system with FCMA on a cluster of nodes with Intel® Xeon Phi™ coprocessors. Here we propose several ideas for data-driven algorithmic modification to improve the performance on the coprocessor. Our experiments with real datasets show that the optimized single-node code runs 5x-16x faster than the baseline implementation using the well-known Intel® MKL and LibSVM libraries, and that the cluster implementation achieves near linear speedup on 5760 cores.
Yida Wang 0003, Michael J. Anderson, Jonathan D. Cohen 0003, Alexander Heinecke, Kai Li 0001, Nadathur Satish, Narayanan Sundaram, Nicholas B. Turk-Browne, Theodore L. Willke
SC5
2012 High-confidence near-duplicate image detection
abstract
In this paper, we propose two techniques for near-duplicate image detection at high confidence and large scale. First, we show that entropy-based filtering eliminates ambiguous SIFT features that cause most of the false positives, and enables claiming near-duplicity with a single match of the retained high-quality features. Second, we show that graph cut can be used for query expansion with a duplicity graph computed offline to substantially improve search quality. Evaluation with web images show that when combined with sketch embedding [6], our methods achieve false positive rate orders of magnitude lower than the standard visual word approach. We demonstrate the proposed techniques with a large-scale image search engine which, using indexing data structure offline computed with a Hadoop cluster, is capable of serving more than 50 million web images with a single commodity server.
Wei Dong 0003, Moses Charikar, Kai Li 0001
ICMR4
2011 Tradeoffs in Scalable Data Routing for Deduplication Clusters
Wei Dong 0003, Fred Douglis, Kai Li 0001, R. Hugo Patterson, Sazzala Reddy, Philip Shilane
FAST3
2011 Efficient k-nearest neighbor graph construction for generic similarity measures
abstract
K-Nearest Neighbor Graph (K-NNG) construction is an important operation with many web related applications, including collaborative filtering, similarity search, and many others in data mining and machine learning. Existing methods for K-NNG construction either do not scale, or are specific to certain similarity measures. We present NN-Descent, a simple yet efficient algorithm for approximate K-NNG construction with arbitrary similarity measures. Our method is based on local search, has minimal space overhead and does not rely on any shared global index. Hence, it is especially suitable for large-scale applications where data structures need to be distributed over the network. We have shown with a variety of datasets and similarity measures that the proposed method typically converges to above 90% recall with each point comparing only to several percent of the whole dataset on average.
Wei Dong 0003, Moses Charikar, Kai Li 0001
WWW3
2011 Management of Multilevel, Multiclient Cache Hierarchies with Application Hints
abstract
Multilevel caching, common in many storage configurations, introduces new challenges to traditional cache management: data must be kept in the appropriate cache and replication avoided across the various cache levels. Additional challenges are introduced when the lower levels of the hierarchy are shared by multiple clients. Sharing can have both positive and negative effects. While data fetched by one client can be used by another client without incurring additional delays, clients competing for cache buffers can evict each other’s blocks and interfere with exclusive caching schemes. We present a global noncentralized, dynamic and informed management policy for multiple levels of cache, accessed by multiple clients. Our algorithm, MC 2 , combines local, per client management with a global, system-wide scheme, to emphasize the positive effects of sharing and reduce the negative ones. Our local management scheme, Karma , uses readily available information about the client’s future access profile to save the most valuable blocks, and to choose the best replacement policy for them. The global scheme uses the same information to divide the shared cache space between clients, and to manage this space. Exclusive caching is maintained for nonshared data and is disabled when sharing is identified. Previous studies have partially addressed these challenges through minor changes to the storage interface. We show that all these challenges can in fact be addressed by combining minor interface changes with smart allocation and replacement policies. We show the superiority of our approach through comparison to existing solutions, including LRU, ARC, MultiQ, LRU-SP, and Demote, as well as a lower bound on optimal I/O response times. Our simulation results demonstrate better cache performance than all other solutions and up to 87% better performance than LRU on representative workloads.
Gala Yadgar, Michael Factor, Kai Li 0001, Assaf Schuster
ACM Trans. Comput. Syst.3
2010 Scaling of the PARSEC benchmark inputs
abstract
A good benchmark suite should provide users with inputs that have multiple levels of fidelity. We present a framework that takes the novel view that benchmark inputs should be considered approximations of their original, full-sized inputs. The paper demonstrates how to use the proposed methodology to create several simulation input sets for the PARSEC benchmarks and how to quantify and measure their approximation error. We offer guidelines that PARSEC users can use to choose suitable simulation inputs for their scientific studies in a way that maximizes the accuracy of the simulation subject to a time constraint.
Christian Bienia, Kai Li 0001
PACT2
2010 What Does Classifying More Than 10, 000 Image Categories Tell Us?
Jia Deng 0001, Alexander C. Berg, Kai Li 0001, Li Fei-Fei 0001
ECCV (5)3
2010 DFS: A File System for Virtualized Flash Storage
William K. Josephson, Lars Ailo Bongo, David Flynn, Kai Li 0001
FAST4
2010 DFS: A file system for virtualized flash storage
abstract
We present the design, implementation, and evaluation of Direct File System (DFS) for virtualized flash storage. Instead of using traditional layers of abstraction, our layers of abstraction are designed for directly accessing flash memory devices. DFS has two main novel features. First, it lays out its files directly in a very large virtual storage address space provided by FusionIO's virtual flash storage layer. Second, it leverages the virtual flash storage layer to perform block allocations and atomic updates. As a result, DFS performs better and is much simpler than a traditional Unix file system with similar functionalities. Our microbenchmark results show that DFS can deliver 94,000 I/O operations per second (IOPS) for direct reads and 71,000 IOPS for direct writes with the virtualized flash storage layer on FusionIO's ioDrive. For direct access performance, DFS is consistently better than ext3 on the same platform, sometimes by 20%. For buffered access performance, DFS is also consistently better than ext3, and sometimes by over 149%. Our application benchmarks show that DFS outperforms ext3 by 7% to 250% while requiring less CPU power.
William K. Josephson, Lars Ailo Bongo, Kai Li 0001, David Flynn
ACM Trans. Storage3
2009 ImageNet: A large-scale hierarchical image database
abstract
The explosion of image data on the Internet has the potential to foster more sophisticated and robust models and algorithms to index, retrieve, organize and interact with images and multimedia data. But exactly how such data can be harnessed and organized remains a critical problem. We introduce here a new database called “ImageNet”, a large-scale ontology of images built upon the backbone of the WordNet structure. ImageNet aims to populate the majority of the 80,000 synsets of WordNet with an average of 500–1000 clean and full resolution images. This will result in tens of millions of annotated images organized by the semantic hierarchy of WordNet. This paper offers a detailed analysis of ImageNet in its current state: 12 subtrees with 5247 synsets and 3.2 million images in total. We show that ImageNet is much larger in scale and diversity and much more accurate than the current image datasets. Constructing such a large-scale database is a challenging task. We describe the data collection scheme with Amazon Mechanical Turk. Lastly, we illustrate the usefulness of ImageNet through three simple applications in object recognition, image classification and automatic object clustering. We hope that the scale, accuracy, diversity and hierarchical structure of ImageNet can offer unparalleled opportunities to researchers in the computer vision community and beyond.
Jia Deng 0001, Wei Dong 0003, Richard Socher, Li-Jia Li 0001, Kai Li 0001, Li Fei-Fei 0001
CVPR5
2009 Directing Experimental Biology: A Case Study in Mitochondrial Biogenesis
abstract
Computational approaches have promised to organize collections of functional genomics data into testable predictions of gene and protein involvement in biological processes and pathways. However, few such predictions have been experimentally validated on a large scale, leaving many bioinformatic methods unproven and underutilized in the biology community. Further, it remains unclear what biological concerns should be taken into account when using computational methods to drive real-world experimental efforts. To investigate these concerns and to establish the utility of computational predictions of gene function, we experimentally tested hundreds of predictions generated from an ensemble of three complementary methods for the process of mitochondrial organization and biogenesis in Saccharomyces cerevisiae. The biological data with respect to the mitochondria are presented in a companion manuscript published in PLoS Genetics (doi:10.1371/journal.pgen.1000407). Here we analyze and explore the results of this study that are broadly applicable for computationalists applying gene function prediction techniques, including a new experimental comparison with 48 genes representing the genomic background. Our study leads to several conclusions that are important to consider when driving laboratory investigations using computational prediction approaches. While most genes in yeast are already known to participate in at least one biological process, we confirm that genes with known functions can still be strong candidates for annotation of additional gene functions. We find that different analysis techniques and different underlying data can both greatly affect the types of functional predictions produced by computational methods. This diversity allows an ensemble of techniques to substantially broaden the biological scope and breadth of predictions. We also find that performing prediction and validation steps iteratively allows us to more completely characterize a biological area of interest. While this study focused on a specific functional area in yeast, many of these observations may be useful in the contexts of other processes and organisms.
Matthew A. Hibbs, Chad L. Myers, Curtis Huttenhower, David C. Hess, Kai Li 0001, Amy A. Caudy, Olga G. Troyanskaya
PLoS Comput. Biol.5
2008 The PARSEC benchmark suite: characterization and architectural implications
abstract
This paper presents and characterizes the Princeton Application Repository for Shared-Memory Computers (PARSEC), a benchmark suite for studies of Chip-Multiprocessors (CMPs). Previous available benchmarks for multiprocessors have focused on high-performance computing applications and used a limited number of synchronization methods. PARSEC includes emerging applications in recognition, mining and synthesis (RMS) as well as systems applications which mimic large-scale multithreaded commercial programs. Our characterization shows that the benchmark suite covers a wide spectrum of working sets, locality, data sharing, synchronization and off-chip traffic. The benchmark suite has been made available to the public.
Christian Bienia, Jaswinder Pal Singh, Kai Li 0001
PACT4
2008 Modeling LSH for performance tuning
abstract
Although Locality-Sensitive Hashing (LSH) is a promising approach to similarity search in high-dimensional spaces, it has not been considered practical partly because its search quality is sensitive to several parameters that are quite data dependent. Previous research on LSH, though obtained interesting asymptotic results, provides little guidance on how these parameters should be chosen, and tuning parameters for a given dataset remains a tedious process.
Wei Dong 0003, William K. Josephson, Moses Charikar, Kai Li 0001
CIKM5
2008 Towards Scalable Dataset Construction: An Active Learning Approach
Brendan Collins, Jia Deng 0001, Kai Li 0001, Li Fei-Fei 0001
ECCV (1)3
2008 Avoiding the Disk Bottleneck in the Data Domain Deduplication File System
Benjamin Zhu, Kai Li 0001, R. Hugo Patterson
FAST2
2008 MC2: Multiple Clients on a Multilevel Cache
abstract
In today's networked storage environment, it is common to have a hierarchy of caches where the lower levels of the hierarchy are accessed by multiple clients. This sharing can have both positive or negative effects. While data fetched by one client can be used by another client without incurring additional delays, clients competing for cache buffers can evict each other's blocks and interfere with exclusive caching schemes. Our algorithm, MC2, combines local, per client management with a global, system-wide, scheme, to emphasize the positive effects of sharing and reduce the negative ones. The local scheme uses readily available information about the client's future access profile to save the most valuable blocks, and to choose the best replacement policy for them. The global scheme uses the same information to divide the shared cache space between clients, and to manage this space. Exclusive caching is maintained for non-shared data and is disabled when sharing is identified. Our simulation results show that the combined algorithm significantly reduces the overall I/O response times of the system.
Gala Yadgar, Michael Factor, Kai Li 0001, Assaf Schuster
ICDCS3
2008 Efficiently matching sets of features with random histograms
abstract
As the commonly used representation of a feature-rich data object has evolved from a single feature vector to a set of feature vectors, a key challenge in building a content-based search engine for feature-rich data is to match feature-sets efficiently. Although substantial progress has been made during the past few years, existing approaches are still inefficient and inflexible for building a search engine for massive datasets. This paper presents a randomized algorithm to embed a set of features into a single high-dimensional vector to simplify the feature-set matching problem. The main idea is to project feature vectors into an auxiliary space using locality sensitive hashing and to represent a set of features as a histogram in the auxiliary space. A histogram is simply a high dimensional vector, and efficient similarity measures like L1 and L2 distances can be employed to approximate feature-set distance measures.
Wei Dong 0003, Moses Charikar, Kai Li 0001
ACM Multimedia4
2008 Asymmetric distance estimation with sketches for similarity search in high-dimensional spaces
abstract
Efficient similarity search in high-dimensional spaces is important to content-based retrieval systems. Recent studies have shown that sketches can effectively approximate L1 distance in high-dimensional spaces, and that filtering with sketches can speed up similarity search by an order of magnitude. It is a challenge to further reduce the size of sketches, which are already compact, without compromising accuracy of distance estimation.
Wei Dong 0003, Moses Charikar, Kai Li 0001
SIGIR3
2007 ISA Support for Fingerprinting and Erasure Codes
abstract
Using small, pre-computed tables is a well-known technique for improving the performance of expensive computations with small operands. However, as the performance gap between CPU and memory continues to increase, table lookup in main memory may no longer be beneficial. Instead of doing table lookups in memory, this paper proposes table lookup instruction support to accelerate Rabin fingerprinting and Reed-Solomon erasure coding over Galois fields. Both are core computations in emerging main-stream systems such as bandwidth optimized protocol engines, capacity optimized storage systems, and content-distribution networks. We show that the proposed instructions are both beneficial and easy to implement. A simple table lookup instruction that addresses four 256-entry tables in parallel can speed up Rabin fingerprinting and anchoring by a factor of 2.6 and Reed-Solomon coding by a factor of 1.5.
William K. Josephson, Ruby B. Lee, Kai Li 0001
ASAP3
2007 Scalable, Dynamic Analysis and Visualization for Genomic Datasets
abstract
A challenge in data analysis and visualization is to build new-generation software tools and systems to truly accelerate scientific discoveries. The recent focus of Princeton's next-generation software project is to investigate how to develop new-generation data analysis and visualization capabilities for genomic scientists to analyze high-throughput genomic datasets. This paper describes the software tools we have recently developed to enable dynamic, large-scale data analysis and visualization of multiple datasets on large-scale, high-resolution display wall systems. Our initial experience with the deployed tools at Princeton's Lewis-Sigler Institute for Integrative Genomics is very encouraging. Scientists can effectively learn new knowledge from multiple datasets, find new insights, and generate new hypotheses that are not possible with current methods.
Grant Wallace, Matthew A. Hibbs, Maitreya J. Dunham, Rachel S. G. Sealfon, Olga G. Troyanskaya, Kai Li 0001
IPDPS6
2007 Viewing the Larger Context of Genomic Data through Horizontal Integration
abstract
Genomics is an important emerging scientific field that relies on meaningful data visualization as a key step in analysis. Specifically, most investigation of gene expression microarray data is performed using visualization techniques. However, as microarrays become more ubiquitous, researchers must analyze their own data within the context of previously published work in order to gain a more complete understanding. No current method for microarray visualization and analysis enables biology researchers to observe the greater context of data that surrounds their own results, which severely limits the ability of researchers draw novel conclusions. Here we present a system, called HIDRA, that visually integrates the simultaneous display of multiple microarray datasets to identify important parallels and dissimilarities. We demonstrate the power of our approach through examples of real-world biological insights that can be observed using HIDRA that are not apparent using other techniques.
Matthew A. Hibbs, Grant Wallace, Maitreya J. Dunham, Kai Li 0001, Olga G. Troyanskaya
IV4
2007 Sizing sketches: a rank-based analysis for similarity search
abstract
Sketches are compact data structures that can be used to estimate properties of the original data in building large-scale search engines and data analysis systems. Recent theoretical and experimental studies have shown that sketches constructed from feature vectors using randomized projections can effectively approximate L1 distance on the feature vectors with the Hamming distance on their sketches. Furthermore, such sketches can achieve good filtering accuracy while reducing the metadata space requirement and speeding up similarity searches by an order of magnitude. However, it is not clear how to choose the size of the sketches since it depends ondata type, dataset size, and desired filtering quality. In real systems designs, it is necessary to understand how to choose sketch size without the dataset, or at least without the whole datase.
Wei Dong 0003, William K. Josephson, Qin Lv, Moses Charikar, Kai Li 0001
SIGMETRICS6
2007 Virtually Shared Displays and User Input Devices
Grant Wallace, Kai Li 0001
USENIX ATC2
2007 Multi-Probe LSH: Efficient Indexing for High-Dimensional Similarity Search
Qin Lv, William K. Josephson, Moses Charikar, Kai Li 0001
VLDB5
2007 Exploring the functional landscape of gene expression: directed search of large microarray compendia
abstract
MOTIVATION: The increasing availability of gene expression microarray technology has resulted in the publication of thousands of microarray gene expression datasets investigating various biological conditions. This vast repository is still underutilized due to the lack of methods for fast, accurate exploration of the entire compendium. RESULTS: We have collected Saccharomyces cerevisiae gene expression microarray data containing roughly 2400 experimental conditions. We analyzed the functional coverage of this collection and we designed a context-sensitive search algorithm for rapid exploration of the compendium. A researcher using our system provides a small set of query genes to establish a biological search context; based on this query, we weight each dataset's relevance to the context, and within these weighted datasets we identify additional genes that are co-expressed with the query set. Our method exhibits an average increase in accuracy of 273% compared to previous mega-clustering approaches when recapitulating known biology. Further, we find that our search paradigm identifies novel biological predictions that can be verified through further experimentation. Our methodology provides the ability for biological researchers to explore the totality of existing microarray data in a manner useful for drawing conclusions and formulating hypotheses, which we believe is invaluable for the research community. AVAILABILITY: Our query-driven search engine, called SPELL, is available at http://function.princeton.edu/SPELL. SUPPLEMENTARY INFORMATION: Several additional data files, figures and discussions are available at http://function.princeton.edu/SPELL/supplement.
Matthew A. Hibbs, David C. Hess, Chad L. Myers, Curtis Huttenhower, Kai Li 0001, Olga G. Troyanskaya
Bioinform.5
2006 Ferret: a toolkit for content-based similarity search of feature-rich data
abstract
Building content-based search tools for feature-rich data has been a challenging problem because feature-rich data such as audio recordings, digital images, and sensor data are inherently noisy and high dimensional. Comparing noisy data requires comparisons based on similarity instead of exact matches, and thus searching for noisy data requires similarity search instead of exact search.The Ferret toolkit is designed to help system builders quickly construct content-based similarity search systems for feature-rich data types. The key component of the toolkit is a content-based similarity search engine for generic, multi-feature object representations. To solve the similarity search problem in high-dimensional spaces, we have developed approximation methods inspired by recent theoretical results on dimension reduction. The search engine constructs sketches from feature vectors as highly compact data structures for matching, filtering and ranking data objects. The toolkit also includes several other components to help system builders address search system infrastructure issues. We have implemented the toolkit and used it to successfully construct content-based similarity search systems for four data types: audio recordings, digital photos, 3D shape models and genomic microarray data.
Qin Lv, William K. Josephson, Moses Charikar, Kai Li 0001
EuroSys5
2005 Visualization methods for statistical analysis of microarray clusters
abstract
BACKGROUND: The most common method of identifying groups of functionally related genes in microarray data is to apply a clustering algorithm. However, it is impossible to determine which clustering algorithm is most appropriate to apply, and it is difficult to verify the results of any algorithm due to the lack of a gold-standard. Appropriate data visualization tools can aid this analysis process, but existing visualization methods do not specifically address this issue. RESULTS: We present several visualization techniques that incorporate meaningful statistics that are noise-robust for the purpose of analyzing the results of clustering algorithms on microarray data. This includes a rank-based visualization method that is more robust to noise, a difference display method to aid assessments of cluster quality and detection of outliers, and a projection of high dimensional data into a three dimensional space in order to examine relationships between clusters. Our methods are interactive and are dynamically linked together for comprehensive analysis. Further, our approach applies to both protein and gene expression microarrays, and our architecture is scalable for use on both desktop/laptop screens and large-scale display devices. This methodology is implemented in GeneVAnD (Genomic Visual ANalysis of Datasets) and is available at http://function.princeton.edu/GeneVAnD. CONCLUSION: Incorporating relevant statistical information into data visualizations is key for analysis of large biological datasets, particularly because of high levels of noise and the lack of a gold-standard for comparisons. We developed several new visualization techniques and demonstrated their effectiveness for evaluating cluster quality and relationships between clusters.
Matthew A. Hibbs, Nathaniel C. Dirksen, Kai Li 0001, Olga G. Troyanskaya
BMC Bioinform.3
2005 Bridging the digital divide: storage media + postal network = generic high-bandwidth communication
abstract
Making high-bandwidth Internet access pervasively available to a large worldwide audience is a difficult challenge, especially in many developing regions. As we wait for the uncertain takeoff of technologies that promise to improve the situation, we propose to explore an approach that is potentially more easily realizable: the use of digital storage media transported by the postal system as a general digital communication mechanism. We shall call such a system a Postmanet . Compared to more conventional wide-area connectivity options, the Postmanet has several important advantages, including wide global reach, great bandwidth potential, low cost, and ease of incremental adoption. While the idea of sending digital content via the postal system is not a new one, none of the existing attempts have turned the postal system into a generic and transparent communication channel that not only can cater to a wide array of applications, but also effectively manage the many idiosyncrasies associated with using the postal system. In the proposed Postmanet, we see two recurring themes at many different levels of the system. One is the simultaneous exploitation of the Internet and the postal system so we can combine their latency and bandwidth advantages. The other is the exploitation of the abundant capacity and bandwidth of the Postmanet to improve its latency, cost, and reliability.
Sumeet Sobti, Junwen Lai, Fengzhou Zheng, Kai Li 0001, Randolph Y. Wang, Arvind Krishnamurthy
ACM Trans. Storage5
2005 VI-Attached Database Storage
abstract
This work presents a Vl-attached database storage architecture to improve database transaction rates. More specifically, we examine how Vl-based interconnects can be used to improve I/O path performance between a database server and a storage subsystem. To facilitate the interaction between client applications and a Vl-aware storage system, we design and implement a software layer called DSA, that is layered between applications and VI. DSA takes advantage of specific VI features and deals with many of its shortcomings. We provide and evaluate one kernel-level and two user-level implementations of DSA. These implementations trade transparency and generality for performance at different degrees and, unlike research prototypes, are designed to be suitable for real-world deployment. We have also investigated many design trade offs in the storage cluster. We present detailed measurements using a commercial database management system with both microbenchmarks and industrial database workloads on a mid-size, 4 CPU, and a large, 32 CPU, database server. We also compare the effectiveness of Vl-attached storage with an iSCSI configuration, and conclude that storage protocols implemented using DSA over VI have significant performance advantages. More generally, our results show that Vl-based interconnects and user-level communication can improve all aspects of the I/O path between the database system and the storage back-end. We also find that to make effective use of VI in I/O intensive environments, we need to provide substantial additional functionality than what is currently provided by VI. Finally, new storage APIs that help minimize kernel involvement in the I/O path are needed to fully exploit the benefits of Vl-based communication.
Yuanyuan Zhou 0001, Angelos Bilas, Suresh Jagannathan, Dimitrios Xinidis, Cezary Dubnicki, Kai Li 0001
IEEE Trans. Parallel Distributed Syst.6
2004 Image similarity search with compact data structures
abstract
The recent theoretical advances on compact data structures (also called "sketches") have raised the question of whether they can effectively be applied to content-based image retrieval systems. The main challenge is to derive an algorithm that achieves high-quality similarity searches while using compact metadata. This paper proposes a new similarity search method consisting of three parts. The first is a new region feature representation with weighted $=1 distance function, and EMD* match, an improved EMD match, to compute image similarity. The second is a thresholding and transformation algorithm to convert feature vectors into very compact data structures. The third is an EMD embedding based filtering method to speed up the query process. We have implemented a prototype system with the proposed method and performed experiments with a 10,000 image database. Our results show that the proposed method can achieve more effective similarity searches than previous approaches with metadata 3 to 72 times more compact than previous systems. The experiments also show that our EMD embedding based filtering technique can speed up the query process by a factor of 5 or more with little loss in query effectiveness.
Qin Lv, Moses Charikar, Kai Li 0001
CIKM3
2004 Second-Level Buffer Cache Management
abstract
Buffer caches are commonly used in servers to reduce the number of slow disk accesses or network messages. These buffer caches form a multilevel buffer cache hierarchy. In such a hierarchy, second-level buffer caches have different access patterns from first-level buffer caches because accesses to a second-level are actually misses from a first-level. Therefore, commonly used cache management algorithms such as the least recently used (LRU) replacement algorithm that work well for single-level buffer caches may not work well for second-level. We investigate multiple approaches to effectively manage second-level buffer caches. In particular, we report our research results in 1) second-level buffer cache access pattern characterization, 2) a new local algorithm called multi-queue (MQ) that performs better than nine tested alternative algorithms for second-level buffer caches, 3) a set of global algorithms that manage a multilevel buffer cache hierarchy globally and significantly improve second-level buffer cache hit ratios over corresponding local algorithms, and 4) implementation and evaluation of these algorithms in a real storage system connected with commercial database servers (Microsoft SQL server and Oracle) running industrial-strength online transaction processing benchmarks.
Yuanyuan Zhou 0001, Kai Li 0001
IEEE Trans. Parallel Distributed Syst.3
2003 Eviction-based Cache Placement for Storage Caches
Yuanyuan Zhou 0001, Kai Li 0001
USENIX ATC, General Track3
2002 Memory performance optimizations for real-time software HDTV decoding
abstract
This paper shows that the performance bottleneck in software MPEG-2 video decoders has shifted to memory operations, as microprocessor technologies have been improving at a fast rate during the past few years. We exploit concurrencies between the processor and the memory sub-system at macroblock level to alleviate the performance bottleneck. First, the paper introduces an interleaved-block order data layout to improve cache performance. Second, the paper describes an algorithm to explicitly prefetch macroblocks for motion compensation. Finally, the paper presents an algorithm to schedule interleaved decoding and output at macroblock level. Our implementation and experiments show that these methods successfully hide the latency of memory and frame buffer. These techniques improve the performance of an already optimized software MPEG-2 decoder by about a factor of two. On a 933 MHz Pentium III PC, the decoder can play 720p HDTV streams at over 62 frames per second.
Kai Li 0001, Bin Wei 0003
ICME (1)2
2002 Search and replication in unstructured peer-to-peer networks
Qin Lv, Edith Cohen, Kai Li 0001, Scott Shenker
ICS4
2002 Experiences with VI Communication for Database Storage
abstract
This paper examines how VI-based interconnects can be used to improve I/O path performance between a database server and the storage subsystem. We design and implement a software layer, DSA, that is layered between the application and VI. DSA takes advantage of specific VI features and deals with many of its shortcomings. We provide and evaluate one kernel-level and two user-level implementations of DSA. These implementations trade transparency and generality for performance at different degrees, and unlike research prototypes are designed to be suitable for realworld deployment. We present detailed measurements using a commercial database management system with both micro-benchmarks and industrial database workloads on a mid-size, 4 CPU, and a large, 32 CPU, database server. Our results show that VI-based interconnects and user-level communication can improve all aspects of the I/O path between the database system and the storage back-end. We also find that to make effective use of VI in I/O intensive environments we need to provide substantial additional functionality than what is currently provided by VI. Finally, new storage APIs that help minimize kernel involvement in the I/O path are needed to fully exploit the benefits of VI-based communication.
Yuanyuan Zhou 0001, Kai Li 0001, Angelos Bilas, Suresh Jagannathan, Cezary Dubnicki, James Philbin
ISCA2
2002 Using Model Checking to Debug Device Firmware
Kai Li 0001
OSDI2
2002 Search and replication in unstructured peer-to-peer networks
abstract
Decentralized and unstructured peer-to-peer networks such as Gnutella are attractive for certain applications because they require no centralized directories and no precise control over network topology or data placement. However, the flooding-based query algorithm used in Gnutella does not scale; each individual query generates a large amount of traffic and large systems quickly become overwhelmed by the query-induced load. This paper explores various alternatives to Gnutella's query algorithm and data replication strategy. We propose a query algorithm based on multiple random walks that resolves queries almost as quickly as Gnutella's flooding method while reducing the network traffic by two orders of magnitude in many cases. We also present a distributed replication strategy that yields close-to-optimal performance.
Qin Lv, Edith Cohen, Kai Li 0001, Scott Shenker
SIGMETRICS4
2002 Scalable Alignment of Large-Format Multi-Projector Displays Using Camera Homography Trees
abstract
This paper presents a vision-based geometric alignment system for aligning the projectors in an arbitrarily large display wall. Existing algorithms typically rely on a single camera view and degrade in accuracy as the display resolution exceeds the camera resolution by several orders of magnitude. Naive approaches to integrating multiple zoomed camera views fail since small errors in aligning adjacent views propagate quickly over the display surface to create glaring discontinuities. Our algorithm builds and refines a camera homography tree to automatically register any number of uncalibrated camera images; the resulting system is both faster and significantly more accurate than competing approaches, reliably achieving alignment errors of 0.55 pixels on a 24-projector display in under 9 minutes. Detailed experiments compare our system to two recent display wall alignment algorithms, both on our 18 Megapixel display wall and in simulation. These results indicate that our approach achieves sub-pixel accuracy even on displays with hundreds of projectors.
Rahul Sukthankar, Grant Wallace, Kai Li 0001
IEEE Visualization4
2002 Improving progressive view-dependent isosurface propagation
Zhiyan Liu, Adam Finkelstein, Kai Li 0001
Comput. Graph.3
2001 Software Environments For Cluster-Based Display Systems
abstract
An inexpensive way to construct a scalable display wall system is to use a cluster of PCs with commodity graphics accelerators to drive an array of projectors. A challenge is to bring off-the-shelf sequential applications to run on such a display wall efficiently without using expensive, high-performance interconnects. We study two execution models for a scalable display wall system: master-slave and synchronized execution models. We have designed and implemented four software tools, two for each execution model, including VDD (Virtual Display Driver), GLP (GL-DLL Replacement), SSE (System-level Synchronized Execution), and ASE (Application-level Synchronized Execution). In order to support the synchronized execution model, we have also designed a broadcast, speculative file cache to provide scalable I/O performance. We report our experimental results with several 3D applications on the display wall to understand the performance implications and tradeoffs of these methods.
Douglas W. Clark, Zhiyan Liu, Grant Wallace, Kai Li 0001, Yuqun Chen
CCGRID5
2001 ESP: A Language for Programmable Devices
abstract
This paper presents the design and implementation of Event-driven State-machines Programming (ESP)—a language for programmable devices. In traditional languages, like C, using event-driven state-machine forces a tradeoff that requires giving up ease of development and reliability to achieve high performance. ESP is designed to provide all of these three properties simultaneously.
Yitzhak Mandelbaum, Kai Li 0001
PLDI4
2001 The Multi-Queue Replacement Algorithm for Second Level Buffer Caches
Yuanyuan Zhou 0001, James Philbin, Kai Li 0001
USENIX ATC, General Track3
2001 Data distribution strategies for high-resolution displays
Yuqun Chen, Adam Finkelstein, Thomas A. Funkhouser, Kai Li 0001, Zhiyan Liu, Rudrajit Samanta, Grant Wallace
Comput. Graph.5
2000 Trading Capacity for Performance in a Disk Array
Benjamin Gum, Yuqun Chen, Randolph Y. Wang, Kai Li 0001, Arvind Krishnamurthy, Thomas E. Anderson
OSDI5
2000 Next-generation visualization displays: the research challenges of building tiled displays (panel session)
James P. Ahrens, Kai Li 0001, Daniel A. Reed
IEEE Visualization2
2000 Automatic alignment of high-resolution multi-projector display using an un-calibrated camera
abstract
A scalable, high-resolution display may be constructed by tiling many projected images over a single display surface. One fundamental challenge for such a display is to avoid visible seams due to misalignment among the projectors. Traditional methods for avoiding seams involve sophisticated mechanical devices and expensive CRT projectors, coupled with extensive human effort for fine-tuning the projectors. The paper describes an automatic alignment method that relies on an inexpensive, uncalibrated camera to measure the relative mismatches between neighboring projectors, and then correct the projected imagery to avoid seams without significant human effort.
Yuqun Chen, Douglas W. Clark, Adam Finkelstein, Timothy C. Housel, Kai Li 0001
IEEE Visualization5
1999 Shared virtual memory with automatic update support
abstract
Shared virtual memory systems provide the abstraction of a shared address space on top of a messagepassing communication architecture. The overall performance of an SVM system therefore depends on both the raw performance of the underlying communication mechanism and the e#ciency with which the SVM protocol uses that mechanism. The Automatic Update Release Consistency (AURC) protocol was proposed to take advantage of simple memory-mapped communication and automatic update support to accelerate a shared virtual memory protocol. However, there has not yet been a real system on which an implementation of this protocol could be evaluated. This paper reports our evaluation of AURC on the SHRIMP multicomputer, the only hardware platform that supports an automatic update mechanism. Automatic update propagates local memory writes to remote memory locations automatically. We compare the AURC protocol with its all-software counterpart protocol, Home-based Lazy Release Consistency (HLRC). By int...
Liviu Iftode, Matthias A. Blumrich, Cezary Dubnicki, David Oppenheimer, Jaswinder Pal Singh, Kai Li 0001
International Conference on Supercomputing6
1999 Fast cluster failover using virtual memory-mapped communication
abstract
This paper proposes a novel way to use virtual memorymapped communication (VMMC) to reduce the failover time on clusters.With the VMMC model, applications' virtual address space can be efficiently mirrored on remote memory either automatically or via explicit messages.When a machine fails, its applications can restart from the most recent checkpoints on the failover node with minimal memory copying and disk I/O overhead.This method requires little change to applications' source code.We developed two fast failover protocols: deliberate update failover protocol (DU) and automatic update failover protoco2 (AU).The first can run on any system that supports VMMC, whereas the other requires special network interface support.We implemented these two protocols on two different clusters that supported VMMC communication.Our results with three transaction-based applications show that both protocols work quite well.The deliberate update protocol imposes 4-21% overhead when taking checkpoints every 2 seconds.If an application can tolerate 20% overhead, this protocol can failover to another machine within 4 milliseconds in the best case and from 0.1 to 3 seconds in the worst case.The failover performance can be further improved by using special network interface hardware.The automatic update protocol is able to take checkpoints every 0.1 seconds with only 3-12% overhead.If 10% overhead is allowed, it can failover applications from 0.01 to 0.4 seconds in the worst case.
Yuanyuan Zhou 0001, Peter M. Chen, Kai Li 0001
International Conference on Supercomputing3
1999 Memory Exclusion: Optimizing the Performance of Checkpointing Systems
abstract
Checkpointing systems are a convenient way for users to make their programs fault-tolerant by intermittently saving program state to disk and restoring that state following a failure. The main concern with checkpointing is the overhead that it adds to running time of the program. This paper describes memory exclusion, an important class of optimizations that reduce the overhead of checkpointing. Some forms of memory exclusion are well-known in the checkpointing community. Others are relatively new. In this paper, we describe all of them within the same framework. We have implemented these optimization techniques in two checkpointers: libckpt, which works on Unix-based workstations, and CLIP, which works on the Intel Paragon. Both checkpointers are publicly available at no cost. We have checkpointed various long-running applications with both checkpointers and have explored the performance improvements that may be gained through memory exclusion. Results from these experiments are presented and show the improvements in time and space overhead. Copyright © 1999 John Wiley & Sons, Ltd.
James S. Plank, Yuqun Chen, Kai Li 0001, Micah D. Beck, Gerry Kingsley
Softw. Pract. Exp.3
1998 UTLB: A Mechanism for Address Translation on Network Interfaces
abstract
An important aspect of a high-speed network system is the ability to transfer data directly between the network interface and application buffers. Such a direct data path requires the network interface to "know" the virtual-to-physical address translation of a user buffer, i.e., the physical memory location of the buffer. This paper presents an efficient address translation architecture, User-managed TLB (UTLB), which eliminates system calls and device interrupts from the common communication path. UTLB also supports application-specific policies to pin and unpin application memory. We report micro-benchmark results for an implementation on Myrinet PC clusters. A trace-driven analysis is used to compare the UTLB approach with the interrupt-based approach. It is also used to study the effects of UTLB cache size, associativity, and prefetching. Our results show that the UTLB approach delivers robust performance with relatively small translation cache sizes.
Yuqun Chen, Angelos Bilas, Stefanos N. Damianakis, Cezary Dubnicki, Kai Li 0001
ASPLOS5
1998 Design Choices in the SHRIMP System: An Empirical Study
abstract
The SHRIMP cluster-computing system has progressed to a point of relative maturity; a variety of applications are running on a 16-node system. We have enough experience to understand what we did right and wrong in designing and building the system. In this paper we discuss some of the lessons we learned about computer architecture, and about the challenges involved in building a significant working system in an academic research environment. We evaluate significant design choices by modifying the network interface firmware and the system software in order to empirically compare our design to other approaches.
Matthias A. Blumrich, Richard Alpert, Yuqun Chen, Douglas W. Clark, Stefanos N. Damianakis, Cezary Dubnicki, Edward W. Felten, Liviu Iftode, Kai Li 0001, Margaret Martonosi, Robert A. Shillner
ISCA9
1998 Performance Measurements for Multithreaded Programs
abstract
Multithreaded programming is an effective way to exploit concurrency, but it is difficult to debug and tune a highly threaded program. This paper describes a performance tool called Tmon for monitoring, analyzing and tuning the performance of multithreaded programs. The performance tool has two novel features: it uses "thread waiting time" as a measure and constructs thread waiting graphs to show thread dependencies and thus performance bottlenecks, and it identifies "semi-busy-waiting" points where CPU cycles are wasted in condition checking and context switching. We have implemented the Tmon tool and, as a case study, we have used it to measure and tune a heavily threaded file system. We used four workloads to tune different aspects of the file system. We were able to improve the file system bandwidth and throughput significantly. In one case, we were able to improve the bandwidth by two orders of magnitude.
Minwen Ji, Edward W. Felten, Kai Li 0001
SIGMETRICS3
1998 Scope Consistency: A Bridge between Release Consistency and Entry Consistency
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
Theory Comput. Syst.3
1998 Diskless Checkpointing
abstract
Diskless Checkpointing is a technique for checkpointing the state of a long-running computation on a distributed system without relying on stable storage. As such, it eliminates the performance bottleneck of traditional checkpointing on distributed systems. In this paper, we motivate diskless checkpointing and present the basic diskless checkpointing scheme along with several variants for improved performance. The performance of the basic scheme and its variants is evaluated on a high-performance network of workstations and compared to traditional disk-based checkpointing. We conclude that diskless checkpointing is a desirable alternative to disk-based checkpointing that can improve the performance of distributed applications in the face of failures.
James S. Plank, Kai Li 0001, Michael A. Puening
IEEE Trans. Parallel Distributed Syst.2
1997 Relaxed Consistency and Coherence Granularity in DSM Systems: A Performance Evaluation
abstract
During the past few years, two main approaches have been taken to improve the performance of software shared memory implementations: relaxing consistency models and providing fine-grained access control. Their performance tradeoffs, however, we not well understood. This paper studies these tradeoffs on a platform that provides access control in hardware but runs coherence protocols in software, We compare the performance of three protocols across four coherence granularities, using 12 applications on a 16-node cluster of workstations. Our results show that no single combination of protocol and granularity performs best for all the applications. The combination of a sequentially consistent (SC) protocol and fine granularity works well with 7 of the 12 applications. The combination of a multiple-writer, home-based lazy release consistency (HLRC) protocol and page granularity works well with 8 out of the 12 applications. For applications that suffer performance losses in moving to coarser granularity under sequential consistency, the performance can usually be regained quite effectively using relaxed protocols, particularly HLRC. We also find that the HLRC protocol performs substantially better than a single-writer lazy release consistent (SW-LRC) protocol at coase granularity for many irregular applications. For our applications and platform, when we use the original versions of the applications ported directly from hardware-coherent shared memory, we find that the SC protocol with 256-byte granularity performs best on average. However, when the best versions of the applications are compared, the balance shifts in favor of HLRC at page granularity.
Yuanyuan Zhou 0001, Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001, Brian R. Toonen, Ioannis Schoinas, Mark D. Hill, David A. Wood 0001
PPoPP4
1997 CLIP: A Checkpointing Tool for Message Passing Parallel Programs
abstract
Checkpointing is a useful technique for rollback recovery of parallel applications. While extensive research has been performed on checkpointing in parallel environments, there are few checkpointers available to application users on commercial parallel computers. This paper presents one such checkpointer: CLIP. CLIP is a user-level library that provides semi-transparent check-pointing for parallel programs on the Intel Paragon multicomputer. It is publicly available to Paragon users at no cost.Conceptually, checkpointing a multicomputer is quite straightforward. However, when creating an actual tool for checkpointing a complex machine like the Paragon, many more issues arise that require careful design decisions to be made. Sometimes ease-of-use must be sacrificed for efficiency and/or correctness. This paper details what these decisions are, and how they were made in CLIP.We also present performance data when checkpointing several long-running Paragon applications with CLIP. The bottom line is that a convenient, general-purpose checkpointing tool like CLIP can provide fault-tolerance on a massively parallel multicomputer like the Paragon with very good performance.
Yuqun Chen, Kai Li 0001, James S. Plank
SC2
1996 Thread Scheduling for Cache Locality
abstract
This paper describes a method to improve the cache locality of sequential programs by scheduling fine-grained threads. The algorithm relies upon hints provided at the time of thread creation to determine a thread execution order likely to reduce cache misses. This technique may be particularly valuable when compiler-directed tiling is not feasible. Experiments with several application programs, on two systems with different cache structures, show that our thread scheduling method can improve program performance by reducing second-level cache misses.
James Philbin, Jan Edler, Otto J. Anshus, Craig C. Douglas, Kai Li 0001
ASPLOS5
1996 Protected, User-Level DMA for the SHRIMP Network Interface
abstract
Traditional DMA requires the operating system to perform many tasks to initiate a transfer, with overhead on the order of hundreds or thousands of CPU instructions. This paper describes a mechanism, called User-level Direct Memory Access (UDMA), for initiating DMA transfers of input/output data, with full protection, at a cost of only two user-level memory references. The UDMA mechanism uses existing virtual memory translation hardware to perform permission checking and address translation without kernel involvement. The implementation of the UDMA mechanism is simple, requiring a small extension to the traditional DMA controller and minimal operating system kernel support. The mechanism can be used with a wide variety of I/O devices including network interfaces, data storage devices such as disks and tape drives, and memory-mapped devices such as graphics frame-buffers. As an illustration, we describe how we used UDMA in building network interface hardware for the SHRIMP multicomputer.
Matthias A. Blumrich, Cezary Dubnicki, Edward W. Felten, Kai Li 0001
HPCA4
1996 Improving Release-Consistent Shared Virtual Memory Using Automatic Update
abstract
Shared virtual memory is a software technique to provide shared memory on a network of computers without special hardware support. Although several relaxed consistency models and implementations are quite effective, there is still a considerable performance gap between the "software-only" approach and the hardware approach that uses directory-based caches. Automatic update is a simple communication mechanism, implemented in the SHRIMP multicomputer, that forwards local writes to remote memory transparently. In this paper we propose a new lazy release consistency based protocol, called Automatic Update Release Consistency (AURC), that uses automatic update to propagate and merge shared memory modifications. We compare the performance of this protocol against a software-only LRC implementation on several Splash-2 applications and show that the AURC approach can substantially improve the performance of LRC. For 16 processors, the average speedup has increased from 5.9 under LRC to 8.3 under AURC.
Liviu Iftode, Cezary Dubnicki, Edward W. Felten, Kai Li 0001
HPCA4
1996 Early Experience with Message-Passing on the SHRIMP Multicomputer
abstract
The SHRIMP multicomputer provides virtual memory-mapped communication (VMMC), which supports protected, user-level message passing, allows user programs to perform their own buffer management, and separates data transfers from control transfers so that a data transfer can be done without the intervention of the receiving node CPU. An important question is whether such a mechanism can indeed deliver all of the available hardware performance to applications which use conventional message-passing libraries. This paper reports our early experience with message-passing on a small, working SHRIMP multicomputer. We have implemented several user-level communication libraries on top of the VMMC mechanism, including the NX message-passing interface, Sun RPC, stream sockets, and specialized RPC. The first three are fully compatible with existing systems. Our experience shows that the VMMC mechanism supports these message-passing interfaces well. When zero-copy protocols are allowed by the semanti...
Edward W. Felten, Richard Alpert, Angelos Bilas, Matthias A. Blumrich, Douglas W. Clark, Stefanos N. Damianakis, Cezary Dubnicki, Liviu Iftode, Kai Li 0001
ISCA9
1996 Understanding Application Performance on Shared Virtual Memory Systems
abstract
Many researchers have proposed interesting protocols for shared virtual memory (SVM) systems, and demonstrated performance improvements on parallel programs. However, there is still no clear understanding of the performance potential of SVM systems for different classes of applications. This paper begins to fill this gap, by studying the performance of a range of applications in detail and understanding it in light of application characteristics.We first develop a brief classification of the inherent data sharing patterns in the applications, and how they interact with system granularities to yield the communication patterns relevant to SVM systems. We then use detailed simulation to compare the performance of two SVM approaches---Lazy Released Consistency (LRC) and Automatic Update Release Consistency (AURC)---with each other and with an all-hardware CC-NUMA approach. We examine how performance is affected by problem size, machine size, key system parameters, and the use of less optimized program implementations. We find that SVM can indeed perform quite well for systems of at leant up to 32 processors for several nontrivial applications. However, performance is much more variable across applications than on CC-NUMA systems, and the problem sizes needed to obtain good parallel performance are substantially larger. The hardware-assisted AURC system tends to perform significantly better than the all-software LRC under our system assumptions, particularly when realistic cache hierarchies are used.
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
ISCA3
1996 A Trace-Driven Comparison of Algorithms for Parallel Prefetching and Caching
abstract
No abstract available.
Tracy Kimbrel, Andrew Tomkins, R. Hugo Patterson, Brian N. Bershad, Edward W. Felten, Garth A. Gibson, Anna R. Karlin, Kai Li 0001
OSDI9
1996 Performance Evaluation of Two Home-Based Lazy Release Consistency Protocols for Shared Virtual Memory Systems
abstract
No abstract available.
Yuanyuan Zhou 0001, Liviu Iftode, Kai Li 0001
OSDI3
1996 Integrating Parallel Prefetching and Caching
abstract
No abstract available.
Tracy Kimbrel, Edward W. Felten, Anna R. Karlin, Kai Li 0001
SIGMETRICS5
1996 Scope Consistency: A Bridge Between Release Consistency and Entry Consistency
abstract
Systems that maintain coherence at large granularity, such as shared virtual memory systems, suffer from false sharing and extra communication. Relaxed memory consistency models have been used to alleviate these problems, but at a cost in programming complexity. Release Consistency (RC) and Lazy Release Consistency (LRC) are accepted to offer a reasonable tradeoff between performance and programming complexity. Entry Consistency (EC) offers a more relaxed consistency model, but it requires explicit association of shared data objects with synchronization variables. The programming burden of providing such associations can be substantial.
Liviu Iftode, Jaswinder Pal Singh, Kai Li 0001
SPAA3
1996 Implementation and Performance of Integrated Application-Controlled File Caching, Prefetching, and Disk Scheduling
abstract
As the performance gap between disks and micropocessors continues to increase, effective utilization of the file cache becomes increasingly immportant. Application-controlled file caching and prefetching can apply application-specific knowledge to improve file cache management. However, supporting application-controlled file caching and prefetching is nontrivial because caching and prefetching need to be integrated carefully, and the kernel needs to allocate cache blocks among processes appropriately. This article presents the design, implementation, and performance of a file system that integrates application-controlled caching, prefetching, and disk scheduling. We use a two-level cache management strategy. The kernel uses the LRU-SP (Least-Recently-Used with Swapping and Placeholders) policy to allocate blocks to processes, and each process integrates application-specific caching and prefetching based on thecontrolled-aggressivepolicy, an algorithm previously shown in a theoretical sense to be nearly optimal. Each process also improves its disk access latency by submittint its prefetches in batches so that the requests can be scheduled to optimize disk access performance. Our measurements show that this combination of techniques greatly improves the performance of the file system. We measured that the running time is reduced by 3% to 49% (average 26%) for single-process workloads and by 5% to 76% (average 32%) for multiprocess workloads.
Edward W. Felten, Anna R. Karlin, Kai Li 0001
ACM Trans. Comput. Syst.4
1995 Evaluating Multi-Port Frame Buffer Designs for a Mesh-Connected Multicomputer
abstract
Multicomputers can be effectively used for interactive graphics rendering only if there are mechanisms available to rapidly composite and transfer images to an external display device. One method for achieving the necessary bandwidth for this operation is to provide multiple high-bandwidth ports into a frame buffer. In this paper, we evaluate the design space of a multiport frame buffer design for the Intel Paragon mesh routing network. We use an instrumented rendering system to capture the graphics operations needed for rendering a number of three-dimensional scenes; we then use those workloads as input to test programs running on the Paragon to estimate the performance of our hardware. Our experiments consider three major design questions: how many network ports the frame buffer needs, whether Z-Buffering should be done in hardware on the frame buffer or in software on the computing nodes, and whether the design alternatives are scalable.
Gordon Stoll, Bin Wei 0003, Douglas W. Clark, Edward W. Felten, Kai Li 0001, Pat Hanrahan
ISCA5
1995 A Study of Integrated Prefetching and Caching Strategies
abstract
Prefetching and caching are effective techniques for improving the performance of file systems, but they have not been studied in an integrated fashion. This paper proposes four properties that optimal integrated strategies for prefetching and caching must satisfy, and then presents and studies two such integrated strategies, called aggressive and conservative. We prove that the performance of the conservative approach is within a factor of two of optimal and that the performance of the aggressive strategy is a factor significantly less than twice that of the optimal case. We have evaluated these two approaches by trace-driven simulation with a collection of file access traces. Our results show that the two integrated prefetching and caching strategies are indeed close to optimal and that these strategies can reduce the running time of applications by up to 50%.
Edward W. Felten, Anna R. Karlin, Kai Li 0001
SIGMETRICS4
1995 Libckpt: Transparent Checkpointing under UNIX
James S. Plank, Micah D. Beck, Gerry Kingsley, Kai Li 0001
USENIX4
1995 Multiprocessor Cache Coherence Based on Virtual Memory Support
Karin Petersen, Kai Li 0001
J. Parallel Distributed Comput.2
1994 Virtual Memory Mapped Network Interface for the SHRIMP Multicomputer
abstract
The network interfaces of existing multicomputers require a significant amount of software overhead to provide protection and to implement message passing protocols. The authors describe the design of a low-latency, high-bandwidth, virtual memory-mapped network interface for the SHRIMP multicomputer project at Princeton University. Without sacrificing protection, the network interface achieves low latency by using virtual memory mapping and write-latency hiding techniques, and obtains high bandwidth by providing a user-level block data transfer mechanism. The authors have implemented several message passing primitives in an experimental environment, demonstrating that their approach can reduce the message passing overhead to a few user-level instructions.>
Matthias A. Blumrich, Kai Li 0001, Richard Alpert, Cezary Dubnicki, Edward W. Felten, Jonathan Sandberg
ISCA2
1994 Implementation and Performance of Application-Controlled File Caching
Edward W. Felten, Kai Li 0001
OSDI3
1994 Storage Alternatives for Mobile Computers
Fred Douglis, Ramón Cáceres, M. Frans Kaashoek, Kai Li 0001, Brian Marsh, Joshua A. Tauber
OSDI4
1994 Low-Latency, Concurrent Checkpointing for Parallel Programs
abstract
Presents the results of an implementation of several algorithms for checkpointing and restarting parallel programs on shared-memory multiprocessors. The algorithms are compared according to the metrics of overall checkpointing time, overhead imposed by the checkpointer on the target program, and amount of time during which the checkpointer interrupts the target program. The best algorithm measured achieves its efficiency through a variation of copy-on-write, which allows the most time-consuming operations of the checkpoint to be overlapped with the running of the program being checkpointed.>
Kai Li 0001, Jeffrey F. Naughton, James S. Plank
IEEE Trans. Parallel Distributed Syst.1
1992 Software Support for Speculative Loads
abstract
This paper describes a simple hardware mechanism and related compiler support for soft ware-controlled specu-
Anne Rogers, Kai Li 0001
ASPLOS2
1992 Heterogeneous Distributed Shared Memory
abstract
The design, implementation, and performance of heterogeneous distributed shared memory (HDSM) are studied. A prototype HDSM system that integrates very different types of hosts has been developed, and a number of applications of this system are reported. Experience shows that despite a number of difficulties in data conversion, HDSM is implementable with minimal loss in functional and performance transparency when compared to homogeneous DSM systems.>
Songnian Zhou, Michael Stumm, Kai Li 0001, David B. Wortman
IEEE Trans. Parallel Distributed Syst.3
1991 Virtual Memory Primitives for User Programs
abstract
Memory Management Units (MMUS) are traditionally used by operating systems to implement disk-paged virtual memory.!30me operating systems allow user programs to specify the protection level (inaccessible, readonly.read-write ) of pages, and allow user programs to handle protection violations.but these mechanisms are not, always robust, efficient,, or well-matched to the needs of applications,.We survey several user-level algorithms that make use of page-protection techniques, and analyze their common characteristics.in an attempt to answer the question, "M7hat virtual-memory primitives should the operating system provide to user processes, and how well do today's operating systems provide them?' for running it on SunOS.
Andrew W. Appel, Kai Li 0001
ASPLOS2
1991 Evaluation of Memory System Extensions
abstract
Article Evaluation of memory system extensions Share on Authors: Kai Li Department of Computer Science, Princeton University Department of Computer Science, Princeton UniversityView Profile , Karin Petersen Department of Computer Science, Princeton University Department of Computer Science, Princeton UniversityView Profile Authors Info & Claims ISCA '91: Proceedings of the 18th annual international symposium on Computer architectureApril 1991 Pages 84–93https://doi.org/10.1145/115952.115962Published:01 April 1991 10citation391DownloadsMetricsTotal Citations10Total Downloads391Last 12 Months3Last 6 weeks0 Get Citation AlertsNew Citation Alert added!This alert has been successfully added and will be sent to:You will be notified whenever a record that you have chosen has been cited.To manage your alert preferences, click on the button below.Manage my AlertsNew Citation Alert!Please log in to your account Save to BinderSave to BinderCreate a New BinderNameCancelCreateExport CitationPublisher SiteGet Access
Kai Li 0001, Karin Petersen
ISCA1
1991 Empirical Studies of Competitive Spinning for a Shared-Memory Multiprocessor
abstract
A common operation in multiprocessor programs is acquiring a lock to protect access to shared data. Typically, the requesting thread is blocked if the lock it needs is held by another thread. The cost of blocking one thread and activating another can be a substantial part of program execution time. Alternatively, the thread could spin until the lock is free, or spin for a while and then block. This may avoid context-switch overhead, but processor cycles may be wasted in unproductive spinning. This paper studies seven strategies for determining whether and how long to spin before blocking. Of particular interest are competitive strategies, for which the performance can be shown to be no worse than some constant factor times an optimal off-line strategy. The performance of five competitive strategies is compared with that of always blocking, always spinning, or using the optimal off-line algorithm. Measurements of lock-waiting time distributions for five parallel programs were used to compare the cost of synchronization under all the strategies. Additional measurements of elapsed time for some of the programs and strategies allowed assessment of the impact of synchronization strategy on overall program performance. Both types of measurements indicate that the standard blocking strategy performs poorly compared to mixed strategies. Among the mixed strategies studied, adaptive algorithms perform better than non-adaptive ones.
Anna R. Karlin, Kai Li 0001, Mark S. Manasse, Susan S. Owicki
SOSP2
1991 Checkpointing Multicomputer Applications
abstract
The authors present a checkpointing scheme that is transparent, imposes overhead only during checkpoints, requires minimal message logging, and allows for quick resumption of execution from a checkpointed image. Since checkpointing multicomputer applications poses requirements different from those posed by checkpointing general distributed systems, existing distributed checkpointing schemes are inadequate for multicomputer checkpointing. The proposed checkpointing scheme makes use of special properties of multicomputer interconnection networks to satisfy this set of requirements. The proposed algorithm is efficient both when taking checkpoints and when recovering from checkpointed images.>
Kai Li 0001, Jeffrey F. Naughton, James S. Plank
SRDS1
1990 Real-Time, Concurrent Checkpoint for Parallel Programs
abstract
We have developed and implemented a checkpointing and restart algorithm for parallel programs running on commercial uniprocessors and shared-memory multiprocessors. The algorithm runs concurrently with the target program, interrupts the target program for small, fixed amounts of time and is transparent to the checkpointed program and its compiler. The algorithm achieves its efficiency through a novel use of address translation hardware that allows the most time-consuming operations of the checkpoint to be overlapped with the running of the program being checkpointed.
Kai Li 0001, Jeffrey F. Naughton, James S. Plank
PPoPP1
1989 A Hypercube Shared Virtual Memory System
Kai Li 0001, Richard Schaefer
ICPP (1)1
1989 Memory Coherence in Shared Virtual Memory Systems
abstract
The memory coherence problem in designing and implementing a shared virtual memory on loosely coupled multiprocessors is studied in depth. Two classes of algorithms, centralized and distributed, for solving the problem are presented. A prototype shared virtual memory on an Apollo ring based on these algorithms has been implemented. Both theoretical and practical results show that the memory coherence problem can indeed be solved efficiently on a loosely coupled multiprocessor.
Kai Li 0001, Paul Hudak
ACM Trans. Comput. Syst.1
1988 IVY: A Shared Virtual Memory System for Parallel Computing
Kai Li 0001
ICPP (2)1
1988 Real-Time Concurrent Collection on Stock Multiprocessors
abstract
We've designed and implemented a copying garbage-collection algorithm that is efficient, real-time, concurrent, runs on commercial uniprocessors and shared-memory multiprocessors, and requires no change to compilers. The algorithm uses standard virtual-memory hardware to detect references to “from space” objects and to synchronize the collector and mutator threads. We've implemented and measured a prototype running on SRC's 5-processor Firefly. It will be straightforward to merge our techniques with generational collection. An incremental, non-concurrent version could be implemented easily on many versions of Unix.
Andrew W. Appel, John R. Ellis, Kai Li 0001
PLDI3
1986 Memory Coherence in Shared Virtual Memory Systems
abstract
This paper studies the memory coherence problem in designing and implementing a shared virtual memory on looselycoupled multiprocessors.Two classes of algorithms for solving the problem are presented.A prototype shared virtual memory on an Apollo ring has been implemented based on these algorithms.Both theoretical and practical results show that the memory coherence problem can indeed be solved efficiently on a loosely-coupled multiprocessor.
Kai Li 0001, Paul Hudak
PODC1
1986 A New List Compaction Method
abstract
Abstract List compaction, or so‐called ‘cdr‐coding’, can greatly reduce the storage needs of list processing languages. However, existing methods do not perform well when several lists are being constructed simultaneously from the same heap, since the non‐contiguous nature of the cells being allocated eliminates the opportunity for compaction. This situation arises not only in true parallel systems sharing a common memory, and sequential systems supporting multiple processes, but also quite often in purely sequential systems, where it is not uncommon to build several different lists simultaneously within a single loop. In this paper, a new list compaction method is presented that performs well during both sequential and ‘parallel’ list generation. The method is essentially a generalization of cdr‐coding, in which lists are represented explicitly as linked vectors rather than implicitly as compacted memory. In addition, an encoding scheme is used that is as simple or simpler than all known encodings, and destructive operations are supported with no greater overhead than existing schemes. Performance figures in a simulated environment suggest that the strategy consistently performs better than conventional cdr‐coding, with essentially the same complexity.
Kai Li 0001, Paul Hudak
Softw. Pract. Exp.1