Demo Data from SIGIR 2026 / reviewers in the wild / expert
Haibo Chen 0001
dblp:31/6601-1
· DBLP profile ↗
248ranked-venue papers
14as first author
125since 2021 · last 2026
0000-0002-9720-0361ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Systems, architecture and hardware · 156 · 8 first-author · 72 since 2021Software engineering, systems software and programming languages · 63 · 4 first-author · 43 since 2021Databases, data management, data science and information retrieval · 25 · 20 since 2021Security and privacy · 18 · 1 first-author · 5 since 2021Applied, interdisciplinary, general and emerging computing · 14 · 1 first-author · 3 since 2021Computer networks · 7 · 3 since 2021Artificial intelligence and machine learning · 2Human-computer interaction and ubiquitous computing · 2 · 1 first-author · 2 since 2021Graphics, computer vision, multimedia, augmented reality and games · 1Theory of computation · 1 · 1 since 2021
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Computer architecture, parallel and distributed computing, and storage systems
137 papers |
Cloud and datacenter computing · 26% Memory systems · 16% Storage systems · 12% | |
| Software engineering, system software, and programming languages
71 papers |
Operating systems · 52% Runtime systems and virtual machines · 16% Program analysis · 7% | |
| Databases, data mining, and information retrieval
39 papers |
Transaction processing and concurrency control · 37% Indexing and storage engines · 17% Query processing and optimization · 11% | |
| Network and information security
45 papers |
Hardware security and side channels · 62% Systems and software security · 35% Web and mobile security · 1% | |
| Artificial intelligence
13 papers |
Efficient and distributed learning · 71% Deep learning architectures and training · 13% Language models and text generation · 7% |
Topics — the 30 heaviest of 386, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Hardware security and side channels
trusted execution environments |
11.7 | 25 | 2026 | Enabling Confidential VMs Across Diverse ARM Platforms by Retrofitting TrustZone · IEEE Trans. Dependable Secur. Comput. 2026 XpuTEE: A High-Performance and Practical Heterogeneous Trusted Execution Environment for GPUs · ACM Trans. Comput. Syst. 2025 PipeLLM: Fast and Confidential Large Language Model Services with Speculative Pipelined Encryption · ASPLOS (1) 2025 |
Cloud and datacenter computing
serverless computing |
9.3 | 14 | 2026 | Resource-Efficient Orchestration for Heterogeneous Serverless Computing with Harmonized Effectiveness and Practicability · ACM Trans. Comput. Syst. 2026 Towards Serialization/Deserialization-free State Transfer in Serverless Workflows · ACM Trans. Comput. Syst. 2025 Serverless Functions Made Confidential and Efficient with Split Containers · USENIX Security Symposium 2025 |
Cloud and datacenter computing
virtualization |
4.9 | 13 | 2026 | Enabling Confidential VMs Across Diverse ARM Platforms by Retrofitting TrustZone · IEEE Trans. Dependable Secur. Comput. 2026 CPC: Flexible, Secure, and Efficient CVM Maintenance with Confidential Procedure Calls · USENIX ATC 2024 Security and Performance in the Delegated User-level Virtualization · OSDI 2023 |
Hardware accelerators and domain-specific architectures
machine learning accelerator |
4.5 | 8 | 2026 | Unified and Near-optimal Multi-GPU Cache for Embedding-based Deep Learning · ACM Trans. Comput. Syst. 2026 MetaAttention: A Unified and Performant Attention Framework across Hardware Backends · PPoPP 2026 SAVE: Software-Implemented Fault Tolerance for Model Inference against GPU Memory Bit Flips · USENIX ATC 2025 |
Operating systems › kernel › kernel design
microkernel |
4.1 | 7 | 2025 | Whole-system Persistence Made Efficient with Tree-structured Checkpointing on Microkernel · ACM Trans. Comput. Syst. 2025 μEFI: A Microkernel-Style UEFI with Isolation and Transparency · USENIX ATC 2025 Microkernel Goes General: Performance and Compatibility in the HongMeng Production Microkernel · OSDI 2024 |
Runtime systems and virtual machines
garbage collection |
3.2 | 5 | 2024 | Toward an SGX-Friendly Java Runtime · IEEE Trans. Computers 2024 Characterization and Reclamation of Frozen Garbage in Managed FaaS Workloads · EuroSys 2024 Jade: A High-throughput Concurrent Copying Garbage Collector · EuroSys 2024 |
Operating systems
interprocess communication |
2.8 | 6 | 2025 | Towards Serialization/Deserialization-free State Transfer in Serverless Workflows · ACM Trans. Comput. Syst. 2025 General and Fast Inter-Process Communication via Bypassing Privileged Software · IEEE Trans. Computers 2022 Boosting Inter-process Communication with Architectural Support · ACM Trans. Comput. Syst. 2021 |
Memory systems
non-volatile memory |
2.8 | 8 | 2025 | TreeSLS: A Whole-system Persistent Microkernel with Tree-structured State Checkpoint on NVM · SOSP 2023 Characterizing and Optimizing Remote Persistent Memory with RDMA and NVM · USENIX ATC 2021 Bridging the performance gap for copy-based garbage collectors atop non-volatile memory · EuroSys 2021 |
Storage systems
key-value storage |
2.8 | 6 | 2025 | KVCache Cache in the Wild: Characterizing and Optimizing KVCache Cache at a Large Cloud Provider · USENIX ATC 2025 Locality-Preserving Graph Traversal With Split Live Migration · IEEE Trans. Parallel Distributed Syst. 2024 XStore: Fast RDMA-Based Ordered Key-Value Store Using Remote Learned Cache · ACM Trans. Storage 2021 |
Cloud and datacenter computing › cloud security
confidential computing |
2.6 | 4 | 2024 | CPC: Flexible, Secure, and Efficient CVM Maintenance with Confidential Procedure Calls · USENIX ATC 2024 Bifrost: Analysis and Optimization of Network I/O Tax in Confidential Virtual Machines · USENIX ATC 2023 Efficient Distributed Secure Memory with Migratable Merkle Tree · HPCA 2023 |
Machine learning › Efficient and distributed learning
distributed training |
2.3 | 3 | 2026 | DIP: Efficient Large Multimodal Model Training with Dynamic Interleaved Pipeline · ASPLOS (2) 2026 History Doesn't Repeat Itself but Rollouts Rhyme: Accelerating Reinforcement Learning with RhymeRL · ASPLOS (2) 2026 FalconFS: Distributed File System for Large-Scale Deep Learning Pipeline · NSDI 2026 |
Datacenter networks
RDMA |
2.3 | 4 | 2025 | ODRP: On-Demand Remote Paging with Programmable RDMA · NSDI 2025 No Provisioned Concurrency: Fast RDMA-codesigned Remote Fork for Serverless Computing · OSDI 2023 Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache · OSDI 2020 |
Storage systems
file systems |
2.3 | 5 | 2026 | Sharpen the Spec, Cut the Code: A Case for Generative File System with SYSSPEC · FAST 2026 EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices · USENIX ATC 2019 Using concurrent relational logic with helpers for verifying the AtomFS file system · SOSP 2019 |
Transaction processing and concurrency control
distributed transaction processing |
2.3 | 5 | 2025 | Sonata: Multi-Database Transactions Made Fast and Serializable · Proc. VLDB Endow. 2025 DrTM+B: Replication-Driven Live Reconfiguration for Fast and General Distributed Transaction Processing · IEEE Trans. Parallel Distributed Syst. 2022 Unifying Timestamp with Transaction Ordering for MVCC with Decentralized Scalar Timestamp · NSDI 2021 |
Software-defined and programmable networks
programmable data plane |
2.2 | 3 | 2026 | Accelerating Million-scale In-network Lock Management using Lock Fission · ACM Trans. Comput. Syst. 2026 SwitchFS: Asynchronous Metadata Updates for Distributed Filesystems with In-Network Coordination · EuroSys 2026 Fast and Scalable In-network Lock Management Using Lock Fission · OSDI 2024 |
Systems and software security
operating system security |
2.2 | 4 | 2023 | Hawkeye: Eliminating Kernel Address Leakage in Normal Data Flows · IEEE Trans. Dependable Secur. Comput. 2023 ISA-Grid: Architecture of Fine-grained Privilege Control for Instructions and Registers · ISCA 2023 TZ-Container: protecting container from untrusted OS with ARM TrustZone · Sci. China Inf. Sci. 2021 |
Query processing and optimization
query rewriting |
2.1 | 3 | 2025 | GRewriter: Practical Query Rewriting with Automatic Rule Set Expansion in GaussDB · Proc. VLDB Endow. 2025 Proving Query Equivalence Using Linear Integer Arithmetic · Proc. ACM Manag. Data 2023 WeTune: Automatic Discovery and Verification of Query Rewrite Rules · SIGMOD Conference 2022 |
Cloud and datacenter computing › serverless computing
function-as-a-service |
2.1 | 3 | 2024 | Characterization and Reclamation of Frozen Garbage in Managed FaaS Workloads · EuroSys 2024 Flock: Towards Multitasking Virtual Machines for Function-as-a-Service · IEEE Trans. Computers 2023 BeeHive: Sub-second Elasticity for Web Services with Semi-FaaS Execution · ASPLOS (2) 2023 |
Distributed systems › fault tolerance
checkpointing |
2.1 | 3 | 2026 | Accurate and Ultra-Fast Launch-Time Validation of Idempotency for GPU Kernels · EuroSys 2026 Whole-system Persistence Made Efficient with Tree-structured Checkpointing on Microkernel · ACM Trans. Comput. Syst. 2025 TreeSLS: A Whole-system Persistent Microkernel with Tree-structured State Checkpoint on NVM · SOSP 2023 |
Storage systems › file systems
distributed file system |
2.0 | 2 | 2026 | FalconFS: Distributed File System for Large-Scale Deep Learning Pipeline · NSDI 2026 SwitchFS: Asynchronous Metadata Updates for Distributed Filesystems with In-Network Coordination · EuroSys 2026 |
Runtime systems and virtual machines
managed runtime |
2.0 | 5 | 2024 | Flock: Towards Multitasking Virtual Machines for Function-as-a-Service · IEEE Trans. Computers 2023 BeeHive: Sub-second Elasticity for Web Services with Semi-FaaS Execution · ASPLOS (2) 2023 POSTER: Recovering Performance for Vector-based Machine Learning on Managed Runtime · PPoPP 2017 |
Operating systems › resource management
memory management |
1.9 | 4 | 2025 | How to Copy Memory? Coordinated Asynchronous Copy as a First-Class OS Service · SOSP 2025 Characterization and Reclamation of Frozen Garbage in Managed FaaS Workloads · EuroSys 2024 EPK: Scalable and Efficient Memory Protection Keys · USENIX ATC 2022 |
GPUs and heterogeneous computing
GPU memory management |
1.9 | 2 | 2026 | KUNSERVE: Parameter-centric Memory Management for Efficient Memory Overloading Handling in LLM Serving · EuroSys 2026 DiffKV: Differentiated Memory Management for Large Language Models with Parallel KV Compaction · SOSP 2025 |
Hardware security and side channels › trusted execution environments
confidential computing |
1.8 | 3 | 2025 | PipeLLM: Fast and Confidential Large Language Model Services with Speculative Pipelined Encryption · ASPLOS (1) 2025 Accelerating Extra Dimensional Page Walks for Confidential Computing · MICRO 2023 Serverless Functions Made Confidential and Efficient with Split Containers · USENIX Security Symposium 2025 |
Hardware security and side channels › trusted execution environments
confidential virtual machines |
1.8 | 2 | 2026 | Enabling Confidential VMs Across Diverse ARM Platforms by Retrofitting TrustZone · IEEE Trans. Dependable Secur. Comput. 2026 CPC: Flexible, Secure, and Efficient CVM Maintenance with Confidential Procedure Calls · USENIX ATC 2024 |
Machine learning › Efficient and distributed learning › inference serving
large language model serving |
1.7 | 2 | 2025 | DiffKV: Differentiated Memory Management for Large Language Models with Parallel KV Compaction · SOSP 2025 PipeLLM: Fast and Confidential Large Language Model Services with Speculative Pipelined Encryption · ASPLOS (1) 2025 |
Interconnection networks and networks-on-chip
remote direct memory access |
1.6 | 6 | 2024 | KRCORE: A Microsecond-scale RDMA Control Plane for Elastic Computing · USENIX ATC 2022 Characterizing and Optimizing Remote Persistent Memory with RDMA and NVM · USENIX ATC 2021 Serialization/Deserialization-free State Transfer in Serverless Workflows · EuroSys 2024 |
Transaction processing and concurrency control
concurrency control |
1.6 | 5 | 2022 | Ad Hoc Transactions in Web Applications: The Good, the Bad, and the Ugly · SIGMOD Conference 2022 Polyjuice: High-Performance Transactions via Learned Concurrency Control · OSDI 2021 Scaling Multicore Databases via Constrained Parallel Execution · SIGMOD Conference 2016 |
Machine learning › Efficient and distributed learning
inference serving |
1.6 | 2 | 2025 | BlitzScale: Fast and Live Large Model Autoscaling with O(1) Host Caching · OSDI 2025 PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPU · SOSP 2024 |
Hardware accelerators and domain-specific architectures › machine learning accelerator › neural network accelerator
neural processing unit |
1.6 | 2 | 2025 | Topology-Aware Virtualization over Inter-Core Connected Neural Processing Units · ISCA 2025 sNPU: Trusted Execution Environments on Integrated NPUs · ISCA 2024 |
Methods — techniques the papers use, named apart from their topics
RDMA · 11.1concolic execution · 2.8static analysis · 2.4split live migration · 2.3simulation · 2.0trustzone · 2.0large language model · 2.0batching and consolidation · 2.0activation function linearization · 2.0S-EL2 hardware virtualization · 2.0factored extraction · 1.7empirical study · 1.3autoscaling · 1.3SMT solving · 1.2learned model · 1.0speculative decoding · 1.0scheduling · 1.0programmable switch co-design · 1.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2026 | History Doesn't Repeat Itself but Rollouts Rhyme: Accelerating Reinforcement Learning with RhymeRLabstractWith the rapid advancement of large language models (LLMs), reinforcement learning (RL) has emerged as a pivotal methodology for enhancing the reasoning capabilities of LLMs. Unlike traditional pre-training approaches, RL encompasses multiple stages: rollout, reward, and training, which necessitates collaboration among various worker types. However, current RL systems continue to grapple with substantial GPU underutilization, due to two primary factors: (1) The rollout stage dominates the overall RL process due to test-time scaling; (2) Imbalances in rollout lengths (within the same batch) result in GPU bubbles. While prior solutions like asynchronous execution and truncation offer partial relief, they may compromise training accuracy for efficiency. Our key insight stems from a previously overlooked observation: rollout responses exhibit remarkable similarity across adjacent training epochs. Based on the insight, we introduce RhymeRL, an LLM RL system designed to accelerate RL training with two key innovations. First, to enhance rollout generation, we present HistoSpec, a speculative decoding inference engine that utilizes the similarity of historical rollout token sequences to obtain accurate drafts. Second, to tackle rollout bubbles, we introduce HistoPipe, a two-tier scheduling strategy that leverages the similarity of historical rollout distributions to balance workload among rollout workers. Experimental results demonstrate that RhymeRL achieves up to a 2.6x performance improvement over existing methods, without compromising accuracy or modifying the RL paradigm. Jingkai He, Tianjian Li, Erhu Feng, Dong Du 0003, Qian Liu 0033, Yubin Xia, Haibo Chen 0001 |
ASPLOS (2) | 8 |
| 2026 | DIP: Efficient Large Multimodal Model Training with Dynamic Interleaved PipelineabstractLarge multimodal models (LMMs) have demonstrated excellent capabilities in both understanding and generation tasks with various modalities. While these models can accept flexible combinations of input data, their training efficiency suffers from two major issues: pipeline stage imbalance caused by heterogeneous model architectures, and training data dynamicity stemming from the diversity of multimodal data. Zhenliang Xue, Hanpeng Hu, Xing Chen 0009, Yixin Song 0003, Zeyu Mi, Yibo Zhu 0001, Daxin Jiang, Yubin Xia, Haibo Chen 0001 |
ASPLOS (2) | 10 |
| 2026 | KUNSERVE: Parameter-centric Memory Management for Efficient Memory Overloading Handling in LLM ServingabstractServing LLMs with a cluster of GPUs is common nowadays, where the serving system must meet strict latency SLOs required by applications. However, the stateful nature of LLM serving requires maintaining huge states (i.e., KVCache) in limited GPU memory. Under spikes in real-world workloads, GPU memory can be easily overloaded, leading to orders of magnitude higher response latency due to queuing introduced by waiting for KVCache to be reclaimed. Prior KVCachecentric approaches handle overloading by dropping, migrating, or swapping KVCache. These methods fail to release sufficient memory quickly with requests still queued. Rongxin Cheng 0001, Yuxin Lai, Xingda Wei, Rong Chen 0001, Haibo Chen 0001 |
EuroSys | 5 |
| 2026 | Accurate and Ultra-Fast Launch-Time Validation of Idempotency for GPU KernelsabstractWe discovered that a GPU kernel can have both idempotent and non-idempotent instances depending on the input. These kernels, called conditionally-idempotent, are common in real-world GPU applications—490 out of 547 from six popular applications. This finding reveals a limitation in previous work that statically classifies GPU kernels as idempotent or non-idempotent, potentially compromising the correctness and effectiveness of idempotence-based systems. This paper presents Picker, the first launch-time analysis system for instance-level idempotency validation. Picker accurately validates the idempotency of GPU kernel instances before execution by utilizing launch arguments. Several optimizations are proposed to reduce validation latency to microseconds. Evaluations using representative GPU applications (547 kernels and 18,217 instances) show that Picker accurately identifies idempotent instances with zero false positives and an 18.54% false-negative rate. The launch-time validation completes in under 5 μs for all instances (about 90% under 1 μs). Through integration, Picker reduces checkpoint costs to less than 4% in fault-tolerant systems and decreases preemption latency by 84.2% in scheduling systems. Mingcong Han, Weihang Shen, Rong Chen 0001, Haibo Chen 0001 |
EuroSys | 4 |
| 2026 | LLMFolder: Revisiting Constant Folding in Large Language ModelsabstractLarge language models (LLMs) demonstrate remarkable capabilities but face deployment challenges due to their massive parameter counts. While pruning can reduce model size, it leads to significant accuracy degradation under high compression ratios. We present a novel perspective inspired by constant folding in compiler optimization. Our approach enables parameter reduction by treating activation functions in LLMs as linear functions. Gansen Hu, Jinglin Wei, Haibo Chen 0001 |
EuroSys | 5 |
| 2026 | From Imperative to Declarative: Towards LLM-friendly OS Interfaces for Boosted Computer-Use AgentsabstractComputer-use agents (CUAs) powered by large language models (LLMs) have emerged as a promising approach to automating computer tasks, yet they struggle with the existing human-oriented OS interfaces—graphical user interfaces (GUIs). GUIs force LLMs to decompose high-level goals into lengthy, error-prone sequences of fine-grained actions, resulting in low success rates and an excessive number of LLM calls. Haibo Chen 0001 |
EuroSys | 3 |
| 2026 | SwitchFS: Asynchronous Metadata Updates for Distributed Filesystems with In-Network CoordinationabstractDistributed filesystem metadata updates are typically synchronous. This creates inherent challenges for access efficiency, load balancing, and directory contention, especially under dynamic and skewed workloads. This paper argues that synchronous updates are overly conservative. We propose SwitchFS with asynchronous metadata updates that allow operations to return early and defer directory updates until reads, both hiding latency and amortizing overhead. The key challenge lies in efficiently maintaining the synchronous POSIX semantics of metadata updates. To address this, SwitchFS is co-designed with a programmable switch, leveraging the limited on-switch resources to track directory states with negligible overhead. This allows SwitchFS to aggregate and apply delayed updates efficiently, using batching and consolidation before directory reads. Evaluation shows that SwitchFS achieves up to 13.34× and 3.85× higher throughput, and 61.6% and 57.3% lower latency than two state-of-the-art distributed filesystems, Emulated-InfiniFS and Emulated-CFS, respectively, under skewed workloads. For real-world workloads, SwitchFS improves end-to-end throughput by 21.1×, 1.1×, and 0.3× over CephFS, Emulated-InfiniFS, and Emulated-CFS, respectively. Mingkai Dong 0002, Qiulin Tian, Ziyi Tian, Tong Xin 0005, Haibo Chen 0001 |
EuroSys | 6 |
| 2026 | On-device Semantic Selection Made Low Latency and Memory Efficient with Monolithic ForwardingabstractSemantic top-K selection with cross-encoder rerankers underpins on-device AI services, such as retrieval-augmented generation, agent memory, and personalized recommendation. However, its latency and memory demands dominate end-to-end budgets on edge hardware. Revisiting the objective of top-K selection, we reveal that only relative rankings matter, not exact per-candidate scores. We further observe sequence-level sparsity: relative rankings progressively stabilize in intermediate layers, enabling early pruning prior to completing full inference. Chengliang Lin, Dingji Li, Mingkai Dong 0002, Haibo Chen 0001 |
EuroSys | 5 |
| 2026 | Sharpen the Spec, Cut the Code: A Case for Generative File System with SYSSPEC
Mo Zou, Hengbin Zhang, Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
FAST | 6 |
| 2026 | "Range as a Key" is the Key! Fast and Compact Cloud Block Store Index with RASK
Haoru Zhao, Mingkai Dong 0002, Erci Xu, Haibo Chen 0001 |
FAST | 5 |
| 2026 | SolidAttention: Low-Latency SSD-based Serving on Memory-Constrained PCs
Xinrui Zheng, Dongliang Wei, Jianxiang Gao, Yixin Song 0003, Zeyu Mi, Haibo Chen 0001 |
FAST | 6 |
| 2026 | CHIME: A Case for Efficient Long-Context Attention-FC Disaggregated Inference with DIMM-PIM
Yanning Yang, Dong Du 0003, Zhigang Mao, Naifeng Jing, Yubin Xia, Haibo Chen 0001 |
ISCA | 9 |
| 2026 | FalconFS: Distributed File System for Large-Scale Deep Learning Pipeline
Junbin Kang, Mingkai Dong 0002, Shaohong Guo, Ziyan Qiu, Mingzhen You, Ziyi Tian, Anqi Yu, Tianhong Ding, Xinwei Hu, Haibo Chen 0001 |
NSDI | 13 |
| 2026 | MetaAttention: A Unified and Performant Attention Framework across Hardware BackendsabstractComputing attention is the backbone of transformer-based models like large language models. However, the increasing diversity of attention algorithms presents significant challenges for unleashing hardware performance. State-of-the-art variants like FlashAttention target a specific attention algorithm or hardware platform, which fail to generalize to other algorithms and platforms. Yu Cheng 0030, Lei Wang 0222, Yuqing Xia, Ziming Miao, Lingxiao Ma, Fan Yang 0024, Jilong Xue, Zhi Yang 0001, Mao Yang 0004, Xingda Wei, Haibo Chen 0001 |
PPoPP | 12 |
| 2026 | Experiences with the ChCore Experimental Operating System KernelabstractChCore is an experimental operating system kernel built from the ground up for both education and research. Compared to other similar kernels, ChCore is unique in three aspects: 1) ARM-centric in light of a recent shift of computing from x86 to ARM; 2) microkernelbased given a resurgent interest in microkernel from industry; 3) bimodal for both education and research such that students can easily switch from learning to researching. This paper will describe our five-year experiences in teaching and experimenting operating systems with ChCore. Haibo Chen 0001, Yubin Xia, Jinyu Gu 0001 |
SIGCSE (1) | 1 |
| 2026 | miniK8s: A Pedagogical Cloud-Native SystemabstractThe rapid adoption of cloud-native technologies, particularly containerization and orchestration with systems like Kubernetes, necessitates their effective integration into undergraduate computer science curricula. However, the complexity of production-grade cloud-native systems present a steep learning curve. Traditional pedagogical approaches often involve either oversimplified toy projects built from scratch, which lack real-world relevance, or the direct use of complex cloud systems, which can obscure fundamental concepts. To overcome these barriers, we introduce miniK8s, a lightweight, Kubernetes-like platform designed for an undergraduate cloud computing course. miniK8s distinguishes itself by promoting the pedagogical vision of teaching students to build a substantial and realistic system by integrating existing, robust open-source components with a hand-written, simplified cornerstone component. With miniK8s, students can both learn the key concepts inside the cloud architecture (e.g., resource scaling) and build practical systems with open-source building blocks. We have successfully used miniK8s as a project in a cloud computing course for hundreds of undergraduate students, which can significantly enhance students' understanding of how real-world cloud-native systems work and their ability to build a complex system. Dong Du 0003, Mingyu Wu 0001, Haibo Chen 0001, Binyu Zang |
SIGCSE (1) | 3 |
| 2026 | Efficient, Scalable, and Fair Locking on Disaggregated Memory with Decentralized Coordination
Hanze Zhang, Rong Chen 0001, Xingda Wei, Haibo Chen 0001 |
Proc. VLDB Endow. | 5 |
| 2026 | SIDLE: Tree-structure Aware Indexes for CXL-based Heterogeneous Memory
Haoru Zhao, Mingkai Dong 0002, Fangnuo Wu, Haibo Chen 0001 |
Proc. VLDB Endow. | 4 |
| 2026 | Enabling Confidential VMs Across Diverse ARM Platforms by Retrofitting TrustZoneabstractAs cloud tenants increasingly adopt ARM servers, securing their sensitive workloads becomes a critical concern. Confidential virtualization, which shields data from privileged software by establishing isolated VMs, has emerged as a standard approach to address this concern. However, ARM's official solution, the Confidential Compute Architecture (CCA), fails to meet this demand. It lacks support on most deployed hardware, and its widespread adoption by major cloud providers remains distant. In this paper, we propose TwinVisor, a novel system that enables confidential virtualization on ARM platforms. TwinVisor innovatively retrofits the mature ARM TrustZone to enforce strong isolation for confidential VMs, while minimizing the TCB by decoupling resource management from security mechanisms. Specifically, TwinVisor introduces a tiny hypervisor in the secure world (calledS-visorin this paper) dedicated to protection, while reusing a full-fledged hypervisor (calledN-visor) in the normal world for resource management. By combining S-EL2 hardware virtualization features with software-based same-privilege protection techniques, TwinVisor achieves broad compatibility, enabling its deployment on almost all ARM platforms. We have implemented two prototypes of TwinVisor, and our evaluation demonstrates that it can effectively protect confidential VMs while imposing negligible performance overhead for real-world applications. Yicong Wang, Zeyu Mi, Haibo Chen 0001 |
IEEE Trans. Dependable Secur. Comput. | 3 |
| 2026 | Real-time, Work-conserving GPU Scheduling for Concurrent DNN InferenceabstractMany intelligent applications, such as autonomous driving and virtual reality, require running both latency-critical (real-time) and best-effort deep neural network (DNN) inference tasks to achieve both real-time and work-conserving on the GPU. However, commodity GPUs lack efficient preemptive scheduling support, and existing state-of-the-art approaches either have to monopolize GPU or let real-time tasks to wait for best-effort tasks to complete, resulting in low utilization, high latency, or both. This article presents Reef , the first GPU-accelerated DNN inference serving system that achieves low-latency and work-conserving for concurrent real-time and best-effort tasks. Reef accomplishes this by enabling microsecond-scale kernel preemption and controlled concurrent execution in GPU scheduling. Reef is novel in two ways. First, based on the observation that DNN inference kernels are mostly idempotent, Reef devises a reset-based preemption scheme that launches a real-time kernel on the GPU by proactively killing and restoring best-effort kernels at microsecond-scale. Second, since DNN inference kernels have varied parallelism and predictable latency, Reef proposes a dynamic kernel padding mechanism that dynamically pads the real-time kernel with appropriate best-effort kernels to fully utilize the GPU with negligible overhead. Evaluation using a new DNN inference serving benchmark (DISB) with diverse workloads and a real-world trace on both NVIDIA and AMD GPUs shows that Reef only incurs less than 5% overhead in end-to-end latency for real-time tasks but increases the overall throughput by up to 1.53×, compared to scheduling tasks sequentially. To demonstrate the practical benefits of our approach, we compare Reef with Triton, a widely-adopted production-level serving system. Our evaluation shows that Reef outperforms Triton by 1.12× to 5.20× in end-to-end latency for real-time tasks, while maintaining comparable throughput. Mingcong Han, Rong Chen 0001, Weihang Shen, Hanze Zhang, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 6 |
| 2026 | Resource-Efficient Orchestration for Heterogeneous Serverless Computing with Harmonized Effectiveness and PracticabilityabstractCurrent serverless platforms struggle to optimize resource utilization for both CPU and GPU functions due to their dynamic and fine-grained nature. Conventional techniques like overcommitment and autoscaling fall short, often sacrificing utilization for practicability or incurring performance tradeoffs. Overcommitment requires predicting performance to prevent QoS violation, introducing tradeoff between prediction accuracy and overheads. Autoscaling requires scaling instances in response to load fluctuations quickly to reduce resource wastage, but more frequent scaling also leads to more cold start overheads. The rich concurrency of GPU resources further complicates GPU instance orchestration, such as setting right batch sizes. This article introduces Jiagu to harmonize efficiency with practicability through the following novel techniques. First, pre-decision scheduling achieves accurate prediction while eliminating overheads by decoupling prediction and scheduling. Second, dual-staged scaling achieves frequent adjustment of instances with minimum overhead. Third, Jiagu conducts an in-depth analysis about the complexity of the relationship between GPU function configuration and execution. It then proposes batch-aware scaling that achieves optimal configurations for both batch size setting and autoscaling, addressing all the challenges according to the analysis. We have implemented a prototype and evaluated it using real-world applications and traces from the public cloud platform. Our evaluation shows an improvement in deployment density over commercial clouds (with Kubernetes) while maintaining QoS for both CPU and GPU functions (54.8% and 18% respectively), and 81.0%–93.7% lower scheduling costs and a 57.4%–69.3% reduction in cold start latency compared to existing QoS-aware schedulers. Yanning Yang, Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 7 |
| 2026 | Unified and Near-optimal Multi-GPU Cache for Embedding-based Deep LearningabstractThis article presents UGache , a unified multi-GPU cache system designed for embedding-based deep learning (EmbDL). UGache is primarily motivated by the unique characteristics of EmbDL applications, namely read-only and skewed embedding accesses with affinity and predictability. UGache introduces a novel factored extraction mechanism that avoids bandwidth congestion to fully exploit high-speed cross-GPU interconnects (e.g., NVLink and NVSwitch). Based on a hotness metric, UGache also provides a near-optimal cache policy that balances local and remote access to minimize the extraction time for diverse GPU interconnect topologies. We have implemented UGache and integrated it into two representative frameworks, TensorFlow and PyTorch. Evaluation using two typical types of EmbDL applications, namely graph neural network (GNN) training and deep learning recommendation (DLR) inference, shows that UGache outperforms state-of-the-art replication and partition designs by an average of 1.93× and 1.63× (up to 5.25× and 3.45×), respectively. Furthermore, we demonstrate the applicability of UGache ’s principle beyond embedding-based deep learning, with an example of text-to-image generation on an inference cluster. Xiaoniu Song, Rong Chen 0001, Haitao Song 0001, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 5 |
| 2026 | Accelerating Million-scale In-network Lock Management using Lock FissionabstractDistributed lock services are extensively utilized in distributed systems to serialize concurrent accesses to shared resources. The need for fast and scalable lock services has become more pronounced with decreasing task execution times and expanding dataset scales. However, traditional lock managers, reliant on server CPUs to handle lock requests, experience significant queuing delays in lock grant latency. Advanced network hardware (e.g., programmable switches) presents an avenue to manage locks without queuing delays due to their high packet processing power. Nevertheless, their constrained memory capacity restricts the number of locks they can manage, thereby limiting their efficiency and efficacy in large-scale workloads with millions of locks. This article introduces the concept of lock fission, which enables efficient management of million-scale locks by exploiting both programmable switches and servers. Lock fission decouples lock management into a memory-efficient grant decision process and a latency-insensitive participant maintenance process. This allows the programmable switch to efficiently make grant decisions for numerous locks, while servers asynchronously maintain participants (i.e., holders and waiters). Furthermore, by using the programmable switch for routing, lock fission supports on-demand, fine-grained lock migration, reducing network traffic and lock release delays. Building on this idea, we present FissLock , a fast and scalable in-network lock service for two representative lock management settings: with lock managers on dedicated servers or colocated with applications. Evaluation using various benchmarks and a real-world application shows FissLock ’s efficiency and efficacy. Compared to the state-of-the-art in-network LM, FissLock cuts up to 82.9% (from 44.3%) of median lock grant time in the microbenchmark and improves transaction throughput for TATP and TPC-C by 2.26× and 2.46×. Hanze Zhang, Rong Chen 0001, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 5 |
| 2025 | PipeLLM: Fast and Confidential Large Language Model Services with Speculative Pipelined EncryptionabstractConfidential computing on GPUs, like NVIDIA H100, mitigates the security risks of outsourced Large Language Models (LLMs) by implementing strong isolation and data encryption. Nonetheless, this encryption incurs a significant performance overhead, reaching up to 52.8% and 88.2% throughput drop when serving OPT-30B and OPT-66B, respectively. To address this challenge, we introduce PipeLLM, a user-transparent runtime system. PipeLLM removes the overhead by overlapping the encryption and GPU computation through pipelining-an idea inspired by the CPU instruction pipelining-thereby effectively concealing the latency increase caused by encryption. The primary technical challenge is that, unlike CPUs, the encryption module lacks prior knowledge of the specific data needing encryption until it is requested by the GPUs. To this end, we propose speculative pipelined encryption to predict the data requiring encryption by analyzing the serving patterns of LLMs. Further, we have developed an efficient, low-cost pipeline relinquishing approach for instances of incorrect predictions. Our experiments show that compared with vanilla systems without confidential computing (e.g., vLLM, PEFT, and FlexGen), PipeLLM incurs modest overhead ( < 19.6% in throughput) across various LLM sizes, from 13B to 175B. PipeLLM's source code is available at https://github.com/SJTU-IPADS/PipeLLM. Yifan Tan, Cheng Tan 0005, Zeyu Mi, Haibo Chen 0001 |
ASPLOS (1) | 4 |
| 2025 | Enabling Efficient Mobile Tracing with BTraceabstractWith the growing complexity of smartphone systems, effective tracing becomes vital for enhancing their stability and optimizing the user experience. Unfortunately, existing tracing tools are inefficient in smartphone scenarios. Their distributed designs (with either per-core or per-thread buffers) prioritize performance but lead to missing crucial clues with high probability. While these problems can be overlooked in previous scenarios (e.g., servers), they drastically limit the usefulness of tracing on smartphones. Arnau Casadevall-Saiz, Diogo Behrens, Ming Fu, Ning Jia 0004, Hermann Härtig, Haibo Chen 0001 |
ASPLOS (2) | 9 |
| 2025 | D-VSync: Decoupled Rendering and Displaying for Smartphone GraphicsabstractRendering service, which typically orchestrates screen display and UI through Vertical Synchronization (VSync), is an indispensable system service for user experiences of smartphone OSes (e.g., Android, OpenHarmony, and iOS). The recent trend of large high-frame-rate screens, stunning visual effects, and physics-based animations has placed unprecedented pressure on the VSync-based rendering architecture, leading to higher frame drops and longer rendering latency. Yuanpei Wu, Dong Du 0003, Yubin Xia, Ming Fu, Binyu Zang, Haibo Chen 0001 |
ASPLOS (1) | 7 |
| 2025 | Offloading Cloud-Native Infrastructure with XpuPodabstractCloud-native systems increasingly rely on infrastructure services (e.g., service meshes, monitoring agents), which compete for resources with user applications, thereby degrading performance and scalability. We propose XpuPod, a new abstraction that offloads these services to Data Processing Units (DPUs) to enforce strict isolation while reducing host resource contention and operational costs. XpuPod enables a cross-processing-unit (XPU) network system. This system features two key components: (1) transparent XPU networking, which provides a unified network abstraction for processes spanning both the CPU and DPU, and (2) elastic and efficient XPU communication, a mechanism that achieves shared-memory performance without the costs of pinned resources. By leveraging the XPU network system and the compositional nature of cloud-native workloads, XpuPod can optimally offload infrastructure containers to DPUs. We implement XpuPod on Linux and a corresponding cloud-native system, XpuK8s, on Kubernetes. We evaluate our system using NVIDIA BlueField-2 DPUs and a simulator backed by a CXL memory device. The results show that XpuK8s effectively supports complex, unmodified, commodity cloud-native applications. Compared to a kernel-bypass design, XpuK8s provides up to 31.9x lower latency and consumes 64x fewer resources. Furthermore, compared to state-of-the-art systems, XpuK8s can achieve 60% lower end-to-end latency and 55% higher scalability. Bicheng Yang, Jingkai He, Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
SoCC | 5 |
| 2025 | Liquid-State Drive: A Case for DNA Block Device for Enormous Data
Mingkai Dong 0002, Fei Wang 0130, Jingyao Zeng, Lei Zhao 0011, Chunhai Fan, Haibo Chen 0001 |
FAST | 7 |
| 2025 | Topology-Aware Virtualization over Inter-Core Connected Neural Processing UnitsabstractWith the rapid development of artificial intelligence (AI) applications, an emerging class of AI accelerators, termed Inter-core Connected Neural Processing Units (NPU), has been adopted in both cloud and edge computing environments, like Graphcore IPU, Tenstorrent, etc.Despite their innovative design, these NPUs often demand substantial hardware resources, leading to suboptimal resource utilization due to the imbalance of hardware requirements across various tasks.To address this issue, prior research has explored virtualization techniques for monolithic NPUs, but has neglected inter-core connected NPUs with the hardware topology.This paper introduces vNPU, the first comprehensive virtualization design for inter-core connected NPUs, integrating three novel techniques: (1) NPU route virtualization, which redirects instruction and data flow from virtual NPU cores to physical ones, creating a virtual topology; (2) NPU memory virtualization, designed to minimize translation stalls for SRAM-centric and NoC-equipped NPU cores, thereby maximizing the memory bandwidth; and (3) Besteffort topology mapping, which determines the optimal mapping from all candidate virtual topologies, balancing resource utilization with end-to-end performance.We have developed a prototype of vNPU on both an FPGA platform (Chipyard+FireSim) and a simulator (DCRA).Evaluation results demonstrate that when executing multiple NPU workloads on virtual NPUs, vNPU achieves performance improvements of up to 1.92x and 1.28x for the Transformer and ResNet models, respectively, in comparison to the MIG-based virtualization method.Furthermore, the hardware performance * Both authors contributed equally to this research. Dahu Feng, Erhu Feng, Dong Du 0003, Pinjie Xu, Yubin Xia, Haibo Chen 0001 |
ISCA | 6 |
| 2025 | ODRP: On-Demand Remote Paging with Programmable RDMA
Xingda Wei, Jinyu Gu 0001, Hongrui Xie, Rong Chen 0001, Haibo Chen 0001 |
NSDI | 6 |
| 2025 | XSched: Preemptive Scheduling for Diverse XPUs
Weihang Shen, Mingcong Han, Jialong Liu, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 5 |
| 2025 | OS Rendering Service Made Parallel with Out-of-Order Execution and In-Order Commit
Yuanpei Wu, Yubin Xia, Yang Yu 0002, Ming Fu, Binyu Zang, Haibo Chen 0001 |
OSDI | 7 |
| 2025 | BlitzScale: Fast and Live Large Model Autoscaling with O(1) Host Caching
Dingyan Zhang, Xingda Wei, Yizhou Shan, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 7 |
| 2025 | Characterizing Mobile SoC for Accelerating Heterogeneous LLM InferenceabstractWith the rapid advancement of artificial intelligence technologies such as ChatGPT, AI agents, and video generation, contemporary mobile systems have begun integrating these AI capabilities on local devices to enhance privacy and reduce response latency. To meet the computational demands of AI tasks, current mobile SoCs are equipped with diverse AI accelerators, including GPUs and Neural Processing Units (NPUs). However, there has not been a comprehensive characterization of these heterogeneous processors, and existing designs typically only leverage a single AI accelerator for LLM inference, leading to suboptimal use of computational resources and memory bandwidth. Dahu Feng, Erhu Feng, Yingrui Wang, Yubin Xia, Pinjie Xu, Haibo Chen 0001 |
SOSP | 8 |
| 2025 | How to Copy Memory? Coordinated Asynchronous Copy as a First-Class OS ServiceabstractIn modern systems, memory copy remains a critical performance bottleneck across various scenarios, playing a pervasive role in system-wide execution such as syscalls, IPC, and user-mode applications. Numerous efforts have aimed at optimizing copy performance, including zero-copy with page remapping and hardware-accelerated copy. However, they typically target specific use cases, such as Linux zero-copy send() for messages of ≥10KB. This paper argues for copy as a first-class OS service, offering three key benefits: (1) with the asynchronous copy abstraction provided by the service, applications can overlap their execution with copy; (2) the service can effectively utilize hardware capabilities to enhance copy performance; (3) the service's global view of copies further enables holistic optimization. To this end, we introduce Copier, a new OS service of coordinated asynchronous copy, to serve both user-mode applications and OS services. We build Copier-Linux to demonstrate Copier's ability to improve performance for diverse use cases, including Redis, Protobuf, network stack, proxy, etc. Evaluations show that Copier achieves up to a 1.8 × speedup for real-world applications like Redis and a 1.6 × improvement over zIO, the state-of-the-art in optimizing copy efficiency. To further facilitate adoption, we develop a toolchain to ease the use of Copier. We also integrate Copier into a commercial smartphone OS (HarmonyOS 5.0), achieving promising results. Jingkai He, Yunpeng Dong, Dong Du 0003, Mo Zou, Zhitai Yu, Yuxin Ren 0001, Ning Jia 0004, Yubin Xia, Haibo Chen 0001 |
SOSP | 9 |
| 2025 | PhoenixOS: Concurrent OS-level GPU Checkpoint and Restore with Validated SpeculationabstractPhoenixOS (PhOS) is the first OS service that can concurrently checkpoint and restore (C/R) GPU processes—a fundamental capability for critical tasks such as fault tolerance, process migration, and fast startup. While concurrent C/R is well-established on CPUs, it poses unique challenges on GPUs due to their lack of essential features for efficiently tracing concurrent memory reads and writes, such as specific hardware capabilities (e.g., dirty bits) and OS-mediated data paths (e.g., copy-on-write). Xingda Wei, Zhuobin Huang, Tianle Sun, Yingyi Hao, Rong Chen 0001, Mingcong Han, Jinyu Gu 0001, Haibo Chen 0001 |
SOSP | 8 |
| 2025 | DiffKV: Differentiated Memory Management for Large Language Models with Parallel KV CompactionabstractLarge language models (LLMs) demonstrate remarkable capabilities but face substantial serving costs due to their high memory demands, with the key-value (KV) cache being a primary bottleneck. State-of-the-art KV cache compression techniques, such as quantization and pruning, apply uniform treatment to both keys and values, and discard unimportant tokens entirely, overlooking the fine-grained distinctions in the significance of individual KV cache components. To address such limitations, we introduce DiffKV, a novel framework for efficient KV cache compression that exploits three levels of differentiation in the KV cache: (1) the differing impact of keys and values on attention computation, (2) the varying importance of tokens, and (3) the diverse dynamic sparsity patterns across attention heads. These levels of differentiation introduce irregular memory usage patterns across different requests and attention heads, posing significant scalability challenges for memory management. To address these challenges, DiffKV proposes an on-GPU memory manager that compacts fragmented free memory list into contiguous regions in parallel, effectively translating sparsity in the KV cache into performance gains. We evaluate DiffKV on several mainstream LLMs, including the emerging thinking models that generate extended chains of thought. DiffKV is able to compress the KV cache by 2.7× to 5.7× with near-lossless accuracy on complex workloads requiring sophisticated reasoning and long-generation capabilities, and enhances throughput by 1.9× to 5.4×. Runyuan Zhao, John C. S. Lui, Haibo Chen 0001 |
SOSP | 5 |
| 2025 | μEFI: A Microkernel-Style UEFI with Isolation and Transparency
Yiyang Wu, Jinyu Gu 0001, Yubin Xia, Haibo Chen 0001 |
USENIX ATC | 5 |
| 2025 | KVCache Cache in the Wild: Characterizing and Optimizing KVCache Cache at a Large Cloud Provider
Jinbo Han, Xingda Wei, Sijie Shen, Dingyan Zhang, Chenguang Fang, Rong Chen 0001, Wenyuan Yu, Haibo Chen 0001 |
USENIX ATC | 9 |
| 2025 | SAVE: Software-Implemented Fault Tolerance for Model Inference against GPU Memory Bit Flips
Wenxin Zheng, Jinyu Gu 0001, Haibo Chen 0001 |
USENIX ATC | 4 |
| 2025 | Serverless Functions Made Confidential and Efficient with Split Containers
Jiacheng Shi 0002, Jinyu Gu 0001, Yubin Xia, Haibo Chen 0001 |
USENIX Security Symposium | 4 |
| 2025 | Automated Validating and Fixing of Text-to-SQL Translation with Execution ConsistencyabstractState-of-the-art Text-to-SQL models rely on fine-tuning or few-shot prompting to help LLMs learn from training datasets containing mappings from natural language (NL) queries to SQL statements. Consequently, the quality of the dataset can greatly affect the accuracy of these Text-to-SQL models. Unlike other NL tasks, Text-to-SQL datasets are prone to errors despite extensive manual efforts due to the subtle semantics of SQL. Our study has found a non-negligible (>30%) portion of incorrect NL to SQL mapping cases exists in popular datasets Spider and BIRD. This paper aims to improve the quality of Text-to-SQL training datasets and thereby increase the accuracy of the resulting models. To do so, we propose a necessary correctness condition called execution consistency. For a given database instance, an NL to SQL mapping satisfies execution consistency if the execution result of an NL query matches that of the corresponding SQL. We develop SQLDriller to detect incorrect NL to SQL mappings based on execution consistency in a best-effort manner by crafting database instances that likely result in violations of execution consistency. It generates multiple candidate SQL predictions that differ in their syntax structures. Using a SQL equivalence checker, SQLDriller obtains counterexample database instances that can distinguish non-equivalent candidate SQLs. It then checks the execution consistency of an NL to SQL mapping under this set of counterexamples. The evaluation shows SQLDriller effectively detects and fixes incorrect mappings in the Text-to-SQL dataset, and it improves the model accuracy by up to 13.6%. Yicun Yang, Yu Xia 0040, Zhuoran Wei, Ruzica Piskac, Haibo Chen 0001, Jinyang Li 0001 |
Proc. ACM Manag. Data | 7 |
| 2025 | GRewriter: Practical Query Rewriting with Automatic Rule Set Expansion in GaussDBabstractEffectively rewriting a wide range of complex and diverse queries is critical for database systems. Huawei GaussDB has been experiencing limited extensibility of its existing query rewriter. The problem is rooted in the need for one-size-fits-all rewrites by its pipelined rewrite workflow and the source code-level coupling of rewrite logic. This makes it not only difficult to identify generic, broadly applicable rewrites but also engineering-intensive to program them into the system. This paper presents GRewriter, GaussDB's new bolt-on extensible query rewriter powered by automated rewrite rule discovery. GRewriter sits atop the existing optimizer stack to explore useful rewrites, allowing a variety of rules to coexist and be selected on a per-query basis. A new rule language, G-DSL, is used to express rewrite rules so that the rewrite engine is not coupled with specific rules. To improve rewrite efficiency, a new rule index structure and a rewrite history cache are introduced. Rules in GRewriter are produced by an offline rule generator. With novel enumeration techniques and a new equivalence theorem, our rule generator can efficiently discover formally verified rules that are much more expressive than prior research prototypes. For operational convenience, GRewriter also supports manual rule authoring and interactive management of rules through familiar SQL interfaces. GRewriter has been integrated into GaussDB and is gradually rolling out to customers. GRewriter equips GaussDB with over a hundred rules while maintaining negligible overhead (<1%). These new rewrite rules have enhanced query performance for two key customer applications, an ERP system and a Banking transaction system, reducing production query latency by up to 99.9%—from 26 seconds to just 17 milliseconds. Haoning Lan, Chuzhe Tang, Lefeng Wang, Songyun Zou, Zhuoran Wei, Yongcun Liu, Guoliang Li 0001, Haibo Chen 0001 |
Proc. VLDB Endow. | 13 |
| 2025 | ScaleCache: Scalable and Production-grade Buffer Management for Disk-based Database SystemsabstractBuffer management is critical for DBMSs but often suffers from scalability bottlenecks and poor cache locality, which stems from centralized reference counting in page access and intensive locking in page-to-buffer translation. However, prior radical approaches like pointer swizzling or optimistic lock can hardly be adopted in production-grade DBMSs due to its inherent complexity and incompatibility. This paper proposes ScaleCache , a scalable, highly-efficient and production-grade buffer management system with three key designs. ScaleCache first incorporates a novel compact per-group buffer reference counting technique, which enables scalable buffer pinning and unpinning by concurrent threads on many-core servers. It then devised a novel read-write lock based on copy-on-write and per-group reference counting, which is suitable for B-link tree. At last, we propose an optimistic, CPU-cache friendly and SIMD-accelerated hash table for fast and scalable page-to-buffer translation, which eliminates most contention on modern many-core hardware. ScaleCache has been adopted in Huawei GaussDB , a commercial high-performance DBMS. Evaluation on a 128-core server demonstrates that ScaleCache exhibits near-linear scalability and can significantly improve index query throughput of both classic B-link tree index and complex graph-based vector index. Junbin Kang, Haibo Chen 0001, Xiuchang Li, Tianhong Ding |
Proc. VLDB Endow. | 5 |
| 2025 | Sonata: Multi-Database Transactions Made Fast and SerializableabstractToday, the wide adoption of distributed service-oriented applications has rendered multi-database transactions increasingly important. They protect cross-service workflows that access multiple database systems from concurrency anomalies and failures. This paper presents Sonata, a new multi-database transaction system that provides high performance, global serializability, and seamless integration with existing applications and database systems. Sonata builds on the theory of commitment ordering to ensure global serializability and uses two-phase commit for atomicity and durability. Instead of treating database systems as black box storage, Sonata reuses existing database systems' concurrency control yet refrains from exposing or modifying their internals. It performs additional non-blocking coordination only at prepare time via application-level shim layers, allowing applications to incorporate Sonata without changing their existing queries or database systems. Evaluation using TPC-C shows that Sonata incurs 7.1% coordination overhead on average and outperforms prior work by up to 1114.3%. Chuzhe Tang, Jinyang Li 0001, Haibo Chen 0001 |
Proc. VLDB Endow. | 4 |
| 2025 | Whole-system Persistence Made Efficient with Tree-structured Checkpointing on MicrokernelabstractWhole-system persistence promises simplified application deployment and near-instantaneous recovery. This can be implemented using single-level store (SLS) through periodic checkpointing of ephemeral state to persistent devices. However, traditional SLSs suffer from two main issues on checkpointing efficiency and external synchrony, which are critical for low-latency services with persistence need. In this article, we note that the decentralized state of microkernel-based systems can be exploited to simplify and optimize state checkpointing. To this end, we propose TreeSLS, a whole-system persistent microkernel that simplifies the whole-system state maintenance to a capability tree and a failure-resilient checkpoint manager. TreeSLS further exploits the emerging non-volatile memory to minimize checkpointing pause time by eliminating the distinction between ephemeral and persistent devices. With efficient state maintenance, TreeSLS further proposes delayed external visibility to provide transparent external synchrony with little overhead. Evaluation on microbenchmarks and real-world applications (e.g., Memcached, Redis, and RocksDB) show that TreeSLS can complete a whole-system persistence in around 100 μs and even take a checkpoint every 1 ms with reasonable overhead to applications. Mingkai Dong 0002, Fangnuo Wu, Gequan Mo, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 4 |
| 2025 | XpuTEE: A High-Performance and Practical Heterogeneous Trusted Execution Environment for GPUsabstractAI applications are employed in diverse scenarios, including data centers, personal computers, smart cars, and so on. Their privacy is threatened by the intricate software stacks and the potential malfeasance of system maintainers. The Trusted Execution Environment (TEE) has become popular for safeguarding applications from untrusted system software. However, AI applications are always speeded up with heterogeneous accelerators, e.g., GPU, which requires the TEE to be heterogeneous. A heterogeneous TEE should satisfy three requirements: (1) the joint heterogeneous abstraction that covers the CPU and GPUs and minimizes cooperation overhead among enclaves on them; (2) the high performance for supporting high-speed GPUs and introducing limited performance overhead; and (3) the compatibility with existing CPUs and GPUs so that existing machines can directly benefit from it. To meet the above requirements, this article introduces XpuTEE, a practical and high-performance heterogeneous TEE system. XpuTEE provides a new abstraction called XpuEnclave, comprising the CEnclave to protect CPU-side logic and numerous XEnclaves to guard GPU tasks. XpuEnclave is a joint TEE crossing the CPU and connected GPUs, and it removes all cryptographic operations and extra memory copies for CPU-GPU communication, which allows XpuTEE to achieve high performance. The results demonstrate that XpuTEE has an average performance overhead of 2.48% for common AI applications. Shulin Fan, Zhichao Hua 0001, Yubin Xia, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 4 |
| 2025 | Towards Serialization/Deserialization-free State Transfer in Serverless WorkflowsabstractSerialization and deserialization dominate the state transfer time of serverless workflows, leading to substantial performance penalties when executing various serverless workflow applications. We identify the key reason for serialization and deserialization as a lack of ability to efficiently access the (remote) memory of another function. To this end, we propose RMMap , an OS primitive for remote memory map, which allows a serverless function to directly access the memory of another function, even if it is located remotely. RMMap is the first to completely eliminate serialization and deserialization overhead when transferring states between any pairs of functions in (unmodified) serverless workflows. To make remote memory map efficient and feasible, we co-design it with modern networking (RDMA), OS, language runtime, and serverless platform. Evaluations using real-world serverless workloads show that integrating RMMap with Knative reduces the serverless workflow execution time on Knative by up to 2.6× and improves resource utilizations by 86.3%. Xingda Wei, Fangming Lu, Zhuobin Huang, Rong Chen 0001, Mingyu Wu 0001, Haibo Chen 0001 |
ACM Trans. Comput. Syst. | 6 |
| 2024 | sIOPMP: Scalable and Efficient I/O Protection for TEEsabstractTrusted Execution Environments (TEEs), like Intel SGX/TDX, AMD SEV-SNP, ARM TrustZone/CCA, have been widely adopted in prevailing architectures. However, these TEEs typically do not consider I/O isolation (e.g., defending against malicious DMA requests) as a first-class citizen, which may degrade the I/O performance. Traditional methods like using IOMMU or software I/O can degrade throughput by at least 20% for I/O intensive workloads. The main reason is that the isolation requirements for I/O devices differ from CPU ones. This paper proposes a novel I/O isolation mechanism for TEEs, named sIOPMP (scalable I/O Physical Memory Protection), with three key features. First, we design a Multi-stage-Tree-based checker, supporting more than 1,000 hardware regions. Second, we classify the devices into hot and cold, and support unlimited devices with the mountable entry. Third, we propose a remapping mechanism to switch devices between hot and cold status for dynamic I/O workloads. Evaluation results show that sIOPMP introduces only negligible performance overhead for both benchmarks and real-world workloads, and improves 20% ~ 38% network throughput compared with IOMMU-based mechanisms or software I/O adopted in TEEs. Erhu Feng, Dahu Feng, Dong Du 0003, Yubin Xia, Siqi Zhao, Haibo Chen 0001 |
ASPLOS (2) | 7 |
| 2024 | Jade: A High-throughput Concurrent Copying Garbage CollectorabstractGarbage collection (GC) pauses are a notorious issue threatening the latency of applications. To mitigate this problem, state-of-the-art concurrent copying collectors allow GC threads to run simultaneously with application threads (mutators) in nearly all GC phases. However, the design of concurrent copying collectors does not always lead to low application latency. To this end, this work studies the behaviors of mainstream concurrent copying collectors in OpenJDK and mainly focuses on long application pauses under heavy workloads. By analyzing the design of those collectors, this work uncovers that lengthy pre-reclamation cycles (including GC phases before actual memory release), high GC frequency, and large metadata maintenance overhead are major factors for long pauses. Therefore, this work proposes Jade, a concurrent copying collector aiming to achieve both short pauses and high GC efficiency. Compared with existing collectors, Jade provides a group-wise collection mechanism to shorten pre-reclamation cycles while controlling GC frequency. It also embraces a generational heap layout and a single-phase algorithm to maximize young GC's throughput. The evaluation results on representative latency-critical applications show that Jade can reach sub-millisecond-level pauses even under heavy workloads and significantly improve applications' peak throughput compared with state-of-the-art concurrent collectors. Mingyu Wu 0001, Yude Lin, Yifeng Jin, Zhe Li 0037, Hongtao Lyu, Denghui Dong, Haibo Chen 0001, Binyu Zang |
EuroSys | 11 |
| 2024 | Characterization and Reclamation of Frozen Garbage in Managed FaaS WorkloadsabstractFaaS (function-as-a-service) is becoming a popular workload in cloud environments due to its virtues such as auto-scaling and pay-as-you-go. High-level languages like JavaScript and Java are commonly used in FaaS for programmability, but their managed runtimes complicate memory management in the cloud. This paper first observes the issue of frozen garbage, which is caused by freezing cached function instances where their threads have been paused but the unused memory (e.g., garbage) is not reclaimed due to the semantic gap between FaaS and the managed runtime. This paper presents the first characterization of the negative effects induced by frozen garbage with various functions, which uncovers that it can occupy more than half of FaaS instances' memory resources on average. To this end, this paper proposes Desiccant, a freeze-aware memory manager for managed workloads in FaaS, which reclaims idle memory resources consumed by frozen garbage from managed runtime instances and thus notably improves memory efficiency. The evaluation on various FaaS workloads shows that Desiccant can reduce FaaS functions' peak memory consumption by up to 6.72×. Such saved memory consumption allows caching more FaaS instances to reduce the frequency of cold boots (creating instances before function execution) and p99 latency by up to 4.49× and 37.5%, respectively. Ziming Zhao 0003, Mingyu Wu 0001, Haibo Chen 0001, Binyu Zang |
EuroSys | 3 |
| 2024 | Serialization/Deserialization-free State Transfer in Serverless WorkflowsabstractSerialization and deserialization play a dominant role in the state transfer time of serverless workflows, leading to substantial performance penalties during workflow execution. We identify the key reason as a lack of ability to efficiently access the (remote) memory of another function. We propose RMMap, an OS primitive for remote memory map. It allows a serverless function to directly access the memory of another function, even if it is located remotely. RMMap is the first to completely eliminates serialization and deserialization when transferring states between any pairs of functions in (unmodified) serverless workflows. To make remote memory map efficient and feasible, we co-design it with fast networking (RDMA), OS, language runtime, and serverless platform. Evaluations using real-world serverless workloads show that integrating RMMap with Knative reduces the serverless workflow execution time on Knative by up to 2.6 × and improves resource utilizations by 86.3%. Fangming Lu, Xingda Wei, Zhuobin Huang, Rong Chen 0001, Mingyu Wu 0001, Haibo Chen 0001 |
EuroSys | 6 |
| 2024 | Optimizing File Systems on Heterogeneous Memory by Integrating DRAM Cache with Virtual Memory Management
Yuxin Ren 0001, Mingrui Liu 0005, Hongbo Li 0007, Hanjun Guo, Xie Miao, Xinwei Hu, Haibo Chen 0001 |
FAST | 8 |
| 2024 | sNPU: Trusted Execution Environments on Integrated NPUsabstractTrusted execution environment (TEE) promises strong security guarantee with hardware extensions for security-sensitive tasks. Due to its numerous benefits, TEE has gained widespread adoption, and extended from CPU-only TEEs to FPGA and GPU TEE systems. However, existing TEE systems exhibit inadequate and inefficient support for an emerging (and significant) processing unit, NPU. For instance, commercial TEE systems resort to coarse-grained and static protection approaches for NPUs, resulting in notable performance degradation (10%–20%), limited (or no) multitasking capabilities, and suboptimal resource utilization. In this paper, we present a secure NPU architecture, known as sNPU, which aims to mitigate vulnerabilities inherent to the design of NPU architectures. First, sNPU proposes NPU Guarder to enhance the NPU’s access control. Second, sNPU defines new attack surfaces leveraging in-NPU structures like scratchpad and NoC, and designs NPU Isolator to guarantee the isolation of scratchpad and NoC routing. Third, our system introduces a trusted software module called NPU Monitor to minimize the software TCB. Our prototype, evaluated on FPGA, demonstrates that sNPU significantly mitigates the runtime costs associated with security checking (from upto 20% to 0%) while incurring less than 1% resource costs. Erhu Feng, Dahu Feng, Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
ISCA | 5 |
| 2024 | Microkernel Goes General: Performance and Compatibility in the HongMeng Production Microkernel
Haibo Chen 0001, Xie Miao, Ning Jia 0004, Fei Wang 0130, Hongyang Yang, Fengwei Xu |
OSDI | 1 |
| 2024 | Fast and Scalable In-network Lock Management Using Lock Fission
Hanze Zhang, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 4 |
| 2024 | Using Dynamically Layered Definite Releases for Verifying the RefFS File System
Mo Zou, Dong Du 0003, Mingkai Dong 0002, Haibo Chen 0001 |
OSDI | 4 |
| 2024 | PowerInfer: Fast Large Language Model Serving with a Consumer-grade GPUabstractThis paper introduces PowerInfer, a high-speed Large Language Model (LLM) inference engine on a personal computer (PC) equipped with a single consumer-grade GPU. The key principle underlying the design of PowerInfer is exploiting the high locality inherent in LLM inference, characterized by a power-law distribution in neuron activation. This distribution indicates that a small subset of neurons, termed hot neurons, are consistently activated across inputs, while the majority, cold neurons, vary based on specific inputs. PowerInfer exploits such an insight to design a GPU-CPU hybrid inference engine: hot-activated neurons are preloaded onto the GPU for fast access, while cold-activated neurons are computed on the CPU, thus significantly reducing GPU memory demands and CPU-GPU data transfers. PowerInfer further integrates adaptive predictors and neuron-aware sparse operators, optimizing the efficiency of neuron activation and computational sparsity. The evaluation shows that PowerInfer significantly outperforms llama.cpp by up to 11.69× while retaining model accuracy across various LLMs (including OPT-175B) on a single NVIDIA RTX 4090 GPU. For the OPT-30B model, PowerInfer achieves performance comparable to that of a high-end server-grade A100 GPU, reaching 82% of its token generation rate on a single consumer-grade RTX 4090 GPU. Yixin Song 0003, Zeyu Mi, Haotong Xie, Haibo Chen 0001 |
SOSP | 4 |
| 2024 | Brief Announcement: Work Stealing through Partial Asynchronous DelegationabstractWork stealing is a well-established technique in multi-core systems that aims to improve load balancing and task scheduling efficiency. Each processing unit maintains its own task queue, and when idle, it steals tasks from other units. Traditional work-stealing approaches face performance bottlenecks due to costly synchronization primitives and contention arising from concurrent access by both the queue owner and thieves. The state-of-the-art solution addresses these issues through coarse-grained synchronization; however, it restricts stealing in specific scenarios, thereby limiting parallelism. Ming Fu, Hermann Härtig, Haibo Chen 0001 |
SPAA | 5 |
| 2024 | CPC: Flexible, Secure, and Efficient CVM Maintenance with Confidential Procedure Calls
Zeyu Mi, Yubin Xia, Haibing Guan, Haibo Chen 0001 |
USENIX ATC | 5 |
| 2024 | Harmonizing Efficiency and Practicability: Optimizing Resource Utilization in Serverless Computing with Jiagu
Yanning Yang, Dong Du 0003, Yubin Xia, James R. Larus, Haibo Chen 0001 |
USENIX ATC | 8 |
| 2024 | WeBridge: Synthesizing Stored Procedures for Large-Scale Real-World Web ApplicationsabstractModern web applications use databases to store their data. When processing user requests, these applications retrieve and store data in the database server, which incurs network round trips. These round trips significantly increase the application's latency. Previous approaches have attempted to reduce these round trips by prefetching query results or batching database accesses. However, neither method can efficiently reduce the latency when some queries depend on previous queries' results. In real-world applications, nearly 50% of the queries depend on the result of other queries. This paper presents WeBridge, the first system capable of synthesizing stored procedures for large-scale real-world web applications. First, WeBridge employs concolic execution technique to analyze the applications and generate stored procedures for hot program paths. Then, it seamlessly integrates the stored procedures into the application by extending the database access library. Finally, it improves the efficiency of the stored procedures with speculative execution. Evaluation using real-world web applications and workloads show that WeBridge achieves up to 79.8% median latency reduction and up to 2× peak throughput. Gansen Hu, Chuzhe Tang, Jiahuan Shen, Zhiyuan Dong, Sheng Yao 0006, Haibo Chen 0001 |
Proc. ACM Manag. Data | 7 |
| 2024 | Toward an SGX-Friendly Java RuntimeabstractHardware enclaves assist in constructing a trusted execution environment (TEE) to store private code and data and thus become an appealing solution to enhance applications’ security. Nevertheless, state-of-the-art enclave implementations like Intel Software Guard Extensions (SGX) have severe performance issues and hinder the deployment of more complicated applications, especially those written in high-level languages like Java. To reduce the performance overhead, prior work has partitioned applications or rebuilt lightweight language runtimes, but they either require manual labor from developers or fail to provide full-fledged support for existing applications. This work instead providesSAJ, a runtime built upon a full-fledged Java virtual machine (JVM) and thus requires no modifications to applications.SAJfirst analyzes the performance of vanilla JVMs running in enclaves and finds that the memory management overhead and boot phase are culprits for performance slowdown. For memory management,SAJintroduces SGX-aware heap layout and garbage collector, which reduces both GC and application execution time. As for the boot phase,SAJintroduces an address-conscious launching mechanism to improve the boot performance. The evaluation under representative Java applications shows thatSAJcan reduce the overall GC pause time, application time, and boot time by 2.93$\boldsymbol{\times}$, 2.58$\boldsymbol{\times}$, and 2.73$\boldsymbol{\times}$on average, respectively. Mingyu Wu 0001, Zhe Li 0037, Haibo Chen 0001, Binyu Zang, Sanhong Li, Haitao Song 0001 |
IEEE Trans. Computers | 3 |
| 2024 | Ad Hoc Transactions through the Looking Glass: An Empirical Study of Application-Level Transactions in Web ApplicationsabstractMany transactions in web applications are constructed ad hoc in the application code. For example, developers might explicitly use locking primitives or validation procedures to coordinate critical code fragments. We refer to database operations coordinated by application code as ad hoc transactions . Until now, little is known about them. This paper presents the first comprehensive study on ad hoc transactions. By studying 91 ad hoc transactions among eight popular open-source web applications, we found that (i) every studied application uses ad hoc transactions (up to 16 per application), 71 of which play critical roles; (ii) compared with database transactions, concurrency control of ad hoc transactions is much more flexible; (iii) ad hoc transactions are error-prone—53 of them have correctness issues, and 33 of them are confirmed by developers; and (iv) ad hoc transactions have the potential for improving performance in contentious workloads by utilizing application semantics such as access patterns. Based on these findings, we discuss the implications of ad hoc transactions to the database research community. Chuzhe Tang, Qianmian Yu, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
ACM Trans. Database Syst. | 7 |
| 2024 | Locality-Preserving Graph Traversal With Split Live MigrationabstractGraph models many real-world data like social, transportation, biology, and communication data. Hence, graph traversal including multi-hop or graph-walking queries has been the key operation atop graph stores. However, since different graph traversals may touch different sets of vertices, it is hard or even impossible to have a one-size-fits-all graph partitioning algorithm that preserves access locality for various graph traversal workloads. Meanwhile, prior shard-based migration faces a dilemma such that coarse-grained migration may incur more migration overhead over increased locality benefits, while fine-grained migration usually requires excessive metadata and incurs non-trivial maintenance costs. We present Pragh, an efficient locality-preserving live graph migration scheme for graph stores in the form of key-value pairs. The key idea of Pragh is a split migration model that only migrates values physically while retaining keys in the initial location. This allows fine-grained migration while avoiding the need to maintain excessive metadata. Pragh integrates an RDMA-friendly location cache from DrTM-KV to provide fully-localized access to migrated data and further makes a novel reuse of the cache replacement policy for lightweight monitoring. Pragh further supports evolving graphs through a check-and-forward mechanism to resolve the conflict between updates and migration of graph data. Evaluations on an 8-node RDMA-capable cluster (100 Gbps) using a representative graph traversal benchmark show that Pragh can increase the throughput by up to 19× and decrease the median latency by up to 94%, thanks to split live migration that eliminates 97% remote accesses. A port of split live migration to Wukong shows up to 2.53× throughput improvement on representative workloads like LUBM-10240, thanks to a reduction of 88% remote accesses. This further confirms the effectiveness and generality of Pragh. Finally, though Pragh focuses on RDMA-based graph traversal, we show its generality by extending it to support graph traversals under traditional networking. Evaluations on the graph traversal benchmarks and graph query workloads on the same cluster but with 10 Gbps TCP/IP network further confirm its effectiveness without RDMA. Specifically, when evaluating on the LUBM-10240, Wukong-TCP with Pragh can achieve up to 1.87× throughput improvement with a 56% decrease in remote accesses. Rong Chen 0001, Xingda Wei, Xiating Xie, Haibo Chen 0001 |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2023 | BeeHive: Sub-second Elasticity for Web Services with Semi-FaaS ExecutionabstractFunction-as-a-service (FaaS), an emerging cloud computing paradigm, is expected to provide strong elasticity due to its promise to auto-scale fine-grained functions rapidly. Although appealing for applications with good parallelism and dynamic workload, this paper shows that it is non-trivial to adapt existing monolithic applications (like web services) to FaaS due to their complexity. To bridge the gap between complicated web services and FaaS, this paper proposes a runtime-based Semi-FaaS execution model, which dynamically extracts time-consuming code snippets (closures) from applications and offloads them to FaaS platforms for execution. It further proposes BeeHive, an offloading framework for Semi-FaaS, which relies on the managed runtime to provide a fallback-based execution model and addresses the performance issues in traditional offloading mechanisms for FaaS. Meanwhile, the runtime system of BeeHive selects offloading candidates in a user-transparent way and supports efficient object sharing, memory management, and failure recovery in a distributed environment. The evaluation using various web applications suggests that the Semi-FaaS execution supported by BeeHive can reach sub-second resource provisioning on commercialized FaaS platforms like AWS Lambda, which is up to two orders of magnitude better than other alternative scaling approaches in cloud computing. Ziming Zhao 0003, Mingyu Wu 0001, Binyu Zang, Haibo Chen 0001 |
ASPLOS (2) | 6 |
| 2023 | AtoMig: Automatically Migrating Millions Lines of Code from TSO to WMMabstractCPUs with weak memory-consistency models (WMMs), such as Arm and RISC-V, are rapidly increasing their market share. Porting legacy x86 applications to such CPUs requires introducing extra synchronization to prevent WMM-related concurrency bugs---a task often left to human experts. Martin Beck, Koustubha Bhat, Lazar Stricevic, Diogo Behrens, Ming Fu, Viktor Vafeiadis, Haibo Chen 0001, Hermann Härtig |
ASPLOS (2) | 8 |
| 2023 | CPS: A Cooperative Para-virtualized Scheduling Framework for Manycore MachinesabstractToday's cloud platforms offer large virtual machine (VM) instances with multiple virtual CPUs (vCPU) on manycore machines. These machines typically have a deep memory hierarchy to enhance communication between cores. Although previous researches have primarily focused on addressing the performance scalability issues caused by the double scheduling problem in virtualized environments, they mainly concentrated on solving the preemption problem of synchronization primitives and the traditional NUMA architecture. This paper specifically targets a new aspect of scalability issues caused by the absence of runtime hypervisor-internal states (RHS). We demonstrate two typical RHS problems, namely the invisible pCPU (physical CPU) load and dynamic cache group mapping. These RHS problems result in a collapse in VM performance and low CPU utilization because the guest VM lacks visibility into the latest runtime internal states maintained by the hypervisor, such as pCPU load and vCPU-pCPU mappings. Consequently, the guest VM makes inefficient scheduling decisions. Yuxuan Liu 0019, Tianqiang Xu, Zeyu Mi, Zhichao Hua 0001, Binyu Zang, Haibo Chen 0001 |
ASPLOS (4) | 6 |
| 2023 | The Gap Between Serverless Research and Real-world SystemsabstractWith the emergence of the serverless computing paradigm in the cloud, researchers have explored many challenges of serverless systems and proposed solutions such as snapshot-based booting. However, we have noticed that some of these optimizations are based on oversimplified assumptions that lead to infeasibility and hide real-world issues. This paper aims to analyze the gap between current serverless research and real-world systems from a perspective of industry, and present new observations, challenges, opportunities, and insights that may address the discrepancies. Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
SoCC | 5 |
| 2023 | Efficient Distributed Secure Memory with Migratable Merkle TreeabstractHardware-assisted enclaves with memory encryption have been widely adopted in the prevailing architectures, e.g., Intel SGX/TDX, AMD SEV, ARM CCA, etc. However, existing enclave designs fall short in supporting efficient cooperation among cross-node enclaves (i.e., multi-machines) because the range of hardware memory protection is within a single node. A naive approach is to leverage cryptography at the application level and transfer data between nodes through secure channels (e.g., SSL). However, it incurs orders of magnitude costs due to expensive encryption/decryption, especially for distributed applications with large data transfer, e.g., MapReduce and graph computing. A secure and efficient mechanism of distributed secure memory is necessary but still missing.This paper proposes Migratable Merkle Tree (MMT), a design enabling efficient distributed secure memory to support distributed confidential computing. MMT sets up an integrity forest for distributed memory on multiple nodes. It allows an enclave to securely delegate an MMT closure, which contains both data and metadata of a subtree, to a remote enclave. By reusing the memory encryption mechanisms of existing enclaves, our design achieves secure data transfer without software re-encryption. We have implemented a prototype of MMT and a trusted firmware for management, and further applied MMT to real-world distributed applications. The evaluation results show that compared with existing systems using the AES-NI instruction, MMT can achieve up to 13x speedup on data transferring, and gain 12%~58% improvement on the end-to-end performance of MapReduce and PageRank. Erhu Feng, Dong Du 0003, Yubin Xia, Haibo Chen 0001 |
HPCA | 4 |
| 2023 | Database Deadlock Diagnosis for Large-Scale ORM-Based Web ApplicationsabstractToday, most database-backed web applications depend on the database to handle deadlocks. At runtime, the database monitors the progress of transaction execution to detect deadlocks and abort affected transactions. However, this common detect-and-recover strategy is costly to performance as aborted transactions waste CPU resources.To avoid deadlock-induced performance degradation, developers aim to reorganize the application code to remove deadlocks. Unfortunately, doing so is difficult for web applications. Not only do their implementations include hundreds of thousands of LoCs, but they also use third-party object-relational mapping (ORM) frameworks which hide database access details. Consequently, it is hard for developers to accurately diagnose deadlocks.We propose WeSEER, a deadlock diagnosis tool for web applications. To overcome the opacity of ORMs, WeSEER performs concolic execution on unit tests to extract a web application’s transactions as a sequence of template statements with symbolic inputs as well as path conditions that enable the sequence. WeSEER then analyzes the extracted transactions based on fine-grained lock modeling to identify potential deadlocks and report the code locations that cause them. We implement WeSEER for Java-based (OpenJDK) web applications, and use it to analyze two popular open-source e-commerce applications, Broadleaf and Shopizer. WeSEER has successfully identified 18 potential deadlocks in Broadleaf and Shopizer. Eliminating these identified deadlocks can result in up to 39.5× and 4.5× throughput improvement for Broadleaf and Shopizer, respectively. Zhiyuan Dong, Chuanwei Yi, Jinyang Li 0001, Haibo Chen 0001 |
ICDE | 7 |
| 2023 | ISA-Grid: Architecture of Fine-grained Privilege Control for Instructions and RegistersabstractIsolation is a critical mechanism for enhancing the security of computer systems. By controlling the access privileges of software and hardware resources, isolation mechanisms can decouple software into multiple isolated components and enforce the principle of least privilege. While existing isolation systems primarily focus on memory isolation, they overlook the isolation of instruction and register resources, which we refer to as ISA (Instruction Set Architecture) resources. However, previous works have shown that exploiting ISA resources can lead to serious security problems, such as breaking the system's memory isolation property by abusing x86's CR3 register. Furthermore, existing hardware only provides privilege-level-based access control for ISA resources, which is too coarse-grained for software decoupling. For example, ARM Cortex A53 has several hundred system instructions/registers, but only four exception levels (EL0 to EL3) are provided. Additionally, more than 100 instructions/registers for system control are available in only EL1 (the kernel mode). To address this problem, this paper proposes ISA-Grid, an architecture of fine-grained privilege control for instructions and registers. ISA-Grid is a hardware extension that enables the creation of multiple ISA domains, with each domain having different privileges to access instructions and registers. The ISA domain can provide bit-level fine-grained privilege control for registers. We implemented prototypes of ISA-Grid based on two different CPU cores: 1) a RISC-V CPU core on an FPGA board and 2) an x86 CPU core on a simulator. We applied ISA-Grid to different cases, including Linux kernel decomposition and enhancing existing security systems, to demonstrate how ISA-Grid can isolate ISA resources and mitigate attacks based on abusing them. The performance evaluation results on both x86 and RISC-V platforms with real-world applications showed that ISA-Grid has negligible runtime overhead (less than 1%). Shulin Fan, Zhichao Hua 0001, Yubin Xia, Haibo Chen 0001, Binyu Zang |
ISCA | 4 |
| 2023 | Accelerating Extra Dimensional Page Walks for Confidential ComputingabstractTo support highly scalable and fine-grained computing paradigms such as microservices and serverless computing better, modern hardware-assisted confidential computing systems, such as Intel TDX and ARM CCA, introduce permission table to achieve fine-grained and scalable memory isolation among different domains. However, it also adds an extra dimension to page walks besides page tables, leading to significantly more memory references (e.g., 4 → 12 for RISC-V Sv39)1. We observe that most costs (about 75%) caused by the extra dimension of page walks are used to validate page table pages. Based on this observation, this paper proposes HPMP (Hybrid Physical Memory Protection), a hardware-software co-design (on RISC-V) that protects page table pages using segment registers and normal pages using permission tables to balance scalability and performance. We have implemented HPMP and Penglai-HPMP (a TEE system based on HPMP) on FPGA with two RISC-V cores (both in-order and out-of-order). Evaluation results show that HPMP can reduce costs by 23.1%–73.1% on BOOM and significantly improve performance on real-world applications, including serverless computing (FunctionBench) and Redis. Dong Du 0003, Bicheng Yang, Yubin Xia, Haibo Chen 0001 |
MICRO | 4 |
| 2023 | Security and Performance in the Delegated User-level Virtualization
Dingji Li, Zeyu Mi, Yuxuan Liu 0019, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
OSDI | 7 |
| 2023 | Automated Verification of Idempotence for Stateful Serverless Applications
Zhuohao Shen, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 5 |
| 2023 | Encrypted Databases Made Secure Yet Maintainable
Cheng Tan 0005, Huorong Li, Sheng Wang 0011, Zeyu Mi, Yubin Xia, Feifei Li 0001, Haibo Chen 0001 |
OSDI | 10 |
| 2023 | BWoS: Formally Verified Block-based Work Stealing for Parallel Processing
Bohdan Trach, Ming Fu, Diogo Behrens, Jonathan Schwender, Jitang Lei, Viktor Vafeiadis, Hermann Härtig, Haibo Chen 0001 |
OSDI | 10 |
| 2023 | Characterizing Off-path SmartNIC for Accelerating Distributed Systems
Xingda Wei, Rongxin Cheng 0001, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 5 |
| 2023 | No Provisioned Concurrency: Fast RDMA-codesigned Remote Fork for Serverless Computing
Xingda Wei, Fangming Lu, Tianxia Wang, Jinyu Gu 0001, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 7 |
| 2023 | UGACHE: A Unified GPU Cache for Embedding-based Deep LearningabstractThis paper presents UGache, a unified multi-GPU cache system for embedding-based deep learning (EmbDL). UGache is primarily motivated by the unique characteristics of EmbDL applications, namely read-only, batched, skewed, and predictable embedding accesses. UGache introduces a novel factored extraction mechanism that avoids bandwidth congestion to fully exploit high-speed cross-GPU interconnects (e.g., NVLink and NVSwitch). Based on a new hotness metric, UGache also provides a near-optimal cache policy that balances local and remote access to minimize the extraction time. We have implemented UGache and integrated it into two representative frameworks, TensorFlow and PyTorch. Evaluation using two typical types of EmbDL applications, namely graph neural network training and deep learning recommendation inference, shows that UGache outperforms state-of-the-art replication and partition designs by an average of 1.93× and 1.63× (up to 5.25× and 3.45×), respectively. Xiaoniu Song, Rong Chen 0001, Haibo Chen 0001 |
SOSP | 4 |
| 2023 | TreeSLS: A Whole-system Persistent Microkernel with Tree-structured State Checkpoint on NVMabstractWhole-system persistence promises simplified application deployment and near-instantaneous recovery. This can be implemented using single-level store (SLS) through periodic checkpointing of ephemeral state to persistent devices. However, traditional SLSs suffer from two main issues on checkpointing efficiency and external synchrony, which are critical for low-latency services with persistence need. Fangnuo Wu, Mingkai Dong 0002, Gequan Mo, Haibo Chen 0001 |
SOSP | 4 |
| 2023 | Bifrost: Analysis and Optimization of Network I/O Tax in Confidential Virtual Machines
Dingji Li, Zeyu Mi, Chenhui Ji, Yifan Tan, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
USENIX ATC | 7 |
| 2023 | Bridging the Gap between Relational OLTP and Graph-based OLAP
Sijie Shen, Zihang Yao, Lei Wang 0004, Longbin Lai, Li Su 0005, Rong Chen 0001, Wenyuan Yu, Haibo Chen 0001, Binyu Zang, Jingren Zhou 0001 |
USENIX ATC | 10 |
| 2023 | Proving Query Equivalence Using Linear Integer ArithmeticabstractProving the equivalence between SQL queries is a fundamental problem in database research. Existing solvers model queries using algebraic representations and convert such representations into first-order logic formulas so that query equivalence can be verified by solving a satisfiability problem. The main challenge lies in "unbounded summations", which appear commonly in a query's algebraic representation in order to model common SQL features, such as projection and aggregate functions. Unfortunately, existing solvers handle unbounded summations in an ad-hoc manner based on heuristics or syntax comparison, which severely limits the set of queries that can be supported. This paper develops a new SQL equivalence prover called SQLSolver, which can handle unbounded summations in a principled way. Our key insight is to use the theory of LIA^*, which extends linear integer arithmetic formulas with unbounded sums and provides algorithms to translate a LIA^* formula to a LIA formula that can be decided using existing SMT solvers. We augment the basic LIA^* theory to handle several complex scenarios (such as nested unbounded summations) that arise from modeling real-world queries. We evaluate SQLSolver with 359 equivalent query pairs derived from the SQL rewrite rules in Calcite and Spark SQL. SQLSolver successfully proves 346 pairs of them, which significantly outperforms existing provers. Yicun Yang, Zhenglin Xu, Haibo Chen 0001, Ruzica Piskac, Jinyang Li 0001 |
Proc. ACM Manag. Data | 6 |
| 2023 | Fine-Grained Re-Execution for Efficient Batched Commit of Distributed TransactionsabstractDistributed transaction systems incur extensive cross-node communication to execute and commit serializable OLTP transactions. As a result, their performance greatly suffers. Caching data at nodes that execute transactions can cut down remote reads. Batching transactions for validation and persistence can amortize the communication cost during committing. However, caching and batching can significantly increase the likelihood of conflicts, causing expensive aborts. In this paper, we develop Hackwrench to address the challenge of caching and batching. Instead of aborting conflicted transactions, Hackwrench tries to repair them using fine-grained re-execution by tracking the dependencies of operations among a batch of transactions. Tracked dependencies allow Hackwrench to selectively invalidate and re-execute only those operations necessary to "fix" the conflict, which is cheaper than aborting and executing an entire batch of transactions. Evaluations using TPC-C and other micro-benchmarks show that Hackwrench can outperform existing commercial and research systems including FoundationDB, Calvin, COCO, and Sundial under comparable settings. Zhiyuan Dong, Changgeng Zhao, Haibo Chen 0001, Aurojit Panda, Jinyang Li 0001 |
Proc. VLDB Endow. | 6 |
| 2023 | Understanding and Mitigating Twin Function Misuses in Operating System KernelabstractMajor operating system kernels expose twin functions, which are groups of internal primitives that have mostly common but slightly diverging semantics, to kernel modules and subsystems. They are created to make the basic primitives work well in various scenarios. Unfortunately, though being expected as solutions, twin functions may turn to problem-makers in practice. As we have observed from over 500 patches applied to upstream Linux and FreeBSD, developers choose an improper one from the twins, leaving the kernel with stability and security bugs as well as error-prone code. In this paper, we aim to understand and mitigate the twin function misuse problem. First, we provide an informative discussion on the misuse-fix patches. We find that violating the constraints from calling context, missing the primitives with better performance, lacking the necessary security enhancements, and breaking the kernel coding style are the four major factors that lead to misuse. We then identify the programming rules from the patches and apply them with a static program analysis tool extended from Coccinelle, including callgraph tainting and type-based function pointer resolving. We have 136 patches accepted by the Linux community and fix 320 new misuses in the upstream Linux kernel. Jinyu Gu 0001, Jiacheng Shi 0002, Haroran Su, Wentai Li, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
IEEE Trans. Computers | 7 |
| 2023 | Flock: Towards Multitasking Virtual Machines for Function-as-a-ServiceabstractFaaS, or function as a service, promises unprecedented cost-efficiency and elasticity thanks to its on-demand and fine-grained execution nature. However, modern FaaS platforms mainly adopt virtual machines (VMs) or containers as a computing abstraction, which incurs costs like high startup latency, large memory footprint, and high communication overhead. Multi-tasking virtual machines (MVMs), which allow co-executing multiple functions in the same managed language runtime, are appealing for FaaS due to their lightweight nature. Unfortunately, existing MVMs are not designed for FaaS. The proposed abstraction of MVMs does not provide specialized support for fine-grained, latency-sensitive functions and their chain-like execution patterns. Meanwhile, the underlying runtime still contains many global modules and lacks essential support for function-level resource accounting and isolation. To this end, this work proposesFlock, a retrofitted MVM for FaaS execution, which provides FaaS-aware abstractions namedfuncletsand enhanced runtime support for isolation.Flockis implemented atop the HotSpot JVM of OpenJDK 8. Performance evaluation shows thatFlockresults in up to three orders of magnitude performance improvement over state-of-the-art FaaS platforms like OpenWhisk while providing sufficient isolation support for FaaS functions. Ziming Zhao 0003, Mingyu Wu 0001, Xujie Cao, Haibo Chen 0001, Binyu Zang |
IEEE Trans. Computers | 4 |
| 2023 | Hawkeye: Eliminating Kernel Address Leakage in Normal Data FlowsabstractThe confidentiality of the operating system kernel addresses is crucial to keeping the kernel secure from malicious users. To avoid leaking this position, researchers have proposed various techniques to defeat the exploits ofabnormaldata flows embedded in the kernel's memory safety loopholes, such as uninitialized memory read and buffer over-reads. However, this is far from complete. The kernel address can be leaked even innormaldata flows without exploiting memory safety loopholes. We have designed a static analysis tool named Hawkeye to fill the gap. It searches for kernel address leakages in normal data flows that reveal the kernel address clues. Hawkeye precisely identifies the kernel addresses with minimum manual annotation and scales to analyze the whole kernel source code. It requires nearly ten times fewer memory resources and 40 times less inspection time than the state-of-the-art tool that analyzes kernel address leakage. Hawkeye unveils hundreds of leakages in various versioned kernels. It has even discovered 20 bugs in the mainline Linux kernel with the kernel pointer hashing mechanism already deployed and three bugs in FreeBSD. All the corresponding patches have been accepted by the developers. Zeyu Mi, Zhi Guo, Fuqian Huang, Haibo Chen 0001 |
IEEE Trans. Dependable Secur. Comput. | 4 |
| 2022 | Serverless computing on heterogeneous computersabstractExisting serverless computing platforms are built upon homogeneous computers, limiting the function density and restricting serverless computing to limited scenarios. We introduce Molecule, the first serverless computing system utilizing heterogeneous computers. Molecule enables both general-purpose devices (e.g., Nvidia DPU) and domain-specific accelerators (e.g., FPGA and GPU) for serverless applications that significantly improve function density (50% higher) and application performance (up to 34.6x). To achieve these results, we first propose XPU-Shim, a distributed shim to bridge the gap between underlying multi-OS systems (when using general-purpose devices) and our serverless runtime (i.e., Molecule). We further introduce vectorized sandbox, a sandbox abstraction to abstract hardware heterogeneity (when using domain-specific accelerators). Moreover, we also review state-of-the-art serverless optimizations on startup and communication latency and overcome the challenges to implement them on heterogeneous computers. We have implemented Molecule on real platforms with Nvidia DPUs and Xilinx FPGAs and evaluate it using benchmarks and real-world applications. Dong Du 0003, Xueqiang Jiang, Yubin Xia, Binyu Zang, Haibo Chen 0001 |
ASPLOS | 6 |
| 2022 | Affine Loop Invariant Generation via Matrix AlgebraabstractAbstract Loop invariant generation, which automates the generation of assertions that always hold at the entry of a while loop, has many important applications in program analysis and formal verification. In this work, we target an important category of while loops, namely affine while loops, that are unnested while loops with affine loop guards and variable updates. Such a class of loops widely exists in many programs yet still lacks a general but efficient approach to invariant generation. We propose a novel matrix-algebra approach to automatically synthesizing affine inductive invariants in the form of an affine inequality. The main novelty of our approach is that (i) the approach is general in the sense that it theoretically addresses all the cases of affine invariant generation over an affine while loop, and (ii) it can be efficiently automated through matrix-algebra (such as eigenvalue, matrix inverse) methods. The details of our approach are as follows. First, for the case where the loop guard is a tautology (i.e., ‘true’), we show that the eigenvalues and their eigenvectors of the matrices derived from the variable updates of the loop body encompass all meaningful affine inductive invariants. Second, for the more general case where the loop guard is a conjunction of affine inequalities, our approach completely addresses the invariant-generation problem by first establishing through matrix inverse the relationship between the invariants and a key parameter in the application of Farkas’ lemma, then solving the feasible domain of the key parameter from the inductive conditions, and finally illustrating that a finite number of values suffices for the key parameter w.r.t a tightness condition for the invariants to be generated. Experimental results show that compared with previous approaches, our approach generates much more accurate affine inductive invariants over affine while loops from existing and new benchmarks within a few seconds, demonstrating the generality and efficiency of our approach. Yucheng Ji, Hongfei Fu 0001, Bin Fang 0005, Haibo Chen 0001 |
CAV (1) | 4 |
| 2022 | HTMFS: Strong Consistency Comes for Free with Hardware Transactional Memory in Persistent Memory File Systems
Jifei Yi, Mingkai Dong 0002, Fangnuo Wu, Haibo Chen 0001 |
FAST | 4 |
| 2022 | MT^2: Memory Bandwidth Regulation on Hybrid NVM/DRAM Platforms
Jifei Yi, Benchao Dong, Mingkai Dong 0002, Ruizhe Tong, Haibo Chen 0001 |
FAST | 5 |
| 2022 | Microsecond-scale Preemption for Concurrent GPU-accelerated DNN Inferences
Mingcong Han, Hanze Zhang, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 4 |
| 2022 | Asymmetry-aware scalable lockingabstractThe pursuit of power-efficiency is popularizing asymmetric multicore processors (AMP) such as ARM big.LITTLE, Apple M1 and recent Intel Alder Lake with big and little cores. However, we find that existing scalable locks fail to scale on AMP and cause collapses in either throughput or latency, or both, because their implicit assumption of symmetric cores no longer holds. To address this issue, we propose the first asymmetry-aware scalable lock named LibASL. LibASL provides a new lock ordering guided by applications' latency requirements, which allows big cores to reorder with little cores for higher throughput under the condition of preserving applications' latency requirements. Using LibASL only requires linking the applications with it and, if latency-critical, inserting few lines of code to annotate the coarse-grained latency requirement. We evaluate LibASL in various benchmarks including five popular databases on Apple M1. Evaluation results show that LibASL can improve the throughput by up to 5 times while precisely preserving the tail latency designated by applications. Jinyu Gu 0001, Dahai Tang, Kenli Li 0001, Binyu Zang, Haibo Chen 0001 |
PPoPP | 6 |
| 2022 | Ad Hoc Transactions in Web Applications: The Good, the Bad, and the UglyabstractMany transactions in web applications are constructed ad hoc in the application code. For example, developers might explicitly use locking primitives or validation procedures to coordinate critical code fragments. We refer to database operations coordinated by application code as ad hoc transactions. Until now, little is known about them. This paper presents the first comprehensive study on ad hoc transactions. By studying 91 ad hoc transactions among 8 popular open-source web applications, we find that (i) every studied application uses ad hoc transactions (up to 16 per application), 71 of which play critical roles; (ii) compared with database transactions, concurrency control of ad hoc transactions is much more flexible; (iii) ad hoc transactions are error-prone-53 of them have correctness issues, and 33 of them are confirmed by developers; and (iv) ad hoc transactions have the potential to improve performance in contentious workloads by utilizing application semantics such as access patterns. Based on the findings, we discuss the implications of ad hoc transactions to the database research community. Chuzhe Tang, Qianmian Yu, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
SIGMOD Conference | 7 |
| 2022 | WeTune: Automatic Discovery and Verification of Query Rewrite RulesabstractQuery rewriting transforms a relational database query into an equivalent but more efficient one, which is crucial for the performance of database-backed applications. Such rewriting relies on pre-specified rewrite rules. In existing systems, these rewrite rules are discovered through manual insights and accumulate slowly over the years. In this paper, we present WeTune, a rule generator that automatically discovers new rewrite rules. Inspired by compiler superoptimization, WeTune enumerates all valid logical query plans up to a certain size and tries to discover equivalent plans that could potentially lead to more efficient rewrites. The core challenge is to determine which set of conditions (aka constraints) allows one to prove the equivalence between a pair of query plans. We address this challenge by enumerating combinations of "interesting" constraints that relate tables and their attributes between each pair of queries. We also propose a new SMT-based verifier to verify the equivalence of a query pair under different enumerated constraints. To evaluate the usefulness of rewrite rules discovered by WeTune, we apply them on the SQL queries collected from the 20 most popular open-source web applications on GitHub. WeTune successfully optimizes 247 queries that existing databases cannot optimize, resulting in substantial performance improvements. Yicun Yang, Gansen Hu, Chuzhe Tang, Haibo Chen 0001, Jinyang Li 0001 |
SIGMOD Conference | 8 |
| 2022 | EPK: Scalable and Efficient Memory Protection Keys
Jinyu Gu 0001, Wentai Li, Yubin Xia, Haibo Chen 0001 |
USENIX ATC | 5 |
| 2022 | Zero-Change Object Transmission for Distributed Big Data Analytics
Mingyu Wu 0001, Shuaiwei Wang, Haibo Chen 0001, Binyu Zang |
USENIX ATC | 3 |
| 2022 | BBQ: A Block-based Bounded Queue for Exchanging Data and Profiling
Diogo Behrens, Ming Fu, Lilith Oberhauser, Jonas Oberhauser, Jitang Lei, Hermann Härtig, Haibo Chen 0001 |
USENIX ATC | 9 |
| 2022 | KRCORE: A Microsecond-scale RDMA Control Plane for Elastic Computing
Xingda Wei, Fangming Lu, Rong Chen 0001, Haibo Chen 0001 |
USENIX ATC | 4 |
| 2022 | A Hardware-Software Co-design for Efficient Intra-Enclave Isolation
Jinyu Gu 0001, Bojun Zhu, Wentai Li, Yubin Xia, Haibo Chen 0001 |
USENIX Security Symposium | 6 |
| 2022 | In pursuit of a trusted computing base: the journey through virtualization (keynote)abstractA common approach to securing computing systems is identifying and securing the trusted computing base (TCB), which enforces the overall security policies under a particular threat model. For the sake of whole-system security, the TCB should be small enough to be trustworthy, be capable of mediating critical operations to enforce security policies and have a minimized attacking surface. Haibo Chen 0001 |
VEE | 1 |
| 2022 | Unified Enclave Abstraction and Secure Enclave Migration on Heterogeneous Security Architectures
Jinyu Gu 0001, Yubin Xia, Haibo Chen 0001, Chenggang Qin, Zhengyu He |
J. Comput. Sci. Technol. | 4 |
| 2022 | General and Fast Inter-Process Communication via Bypassing Privileged SoftwareabstractIPC (Inter-Process Communication) is a widely used operating system (OS) technique that allows one process to invoke the services of other processes. The IPC participants may share the same OS (internal IPC) or use a separate OS (external IPC). Even though a long line of researches has optimized the performance of IPC, it is still a major factor of the run-time overhead of IPC-intensive applications. Furthermore, there is no one-size-fits-all solution for both internal and external IPC. This paper presents SkyBridge, a general communication technique designed and optimized for both types of IPC. SkyBridge requires no involvement of the privileged software (the kernel or the hypervisor) and enables a process to directly switch to the virtual address space of the target process, regardless of whether they are running on the same OS or not. We have implemented SkyBridge on two microkernels (seL4 and Google Zircon) as well as an open-source serverless hypervisor (Firecracker). The evaluation results show that SkyBridge improves the latency of internal IPC and external IPC by up to 19.6x and 1265.7x, respectively. Zeyu Mi, Haoqi Zhuang, Binyu Zang, Haibo Chen 0001 |
IEEE Trans. Computers | 4 |
| 2022 | Colony: A Privileged Trusted Execution Environment With ExtensibilityabstractThe code base of system software is growing fast, which results in a large number of vulnerabilities: for example, 296 CVEs have been found in Xen hypervisor and 2195 CVEs in Linux kernel. To reduce the reliance on the trust of system software, many researchers try to provide trusted execution environments (TEEs), which can be categorized into two types: non-privileged TEEs and privileged TEEs. Non-privileged TEEs (e.g., Intel SGX) are extensible, but cannot protect security services like virtual machine introspection (VMI) due to the lack of system-level semantics. On the contrary, privileged TEEs (e.g., the secure world of ARM TrustZone) have system-level semantics, but any additional service implemented in the privileged TEE directly increases the TCB of the entire system. In this article, we propose a new design of TEE to support system-level security services and achieve better extensibility with a small TCB. Each TEE instance of the proposed design is named aColony. Specifically, we introduce asecure monitorfor isolation and capability management. EachColonyis assigned capabilities to access only necessary system-level semantics. We use the new TEE to build four security services, including secure device accessing, VMI tools, a system call tracer, and a much more complex service to virtualize ARM TrustZone with multipleColonies. We have implemented the system on ARMv7 and ARMv8 platforms, in Xen hypervisor and Linux kernel, and perform a detailed evaluation to show its efficiency.11.This paper is an extended version of the conference paper published in USENIX Security’17: vTZ: Virtualizing ARM TrustZone[29]. A brief summary of differences is in Section8. Yubin Xia, Zhichao Hua 0001, Yang Yu 0002, Jinyu Gu 0001, Haibo Chen 0001, Binyu Zang, Haibing Guan |
IEEE Trans. Computers | 5 |
| 2022 | The Concurrent Learned Indexes for Multicore Data StorageabstractWe present XIndex, which is a concurrent index library and designed for fast queries. It includes a concurrent ordered index (XIndex-R) and a concurrent hash index (XIndex-H). Similar to a recent proposal of the learned index, the indexes in XIndex use learned models to optimize index efficiency. Compared with the learned index, for the ordered index, XIndex-R is able to handle concurrent writes effectively and adapts its structure according to runtime workload characteristics. For the hash index, XIndex-H is able to avoid the resize operation blocking concurrent writes. Furthermore, the indexes in XIndex can index string keys much more efficiently than the learned index. We demonstrate the advantages of XIndex with YCSB, TPC-C (KV), which is a TPC-C-inspired benchmark for key-value stores, and micro-benchmarks. Compared with ordered indexes of Masstree and Wormhole, XIndex-R achieves up to 3.2× and 4.4× performance improvement on a 24-core machine. Compared with hash indexes of Intel TBB HashMap, XIndex-H achieves up to 3.1× speedup. The performance further improves by 91% after adding the optimizations on indexing string keys. The library is open-sourced. 1 Haibo Chen 0001, Youyun Wang, Chuzhe Tang |
ACM Trans. Storage | 2 |
| 2022 | DrTM+B: Replication-Driven Live Reconfiguration for Fast and General Distributed Transaction ProcessingabstractRecent in-memory database systems leverage advanced hardware features like RDMA to provide transaction processing at millions of transactions per second. Distributed transaction processing systems can scale to even higher rates, especially for partitionable workloads. Unfortunately, it is challenging to sustain such high rates during live reconfiguration of partitions. In this article, we observe that state-of-the-art approaches would cause notable performance disruption under fast transaction processing. To this end, this article presents DrTM+B, a live reconfiguration approach that seamlessly repartitions data with little performance disruption to running transactions. DrTM+B uses a pre-copy-based mechanism to avoid excessive data transfer by leveraging common properties in recent transactional systems. DrTM+B's reconfiguration plans reduce data movement by preferring existing data replicas, while copying data from multiple replicas asynchronously and in parallel. It further reuses the log forwarding mechanism in primary-backup replication to seamlessly track and forward dirty database tuples and avoids iterative copying costs. To commit a reconfiguration plan in a transactional-safe way, DrTM+B designs a cooperative commit protocol for synchronization of data and state among replicas. To boost the performance during data migration, DrTM+B combines the pre-copy and post-copy schemes to propose a hybrid copy scheme. The live reconfiguration approach can also coexist with fault-tolerance mechanisms of primary-backup replication to provide high availability. Evaluation on a working system based on DrTM+R with 3-way replication using typical OLTP workloads like TPC-C and SmallBank shows that DrTM+B incurs only very small performance degradation during live reconfiguration and provides high availability. Both the reconfiguration time and the downtime are also minimal. Sijie Shen, Xingda Wei, Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2022 | Wukong+G: Fast and Concurrent RDF Query Processing Using RDMA-Assisted GPU Graph ExplorationabstractRDF graph has been increasingly used to store and represent information shared over the Web, including social graphs and knowledge bases. With the increasing scale of RDF graphs and the concurrency level of SPARQL queries, current RDF systems are confronted with inefficient concurrent query processing on massive data parallelism. The situation becomes more severe in the face of data-intensive queries (aka heavy query), which usually lead to suboptimal response time (latency) as well as throughput collapse. In this article, we present Wukong+G, the first graph-based distributed RDF query processing system that efficiently exploits the hybrid parallelism of CPU and GPU. Wukong+G is made fast and concurrent with four key designs. First, Wukong+G tames massive random memory accesses in graph exploration by efficiently mapping data between CPU and GPU for latency hiding, including a set of techniques like query-aware prefetching, pattern-aware pipelining and fine-grained swapping. Second, Wukong+G scales up by introducing a GPU-friendly RDF store to support RDF graphs exceeding GPU memory size, by using techniques like predicate-based grouping, pairwise caching and look-ahead replacing to narrow the gap between host and device memory scale. Third, Wukong+G scales out through a communication layer that decouples the transferring process for query metadata and intermediate results, and further leverages both native and GPUDirect RDMA to enable efficient communication on a CPU/GPU cluster. Finally, Wukong+G simultaneously runs multiple queries on a single GPU to improve overall throughput and fully exploits hardware heterogeneity (CPU/GPU) by scheduling a single query on CPU and GPU adaptively. We have implemented Wukong+G by extending a state-of-the-art distributed RDF store (i.e., Wukong) with distributed GPU support. Evaluation on a heterogeneous CPU/GPU cluster with RDMA-capable network shows that Wukong+G outperforms Wukong by up to 9.0× (from 2.3×) and scales well on 10 GPU cards for heavy queries. Wukong+G can also improve both latency and throughput by more than one order of magnitude when facing hybrid workloads. Zihang Yao, Rong Chen 0001, Binyu Zang, Haibo Chen 0001 |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2021 | VSync: push-button verification and optimization for synchronization primitives on weak memory modelsabstractImplementing highly efficient and correct synchronization primitives on modern Weak Memory Model (WMM) architectures, such as ARM and RISC-V, is very difficult even for human experts. We introduce VSync, a framework to assist in optimizing and verifying synchronization primitives on WMM architectures. VSync automatically detects missing and overly-constrained barriers, while ensuring essential safety and liveness properties. VSync relies on two novel techniques: 1) Adaptive Linear Relaxation (ALR), which utilizes barrier monotonicity and speculation to quickly find a correct maximally-relaxed barrier combination; and 2) Await Model Checking (AMC), which for the first time makes it possible to check termination of await loops on WMMs. Jonas Oberhauser, Rafael Lourenco de Lima Chehab, Diogo Behrens, Ming Fu, Antonio Paolillo, Lilith Oberhauser, Koustubha Bhat, Yuzhong Wen, Haibo Chen 0001, Viktor Vafeiadis |
ASPLOS | 9 |
| 2021 | Third-Eye: Practical and Context-Aware Inference of Causal Relationship Violations in Commodity Kernels
Chuhong Yuan, Dong Du 0003, Haibo Chen 0001 |
DIMVA | 3 |
| 2021 | Bridging the performance gap for copy-based garbage collectors atop non-volatile memoryabstractNon-volatile memory (NVM) is expected to revolutionize the memory hierarchy with not only non-volatility but also large capacity and power efficiency. Memory-intensive applications, which are often written in managed languages like Java, would run atop NVM for better cost-efficiency. Unfortunately, such applications may suffer from performance slowdown due to the unmanaged performance gap between DRAM and NVM. This paper studies the performance of a series of Java applications atop NVM and uncovers that the copy-based garbage collection (GC), the mainstream GC algorithm, is an NVM-unfriendly component in JVM. GC becomes a severe performance bottleneck especially when memory resource is scarce. To this end, this paper analyzes the memory behavior of copy-based GC and uncovers that its inappropriate usage on NVM bandwidth is the main reason for its performance slowdown. This paper thus proposes two NVM-aware optimizations: write cache and header map, to effectively manage the limited NVM bandwidth. It further improves the GC performance with hardware instructions like non-temporal memory accesses and prefetching. We have implemented the optimizations on two mainstream copy-based garbage collectors in OpenJDK. Evaluation with various memory-intensive applications shows that our optimizations can improve the GC time, application execution time, application tail latency by up to 2.69×, 11.0%, and 5.09×, respectively. Yanfei Yang, Mingyu Wu 0001, Haibo Chen 0001, Binyu Zang |
EuroSys | 3 |
| 2021 | Confidential Serverless Made Efficient with Plug-In EnclavesabstractServerless computing has become a fact of life on modern clouds. A serverless function may process sensitive data from clients. Protecting such a function against untrusted clouds using hardware enclave is attractive for user privacy. In this work, we run existing serverless applications in SGX enclave, and observe that the performance degradation can be as high as 5.6× to even 422.6×. Our investigation identifies these slowdowns are related to architectural features, mainly from page-wise enclave initialization. Leveraging insights from our overhead analysis, we revisit SGX hardware design and make minimal modification to its enclave model. We extend SGX with a new primitive—region-wise plugin enclaves that can be mapped into existing enclaves to reuse attested common states amongst functions. By remapping plugin enclaves, an enclave allows in-situ processing to avoid expensive data movement in a function chain. Experiments show that our design reduces the enclave function latency by 94.74-99.57%, and boosts the autoscaling throughput by 19-179×. Yubin Xia, Haibo Chen 0001 |
ISCA | 3 |
| 2021 | Unifying Timestamp with Transaction Ordering for MVCC with Decentralized Scalar Timestamp
Xingda Wei, Rong Chen 0001, Haibo Chen 0001, Zhenhan Gong, Binyu Zang |
NSDI | 3 |
| 2021 | Scalable Memory Protection in the PENGLAI Enclave
Erhu Feng, Dong Du 0003, Bicheng Yang, Xueqiang Jiang, Yubin Xia, Binyu Zang, Haibo Chen 0001 |
OSDI | 8 |
| 2021 | Bringing Decentralized Search to Decentralized Services
Jinhao Zhu, Tianxu Zhang, Cheng Tan 0005, Yubin Xia, Sebastian Angel, Haibo Chen 0001 |
OSDI | 7 |
| 2021 | Retrofitting High Availability Mechanism to Tame Hybrid Transaction/Analytical Processing
Sijie Shen, Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
OSDI | 3 |
| 2021 | Polyjuice: High-Performance Transactions via Learned Concurrency Control
Conrad Christensen, Haibo Chen 0001, Jinyang Li 0001 |
OSDI | 6 |
| 2021 | CLoF: A Compositional Lock Framework for Multi-level NUMA SystemsabstractEfficient locking mechanisms are extremely important to support large-scale concurrency and exploit the performance promises of many-core servers. Implementing an efficient, generic, and correct lock is very challenging due to the differences between various NUMA architectures. The performance impact of architectural/NUMA hierarchy differences between x86 and Armv8 are not yet fully explored, leading to unexpected performance when simply porting NUMA-aware locks from x86 to Armv8. Moreover, due to the Armv8 Weak Memory Model (WMM), correctly implementing complicated NUMA-aware locks is very difficult. Rafael Lourenco de Lima Chehab, Antonio Paolillo, Diogo Behrens, Ming Fu, Hermann Härtig, Haibo Chen 0001 |
SOSP | 6 |
| 2021 | TwinVisor: Hardware-isolated Confidential Virtual Machines for ARMabstractConfidential VM, which offers an isolated execution environment for cloud tenants with limited trust in the cloud provider, has recently been deployed in major clouds such as AWS and Azure. However, while ARM has become increasingly popular in cloud data centers, existing confidential VM designs mainly leverage specialized x86 hardware extensions (e.g., AMD SEV and Intel TDX) to isolate VMs upon a shared hypervisor. Dingji Li, Zeyu Mi, Yubin Xia, Binyu Zang, Haibo Chen 0001, Haibing Guan |
SOSP | 5 |
| 2021 | Characterizing and Optimizing Remote Persistent Memory with RDMA and NVM
Xingda Wei, Xiating Xie, Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
USENIX ATC | 4 |
| 2021 | TZ-Container: protecting container from untrusted OS with ARM TrustZone
Zhichao Hua 0001, Yang Yu 0002, Jinyu Gu 0001, Yubin Xia, Haibo Chen 0001, Binyu Zang |
Sci. China Inf. Sci. | 5 |
| 2021 | Revisiting Persistent Indexing Structures on Intel Optane DC Persistent Memory
Heng Bu, Mingkai Dong 0002, Jifei Yi, Binyu Zang, Haibo Chen 0001 |
J. Comput. Sci. Technol. | 5 |
| 2021 | Enclavisor: A Hardware-Software Co-Design for Enclaves on Untrusted CloudabstractThe releases of Intel SGX and AMD SEV mark the transition of hardware-based enclaves from research prototypes to mainstream products. These two paradigms of secure enclaves are attractive to both the cloud providers and tenants, since security is one of the key pillars of cloud computing. However, it is found that current hardware-defined enclaves are not flexible and efficient enough for the cloud. For example, although SGX can provide strong memory protection with both confidentiality and integrity, the size of secure memory is tightly restricted. On the contrary, SEV enables enclaves to use more memory but has critical security flaws due to no memory integrity protection. Meanwhile, both types of enclaves have relatively long booting latency, which makes them not suitable for short-term tasks like serverless workloads. After an in-depth analysis, we find that there are some intrinsic tradeoffs between security and performance due to the limitation of architectural designs. In this article, we investigate a novel hardware-software co-design of enclaves to meet the requirements of cloud by placing a part of the logic of the enclave mechanism into a lightweight software layer, named Enclavisor, to achieve a balance between security, performance, and flexibility. Specifically, our implementation is based on AMD's SEV and, Enclavisor is placed in the guest kernel mode of SEV's secure virtual machines. Enclavisor inherently supports memory encryption with no memory limitation and also achieves efficient booting, multiple enclave granularities, and post-launch remote attestation. Meanwhile, we also propose hardware/software solutions to mitigate the security flaws caused by the lack of memory integrity. We implement a prototype of Enclavisor on an AMD SEV server. The experiments on both micro-benchmarks and application benchmarks show that enclaves on Enclavisor can have close-to-native performance. Jinyu Gu 0001, Xinyue Wu, Bojun Zhu, Yubin Xia, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
IEEE Trans. Computers | 7 |
| 2021 | Boosting Inter-process Communication with Architectural SupportabstractIPC (inter-process communication) is a critical mechanism for modern OSes, including not only microkernels such as seL4, QNX, and Fuchsia where system functionalities are deployed in user-level processes, but also monolithic kernels like Android where apps frequently communicate with plenty of user-level services. However, existing IPC mechanisms still suffer from long latency. Previous software optimizations of IPC usually cannot bypass the kernel that is responsible for domain switching and message copying/remapping across different address spaces; hardware solutions such as tagged memory or capability replace page tables for isolation, but usually require non-trivial modification to existing software stack to adapt to the new hardware primitives. In this article, we propose a hardware-assisted OS primitive, XPC (Cross Process Call), for efficient and secure synchronous IPC. XPC enables direct switch between IPC caller and callee without trapping into the kernel and supports secure message passing across multiple processes without copying. We have implemented a prototype of XPC based on the ARM AArch64 with Gem5 simulator and RISC-V architecture with FPGA boards. The evaluation shows that XPC can reduce IPC call latency from 664 to 21 cycles, 14×–123× improvement on Android Binder (ARM), and improve the performance of real-world applications on microkernels by 1.6× on Sqlite3. Yubin Xia, Dong Du 0003, Zhichao Hua 0001, Binyu Zang, Haibo Chen 0001, Haibing Guan |
ACM Trans. Comput. Syst. | 5 |
| 2021 | XStore: Fast RDMA-Based Ordered Key-Value Store Using Remote Learned CacheabstractRDMA ( Remote Direct Memory Access ) has gained considerable interests in network-attached in-memory key-value stores. However, traversing the remote tree-based index in ordered key-value stores with RDMA becomes a critical obstacle, causing an order-of-magnitude slowdown and limited scalability due to multiple round trips. Using index cache with conventional wisdom—caching partial data and traversing them locally—usually leads to limited effect because of unavoidable capacity misses, massive random accesses, and costly cache invalidations. We argue that the machine learning (ML) model is a perfect cache structure for the tree-based index, termed learned cache . Based on it, we design and implement XStore , an RDMA-based ordered key-value store with a new hybrid architecture that retains a tree-based index at the server to perform dynamic workloads (e.g., inserts) and leverages a learned cache at the client to perform static workloads (e.g., gets and scans). The key idea is to decouple ML model retraining from index updating by maintaining a layer of indirection from logical to actual positions of key-value pairs. It allows a stale learned cache to continue predicting a correct position for a lookup key. XStore ensures correctness using a validation mechanism with a fallback path and further uses speculative execution to minimize the cost of cache misses. Evaluations with YCSB benchmarks and production workloads show that a single XStore server can achieve over 80 million read-only requests per second. This number outperforms state-of-the-art RDMA-based ordered key-value stores (namely, DrTM-Tree, Cell, and eRPC+Masstree) by up to 5.9× (from 3.7×). For workloads with inserts, XStore still provides up to 3.5× (from 2.7×) throughput speedup, achieving 53M reqs/s. The learned cache can also reduce client-side memory usage and further provides an efficient memory-performance tradeoff, e.g., saving 99% memory at the cost of 20% peak throughput. Xingda Wei, Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
ACM Trans. Storage | 3 |
| 2020 | Catalyzer: Sub-millisecond Startup for Serverless Computing with Initialization-less BootingabstractServerless computing promises cost-efficiency and elasticity for high-productive software development. To achieve this, the serverless sandbox system must address two challenges: strong isolation between function instances, and low startup latency to ensure user experience. While strong isolation can be provided by virtualization-based sandboxes, the initialization of sandbox and application causes non-negligible startup overhead. Conventional sandbox systems fall short in low-latency startup due to their application-agnostic nature: they can only reduce the latency of sandbox initialization through hypervisor and guest kernel customization, which is inadequate and does not mitigate the majority of startup overhead. Dong Du 0003, Yubin Xia, Binyu Zang, Guanglu Yan, Chenggang Qin, Qixuan Wu, Haibo Chen 0001 |
ASPLOS | 8 |
| 2020 | Characterizing serverless platforms with serverlessbenchabstractServerless computing promises auto-scalability and cost-efficiency (in "pay-as-you-go" manner) for high-productive software development. Because of its virtue, serverless computing has motivated increasingly new applications and services in the cloud. This, however, also presents new challenges including how to efficiently design high-performance serverless platforms and how to efficiently program on the platforms. Dong Du 0003, Yubin Xia, Binyu Zang, Ziqian Lu, Pingchao Yang, Chenggang Qin, Haibo Chen 0001 |
SoCC | 9 |
| 2020 | Fast RDMA-based Ordered Key-Value Store using Remote Learned Cache
Xingda Wei, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 3 |
| 2020 | No barrier in the road: a comprehensive study and optimization of ARM barriersabstractIn this paper, we present the first comprehensive performance characterization and optimization of ARM barriers on both mobile and server platforms. We draw a set of observations through several abstracted models and validate them in scenarios where barriers are intensively used. We find that (1) order-preserving approaches without involving the bus significantly outperform other approaches, and (2) the tremendous overhead mostly comes from barriers strictly following remote memory references. Usually, such barriers are inserted when threads are exchanging data, and they are used to ensure the relative order between storing the data to a shared buffer and setting a flag to inform the receiver. Based on the observations, we propose a new mechanism, Pilot, to remove such barriers by leveraging the single-copy atomicity to piggyback the flag with the data. Applying Pilot only requires minor changes to applications and provides 10%-360% performance improvements in multiple benchmarks, which are close to the ideal performance without barriers. Binyu Zang, Haibo Chen 0001 |
PPoPP | 3 |
| 2020 | XIndex: a scalable learned index for multicore data storageabstractWe present XIndex, a concurrent ordered index designed for fast queries. Similar to a recent proposal of the learned index, XIndex uses learned models to optimize index efficiency. Comparing with the learned index, XIndex is able to effectively handle concurrent writes without affecting the query performance by leveraging fine-grained synchronization and a new compaction scheme, Two-Phase Compaction. Furthermore, XIndex adapts its structure according to run-time workload characteristics to support dynamic workload. We demonstrate the advantages of XIndex with both YCSB and TPC-C (KV), a TPC-C variant for key-value stores. XIndex achieves up to 3.2X and 4.4X performance improvement comparing with Masstree and Wormhole, respectively, on a 24-core machine, and it is open-sourced1. Chuzhe Tang, Youyun Wang, Zhiyuan Dong, Gansen Hu, Haibo Chen 0001 |
PPoPP | 7 |
| 2020 | Harmonizing Performance and Isolation in Microkernels with Efficient Intra-kernel Isolation and Communication
Jinyu Gu 0001, Xinyue Wu, Wentai Li, Zeyu Mi, Yubin Xia, Haibo Chen 0001 |
USENIX ATC | 7 |
| 2020 | Platinum: A CPU-Efficient Concurrent Garbage Collector for Tail-Reduction of Interactive Services
Mingyu Wu 0001, Ziming Zhao 0003, Yanfei Yang, Haibo Chen 0001, Binyu Zang, Haibing Guan, Sanhong Li, Chuansheng Lu, Tongbao Zhang |
USENIX ATC | 5 |
| 2020 | (Mostly) Exitless VM Protection from Untrusted Hypervisor through Disaggregated Nested Virtualization
Zeyu Mi, Dingji Li, Haibo Chen 0001, Binyu Zang, Haibing Guan |
USENIX Security Symposium | 3 |
| 2020 | GCPersist: an efficient GC-assisted lazy persistency framework for resilient Java applications on NVMabstractThe emergence of non-volatile memory (NVM) has stimulated broad interests in building efficient and persistent systems and programming models. However, most prior work is built atop an eager persistency model, which mandates applications to persist their data as soon as possible and thus causes considerable overhead. Besides, prior work mainly focuses on native languages and overlooks the interactions with the managed runtime system in a high-level language. Such issues limit the scope of applications on NVM, especially for resilient applications that already have reliable but inefficient recovery mechanisms. This paper proposes GCPersist, an easy-to-use NVM programming framework atop a lazy persistency model to defer the persistency of user data for better performance, with the assistance of the garbage collection (GC) module in the managed runtime. GCPersist further provides differentiated persistency modes to reduce the runtime overhead. We have implemented GCPersist on the HotSpot JVM of OpenJDK and the evaluation results on Intel Optane DC persistent memory devices show that GCPersist performs well with resilient applications (like Spark) by reducing the recovery time by up to 3.26X while introducing only 1--6% runtime overhead during normal execution. Mingyu Wu 0001, Haibo Chen 0001, Binyu Zang, Haibing Guan |
VEE | 2 |
| 2020 | Optimistic Transaction Processing in Deterministic Database
Zhiyuan Dong, Chuzhe Tang, Haibo Chen 0001, Binyu Zang |
J. Comput. Sci. Technol. | 5 |
| 2020 | Secure and Efficient Control Data Isolation with Register-Based Data CloakingabstractAttackers often exploit memory corruption vulnerabilities to overwrite control data and further gain control over victim applications. Despite progress in advanced defensive techniques, such attacks still remain a major security threat. In this article, we present Niffler, a new technique that provides lightweight and practical defense against such attacks. Niffler eliminates the threat of memory corruption over control data by cloaking all control data in registers along its execution and only spilling them into a dedicated read-only area in memory upon a shortage of registers. As an attacker cannot directly overwrite any register or read-only memory pages, no direct memory corruption on control data is feasible. Niffler is made efficient by compactly encoding return address, balancing register allocation, dynamically determining register spilling and leveraging the recent Intel Memory Protection Extensions (MPX) for control data lookup during register restoring. We implement Niffler based on LLVM and conduct a set of evaluations on SPECCPU 2006 and real-world applications. Performance evaluation shows that Niffler introduces an average of only 6.3 percent overhead on SPECCPU 2006 C programs and an average of 28.2 percent overhead on C++ programs. Xiayang Wang, Fuqian Huang, Haibo Chen 0001 |
IEEE Trans. Computers | 3 |
| 2020 | CPU Elasticity to Mitigate Cross-VM Runtime MonitoringabstractIn this paper, We present a new technique that offers lightweight, general, and elastic protection against Crum (Cross-VM runtime monitoring) attacks. Our protection, called Crease (CPU Resource Elasticity as a Service), enables a VM (called principal) to purchase a higher clock rate from the cloud, through lowering the frequency of a malicious VM (called peer), to support its security-critical operations within a short period. During that period, the weakened peer becomes unable to catch up with the pace of the strengthened principal, therefore losing the capability to effectively collect its sensitive information. In the meantime, our approach can also make up for the performance impact on the peer through refunding schedule credits or service credits, in line with the service level agreement of today's cloud. At the center of our design is the novel application of on-demand frequency scaling and schedule quantum randomization, together with a situation-awareness mechanism that dynamically assesses the security risk posed by the peer. We analyzed the security guarantee of our design, implemented a prototype and evaluated it on a well-known Crum attack (an LLC side-channel attack) and various workloads. Our study shows that Crease is effective at protecting the principal, with only a small impact on the peer's operations. Zeyu Mi, Haibo Chen 0001, Yinqian Zhang, ShuangHe Peng, XiaoFeng Wang 0001, Michael K. Reiter |
IEEE Trans. Dependable Secur. Comput. | 2 |
| 2019 | SkyBridge: Fast and Secure Inter-Process Communication for MicrokernelsabstractMicrokernels have been extensively studied over decades. However, IPC (Inter-Process Communication) is still a major factor of runtime overhead, where fine-grained isolation usually leads to excessive IPCs. The main overhead of IPC comes from the involvement of the kernel, which includes the direct cost of mode switches and address space changes, as well as indirect cost due to the pollution of processor structures. Zeyu Mi, Dingji Li, Haibo Chen 0001 |
EuroSys | 5 |
| 2019 | XPC: architectural support for secure and efficient cross process callabstractMicrokernel has many intriguing features like security, fault-tolerance, modularity and customizability, which recently stimulate a resurgent interest in both academia and industry (including seL4, QNX and Google's Fuchsia OS). However, IPC (inter-process communication), which is known as the Achilles' Heel of microkernels, is still the major factor for the overall (poor) OS performance. Besides, IPC also plays a vital role in monolithic kernels like Android Linux, as mobile applications frequently communicate with plenty of user-level services through IPC. Previous software optimizations of IPC usually cannot bypass the kernel which is responsible for domain switching and message copying/remapping; hardware solutions like tagged memory or capability replace page tables for isolation, but usually require non-trivial modification to existing software stack to adapt the new hardware primitives. In this paper, we propose a hardware-assisted OS primitive, XPC (Cross Process Call), for fast and secure synchronous IPC. XPC enables direct switch between IPC caller and callee without trapping into the kernel, and supports message passing across multiple processes through the invocation chain without copying. The primitive is compatible with the traditional address space based isolation mechanism and can be easily integrated into existing microkernels and monolithic kernels. We have implemented a prototype of XPC based on a Rocket RISC-V core with FPGA boards and ported two microkernel implementations, seL4 and Zircon, and one monolithic kernel implementation, Android Binder, for evaluation. We also implement XPC on GEM5 simulator to validate the generality. The result shows that XPC can reduce IPC call latency from 664 to 21 cycles, up to 54.2x improvement on Android Binder, and improve the performance of real-world applications on microkernels by 1.6x on Sqlite3 and 10x on an HTTP server with minimal hardware resource cost. Dong Du 0003, Zhichao Hua 0001, Yubin Xia, Binyu Zang, Haibo Chen 0001 |
ISCA | 5 |
| 2019 | On the Parallels between Paxos and Raft, and how to Port OptimizationsabstractIn recent years, Raft has surpassed Paxos to become the more popular consensus protocol in the industry. While many researchers have observed the similarities between the two protocols, no one has shown how Raft and Paxos are formally related to each other. In this paper, we present a formal mapping between Raft and Paxos, and use this knowledge to port a certain class of optimizations from Paxos to Raft. In particular, our porting method can automatically generate an optimized protocol specification with guaranteed correctness. As case studies, we port and evaluate two optimizations, Mencius and Paxos Quorum Lease to Raft. Changgeng Zhao, Shuai Mu 0001, Haibo Chen 0001, Jinyang Li 0001 |
PODC | 4 |
| 2019 | Performance and protection in the ZoFS user-space NVM file systemabstractNon-volatile memory (NVM) can be directly accessed in user space without going through the kernel. This encourages several recent studies on building user-space NVM file systems. However, for the sake of file system protection, none of the existing file systems grant user-space file system libraries with direct control over both metadata and data of the NVM, leaving fast NVM resources underexploited. Mingkai Dong 0002, Heng Bu, Jifei Yi, Benchao Dong, Haibo Chen 0001 |
SOSP | 5 |
| 2019 | Using concurrent relational logic with helpers for verifying the AtomFS file systemabstractConcurrent file systems are pervasive but hard to correctly implement and formally verify due to nondeterministic interleavings. This paper presents AtomFS, the first formally-verified, fine-grained, concurrent file system, which provides linearizable interfaces to applications. The standard way to prove linearizability requires modeling linearization point of each operation---the moment when its effect becomes visible atomically to other threads. We observe that path inter-dependency, where one operation (like rename) breaks the path integrity of other operations, makes the linearization point external and thus poses a significant challenge to prove linearizability. Mo Zou, Dong Du 0003, Ming Fu, Ronghui Gu, Haibo Chen 0001 |
SOSP | 6 |
| 2019 | EROFS: A Compression-friendly Readonly File System for Resource-scarce Devices
Xiang Gao 0012, Mingkai Dong 0002, Xie Miao, Haibo Chen 0001 |
USENIX ATC | 6 |
| 2019 | Pisces: A Scalable and Efficient Persistent Transactional Memory
Jinyu Gu 0001, Xiayang Wang, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
USENIX ATC | 7 |
| 2019 | Pragh: Locality-preserving Graph Traversal with Split Live Migration
Xiating Xie, Xingda Wei, Rong Chen 0001, Haibo Chen 0001 |
USENIX ATC | 4 |
| 2019 | ScissorGC: scalable and efficient compaction for Java full garbage collectionabstractJava runtime frees applications from manual memory management through automatic garbage collection (GC). This, however, is usually at the cost of stop-the-world pauses. State-of-the-art collectors leverage multiple generations, which will inevitably suffer from a full GC phase scanning and compacting the whole heap. This induces a pause tens of times longer than normal collections, which largely affects both throughput and latency of applications. Mingyu Wu 0001, Binyu Zang, Haibo Chen 0001 |
VEE | 4 |
| 2019 | TEEv: virtualizing trusted execution environments on mobile platformsabstractTrusted Execution Environments (TEE) are widely deployed, especially on smartphones. A recent trend in TEE development is the transition from vendor-controlled, single-purpose TEEs to open TEEs that host Trusted Applications (TAs) from multiple sources with independent tasks. This transition is expected to create a TA ecosystem needed for providing stronger and customized security to apps and OS running in the Rich Execution Environment (REE). However, the transition also poses two security challenges: enlarged attack surface resulted from the increased complexity of TAs and TEEs; the lack of trust (or isolation) among TAs and the TEE. Wenhao Li 0009, Yubin Xia, Long Lu, Haibo Chen 0001, Binyu Zang |
VEE | 4 |
| 2019 | DTrace: fine-grained and efficient data integrity checking with hardware instruction tracingabstractRecently released Intel processors have been equipped with hardware instruction tracing facilities to securely and efficiently record the program execution path. In this paper, we study a case for data integrity checking based on Intel Processor Trace (Intel PT), the instruction tracing facility on x86 processors. We incorporate software instrumentation and hardware instruction tracing to guarantee fine-grained data integrity without frequently switching the processor mode. We incorporate the idea in a system named DTrace which provides primitives to instruct Intel PT to capture the data load and store events, even current Intel PT implementations only record control transfers. The trace is analyzed before the program makes security-sensitive operations. We apply DTrace in several case studies to show that the primitives that DTrace provides are easy to use and help to enhance data integrity in applications. We further evaluate DTrace with several microbenchmarks to show the time cost that DTrace’s data tracing operation incurs. We also evaluate DTrace on Nginx to show the performance impact when Nginx is enhanced in security to provide the integrity during the runtime execution for programmer-defined security sensitive data. We find the performance overhead that DTrace incurs for the data tracing is moderate. Xiayang Wang, Fuqian Huang, Haibo Chen 0001 |
Cybersecur. | 3 |
| 2019 | Scaling out NUMA-Aware Applications with RDMA-Based Distributed Shared Memory
Yang Hong 0007, Fan Yang 0024, Binyu Zang, Haibing Guan, Haibo Chen 0001 |
J. Comput. Sci. Technol. | 6 |
| 2019 | Learn-as-you-go with Megh: Efficient Live Migration of Virtual MachinesabstractCloud providers leverage live migration of virtual machines to reduce energy consumption and allocate resources efficiently in data centers. Each migration decision depends on three questions: when to move a virtual machine, which virtual machine to move and where to move it? Dynamic, uncertain, and heterogeneous workloads running on virtual machines make such decisions difficult. Knowledge-based and heuristics-based algorithms are commonly used to tackle this problem. Knowledge-based algorithms, such as MaxWeight scheduling algorithms, are dependent on the specifics and the dynamics of the targeted Cloud architectures and applications. Heuristics-based algorithms, such as MMT algorithms, suffer from high variance and poor convergence because of their greedy approach. We propose an online reinforcement learning algorithm called Megh. Megh does not require prior knowledge of the workload rather learns the dynamics of workloads as-it-goes. Megh models the problem of energy- and performance-efficient resource management during live migration as a Markov decision process and solves it using a functional approximation scheme. While several reinforcement learning algorithms are proposed to solve this problem, these algorithms remain confined to the academic realm as they face the curse of dimensionality. They are either not scalable in real-time, as it is the case of MadVM, or need an elaborate offline training, as it is the case of Q-learning. These algorithms often incur execution overheads which are comparable with the migration time of a VM. Megh overcomes these deficiencies. Megh uses a novel dimensionality reduction scheme to project the combinatorially explosive state-action space to a polynomial dimensional space with a sparse basis. Megh has the capacity to learn uncertain dynamics and the ability to work in real-time without incurring significant execution overhead. Megh is both scalable and robust. We implement Megh using the CloudSim toolkit and empirically evaluate its performance with the PlanetLab and the Google Cluster workloads. Experiments validate that Megh is more cost-effective, converges faster, incurs smaller execution overhead and is more scalable than MadVM and MMT. An empirical sensitivity analysis explicates the choice of parameters in experiments. Debabrota Basu, Xiayang Wang, Yang Hong 0007, Haibo Chen 0001, Stéphane Bressan |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2018 | Espresso: Brewing Java For More Non-Volatility with Non-volatile MemoryabstractFast, byte-addressable non-volatile memory (NVM) embraces both near-DRAM latency and disk-like persistence, which has generated considerable interests to revolutionize system software stack and programming models. However, it is less understood how NVM can be combined with managed runtime like Java virtual machine (JVM) to ease persistence management. This paper proposes Espresso, a holistic extension to Java and its runtime, to enable Java programmers to exploit NVM for persistence management with high performance. Espresso first provides a general persistent heap design called Persistent Java Heap (PJH) to manage persistent data as normal Java objects. The heap is then strengthened with a recoverable mechanism to provide crash consistency for heap metadata. Espresso further provides a new abstraction called Persistent Java Object (PJO) to provide an easy-to-use but safe persistence programming model for programmers to persist application data. Evaluation confirms that Espresso significantly outperforms state-of-art NVM support for Java (i.e., JPA and PCJ) while being compatible to data structures in existing Java programs. Mingyu Wu 0001, Ziming Zhao 0003, Heting Li, Haibo Chen 0001, Binyu Zang, Haibing Guan |
ASPLOS | 5 |
| 2018 | Leveraging Hardware Transactional Memory for Cache Side-Channel DefensesabstractA program's use of CPU caches may reveal its memory access pattern and thus leak sensitive information when the program performs secret-dependent memory accesses. In recent studies, it has been demonstrated that cache side-channel attacks that extract secrets by observing the victim program's cache uses can be conducted under a variety of scenarios, among which the most concerning are cross-VM attacks and those against SGX enclaves. In this paper, we propose a mechanism that leverages hardware transactional memory (HTM) to enable software programs to defend themselves against various cache side-channel attacks. We observe that when the HTM is implemented by retrofitting cache coherence protocols, as is the case of Intel's Transactional Synchronization Extensions, the cache interference that is necessary in cache side-channel attacks will inevitably terminate hardware transactions. We provide a systematic analysis of the security requirements that a software-only solution must meet to defeat cache attacks, propose a software design that leverages HTM to satisfy these requirements and devise several optimization techniques in our implementation to reduce performance impact caused by transaction aborts. The empirical evaluation suggests that the performance overhead caused by the HTM-based solution is low. Sanchuan Chen, Fangfei Liu, Zeyu Mi, Yinqian Zhang, Ruby B. Lee, Haibo Chen 0001, XiaoFeng Wang 0001 |
AsiaCCS | 6 |
| 2018 | Comprehensive VM Protection Against Untrusted Hypervisor Through Retrofitted AMD Memory EncryptionabstractThe confidentiality of tenant's data is confronted with high risk when facing hardware attacks and privileged malicious software. Hardware-based memory encryption is one of the promising means to provide strong guarantees of data security. Recently AMD has proposed its new memory encryption hardware called SME and SEV, which can selectively encrypt memory regions in a fine-grained manner, e.g., by setting the C-bits in the page table entries. More importantly, SEV further supports encrypted virtual machines. This, intuitively, has provided a new opportunity to protect data confidentiality in guest VMs against an untrusted hypervisor in the cloud environment. In this paper, we first provide a security analysis on the (in)security of SEV and uncover a set of security issues of using SEV as a means to defend against an untrusted hypervisor. Based on the study, we then propose a software-based extension to the SEV feature, namely Fidelius, to address those issues while retaining performance efficiency. Fidelius separates the management of critical resources from service provisioning and revokes the permissions of accessing specific resources from the un-trusted hypervisor. By adopting a sibling-based protection mechanism with non-bypassable memory isolation, Fidelius embraces both security and efficiency, as it introduces no new layer of abstraction. Meanwhile, Fidelius reuses the SEV API to provide a full VM life-cycle protection, including two sets of para-virtualized I/O interfaces to encode the I/O data, which is not considered in the SEV hardware design. A detailed and quantitative security analysis shows its effectiveness in protecting tenant's data from a variety of attack surfaces, and the performance evaluation confirms the performance efficiency of Fidelius. Yuming Wu, Ruifeng Liu, Haibo Chen 0001, Binyu Zang, Haibing Guan |
HPCA | 4 |
| 2018 | VButton: Practical Attestation of User-driven Operations in Mobile AppsabstractMore and more malicious apps and mobile rootkits are found to perform sensitive operations on behalf of legitimate users without their awareness. Malware does so by either forging user inputs or tricking users into making unintended requests to online service providers. Such malware is hard to detect and generates large revenues for cybercriminals, which is often used for committing ad/click frauds, faking reviews/ratings, promoting people or business on social networks, etc. Wenhao Li 0009, Shiyu Luo, Zhichuang Sun, Yubin Xia, Long Lu, Haibo Chen 0001, Binyu Zang, Haibing Guan |
MobiSys | 6 |
| 2018 | Deconstructing RDMA-enabled Distributed Transactions: Hybrid is Better!
Xingda Wei, Zhiyuan Dong, Rong Chen 0001, Haibo Chen 0001 |
OSDI | 4 |
| 2018 | EPTI: Efficient Defence against Meltdown Attack for Unpatched VMs
Zhichao Hua 0001, Dong Du 0003, Yubin Xia, Haibo Chen 0001, Binyu Zang |
USENIX ATC | 4 |
| 2018 | Fast and Concurrent RDF Queries using RDMA-assisted GPU Graph Exploration
Chang Lou, Rong Chen 0001, Haibo Chen 0001 |
USENIX ATC | 4 |
| 2018 | Asymmetric virtual machine replication for low latency and high available service
Rong Chen 0001, Haibo Chen 0001 |
Sci. China Inf. Sci. | 2 |
| 2018 | SplitPass: A Mutually Distrusting Two-Party Password Manager
Dong Du 0003, Yubin Xia, Haibo Chen 0001, Binyu Zang, Zhenkai Liang |
J. Comput. Sci. Technol. | 4 |
| 2018 | ShadowEth: Private Smart Contract on Public Blockchain
Yubin Xia, Haibo Chen 0001, Binyu Zang, Jan Xie |
J. Comput. Sci. Technol. | 3 |
| 2018 | Replication-Based Fault-Tolerance for Large-Scale Graph ProcessingabstractThe increasing algorithmic complexity and dataset sizes necessitate the use of networked machines for many graph-parallel algorithms, which also makes fault tolerance a must due to the increasing scale of machines. Unfortunately, existing large-scale graph-parallel systems usually adopt a distributed checkpoint mechanism for fault tolerance, which incurs not only notable performance overhead but also lengthy recovery time. This paper observes that the vertex replicas created for distributed graph computation can be naturally extended for fast in-memory recovery of graph states. This paper describes Imitator, a new fault tolerance mechanism, which supports cheap maintenance of vertex states by replicating them to their replicas during normal message exchanges, and provides fast in-memory reconstruction of failed vertices from replicas in other machines. Imitator has been implemented on Cyclops with edge-cut and PowerLyra with vertex-cut. Evaluation on a 50-node EC-2 like cluster shows that Imitator incurs an average of 1.37 and 2.32 percent performance overhead (ranging from -0.6 to 3.7 percent) for Cyclops and PowerLyra respectively, and can recover from failures of more than one million of vertices with less than 3.4 seconds. Rong Chen 0001, Youyang Yao, Kaiyuan Zhang 0005, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
IEEE Trans. Parallel Distributed Syst. | 8 |
| 2018 | Eunomia: Scaling Concurrent Index Structures Under Contention Using HTMabstractHardware transactional memory (HTM) is an emerging hardware feature. HTM simplifies the programming model of concurrent programs while preserving high and scalable performance. With the commercial availability of HTM-capable processors, HTM has recently been adopted to construct efficient concurrent index structures. However, with the expansion of data volume and user amount, data management systems have to process workloads exhibiting high contention; meanwhile, according to our experiments, the conventional HTM-base concurrent index structures fail to provide scalable performance under highly-contented workloads. Such performance pathology strictly constrains the usage of HTM on data management systems. In this paper, we first conduct a thorough analysis on HTM-based concurrent index structures, and uncover several reasons for excessive HTM aborts incurred by both false and true conflicts under contention. Based on the analysis, we advocate Eunomia, a design pattern for HTM-based concurrent index structure which contains several principles to improve HTM performance, including splitting HTM regions with version-based concurrency control to reduce HTM working sets, partitioned data layout to reduce false conflicts, proactively detecting and avoiding conflicting requests, and adaptive concurrency control strategy. To validate their effectiveness, we apply such design principles to construct a scalable concurrent B+Tree and a skip list using HTM. Evaluation using key-value store and database benchmarks on a 20-core HTM-capable multi-core machine shows that Eunomia leads to substantial speedup under high contention, while incurring small overhead under low contention. Xin Wang 0019, Shiyu Ji, Ziyun Wei, Haibo Chen 0001 |
IEEE Trans. Parallel Distributed Syst. | 6 |
| 2017 | Secure Live Migration of SGX Enclaves on Untrusted CloudabstractThe recent commercial availability of Intel SGX (Software Guard eXtensions) provides a hardware-enabled building block for secure execution of software modules in an untrusted cloud. As an untrusted hypervisor/OS has no access to an enclave's running states, a VM (virtual machine) with enclaves running inside loses the capability of live migration, a key feature of VMs in the cloud. This paper presents the first study on the support for live migration of SGX-capable VMs. We identify the security properties that a secure enclave migration process should meet and propose a software-based solution. We leverage several techniques such as two-phase checkpointing and self-destroy to implement our design on a real SGX machine. Security analysis confirms the security of our proposed design and performance evaluation shows that it incurs negligible performance overhead. Besides, we give suggestions on the future hardware design for supporting transparent enclave migration. Jinyu Gu 0001, Zhichao Hua 0001, Yubin Xia, Haibo Chen 0001, Binyu Zang, Haibing Guan |
DSN | 4 |
| 2017 | Transparent and Efficient CFI Enforcement with Intel Processor TraceabstractCurrent control flow integrity (CFI) enforcement approaches either require instrumenting application executables and even shared libraries, or are unable to defend against sophisticated attacks due to relaxed security policies, or both; many of them also incur high runtime overhead. This paper observes that the main obstacle of providing transparent and strong defense against sophisticated adversaries is the lack of sufficient runtime control flow information. To this end, this paper describes FlowGuard, a lightweight, transparent CFI enforcement approach by a novel reuse of Intel Processor Trace (IPT), a recent hardware feature that efficiently captures the entire runtime control flow. The main challenge is that IPT is designed for offline performance analysis and software debugging such that decoding collected control flow traces is prohibitively slow on the fly. FlowGuard addresses this challenge by reconstructing applications' conservative control flow graphs (CFG) to be compatible with the compressed encoding format of IPT, and labeling the CFG edges with credits in the help of fuzzing-like dynamic training. At runtime, FlowGuard separates fast and slow paths such that the fast path compares the labeled CFGs with the IPT traces for fast filtering, while the slow path decodes necessary IPT traces for strong security. We have implemented and evaluated FlowGuard on a commodity Intel Skylake machine with IPT support. Evaluation results show that FlowGuard is effective in enforcing CFI for several applications, while introducing only small performance overhead. We also show that, with minor hardware extensions, the performance overhead can be further reduced. Peitao Shi, Haibo Chen 0001, Binyu Zang, Haibing Guan |
HPCA | 4 |
| 2017 | Learn-as-You-Go with Megh: Efficient Live Migration of Virtual MachinesabstractWe propose a reinforcement learning algorithm, Megh, for live migration of virtual machines that simultaneously reduces the cost of energy consumption and enhances the performance. Megh learns the uncertain dynamics of workloads as-it-goes. Megh uses a dimensionality reduction scheme to projectthe combinatorially explosive state-action space to a polynomial dimensional space. These schemes enable Megh to be scalable and to work in real-time. We experimentally validate that Megh is more cost-effective and time-efficient than the MadVM and MMT algorithms. Debabrota Basu, Xiayang Wang, Yang Hong 0007, Haibo Chen 0001, Stéphane Bressan |
ICDCS | 4 |
| 2017 | Deconstructing Xen
Le Shi, Yuming Wu, Yubin Xia, Nathan Dautenhahn, Haibo Chen 0001, Binyu Zang |
NDSS | 5 |
| 2017 | Eunomia: Scaling Concurrent Search Trees under Contention Using HTMabstractWhile hardware transactional memory (HTM) has recently been adopted to construct efficient concurrent search tree structures, such designs fail to deliver scalable performance under contention. In this paper, we first conduct a detailed analysis on an HTM-based concurrent B+Tree, which uncovers several reasons for excessive HTM aborts induced by both false and true conflicts under contention. Based on the analysis, we advocate Eunomia, a design pattern for search trees which contains several principles to reduce HTM aborts, including splitting HTM regions with version-based concurrency control to reduce HTM working sets, partitioned data layout to reduce false conflicts, proactively detecting and avoiding true conflicts, and adaptive concurrency control. To validate their effectiveness, we apply such designs to construct a scalable concurrent B+Tree using HTM. Evaluation using key-value store benchmarks on a 20-core HTM-capable multi-core machine shows that Eunomia leads to 5X-11X speedup under high contention, while incurring small overhead under low contention. Xin Wang 0019, Ziyun Wei, Haibo Chen 0001, Wenyun Zhao |
PPoPP | 5 |
| 2017 | POSTER: Recovering Performance for Vector-based Machine Learning on Managed RuntimeabstractNo abstract available. Mingyu Wu 0001, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
PPoPP | 4 |
| 2017 | Sub-millisecond Stateful Stream Querying over Fast-evolving Linked DataabstractApplications like social networking, urban monitoring and market feed processing require stateful stream query: a query consults not only streaming data but also stored data to extract timely information; useful information from streaming data also needs to be continuously and consistently integrated into stored data to serve inflight and future queries. However, prior streaming systems either focus on stream computation, or are not stateful, or cannot provide low latency and high throughput to handle the fast-evolving linked data and increasing concurrency of queries. Rong Chen 0001, Haibo Chen 0001 |
SOSP | 3 |
| 2017 | Soft Updates Made Simple and Fast on Non-volatile Memory
Mingkai Dong 0002, Haibo Chen 0001 |
USENIX ATC | 2 |
| 2017 | Replication-driven Live Reconfiguration for Fast Distributed Transaction Processing
Xingda Wei, Sijie Shen, Rong Chen 0001, Haibo Chen 0001 |
USENIX ATC | 4 |
| 2017 | vTZ: Virtualizing ARM TrustZone
Zhichao Hua 0001, Jinyu Gu 0001, Yubin Xia, Haibo Chen 0001, Binyu Zang, Haibing Guan |
USENIX Security Symposium | 4 |
| 2017 | Characterizing and optimizing Java-based HPC applications on Intel many-core architecture
Yang Yu 0002, Tianyang Lei, Haibo Chen 0001, Binyu Zang |
Sci. China Inf. Sci. | 3 |
| 2017 | A software cybernetics approach to self-tuning performance of on-line transaction processing systems
Zuohua Ding, Zhijie Wei, Haibo Chen 0001 |
J. Syst. Softw. | 3 |
| 2017 | Secure Outsourcing of Virtual ApplianceabstractComputation outsourcing using virtual appliance is getting prevalent in cloud computing. However, with both hardware and software being controlled by potentially curious or even malicious cloud operators, it is no surprise to see frequent reports of security accidents, like data leakages or abuses. This paper proposes Kite, a hardware-software framework that guards the security of tenant's virtual machine (VM), in which the outsourced computation is encapsulated. Kite only trusts the processor and makes no security assumption on external memory, devices, or hypervisor. Unlike prior hardware-based approaches, Kite retains transparency with existing VM and requires few changes to the (untrusted) hypervisor by introducing VM-Shim mechanism. Each VM-Shim instance runs in between its VM and the hypervisor, which only transfers necessary information designated by the VM to the hypervisor and external environments. Kite also considers the high-level semantic of interaction between VM and hypervisor to defend against attacks through legitimate operations or interfaces. We have implemented a prototype of Kite's secure processor in a QEMU-based full-system emulator and its software components on real machine. Evaluation shows that the performance overhead of Kite ranges from 0.5-14.0 percent on simulated platform and 0.4-7.3 percent on real hardware. Yubin Xia, Haibing Guan, Yunji Chen, Tianshi Chen 0002, Binyu Zang, Haibo Chen 0001 |
IEEE Trans. Cloud Comput. | 7 |
| 2017 | Fast In-Memory Transaction Processing Using RDMA and HTMabstractDrTM is a fast in-memory transaction processing system that exploits advanced hardware features such as remote direct memory access (RDMA) and hardware transactional memory (HTM). To achieve high efficiency, it mostly offloads concurrency control such as tracking read/write accesses and conflict detection into HTM in a local machine and leverages the strong consistency between RDMA and HTM to ensure serializability among concurrent transactions across machines. To mitigate the high probability of HTM aborts for large transactions, we design and implement an optimized transaction chopping algorithm to decompose a set of large transactions into smaller pieces such that HTM is only required to protect each piece. We further build an efficient hash table for DrTM by leveraging HTM and RDMA to simplify the design and notably improve the performance. We describe how DrTM supports common database features like read-only transactions and logging for durability. Evaluation using typical OLTP workloads including TPC-C and SmallBank shows that DrTM has better single-node efficiency and scales well on a six-node cluster; it achieves greater than 1.51, 34 and 5.24, 138 million transactions per second for TPC-C and SmallBank on a single node and the cluster, respectively. Such numbers outperform a state-of-the-art single-node system (i.e., Silo) and a distributed transaction system (i.e., Calvin) by at least 1.9X and 29.6X for TPC-C. Haibo Chen 0001, Rong Chen 0001, Xingda Wei, Jiaxin Shi, Yanzhe Chen, Binyu Zang, Haibing Guan |
ACM Trans. Comput. Syst. | 1 |
| 2017 | Efficient and Available In-Memory KV-Store with Hybrid Erasure Coding and ReplicationabstractIn-memory key/value store (KV-store) is a key building block for many systems like databases and large websites. Two key requirements for such systems are efficiency and availability, which demand a KV-store to continuously handle millions of requests per second. A common approach to availability is using replication, such as primary-backup (PBR), which, however, requires M +1 times memory to tolerate M failures. This renders scarce memory unable to handle useful user jobs. This article makes the first case of building highly available in-memory KV-store by integrating erasure coding to achieve memory efficiency, while not notably degrading performance. A main challenge is that an in-memory KV-store has much scattered metadata. A single KV put may cause excessive coding operations and parity updates due to excessive small updates to metadata. Our approach, namely Cocytus, addresses this challenge by using a hybrid scheme that leverages PBR for small-sized and scattered data (e.g., metadata and key), while only applying erasure coding to relatively large data (e.g., value). To mitigate well-known issues like lengthy recovery of erasure coding, Cocytus uses an online recovery scheme by leveraging the replicated metadata information to continuously serve KV requests. To further demonstrate the usefulness of Cocytus, we have built a transaction layer by using Cocytus as a fast and reliable storage layer to store database records and transaction logs. We have integrated the design of Cocytus to Memcached and extend it to support in-memory transactions. Evaluation using YCSB with different KV configurations shows that Cocytus incurs low overhead for latency and throughput, can tolerate node failures with fast online recovery, while saving 33% to 46% memory compared to PBR when tolerating two failures. A further evaluation using the SmallBank OLTP benchmark shows that in-memory transactions can run atop Cocytus with high throughput, low latency, and low abort rate and recover fast from consecutive failures. Haibo Chen 0001, Mingkai Dong 0002, Yubin Xia, Haibing Guan, Binyu Zang |
ACM Trans. Storage | 1 |
| 2017 | Fence-Free Synchronization with Dynamically Serialized Synchronization VariablesabstractMemory fences are widely used to ensure the correctness for synchronization constructs on machines with relaxed consistency models. However, they are expensive and usually impose over-constrained ordering that causes unnecessary CPU stalls. In this paper, we observe that memory fences in TSO are merely intended to order synchronization variables. Based on this observation, we rethink the hardware-software interface of synchronization constructs on multicore processors and propose a new design called Sync-Order that differentiates synchronization variables (sync-vars) from normal ones. Sync-Order reduces hardware complexity such that the processor only needs to serialize the ordering among sync-vars. Its simplicity makes it easy to be integrated to the directory controller and it supports distributed directory, a missing feature in prior designs. We show that Sync-Order eliminates traditional fences on all sides of synchronization constructs (instead of only one side in prior work) and requires small effort for a programmer or compiler to annotate sync-vars. Our experimental results show that Sync-Order significantly reduces CPU stalls and boosts the performance of a set of synchronization constructs and concurrent data structures by 10 percent; meanwhile, the fence overhead of full applications from SPLASH-2 and PARSEC is reduced from 42 to 3 percent. Yang Hong 0007, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2017 | Scalable Adaptive NUMA-Aware LockabstractScalable locking is a key building block for scalable multi-threaded software. Its performance is especially critical in multi-socket, multi-core machines with non-uniform memory access (NUMA). Previous schemes such as in-place locks and delegation locks only perform well under a certain level of contention, and often require non-trivial tuning for a particular configuration. Besides, in large NUMA systems, current delegation locks cannot perform satisfactorily due to lack of optimized NUMA policies. In this work, we propose SANL, a locking scheme that can deliver high performance under various contention levels by adaptively switching between in-place locks and delegation locks. To optimize the performance of delegation locks, we introduce a new NUMA policy that jointly considers node distances and server utilization when choosing lock servers. We have implemented SANL and evaluated it with four popular multi-threaded applications (Memcached, Berkeley DB, Phoenix2 and SPLASH-2), on a 40-core Intel machine and a 64-core AMD machine. The comparison results with seven other representative locking schemes show that SANL outperforms them in most contention situations. For example, in one group test, SANL is 3.7 times faster than RCL lock and 17 times faster than POSIX mutex. Haibo Chen 0001, Luwei Cheng, Francis C. M. Lau 0001, Cho-Li Wang |
IEEE Trans. Parallel Distributed Syst. | 2 |
| 2017 | Prophet: A Parallel Instruction-Oriented Many-Core SimulatorabstractMost existing computer architecture simulators are cycle oriented, i.e., they are driven cycle by cycle. However, frequent switches among simulation contexts, excessive buffer accesses and tightly coupled manner often make such an architecture simulator slow, difficult to parallelize and hard to scale to large-scale many-core systems. In this paper, we propose Prophet, a parallel instruction-oriented simulation framework for many-cores. Prophet adopts a general instruction-oriented model to simulate processor cores, in which a simulator is built from the perspective of each simulated instruction impacting a small number of relevant processor components, as opposed to that of a large number of processor components executing many instructions in each cycle as in the cycle-oriented approach. Prophet determines the execution cycle of a simulated instruction based on the states of the relevant components impacted by the instruction, and update the components states after the execution of the instruction. Prophet also adopts a speculative model to decouple private resources from the shared resources (e.g., shared cache), which avoids unnecessary interactions between them and only pays a penalty upon a rare mis-speculation. We have designed and implemented a prototype of Prophet that supports both user-level and full-system simulation. Experimental results show Prophet can scale up to simulate thousands of simulated cores (4,096 cores in the current implementation) with good performance and small accuracy loss. It achieves average simulation speeds of about 98 and 235 MIPS (millions of simulated instructions per second) for full-system and user-level simulation, respectively, with only 3 percent IPC error rate and negligible deviation in cache simulation results. When run on a many-core platform (i.e., Intel Xeon Phi), it achieved an average simulation speed of about 413 MIPS. Xiaofeng Ji, Yunping Lu, Haojun Wang, Haibo Chen 0001, Pen-Chung Yew |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2017 | VarCatcher: A Framework for Tackling Performance Variability of Parallel Workloads on Multi-CoreabstractThe non-deterministic nature of multi-threaded workloads running on multi-core platforms often leads to notable performance variability from run to run. Such variability makes experimental results prone to misinterpretations or misguided claims. To deal with such variability, statistical inference methods are usually used to summarize the experimental results with certain confidence levels by running the experiments or measurements a large number of times. However, such statistical results are often too vague or too simplistic. They are not sufficient to help users understand the causes of such variability, and allow more in-depth analysis on the results or reproduce the results for validation during design space exploration. To allow better analyzability and reproducibility, we propose a framework to tackle such variability, called VarCatcher. The key to VarCatcher is to characterize a parallel execution using Parallel Characteristics Vector (PCV). A clustering-based approach is then used to group runs with similar execution characteristics that can later be used to analyze results in-depth, to customize different evaluation strategies, reproduce the result for variability, to determine the impact of features, or to assist performance diagnosis. We have built a prototype of VarCatcher that includes a user-level toolset for runtime monitoring and measurements using the Intel Processor Trace feature on commodity Intel processors as well as an architecture extension with very low runtime overheads (around 3 and 0.01 percent accordingly). Several case studies confirm that VarCatcher enables several appealing features such as in-depth result analysis, customized evaluation strategies, and reproducibility. Xiaofeng Ji, Shiqiang Yu, Haibo Chen 0001, Tao Li 0006, Pen-Chung Yew, Wenyun Zhao |
IEEE Trans. Parallel Distributed Syst. | 5 |
| 2016 | A Case for Virtualizing Persistent MemoryabstractWith the proliferation of software and hardware support for persistent memory (PM) like PCM and NV-DIMM, we envision that PM will soon become a standard component of commodity cloud, especially for those applications demanding high performance and low latency. Yet, current virtualization software lacks support to efficiently virtualize and manage PM to improve cost-effectiveness, performance, and endurance. Rong Chen 0001, Haibo Chen 0001, Yubin Xia, KwanJong Park, Binyu Zang, Haibing Guan |
SoCC | 3 |
| 2016 | Fast and general distributed transactions using RDMA and HTMabstractRecent transaction processing systems attempt to leverage advanced hardware features like RDMA and HTM to significantly boost performance, which, however, pose several limitations like requiring priori knowledge of read/write sets of transactions and providing no availability support. In this paper, we present DrTM+R, a fast in-memory transaction processing system that retains the performance benefit from advanced hardware features, while supporting general transactional workloads and high availability through replication. DrTM+R addresses the generality issue by designing a hybrid OCC and locking scheme, which leverages the strong atomicity of HTM and the strong consistency of RDMA to preserve strict serializability with high performance. To resolve the race condition between the immediate visibility of records updated by HTM transactions and the unready replication of such records, DrTM+R leverages an optimistic replication scheme that uses seqlock-like versioning to distinguish the visibility of tuples and the readiness of record replication. Evaluation using typical OLTP workloads like TPC-C and SmallBank shows that DrTM+R scales well on a 6-node cluster and achieves over 5.69 and 94 million transactions per second without replication for TPC-C and SmallBank respectively. Enabling 3-way replication on DrTM+R only incurs at most 41% overhead before reaching network bottleneck, and is still an order-of-magnitude faster than a state-of-the-art distributed transaction system (Calvin). Yanzhe Chen, Xingda Wei, Jiaxin Shi, Rong Chen 0001, Haibo Chen 0001 |
EuroSys | 5 |
| 2016 | Mitigating Sync Amplification for Copy-on-write Virtual Disk
Qingshu Chen, Yubin Xia, Haibo Chen 0001 |
FAST | 4 |
| 2016 | Efficient and Available In-memory KV-Store with Hybrid Erasure Coding and Replication
Mingkai Dong 0002, Haibo Chen 0001 |
FAST | 3 |
| 2016 | Fast and Concurrent RDF Queries with RDMA-Based Distributed Graph Exploration
Jiaxin Shi, Youyang Yao, Rong Chen 0001, Haibo Chen 0001, Feifei Li 0001 |
OSDI | 4 |
| 2016 | Scalable adaptive NUMA-aware lock: combining local locking and remote locking for efficient concurrencyabstractScalable locking is a key building block for scalable multi-threaded software. Its performance is especially critical in multi-socket, multi-core machines with non-uniform memory access (NUMA). Previous schemes such as local locking and remote locking only perform well under a certain level of contention, and often require non-trivial tuning for a particular configuration. Besides, for large NUMA systems, because of unmanaged lock server's nomination, current distance-first NUMA policies cannot perform satisfactorily. Francis C. M. Lau 0001, Cho-Li Wang, Luwei Cheng, Haibo Chen 0001 |
PPoPP | 5 |
| 2016 | Scaling Multicore Databases via Constrained Parallel ExecutionabstractMulticore in-memory databases often rely on traditional con- currency control schemes such as two-phase-locking (2PL) or optimistic concurrency control (OCC). Unfortunately, when the workload exhibits a non-trivial amount of contention, both 2PL and OCC sacrifice much parallel execution op- portunity. In this paper, we describe a new concurrency control scheme, interleaving constrained concurrency con- trol (IC3), which provides serializability while allowing for parallel execution of certain conflicting transactions. IC3 combines the static analysis of the transaction workload with runtime techniques that track and enforce dependencies among concurrent transactions. The use of static analysis simplifies IC3's runtime design, allowing it to scale to many cores. Evaluations on a 64-core machine using the TPC- C benchmark show that IC3 outperforms traditional con- currency control schemes under contention. It achieves the throughput of 434K transactions/sec on the TPC-C bench- mark configured with only one warehouse. It also scales better than several recent concurrent control schemes that also target contended workloads. Shuai Mu 0001, Han Yi, Haibo Chen 0001, Jinyang Li 0001 |
SIGMOD Conference | 5 |
| 2016 | Performance Analysis and Optimization of Full Garbage Collection in Memory-hungry EnvironmentsabstractGarbage collection (GC), especially full GC, would non- trivially impact overall application performance, especially for those memory-hungry ones handling large data sets. This paper presents an in-depth performance analysis on the full GC performance of Parallel Scavenge (PS), a state-of-the-art and the default garbage collector in the HotSpot JVM, using traditional and big-data applications running atop JVM on CPU (e.g., Intel Xeon) and many-integrated cores (e.g., Intel Xeon i). The analysis uncovers that unnecessary memory accesses and calculations during reference updating in the compaction ase are the main causes of lengthy full GC. To this end, this paper describes an incremental query model for reference calculation, which is further embodied with three schemes (namely optimistic, sort-based and region-based) for different query patterns. Performance evaluation shows that the incremental query model leads to averagely 1.9X (up to 2.9X) in full GC and 19.3% (up to 57.2%) improvement in application throughput, as well as 31.2% reduction in pause time over the vanilla PS collector on CPU, and the numbers are 2.1X (up to 3.4X), 11.1% (up to 41.2%) and 34.9% for Xeon i accordingly. Yang Yu 0002, Tianyang Lei, Haibo Chen 0001, Binyu Zang |
VEE | 4 |
| 2016 | Petri net based test case generation for evolved specification
Zuohua Ding, Mingyue Jiang, Haibo Chen 0001, Zhi Jin 0001, MengChu Zhou |
Sci. China Inf. Sci. | 3 |
| 2016 | Parallelizing image feature extraction algorithms on multi-core platforms
Yunping Lu, Haibo Chen 0001, Lu Peng 0001 |
J. Parallel Distributed Comput. | 5 |
| 2016 | Hardware Support for Concurrent Detection of Multiple Concurrency Bugs on Fused CPU-GPU ArchitecturesabstractDetecting concurrency bugs, such as data race, atomicity violation and order violation, is a cumbersome task for programmers. This situation is further being exacerbated due to the increasing number of cores in a single machine and the prevalence of threaded programming models. Unfortunately, many existing software-based approaches usually incur high runtime overhead or accuracy loss, while most hardware-based proposals usually focus on a specific type of bugs and thus are inflexible to detect a variety of concurrency bugs. In this paper, we propose Hydra, an approach that leverages massive parallelism and programmability of fused CPU-GPU architectures to simultaneously detect multiple concurrency bugs in threaded software, including data race, atomicity violation and order violation. Hydra extends contemporary fused CPU and GPU by introducing two modules: 1) a trace collecting module (TCM) that instruments and collects program behavior on CPU; 2) a trace preprocessing module (TPM) that processes and then transfers the traces to GPU for bug detection. Furthermore, Hydra exploits three optimizations to improve speed and accuracy, which includes: 1). using the bloom filter to filter out unnecessary traces; 2). avoiding eviction of shared traces; 3). comparing only last-write traces for shared data with the happens-before relation. Hydra incurs small hardware complexity and requires no changes to internal critical-path processor components such as cache and its coherence protocol, and is with about 1.1 percent hardware overhead under a 32-core configuration. Experimental results show that Hydra only introduces about 0.18 percent overhead on average for detecting one type of bugs and 0.46 percent overhead for simultaneously detecting multiple bugs, yet with the similar detectability of a heavyweight software bug detector (e.g., Helgrind). Shiqiang Yu, Haojun Wang, Zhuofang Dai, Haibo Chen 0001 |
IEEE Trans. Computers | 5 |
| 2016 | Deep Learning at Scale and at EaseabstractRecently, deep learning techniques have enjoyed success in various multimedia applications, such as image classification and multimodal data analysis. Large deep learning models are developed for learning rich representations of complex data. There are two challenges to overcome before deep learning can be widely adopted in multimedia and other applications. One is usability, namely the implementation of different models and training algorithms must be done by nonexperts without much effort, especially when the model is large and complex. The other is scalability, namely the deep learning system must be able to provision for a huge demand of computing resources for training large models with massive datasets. To address these two challenges, in this article we design a distributed deep learning platform called SINGA , which has an intuitive programming model based on the common layer abstraction of deep learning models. Good scalability is achieved through flexible distributed training architecture and specific optimization techniques. SINGA runs on both GPUs and CPUs, and we show that it outperforms many other state-of-the-art deep learning systems. Our experience with developing and training deep learning models for real-life multimedia applications in SINGA shows that the platform is both usable and scalable. Wei Wang 0059, Gang Chen 0001, Haibo Chen 0001, Tien Tuan Anh Dinh, Jinyang Gao, Beng Chin Ooi, Kian-Lee Tan, Sheng Wang 0011, Meihui Zhang 0001 |
ACM Trans. Multim. Comput. Commun. Appl. | 3 |
| 2016 | Fast Consensus Using Bounded Staleness for Scalable Read-Mostly SynchronizationabstractReader-mostly synchronization schemes, such as rwlocks and RCU, aim to maximize parallelism among readers, but many existing designs either cause readers to contend, or significantly extend writer latency, or both. This paper attributes such a problem to the lack of a fast consensus protocol between readers and writers, by which the two parts cooperate to obey the semantics of a synchronization construct. This paper describes FCP, a fast consensus protocol among readers and writers that provides scalable read-side performance as well as small writer latency for TSO architectures. The heart of FCP is a version-based consensus protocol between multiple non-communicating readers and a pending writer. FCP leverages bounded staleness of memory consistency to avoid atomic instructions and memory barriers in readers' common paths, and uses message-passing (e.g., IPI) for straggling readers so that the writer latency can be bounded. To demonstrate the effectiveness of FCP, this paper applies FCP to construct a scalable reader-writers lock (rwlock) and a scalable RCU implementation. Evaluation on a 64-core machine shows that FCP significantly boosts the performance of the Linux virtual memory subsystem, a concurrent hashtable and an in-memory database. Micro-benchmarks show that FCP achieves smaller reader-side latency and lower writer-side latency when compared to state-of-the-art rwlocks and RCU implementation. Haibo Chen 0001, Ran Liu 0003, Binyu Zang, Haibing Guan |
IEEE Trans. Parallel Distributed Syst. | 1 |
| 2016 | IMR: High-Performance Low-Cost Multi-Ring NoCsabstractA ring topology is a common solution of network-on-chip (NoC) in industry, but is frequently criticized to have poor scalability. In this paper, we present a novel type of multi-ring NoC called isolated multi-ring (IMR), which can even support chip multiprocessors (CMPs) with 1,024 cores. In IMR, any pair of cores are connected via at least one isolated ring, so that each packet can reach the destination without transferring from one ring to another. Therefore, IMR no longer needs expensive routers as mesh, which not only enhances the network performance but also reduces hardware overheads. We utilize simulated evolution to design optimized IMR topologies. We compare these IMR topologies against nine representative NoCs (e.g., traditional mesh, multi mesh, low-cost mesh, Express-virtual-channels mesh (EVC), torus ring, and hierarchical ring). We observe from experiments that IMR significantly outperforms its competitors in both saturation throughput and latency across all scenarios considered. For example, in a 16 × 16 CMP, IMR improves the saturation throughput of a state-of-the-art mesh (EVC) by 265.29 percent on average, and reduces the average packet latency on SPLASH-2 application traces by 71.58 percent, while consuming 5.08 percent less area and 9.76 percent less power. In a 32 × 32 CMP, IMR averagely improves the saturation throughput of EVC by 191.58 percent, and averagely reduces the packet latency on SPLASH-2 application traces by 23.09 percent, while consuming 2.86 percent less area and 10.81 percent less power. Shaoli Liu, Tianshi Chen 0002, Ling Li 0001, Xiaoxue Feng, Zhiwei Xu 0002, Haibo Chen 0001, Fred Chong, Yunji Chen |
IEEE Trans. Parallel Distributed Syst. | 6 |
| 2016 | Performance Analysis of Multimedia Retrieval Workloads Running on MulticoresabstractMultimedia data has become a major data type in the Big Data era. The explosive volume of such data and the increasing real-time requirement to retrieve useful information from it have put significant pressure in processing such data in a timely fashion. However, while prior efforts have done in-depth analysis on architectural characteristics of traditional multimedia processing and text-based retrieval algorithms, there has been no systematic study towards the emerging multimedia retrieval applications. This may impede the architecture design and system evaluation of these applications. In this paper, we make the first attempt to construct a multimedia retrieval benchmark suite (MMRBench for short) that can be used to evaluate architectures and system designs for multimedia retrieval applications. MMRBench covers modern multimedia retrieval algorithms with different versions (sequential, parallel and distributed). MMRBench also provides a series of flexible interfaces as well as certain automation tools. With such a flexible design, the algorithms in MMRBench can be used both in individual kernel-level evaluation and in integration to form a complete multimedia data retrieval infrastructure for full system evaluation. Furthermore, we use performance counters to analyze a set of architecture characteristics of multimedia retrieval algorithms in MMRBench, including the characteristics of core level, chip level and inter-chip level. The study shows that micro-architecture design in current processor is inefficient (both in performance and power) for these multimedia retrieval workloads, especially in core resources and memory systems. We then derive some insights into the architecture design and system evaluation for such multimedia retrieval algorithms. Yunping Lu, Xin Wang 0019, Haibo Chen 0001, Lu Peng 0001, Wenyun Zhao |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2016 | A Loosely-Coupled Full-System Multicore Simulation FrameworkabstractFull-system simulation is critical in evaluating design alternatives for multicore processors. However, state-of-the-art multicore simulators either lack good extensibility due to their tightly-coupled design between functional model (FM) and timing model (TM), or cannot guarantee cycle-accuracy. This paper conducts a comprehensive study on factors affecting cycle-accuracy and uncovers several contributing factors less studied before. Based on these insights, we propose a loosely-coupled functional-driven full-system simulator for multicore, namely Transformer. To ensure extensibility and cycle-accuracy, Transformer leverages an architecture-independent interface between FM and TM and uses a lightweight scheme to detect and recover from execution divergence between FM and TM. Built upon Transformer and its foundational simulator components, a graduate student only needed to write about 180 lines of code to extend an X86 functional model (QEMU) in Transformer. Moreover, the loosely-coupled design also removes the complex interaction between FM and TM and opens the opportunity to parallelize FM and TM to improve performance. Experimental results show that Transformer achieves an average of 8.4 and 7.0 percent performance improvement over GEMS in 4-core and 8-core configuration while guaranteeing cycle-accuracy. A further parallelization between FM and TM leads to 35.3 and 29.7 percent performance improvement respectively. Haojun Wang, Yunping Lu, Haibo Chen 0001, Wenyun Zhao |
IEEE Trans. Parallel Distributed Syst. | 4 |
| 2015 | Thwarting Memory Disclosure with Efficient Hypervisor-enforced Intra-domain IsolationabstractExploiting memory disclosure vulnerabilities like the HeartBleed bug may cause arbitrary reading of a victim's memory, leading to leakage of critical secrets such as crypto keys, personal identity and financial information. While isolating code that manipulates critical secrets into an isolated execution environment is a promising countermeasure, existing approaches are either too coarse-grained to prevent intra-domain attacks, or require excessive intervention from low-level software (e.g., hypervisor or OS), or both. Further, few of them are applicable to large-scale software with millions of lines of code. This paper describes a new approach, namely SeCage, which retrofits commodity hardware virtualization extensions to support efficient isolation of sensitive code manipulating critical secrets from the remaining code. SeCage is designed to work under a strong adversary model where a victim application or even the OS may be controlled by the adversary, while supporting large-scale software with small deployment cost. SeCage combines static and dynamic analysis to decompose monolithic software into several compart- ments, each of which may contain different secrets and their corresponding code. Following the idea of separating control and data plane, SeCage retrofits the VMFUNC mechanism and nested paging in Intel processors to transparently provide different memory views for different compartments, while allowing low-cost and transparent invocation across domains without hypervisor intervention. Haibo Chen 0001, Yubin Xia |
CCS | 4 |
| 2015 | PowerLyra: differentiated graph computation and partitioning on skewed graphsabstractNatural graphs with skewed distribution raise unique challenges to graph computation and partitioning. Existing graph-parallel systems usually use a "one size fits all" design that uniformly processes all vertices, which either suffer from notable load imbalance and high contention for high-degree vertices (e.g., Pregel and GraphLab), or incur high communication cost and memory consumption even for low-degree vertices (e.g., PowerGraph and GraphX). Rong Chen 0001, Jiaxin Shi, Yanzhe Chen, Haibo Chen 0001 |
EuroSys | 4 |
| 2015 | TinMan: eliminating confidential mobile data exposure with security oriented offloadingabstractThe wide adoption of smart devices has stimulated a fast shift of security-critical data from desktop to mobile devices. However, recurrent device theft and loss expose mobile devices to various security threats and even physical attacks. This paper presents TinMan, a system that protects confidential data such as web site password and credit card number (we use the term cor to represent these data, which is short for Confidential Record) from being leaked or abused even under device theft. TinMan separates accesses of cor from the rest of the functionalities of an app, by introducing a trusted node to store cor and offloading any code from a mobile device to the trusted node to access cor. This completely eliminates the exposure of cor on the mobile devices. The key challenges to TinMan include deciding when and how to efficiently and transparently offload execution; TinMan addresses these challenges with security-oriented offloading with a low-overhead tainting scheme called asymmetric tainting to track accesses to cor to trigger offloading, as well as transparent SSL session injection and TCP pay-load replacement to offload accesses to cor. We have implemented a prototype of TinMan based on Android and demonstrated how TinMan protects the information of user's bank account and credit card number without modifying the apps. Evaluation results also show that TinMan incurs only a small amount of performance and power overhead. Yubin Xia, Cheng Tan 0005, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
EuroSys | 7 |
| 2015 | Reducing world switches in virtualized environment with flexible cross-world callsabstractModern computers are built with increasingly complex software stack crossing multiple layers (i.e., worlds), where cross-world call has been a necessity for various important purposes like security, reliability, and reduced complexity. Unfortunately, there is currently limited cross-world call support (e.g., syscall, vmcall), and thus other calls need to be emulated by detouring multiple times to the privileged software layer (i.e., OS kernel and hypervisor). This causes not only significant performance degradation, but also unnecessary implementation complexity. Wenhao Li 0009, Yubin Xia, Haibo Chen 0001, Binyu Zang, Haibing Guan |
ISCA | 3 |
| 2015 | AdAttester: Secure Online Mobile Advertisement Attestation Using TrustZoneabstractMobile advertisement (ad for short) is a major financial pillar for developers to provide free mobile apps. However, it is frequently thwarted by ad fraud, where rogue code tricks ad providers by forging ad display or user clicks, or both. With the mobile ad market growing drastically (e.g., from $8.76 billion in 2012 to $17.96 billion in 2013), it is vitally important to provide a verifiable mobile ad framework to detect and prevent ad frauds. Unfortunately, this is notoriously hard as mobile ads usually run in an execution environment with a huge TCB. Wenhao Li 0009, Haibo Chen 0001, Yubin Xia |
MobiSys | 3 |
| 2015 | Poster: TVisor - A Practical and Lightweight Mobile Red-Green Dual-OS ArchitectureabstractMobile and embedded system software designer are often torn between choosing security and functionality. In particular, the security of out-of-band execution environment is sensitive to rich functionality. ARM TrustZone has been used to develop a Trusted Execution Environment (TEE), which runs in parallel with rich functionality commodity OS and provides an isolated and tamper-resistant execution context for trusted applications. ARM TrustZone splits access of the processor, memory and peripherals into two different worlds, namely normal world and secure world. The secure world is more privileged and the recommended context to implement TEE. However, despite the security of TrustZone TEE, the functionality is very limited. Wenhao Li 0009, Yubin Xia, Haibo Chen 0001 |
MobiSys | 5 |
| 2015 | SYNC or ASYNC: time to fuse for distributed graph-parallel computationabstractLarge-scale graph-structured computation usually exhibits iterative and convergence-oriented computing nature, where input data is computed iteratively until a convergence condition is reached. Such features have led to the development of two different computation modes for graph-structured programs, namely synchronous (Sync) and asynchronous (Async) modes. Unfortunately, there is currently no in-depth study on their execution properties and thus programmers have to manually choose a mode, either requiring a deep understanding of underlying graph engines, or suffering from suboptimal performance. This paper makes the first comprehensive characterization on the performance of the two modes on a set of typical graph-parallel applications. Our study shows that the performance of the two modes varies significantly with different graph algorithms, partitioning methods, execution stages, input graphs and cluster scales, and no single mode consistently outperforms the other. To this end, this paper proposes Hsync, a hybrid graph computation mode that adaptively switches a graph-parallel program between the two modes for optimal performance. Hsync constantly collects execution statistics on-the-fly and leverages a set of heuristics to predict future performance and determine when a mode switch could be profitable. We have built online sampling and offline profiling approaches combined with a set of heuristics to accurately predicting future performance in the two modes. A prototype called PowerSwitch has been built based on PowerGraph, a state-of-the-art distributed graph-parallel system, to support adaptive execution of graph algorithms. On a 48-node EC2-like cluster, PowerSwitch consistently outperforms the best of both modes, with a speedup ranging from 9% to 73% due to timely switch between two modes. Chenning Xie, Rong Chen 0001, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
PPoPP | 5 |
| 2015 | NUMA-aware graph-structured analyticsabstractGraph-structured analytics has been widely adopted in a number of big data applications such as social computation, web-search and recommendation systems. Though much prior research focuses on scaling graph-analytics on distributed environments, the strong desire on performance per core, dollar and joule has generated considerable interests of processing large-scale graphs on a single server-class machine, which may have several terabytes of RAM and 80 or more cores. However, prior graph-analytics systems are largely neutral to NUMA characteristics and thus have suboptimal performance. This paper presents a detailed study of NUMA characteristics and their impact on the efficiency of graph-analytics. Our study uncovers two insights: 1) either random or interleaved allocation of graph data will significantly hamper data locality and parallelism; 2) sequential inter-node (i.e., remote) memory accesses have much higher bandwidth than both intra- and inter-node random ones. Based on them, this paper describes Polymer, a NUMA-aware graph-analytics system on multicore with two key design decisions. First, Polymer differentially allocates and places topology data, application-defined data and mutable runtime states of a graph system according to their access patterns to minimize remote accesses. Second, for some remaining random accesses, Polymer carefully converts random remote accesses into sequential remote accesses, by using lightweight replication of vertices across NUMA nodes. To improve load balance and vertex convergence, Polymer is further built with a hierarchical barrier to boost parallelism and locality, an edge-oriented balanced partitioning for skewed graphs, and adaptive data structures according to the proportion of active vertices. A detailed evaluation on an 80-core machine shows that Polymer often outperforms the state-of-the-art single-machine graph-analytics systems, including Ligra, X-Stream and Galois, for a set of popular real-world and synthetic graphs. Kaiyuan Zhang 0005, Rong Chen 0001, Haibo Chen 0001 |
PPoPP | 3 |
| 2015 | Fast in-memory transaction processing using RDMA and HTMabstractWe present DrTM, a fast in-memory transaction processing system that exploits advanced hardware features (i.e., RDMA and HTM) to improve latency and throughput by over one order of magnitude compared to state-of-the-art distributed transaction systems. The high performance of DrTM are enabled by mostly offloading concurrency control within a local machine into HTM and leveraging the strong consistency between RDMA and HTM to ensure serializability among concurrent transactions across machines. We further build an efficient hash table for DrTM by leveraging HTM and RDMA to simplify the design and notably improve the performance. We describe how DrTM supports common database features like read-only transactions and logging for durability. Evaluation using typical OLTP workloads including TPC-C and SmallBank show that DrTM scales well on a 6-node cluster and achieves over 5.52 and 138 million transactions per second for TPC-C and SmallBank Respectively. This number outperforms a state-of-the-art distributed transaction system (namely Calvin) by at least 17.9X for TPC-C. Xingda Wei, Jiaxin Shi, Yanzhe Chen, Rong Chen 0001, Haibo Chen 0001 |
SOSP | 5 |
| 2015 | You Shouldn't Collect My Secrets: Thwarting Sensitive Keystroke Leakage in Mobile IME Apps
Haibo Chen 0001, Erick Bauman, Zhiqiang Lin 0001, Binyu Zang, Haibing Guan |
USENIX Security Symposium | 2 |
| 2015 | Bipartite-Oriented Distributed Graph Partitioning for Big Learning
Rong Chen 0001, Jiaxin Shi, Haibo Chen 0001, Binyu Zang |
J. Comput. Sci. Technol. | 3 |
| 2015 | Multilevel Phase AnalysisabstractPhase analysis, which classifies the set of execution intervals with similar execution behavior and resource requirements, has been widely used in a variety of systems, including dynamic cache reconfiguration, prefetching, race detection, and sampling simulation. Although phase granularity has been a major factor in the accuracy of phase analysis, it has not been well investigated, and most systems usually adopt a fine-grained scheme. However, such a scheme can only take account of recent local phase information and could be frequently interfered by temporary noise due to instant phase changes, which might notably limit the accuracy. In this article, we make the first investigation on the potential of multilevel phase analysis (MLPA), where different granularity phase analyses are combined together to improve the overall accuracy. The key observation is that the coarse-grained intervals belonging to the same phase usually consist of stably distributed fine-grained phases. Moreover, the phase of a coarse-grained interval can be accurately identified based on the fine-grained intervals at the beginning of its execution. Based on the observation, we design and implement an MLPA scheme. In such a scheme, a coarse-grained phase is first identified based on the fine-grained intervals at the beginning of its execution. The following fine-grained phases in it are then predicted based on the sequence of fine-grained phases in the coarse-grained phase. Experimental results show that such a scheme can notably improve the prediction accuracy. Using a Markov fine-grained phase predictor as the baseline, MLPA can improve prediction accuracy by 20%, 39%, and 29% for next phase, phase change, and phase length prediction for SPEC2000, respectively, yet incur only about 2% time overhead and 40% space overhead (about 360 bytes in total). To demonstrate the effectiveness of MLPA, we apply it to a dynamic cache reconfiguration system that dynamically adjusts the cache size to reduce the power consumption and access time of the data cache. Experimental results show that MLPA can further reduce the average cache size by 15% compared to the fine-grained scheme. Moreover, for MLPA, we also observe that coarse-grained phases can better capture the overall program characteristics with fewer of phases and the last representative phase could be classified in a very early program position, leading to fewer execution internals being functionally simulated. Based on this observation, we also design a multilevel sampling simulation technique that combines both fine- and coarse-grained phase analysis for sampling simulation. Such a scheme uses fine-grained simulation points to represent only the selected coarse-grained simulation points instead of the entire program execution; thus, it could further reduce both the functional and detailed simulation time. Experimental results show that MLPA for sampling simulation can achieve a speedup in simulation time of about 8.3X with similar accuracy compared to 10M SimPoint. Haibo Chen 0001 |
ACM Trans. Embed. Comput. Syst. | 4 |
| 2014 | Replication-Based Fault-Tolerance for Large-Scale Graph ProcessingabstractThe increasing algorithm complexity and dataset sizes necessitate the use of networked machines for many graph-parallel algorithms, which also makes fault tolerance a must due to the increasing scale of machines. Unfortunately, existing large-scale graph-parallel systems usually adopt a distributed checkpoint mechanism for fault tolerance, which incurs not only notable performance overhead but also lengthy recovery time. This paper observes that the vertex replicas created for distributed graph computation can be naturally extended for fast in-memory recovery of graph states. This paper proposes Imitator, a new fault tolerance mechanism, that supports cheaply maintenance of vertex states by replicating vertex states to their replicas during normal message exchanges, and provides fast in-memory reconstruction of failed vertices from replicas in other machines. Imitator has been implemented by extending Hama, a popular open-source clone of Pregel. Evaluation shows that Imitator incurs negligible performance overhead (less than 5% for all cases) and can recover from failures of more than one million of vertices with less than 3.4 seconds. Kaiyuan Zhang 0005, Rong Chen 0001, Haibo Chen 0001, Haibing Guan |
DSN | 4 |
| 2014 | Using restricted transactional memory to build a scalable in-memory databaseabstractThe recent availability of Intel Haswell processors marks the transition of hardware transactional memory from research toys to mainstream reality. DBX is an in-memory database that uses Intel's restricted transactional memory (RTM) to achieve high performance and good scalability across multi-core machines. The main limitation (and also key to practicality) of RTM is its constrained working set size: an RTM region that reads or writes too much data will always be aborted. The design of DBX addresses this challenge in several ways. First, DBX builds a database transaction layer on top of an underlying shared-memory store. The two layers use separate RTM regions to synchronize shared memory access. Second, DBX uses optimistic concurrency control to separate transaction execution from its commit. Only the commit stage uses RTM for synchronization. As a result, the working set of the RTMs used scales with the meta-data of reads and writes in a database transaction as opposed to the amount of data read/written. Our evaluation using TPC-C workload mix shows that DBX achieves 506,817 transactions per second on a 4-core machine. Jinyang Li 0001, Haibo Chen 0001 |
EuroSys | 4 |
| 2014 | Greedy map generalization by iterative point removalabstractThis paper describes a map generalization program we submitted to the ACM SIGSPATIAL Cup 2014. In this competition, the goal is to remove as many points in a set of polygonal lines as quickly as possible with respect to two constraints. The topological relationships among the lines must not change, and the relationships between a set of control points and the lines must not change. Inspired by Visvalingam-Whyatt Algorithm, we iteratively examine successive triplets along each line, and remove the middle point if no control point or point of other lines is in the associated triangle. Based on the features of the training datasets, we further introduce many optimization techniques to speed up the computation. Yanzhe Chen, Yin Wang 0001, Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
SIGSPATIAL/GIS | 4 |
| 2014 | Concurrent and consistent virtual machine introspection with hardware transactional memoryabstractVirtual machine introspection, which provides tamperresistant, high-fidelity “out of the box” monitoring of virtual machines, has many prominent security applications including VM-based intrusion detection, malware analysis and memory forensic analysis. However, prior approaches are either intrusive in stopping the world to avoid race conditions between introspection tools and the guest VM, or providing no guarantee of getting a consistent state of the guest VM. Further, there is currently no effective means for timely examining the VM states in question. In this paper, we propose a novel approach, called TxIntro, which retrofits hardware transactional memory (HTM) for concurrent, timely and consistent introspection of guest VMs. Specifically, TxIntro leverages the strong atomicity of HTM to actively monitor updates to critical kernel data structures. Then TxIntro can mount introspection to timely detect malicious tampering. To avoid fetching inconsistent kernel states for introspection, TxIntro uses HTM to add related synchronization states into the read set of the monitoring core and thus can easily detect potential inflight concurrent kernel updates. We have implemented and evaluated TxIntro based on Xen VMM on a commodity Intel Haswell machine that provides restricted transactional memory (RTM) support. To demonstrate the effectiveness of TxIntro, we implemented a set of kernel rootkit detectors using TxIntro. Evaluation results show that TxIntro is effective in detecting these rootkits, and is efficient in adding negligible performance overhead. Yubin Xia, Haibing Guan, Binyu Zang, Haibo Chen 0001 |
HPCA | 5 |
| 2014 | Computation and communication efficient graph processing with distributed immutable viewabstractCyclops is a new vertex-oriented graph-parallel framework for writing distributed graph analytics. Unlike existing distributed graph computation models, Cyclops retains simplicity and computation-efficiency by synchronously computing over a distributed immutable view, which grants a vertex with read-only access to all its neighboring vertices. The view is provided via read- only replication of vertices for edges spanning machines during a graph cut. Cyclops follows a centralized computation model by assigning a master vertex to update and propagate the value to its replicas unidirectionally in each iteration, which can significantly reduce messages and avoid contention on replicas. Being aware of the pervasively available multicore-based clusters, Cyclops is further extended with a hierarchical processing model, which aggregates messages and replicas in a single multicore machine and transparently decomposes each worker into multiple threads on-demand for different stages of computation. We have implemented Cyclops based on an open-source Pregel clone called Hama. Our evaluation using a set of graph algorithms on an in-house multicore cluster shows that Cyclops outperforms Hama from 2.06X to 8.69X and 5.95X to 23.04X using hash-based and Metis partition algorithms accordingly, due to the elimination of contention on messages and hierarchical optimization for the multicore-based clusters. Cyclops (written in Java) also has comparable performance with PowerGraph (written in C++) despite the language difference, due to the significantly lower number of messages and avoided contention. Rong Chen 0001, Haibo Chen 0001, Binyu Zang, Haibing Guan |
HPDC | 4 |
| 2014 | Hydra: Efficient Detection of Multiple Concurrency Bugs on Fused CPU-GPU ArchitectureabstractDetecting concurrency bugs, such as data race, atomicity violation and order violation, is a cumbersome task for programmers. This situation is further being exacerbated due to the increasing number of cores in a single machine and the prevalence of threaded programming models. Unfortunately, many existing software-based approaches usually incur high runtime overhead or accuracy loss, while most hardware-based proposals usually focus on a specific type of bugs and thus are inflexible to detect a variety of concurrency bugs. In this paper, we propose Hydra, an approach that leverages massive parallelism and programmability of fused GPU architecture to simultaneously detect multiple types of concurrency bugs, including data race, atomicity violation and order violation. Hydra instruments and collects program behavior on CPU and transfers the traces to GPU for bug detection through on-chip interconnect. Furthermore, to achieve high speed, Hydra exploits bloom filter to filter out unnecessary detection traces. Hydra incurs small hardware complexity and requires no changes to internal critical-path processor components such as cache and its coherence protocol, and is with about 1.1% hardware overhead under a 32-core configuration. Experimental results show that Hydra only introduces about 0.35% overhead on average for detecting one type of bugs and 0.92% overhead for simultaneously detecting multiple bugs, yet with the similar detectability of a heavyweight software bug detector (e.g., Helgrind). Zhuofang Dai, Haojun Wang, Haibo Chen 0001, Binyu Zang |
ICPP | 4 |
| 2014 | Scalable Read-mostly Synchronization Using Passive Reader-Writer Locks
Ran Liu 0003, Haibo Chen 0001 |
USENIX ATC | 3 |
| 2014 | X10-FT: Transparent fault tolerance for APGAS language and runtime
Zhijun Hao, Chenning Xie, Haibo Chen 0001, Binyu Zang |
Parallel Comput. | 3 |
| 2013 | Multi-level phase analysis for sampling simulationabstractExtremely long simulation time of architectural simulators has been a major impediment to their wide applicability. To accelerate architectural simulation, prior researchers have proposed representative sampling simulation to trade small loss of accuracy for notable speed improvement. Generally, they use fine-grained phase analysis to select only a small representative portion of program execution intervals for detailed cycle-accurate simulation, while functionally simulating the remaining portion. However, though phase granularity is one of the most important factors to simulation speed, it has not been well investigated and most prior researches explore a fine-grained scheme. This limits their effectiveness in further improving simulation speed with the requirement of increasingly complex architectural designs and new lengthy benchmarks. In this paper, by analyzing the impact of phase granularity on simulation speed, we observe that coarse-grained phases can better capture the overall program characteristics with a less number of phases and the last representative phase could be classified in a very early program position, leading to fewer execution internals being functionally simulated. By contrast, fine-grained phases usually have much shorter execution intervals and thus the overall detailed simulation time could be reduced. Based on the above observation, we design a multi-level sampling simulation technique that combines both fine-grained and coarse-grained phase analysis for sampling simulation. Such a scheme uses fine-grained simulation points to represent only the selected coarse-grained simulation points instead of the entire program execution, thus it could further reduce both the functional and detailed simulation time. Experimental results using SPEC2000 show such a framework is effective: using the SimPoint method as baseline, it can reduce about 90% functional simulation time and about 50% detailed simulation time. It finally achieves a geometric average speedup of 14.04X over SimPoint with comparable accuracy. Haibo Chen 0001, Binyu Zang |
DATE | 3 |
| 2013 | Point-polygon topological relationship query using hierarchical indicesabstractThis paper describes a point-polygon query program we submitted to the ACM SIGSPATIAL Cup 2013. Point-polygon topological relationship query is one of the core functions for commercial spatial databases, and also an active research topic in academia. Spatial indices are the key to achieve top performance. However, different datasets or query patterns require different indices for optimal performance. Based on the patterns of the training dataset, we build a hierarchy of indices, including polygon index, edge index, and interval index, which help find polygons near a point, calculate the distance from a point to a polygon, and determine whether a point is inside a polygon, respectively. Using the provided training dataset, these three indices reduce the computation time of "WITHIN n" query by 90%, 10%, and 50%, respectively. We build a large dataset with more than 1 million samples and 520 polygons by cloning and offsetting the training dataset 15 and 13 times, respectively. Our program finishes the "WITHIN 1000" query in only one second on a 4-core 3.3GHz Xeon Processor. Yin Wang 0001, Yanmin Zhu 0006, Haibing Guan, Haibo Chen 0001 |
SIGSPATIAL/GIS | 7 |
| 2013 | Architecture support for guest-transparent VM protection from untrusted hypervisor and physical attacksabstractThe privacy and integrity of tenant's data highly rely on the infrastructure of multi-tenant cloud being secure. However, with both hardware and software being controlled by potentially curious or even malicious cloud operators, it is no surprise to see frequent reports of data leakages or abuses in cloud. Unfortunately, most prior solutions require intrusive changes to the cloud platform and none can protect a VM against adversaries controlling the physical machine. This paper analyzes the challenges of transparent VM protection against sophisticated adversaries controlling the whole software and hardware stack. Based on the analysis, this paper proposes HyperCoffer, a hardware-software framework that guards the privacy and integrity of tenant's VMs. HyperCoffer only trusts the processor chip and makes no security assumption on external memory and devices. Hyper-Coffer extends existing processor virtualization with memory encryption and integrity checking to secure data communication with off-chip memory. Unlike prior hardware-based approaches, HyperCoffer retains transparency with existing virtual machines (i.e., operating systems) and requires very few changes to the (untrusted) hypervisor. HyperCoffer introduces a mechanism called VM-Shim that runs in-between a guest VM and the hypervisor. Each VM-Shim instance for a VM runs in a separate protected context and only declassifies necessary information designated by the VM to the hypervisor and external environments (e.g., through NICs). We have implemented a prototype of HyperCoffer in a QEMU-based full-system emulator and the VM-Shim mechanism in a real machine. Performance measurement using trace-based simulation and on a real hardware platform shows that the performance overhead is small (ranging from 0.6% to 13.9% on simulated platform and 0.3% to 6.8% on real hardware for the VM-Shim mechanism). Yubin Xia, Haibo Chen 0001 |
HPCA | 3 |
| 2013 | Scalable deterministic replay in a parallel full-system emulatorabstractFull-system emulation has been an extremely useful tool in developing and debugging systems software like operating systems and hypervisors. However, current full-system emulators lack the support for deterministic replay, which limits the reproducibility of concurrency bugs that is indispensable for analyzing and debugging the essentially multi-threaded systems software. Yufei Chen 0005, Haibo Chen 0001 |
PPoPP | 2 |
| 2013 | Parallelizing live migration of virtual machinesabstractLive VM migration is one of the major primitive operations to manage virtualized cloud platforms. Such operation is usually mission-critical and disruptive to the running services, and thus should be completed as fast as possible. Unfortunately, with the increasing amount of resources configured to a VM, such operations are becoming increasingly time-consuming. Jicheng Shi, Ran Liu 0003, Haibo Chen 0001 |
VEE | 5 |
| 2013 | Tiled-MapReduce: Efficient and Flexible MapReduce Processing on Multicore with TilingabstractThe prevalence of chip multiprocessors opens opportunities of running data-parallel applications originally in clusters on a single machine with many cores. MapReduce, a simple and elegant programming model to program large-scale clusters, has recently been shown a promising alternative to harness the multicore platform. The differences such as memory hierarchy and communication patterns between clusters and multicore platforms raise new challenges to design and implement an efficient MapReduce system on multicore. This article argues that it is more efficient for MapReduce to iteratively process small chunks of data in turn than processing a large chunk of data at a time on shared memory multicore platforms. Based on the argument, we extend the general MapReduce programming model with a “tiling strategy”, called Tiled - MapReduce (TMR). TMR partitions a large MapReduce job into a number of small subjobs and iteratively processes one subjob at a time with efficient use of resources; TMR finally merges the results of all subjobs for output. Based on Tiled-MapReduce, we design and implement several optimizing techniques targeting multicore, including the reuse of the input buffer among subjobs, a NUCA/NUMA-aware scheduler, and pipelining a subjob’s reduce phase with the successive subjob’s map phase, to optimize the memory, cache, and CPU resources accordingly. Further, we demonstrate that Tiled-MapReduce supports fine-grained fault tolerance and enables several usage scenarios such as online and incremental computing on multicore machines. Performance evaluation with our prototype system called Ostrich on a 48-core machine shows that Ostrich saves up to 87.6% memory, causes less cache misses, and makes more efficient use of CPU cores, resulting in a speedup ranging from 1.86x to 3.07x over Phoenix. Ostrich also efficiently supports fine-grained fault tolerance, online, and incremental computing with small performance penalty. Rong Chen 0001, Haibo Chen 0001 |
ACM Trans. Archit. Code Optim. | 2 |
| 2012 | Transformer: a functional-driven cycle-accurate multicore simulatorabstractFull-system simulators are extremely useful in evaluating design alternatives for multicore. However, state-of-the-art multicore simulators either lack good extensibility due to their tightly-coupled design between functional model (FM) and timing model (TM), or cannot guarantee cycle-accuracy. This paper conducts a comprehensive study on factors affecting cycle-accuracy and uncovers several contributing factors ignored before. Based on the study, we propose a loosely-coupled functional-driven full-system simulator for multicore, namely Transformer. To ensure extensibility and cycle-accuracy, Transformer leverages an architecture-independent interface between FM and TM and uses a lightweight scheme to detect and recover from execution divergence between FM and TM. Based on Transformer, a graduate student only needs to write about 180 lines of code and takes about two months to extend an X86 functional model (QEMU) in Transformer. Moreover, the loosely-coupled design also removes the complex interaction between FM and TM and opens the opportunity to parallelize FM and TM to improve performance. Experimental results show that Transformer achieves an average of 8.4% speedup over GEMS while guaranteeing the cycle-accuracy. A further parallelization between FM and TM leads to 35.3% speedup. Zhenman Fang, Qinghao Min, Keyong Zhou, Yibin Hu, Haibo Chen 0001, Jian Li 0059, Binyu Zang |
DAC | 7 |
| 2012 | CFIMon: Detecting violation of control flow integrity using performance countersabstractMany classic and emerging security attacks usually introduce illegal control flow to victim programs. This paper proposes an approach to detecting violation of control flow integrity based on hardware support for performance monitoring in modern processors. The key observation is that the abnormal control flow in security breaches can be precisely captured by performance monitoring units. Based on this observation, we design and implement a system called CFIMon, which is the first non-intrusive system that can detect and reason about a variety of attacks violating control flow integrity without any changes to applications (either source or binary code) or requiring special-purpose hardware. CFIMon combines static analysis and runtime training to collect legal control flow transfers, and leverages the branch tracing store mechanism in commodity processors to collect and analyze runtime traces on-the-fly to detect violation of control flow integrity. Security evaluation shows that CFIMon has low false positives or false negatives when detecting several realistic security attacks. Performance results show that CFIMon incurs only 6.1% performance overhead on average for a set of typical server applications. Yubin Xia, Haibo Chen 0001, Binyu Zang |
DSN | 3 |
| 2012 | Adaptive Pipeline Parallelism for Image Feature Extraction AlgorithmsabstractCurrently, multimedia data has become one of the major data types processed and transferred on the Internet. With the rapid growth of multimedia data, it is vitally important to find an efficient way to extract useful information from a large amount of data. SIFT and SURF, as the most popular multimedia feature extraction algorithms, have been widely used in many applications. However, the limited processing speed~(about 1.8 and 2.6 images or frames per second for SIFT and SURF respectively on an ordinary CPU) makes it impossible to apply them in many real-world applications with real-time requirements. Therefore, it has become one of the major challenges that how to improve the processing speed of these multimedia feature extraction algorithms. The popularity of multi-core architecture and the increase of computation resources on different platforms provide a new opportunity to accelerate the processing speed of these image feature extraction algorithms. In this paper, we first systematically analyze the major parallel constraints in SIFT and SURF, such as imbalanced workload and indeterminate time distribution. Then, based on these analysis, we design and implement an adaptive pipeline parallel scheme (AD-PIPE) for both SIFT and SURF to alleviate these limitations. In our scheme, we dynamically check the workload in different pipeline stages and adjust the thread number in different stages to achieve a balanced partition. Experimental results show that our approach is efficient and scalable. It can achieve a speedup of 16.88X and 20.33X respectively for SIFT and SURF on a 16-core machine and a real time processing speed with about 27 and 52 images or frames per second. Donglei Yang, Binyu Zang, Haibo Chen 0001 |
ICPP | 6 |
| 2012 | Improving dynamic prediction accuracy through multi-level phase analysisabstractPhase analysis, which classifies the set of execution intervals with similar execution behavior and resource requirements, has been widely used in a variety of dynamic systems, including dynamic cache reconfiguration, prefetching and race detection. While phase granularity has been a major factor to the accuracy of phase prediction, it has not been well investigated yet and most dynamic systems usually adopt a fine-grained prediction scheme. However, such a scheme can only take account of recent local phase information and could be frequently interfered by temporary noises due to instant phase changes, which might notably limit the prediction accuracy. Zhenman Fang, Haibo Chen 0001, Binyu Zang |
LCTES | 5 |
| 2012 | Revisiting Software Zero-Copy for Web-caching Applications with Twin Memory Allocation
Jicheng Shi, Haibo Chen 0001, Binyu Zang |
USENIX ATC | 3 |
| 2012 | Mercury: Combining Performance with Dependability Using Self-Virtualization
Haibo Chen 0001, Fengzhe Zhang, Rong Chen 0001, Binyu Zang, Pen-Chung Yew |
J. Comput. Sci. Technol. | 1 |
| 2011 | A Hierarchical Approach to Maximizing MapReduce EfficiencyabstractIn this paper, we argued that Hadoop has limitations in exploiting data locality and task parallelism for multi-core platforms. We then extended Hadoop with a hierarchical MapReduce scheme. An in-memory cache scheme is also seamlessly integrated to cache data that is likely to be accessed in memory. Evaluation showed that the hierarchical scheme outperforms Hadoop ranging from 1.4x to 3.5x. Zhiwei Xiao, Haibo Chen 0001, Binyu Zang |
PACT | 2 |
| 2011 | Evaluating the Performance and Scalability of MapReduce Applications on X10
Chenning Xie, Zhiwei Xiao, Haibo Chen 0001 |
APPT | 4 |
| 2011 | A case for scaling applications to many-core with OS clusteringabstractThis paper proposes an approach to scaling UNIX-like operating systems for many cores in a backward-compatible way, which still enjoys common wisdom in new operating system designs. The proposed system, called Cerberus, mitigates contention on many shared data structures within OS kernels by clustering multiple commodity operating systems atop a VMM, and providing applications with the traditional shared memory interface. Cerberus extends a traditional VMMwith efficient support for resource sharing and communication among the clustered operating systems. It also routes system calls of an application among operating systems, to provide applications with the illusion of running on a single operating system. Haibo Chen 0001, Rong Chen 0001, Yuanxuan Wang, Binyu Zang |
EuroSys | 2 |
| 2011 | A comprehensive analysis and parallelization of an image retrieval algorithmabstractThe prevalence of the Internet and cloud computing has made multimedia data, such as image data and video data, become major data types in our daily life. For example, many data-intensive applications, such as health care and video recommendation, involve collecting, indexing and retrieving tera-scale multimedia data every day. With such a huge amount of multimedia data to process, the processing speed has been one of the major challenges to guarantee real-time requirements. The advent of multi-core hardware has opened new opportunities to improve the effectiveness of multimedia data processing. In this paper, we make a comprehensive analysis on different potential parallelism, including pipeline parallelism, task parallelism at both scale level and block level, data parallelism, and their combinations, in a typical image retrieval algorithm called SURF, which is the core algorithm of many multimedia (i.e., image and video) retrieval applications. Experimental results show the following observations of parallelism in SURF: 1) when only one level parallelism is exploited, block-level parallelism is more efficient and scalable than other alternatives; 2) data parallelism cannot be ignored especially when parallel resources increase and 3) the combination of block-level parallelism and pipeline parallelism is the most efficient parallelizing manner for the studied image retrieval algorithm. Based on these observations, we have implemented a parallel image retrieval algorithm. It can be easily mapped onto different multi-core platforms with good scalability. On a commodity server machine with 16-core, the parallel implementation achieves a speedup of 13X, which is 84% faster than P-SURF, a previous state-of-the-art parallelization of SURF on CPU; while on GPGPU, it achieves a speedup of 46X, which is 53% faster than CUDA SURF, a previous state-of-the-art parallelization of SURF on GPGPU. Zhenman Fang, Donglei Yang, Haibo Chen 0001, Binyu Zang |
ISPASS | 4 |
| 2011 | COREMU: a scalable and portable parallel full-system emulatorabstractThis paper presents the open-source COREMU, a scalable and portable parallel emulation framework that decouples the complexity of parallelizing full-system emulators from building a mature sequential one. The key observation is that CPU cores and devices in current (and likely future) multiprocessors are loosely-coupled and communicate through well-defined interfaces. Based on this observation, COREMU emulates multiple cores by creating multiple instances of existing sequential emulators, and uses a thin library layer to handle the inter-core and device communication and synchronization, to maintain a consistent view of system resources. COREMU also incorporates lightweight memory transactions, feedback-directed scheduling, lazy code invalidation and adaptive signal control to provide scalable performance. To make COREMU useful in practice, we also provide some preliminary tools and APIs that can help programmers to diagnose performance problems and (concurrency) bugs. A working prototype, which reuses the widely-used QEMU as the sequential emulator, is with only 2500 lines of code (LOCs) changes to QEMU. It currently supports x64 and ARM platforms, and can emulates up to 255 cores running commodity OSes with practical performance, while QEMU cannot scale above 32 cores. A set of performance evaluation against QEMU indicates that, COREMU has negligible uniprocessor emulation overhead, performs and scales significantly better than QEMU. We also show how COREMU could be used to diagnose performance problems and concurrency bugs of both OS kernel and parallel applications. Ran Liu 0003, Yufei Chen 0005, Xi Wu 0001, Haibo Chen 0001, Binyu Zang |
PPoPP | 5 |
| 2011 | CloudVisor: retrofitting protection of virtual machines in multi-tenant cloud with nested virtualizationabstractMulti-tenant cloud, which usually leases resources in the form of virtual machines, has been commercially available for years. Unfortunately, with the adoption of commodity virtualized infrastructures, software stacks in typical multi-tenant clouds are non-trivially large and complex, and thus are prone to compromise or abuse from adversaries including the cloud operators, which may lead to leakage of security-sensitive data. Fengzhe Zhang, Haibo Chen 0001, Binyu Zang |
SOSP | 3 |
| 2011 | ORDER: Object centRic DEterministic Replay for Java
Zhemin Yang, Min Yang 0002, Lvcai Xu, Haibo Chen 0001, Binyu Zang |
USENIX ATC | 4 |
| 2011 | Dynamic Software Updating Using a Relaxed Consistency ModelabstractSoftware is inevitably subject to changes. There are patches and upgrades that close vulnerabilities, fix bugs, and evolve software with new features. Unfortunately, most traditional dynamic software updating approaches suffer some level of limitations; few of them can update multithreaded applications when involving data structure changes, while some of them lose binary compatibility or incur nonnegligible performance overhead. This paper presents POLUS, a software maintenance tool capable of iteratively evolving running unmodified multithreaded software into newer versions, yet with very low performance overhead. The main idea in POLUS is a relaxed consistency model that permits the concurrent activity of the old and new code. POLUS borrows the idea of cache-coherence protocol in computer architecture and uses a ”bidirectional write-through” synchronization protocol to ensure system consistency. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd, and Apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead on the three applications—a less than 1 percent performance degradation (but 5 percent for one case). The time to apply an update is also minimal. Haibo Chen 0001, Jie Yu 0016, Chengqun Hang, Binyu Zang, Pen-Chung Yew |
IEEE Trans. Software Eng. | 1 |
| 2010 | Tiled-MapReduce: optimizing resource usages of data-parallel applications on multicore with tilingabstractThe prevalence of chip multiprocessor opens opportunities of running data-parallel applications originally in clusters on a single machine with many cores. MapReduce, a simple and elegant programming model to program large scale clusters, has recently been shown to be a promising alternative to harness the multicore platform. Rong Chen 0001, Haibo Chen 0001, Binyu Zang |
PACT | 2 |
| 2010 | Why software hangs and what can be done with itabstractSoftware hang is an annoying behavior and forms a major threat to the dependability of many software systems. To avoid software hang at the design phase or fix it in production runs, it is desirable to understand its characteristics. Unfortunately, to our knowledge, there is currently no comprehensive study on why software hangs and how to deal with it. In this paper, we study the reported hang-related bugs of four typical open-source software applications, aiming to gain insight into characteristics of software hang and provide some guidelines to fix them at the first place or remedy them in production runs. Haibo Chen 0001, Binyu Zang |
DSN | 2 |
| 2010 | Optimizing crash dump in virtualized environmentsabstractCrash dump, or core dump is the typical way to save memory image on system crash for future offline debugging and analysis. However, for typical server machines with likely abundant memory, the time of core dump can significantly increase the mean time to repair (MTTR) by delaying the reboot-based recovery, while not dumping the failure context for analysis would risk recurring crashes on the same problems. In this paper, we propose several optimization techniques for core dump in virtualized environments, in order to shorten the MTTR of consolidated virtual machines during crashes. First, we parallelize the process of crash dump and the process of rebooting the crashed VM, by dynamically reclaiming and allocating memory between the crashed VM and the newly spawned VM. Second, we use the virtual machine management layer to introspect the critical data structures of the crashed VM to filter out the dump of unused memory. Finally, we implement disk I/O rate control between core dump and the newly spawned VM according to user-tuned rate control policy to balance the time of crash dump and quality of services in the recovery VM. We have implemented a working prototype, Vicover, that optimizes core dump on system crash of a virtual machine in Xen, to minimize the MTTR of core dump and recovery as a whole. In our experiment on a virtualized TPC-W server, Vicover shortens the downtime caused by crash dump by around 5X. Yijian Huang, Haibo Chen 0001, Binyu Zang |
VEE | 2 |
| 2009 | Evaluating SPLASH-2 Applications Using MapReduce
Shengkai Zhu, Zhiwei Xiao, Haibo Chen 0001, Rong Chen 0001, Binyu Zang |
APPT | 3 |
| 2009 | Control flow obfuscation with information flow trackingabstractRecent micro-architectural research has proposed various schemes to enhance processors with additional tags to track various properties of a program. Such a technique, which is usually referred to as information flow tracking, has been widely applied to secure software execution (e.g., taint tracking), protect software privacy and improve performance (e.g., control speculation). Haibo Chen 0001, Liwei Yuan 0003, Xi Wu 0001, Binyu Zang, Bo Huang 0002, Pen-Chung Yew |
MICRO | 1 |
| 2008 | From Speculation to Security: Practical and Efficient Information Flow Tracking Using Speculative HardwareabstractDynamic information flow tracking (also known as taint tracking) is an appealing approach to combat various security attacks. However, the performance of applications can severely degrade without hardware support for tracking taints. This paper observes that information flow tracking can be efficiently emulated using deferred exception tracking in microprocessors supporting speculative execution. Based on this observation, we propose SHIFT, a low-overhead, software-based dynamic information flow tracking system to detect a wide range of attacks. The key idea is to treat tainted state (describing untrusted data) as speculative state (describing deferred exceptions). SHIFT leverages existing architectural support for speculative execution to track tainted state in registers and needs to instrument only load and store instructions to track tainted state in memory using a bitmap, which results in significant performance advantages. Moreover, by decoupling mechanisms for taint tracking from security policies, SHIFT can detect a wide range of exploits, including high-level semantic attacks. We have implemented SHIFT using the Itanium processor, which has support for deferred exceptions, and by modifying GCC to instrument loads and stores. A security assessment shows that SHIFT can detect both low-level memory corruption exploits as well as high-level semantic attacks with no false positives. Performance measurements show that SHIFT incurs about 1% overhead for server applications. The performance slowdown for SPEC-INT2000 is 2.81X and 2.27X for tracking at byte-level and wordlevel respectively. Minor architectural improvements to the Itanium processor (adding three simple instructions) can reduce the performance slowdown down to 2.32X and 1.8X for byte-level and word-level tracking, respectively. Haibo Chen 0001, Xi Wu 0001, Liwei Yuan 0003, Binyu Zang, Pen-Chung Yew, Fred Chong |
ISCA | 1 |
| 2008 | Corey: An Operating System for Many Cores
Silas Boyd-Wickizer, Haibo Chen 0001, Rong Chen 0001, Yandong Mao, M. Frans Kaashoek, Robert Morris 0005, Aleksey Pesterev, Lex Stein, Ming Wu 0007, Yue-hua Dai, Zheng Zhang 0001 |
OSDI | 2 |
| 2007 | Mercury: Combining Performance with Dependability Using Self-virtualizationabstractThere has recently been increasing interests in using system virtualization to improve the dependability of HPC cluster systems. However, it is not cost-free and may come with some performance degradation, uncertain QoS and loss of functionalities. Meanwhile, many virtualization-enabled features such as online maintenance and fault tolerance do not require virtualization being always on. This paper proposes a technique, called self-virtualization, that supports dynamically attaching and detaching a full-fledged virtual machine monitor (VMM) beneath an operating system, without disturbing applications thereon, and rid the system of potential overhead when the virtualization is not needed. This technique enables HPC clusters to reap most benefits from virtualization without sacrificing performance. This paper presents the design and implementation of Mercury, a working prototype based on Linux and Xen VMM. Our performance measurement shows that Mercury incurs very little overhead: about 0.2 ms to complete a mode switch, and negligible performance degradation compared to Linux. Haibo Chen 0001, Rong Chen 0001, Fengzhe Zhang, Binyu Zang, Pen-Chung Yew |
ICPP | 1 |
| 2007 | POLUS: A POwerful Live Updating SystemabstractThis paper presents POLUS, a software maintenance tool capable of iteratively evolving running software into newer versions. POLUS's primary goal is to increase the dependability of contemporary server software, which is frequently disrupted either by external attacks or by scheduled upgrades. To render POLUS both practical and powerful, we design and implement POLUS aiming to retain backward binary compatibility, support for multithreaded software and recover already tainted state of running software, yet with good usability and very low runtime overhead. To demonstrate the applicability of POLUS, we report our experience in using POLUS to dynamically update three prevalent server applications: vsftpd, sshd and apache HTTP server. Performance measurements show that POLUS incurs negligible runtime overhead: a less than 1% performance degradation (but 5% for one case). The time to apply an update is also minimal. Haibo Chen 0001, Jie Yu 0016, Rong Chen 0001, Binyu Zang, Pen-Chung Yew |
ICSE | 1 |
| 2007 | Daonity - Grid security from two levels of virtualization
Haibo Chen 0001, Jieyun Chen, Wenbo Mao |
Inf. Secur. Tech. Rep. | 1 |
| 2006 | Live updating operating systems using virtualizationabstractMany critical IT infrastructures require non-disruptive operations. However, the operating systems thereon are far from perfect that patches and upgrades are frequently applied, in order to close vulnerabilities, add new features and enhance performance. To mitigate the loss of availability, such operating systems need to provide features such as live update through which patches and upgrades can be applied without having to stop and reboot the operating system. Unfortunately, most current live updating approaches cannot be easily applied to existing operating systems: some are tightly bound to specific design approaches (e.g. object-oriented); others can only be used under particular circumstances (e.g. quiescence states).In this paper, we propose using virtualization to provide the live update capability. The proposed approach allows a broad range of patches and upgrades to be applied at any time without the requirement of a quiescence state. Moreover, such approach shares good portability for its OS-transparency and is suitable for inclusion in general virtualization systems. We present a working prototype, LUCOS, which supports live update capability on Linux running on Xen virtual machine monitor. To demonstrate the applicability of our approach, we use real-life kernel patches from Linux kernel 2.6.10 to Linux kernel 2.6.11, and apply some of those kernel patches on the fly. Performance measurements show that our implementation incurs negligible performance overhead: a less than 1% performance degradation compared to a Xen-Linux. The time to apply a patch is also very minimal. Haibo Chen 0001, Rong Chen 0001, Fengzhe Zhang, Binyu Zang, Pen-Chung Yew |
VEE | 1 |