Searcharxiv⌕ Search

arXiv subjects

Yiying Zhang

Publications and source records attributed to Yiying Zhang.

44 records · Page 3Linked to original sources

Clio: A Hardware-Software Co-Designed Disaggregated Memory System

Memory disaggregation has attracted great attention recently because of its benefits in efficient memory utilization and ease of management. So far, memory disaggregation research has all taken one of two approaches: building/emulating memory nodes using regular servers or building them using raw memory devices with no processing power. The former incurs higher monetary cost and faces tail latency and scalability limitations, while the latter introduces performance, security, and management problems. Server-based memory nodes and memory nodes with no processing power are two extreme approaches. We seek a sweet spot in the middle by proposing a hardware-based memory disaggregation solution that has the right amount of processing power at memory nodes. Furthermore, we take a clean-slate approach by starting from the requirements of memory disaggregation and designing a memory-disaggregation-native system. We built Clio, a disaggregated memory system that virtualizes, protects, and manages disaggregated memory at hardware-based memory nodes. The Clio hardware includes a new virtual memory system, a customized network system, and a framework for computation offloading. In building Clio, we not only co-design OS functionalities, hardware architecture, and the network system, but also co-design compute nodes and memory nodes. Our FPGA prototype of Clio demonstrates that each memory node can achieve 100 Gbps throughput and an end-to-end latency of 2.5 us at median and 3.2us at the 99th percentile. Clio also scales much better and has orders of magnitude lower tail latency than RDMA. It has 1.1x to 3.4x energy saving compared to CPU-based and SmartNIC-based disaggregated memory systems and is 2.7x faster than software-based SmartNIC solutions.

cs.DC↗

Allocations of Cold Standbys to Series and Parallel Systems with Dependent Components

In the context of industrial engineering, cold-standby redundancies allocation strategy is usually adopted to improve the reliability of coherent systems. This paper investigates optimal allocation strategies of cold standbys for series and parallel systems comprised of dependent components with left/right tail weakly stochastic arrangement increasing lifetimes. For the case of heterogeneous and independent matched cold standbys, it is proved that better redundancies should be put in the nodes having weaker [better] components for series [parallel] systems. For the case of homogeneous and independent cold standbys, it is shown that more redundancies should be put in standby with weaker [better] components to enhance the reliability of series [parallel] systems. The results developed here generalize and extend those corresponding ones in the literature to the case of series and parallel systems with dependent components. Numerical examples are also presented to provide guidance for the practical use of our theoretical findings.

stat.OT↗

A Double-Edged Sword: Security Threats and Opportunities in One-Sided Network Communication

One-sided network communication technologies such as RDMA and NVMe-over-Fabrics are quickly gaining adoption in production software and in datacenters. Although appealing for their low CPU utilization and good performance, they raise new security concerns that could seriously undermine datacenter software systems building on top of them. At the same time, they offer unique opportunities to help enhance security. Indeed, one-sided network communication is a double-edged sword in security. This paper presents our insights into security implications and opportunities of one-sided communication.

cs.CR↗

Let the Cloud Watch Over Your IoT File Systems

Smart devices produce security-sensitive data and keep them in on-device storage for persistence. The current storage stack on smart devices, however, offers weak security guarantees: not only because the stack depends on a vulnerable commodity OS, but also because smart device deployment is known weak on security measures. To safeguard such data on smart devices, we present a novel storage stack architecture that i) protects file data in a trusted execution environment (TEE); ii) outsources file system logic and metadata out of TEE; iii) running a metadata-only file system replica in the cloud for continuously verifying the on-device file system behaviors. To realize the architecture, we build Overwatch, aTrustZone-based storage stack. Overwatch addresses unique challenges including discerning metadata at fine grains, hiding network delays, and coping with cloud disconnection. On a suite of three real-world applications, Overwatch shows moderate security overheads.

cs.CR↗

Storm: a fast transactional dataplane for remote data structures

RDMA is an exciting technology that enables a host to access the memory of a remote host without involving the remote CPU. Prior work shows how to use RDMA to improve the performance of distributed in-memory storage systems. However, RDMA is widely believed to have scalability issues, due to the amount of active protocol state that needs to be cached in the limited NIC cache. These concerns led to several software-based proposals to enhance scalability by trading off performance. In this work, we revisit these trade-offs in light of newer RDMA hardware and propose new guidelines for scaling RDMA. We show that using one-sided remote memory primitives leads to higher performance compared to send/receive and kernel-based systems in rack-scale environments. Based on these insights, we design and implement Storm, a transactional dataplane using one-sided read and write-based RPC primitives. We show that Storm outperforms eRPC, FaRM, and LITE by 3.3x, 3.6x, and 17.1x, respectively, on an Infinband EDR cluster with Mellanox ConnectX-4 NICs.

cs.DC↗

Fearless Concurrency? Understanding Concurrent Programming Safety in Real-World Rust Software

Rust is a popular programming language in building various low-level software in recent years. It aims to provide safe concurrency when implementing multi-threaded software through a suite of compiler checking rules. Unfortunately, there is limited understanding of how the checking rules influence the safety of concurrent programming in Rust applications. In this paper, we perform a preliminary study on Rust's concurrency safety from two aspects: concurrency usage and concurrency bugs. Our study can provide better understanding on Rust's concurrency and can guide future researchers and practitioners in writing better, more reliable Rust software and in developing debugging and bug detection tools for Rust.

cs.PL↗

Systemic Risk: Conditional Distortion Risk Measures

In this paper, we introduce the rich classes of conditional distortion (CoD) risk measures and distortion risk contribution ($Δ$CoD) measures as measures of systemic risk and analyze their properties and representations. The classes include the well-known conditional Value-at-Risk, conditional Expected Shortfall, and risk contribution measures in terms of the VaR and ES as special cases. Sufficient conditions are presented for two random vectors to be ordered by the proposed CoD-risk measures and distortion risk contribution measures. These conditions are expressed using the conventional stochastic dominance, increasing convex/concave, dispersive, and excess wealth orders of the marginals and canonical positive/negative stochastic dependence notions. Numerical examples are provided to illustrate our theoretical findings. This paper is the second in a triplet of papers on systemic risk by the same authors. In \cite{DLZorder2018a}, we introduce and analyze some new stochastic orders related to systemic risk. In a third (forthcoming) paper, we attribute systemic risk to the different participants in a given risky environment.

q-fin.RM↗

Building Atomic, Crash-Consistent Data Stores with Disaggregated Persistent Memory

Byte-addressable persistent memories (PM) has finally made their way into production. An important and pressing problem that follows is how to deploy them in existing datacenters. One viable approach is to attach PM as self-contained devices to the network as disaggregated persistent memory, or DPM. DPM requires no changes to existing servers in datacenters; without the need to include a processor, DPM devices are cheap to build; and by sharing DPM across compute servers, they offer great elasticity and efficient resource packing. This paper explores different ways to organize DPM and to build data stores with DPM. Specifically, we propose three architectures of DPM: 1) compute nodes directly access DPM (DPM-Direct); 2) compute nodes send requests to a coordinator server, which then accesses DPM to complete a request (DPM-Central); and 3) compute nodes directly access DPM for data operations and communicate with a global metadata server for the control plane (DPM-Sep). Based on these architectures, we built three atomic, crash-consistent data stores. We evaluated their performance, scalability, and CPU cost with micro-benchmarks and YCSB. Our evaluation results show that DPM-Direct has great small-size read but poor write performance; DPM-Central has the best write performance when the scale of the cluster is small but performs poorly when the scale increases; and DPM-Sep performs well overall.

cs.DC↗