News
I joined the Institute of Computing Technology (ICT), Chinese Academy of Sciences (CAS) as an associate professor. Please check my new homepage.
About me
I'm a postdoc at UCLA working with Dr. Harry Xu. I got my Ph.D. degree from the Institute of Computing Technology, Chinese Academy of Sciences in 2018, under the supervision of Dr. Xiaobing Feng. I got my Bachelor degree from Tianjin University in 2013. My research interest is to build hard-core systems, managed runtime and big data systems for emerging hardware, such as non-volatile memory and resource-disaggregated datacenter. View My GithubResearch
My current research is to build cross-layer systems for warehouse-scale computers. This research is supported by the NSF CNS on Big Data over resource disaggregation and NSF grant on redesign of data plane for memory-disaggregated datacenters (Role: Senior Personnel).Runtime for Hybrid Memory
Non-volatile memory(NVM) was developed to satisfy the rapidly increasing memory demand of data-intensive applications. Compared to DRAM, NVM offers much larger capacity, lower price, and higher energy efficiency. On the downside, NVM has longer access latency and lower read/write bandwidth. Therefore, cloud infrastructures often deploy NVM together with DRAM in a hybrid manner. To maximize the energy savings and minimize the performance impact of hybrid memory, I have built several runtime systems, Panthera[PLDI'19] [NPC'16] [TOCS'22] to manage the data layout of cloud applications. These systems are built on two major insights. First, the data objects of many cloud applications exhibit strong epoch behaviors and clear access patterns at a coarse granularity. Hence, I proposed to manage data layout at coarse-grained, e.g., data structure and function, by utilizing applications' semantics to save the monitoring overhead. Second, the runtime performs periodical garbage collection (GC) to trace and compact the alive data. Hence, utilizing GC to adjust the data layout brings no extra migration overhead.Resource Disaggregation
As an emerging datacenter architecture, resource-disaggregation aims to reorganize datacenter hardware of each kind into their dedicated resource servers to improve resource utilization and fault tolerance, and simplify hardware adoption. These servers are connected by advanced network fabrics such as Infiniband and Intel Fabrics. As a result, the cloud application running on the resource-disaggregated cluster can get compute and memory resources from different servers.#1 Runtime for Disaggregated Memory
I developed a series of runtime systems to improve the data locality and reduce the resources racing problems of cloud applications running on the resource-disaggregated datacenter. Semeru[OSDI'20] separates the application threads and GC tracing threads of one program and schedules them to corresponding CPU servers and memory servers. As a result, the GC threads can run concurrently and continuously on the memory servers without interfering with the application threads running on CPU servers. At the same time, we also proposed Mako[PLDI'22], a low-pause, concurrent compaction algorithm for the resource-disaggregated cluster. MemLiner[OSDI'22] lines up the memory access of application threads and GC threads to reduce their interference, resulting in a small working set and clean access patterns for the prefetcher.#2 Swap System for Disaggregated Memory
The existing paging and swap system are often used to manage the remote memory server. However, the current swap data plane was designed long ago for slow disk-based swapping, and hence can become a major performance bottleneck when fast remote memory is used, such as 1) lack of performance isolation and (2) poor scalability. To solve these problems, I redesigned the swap system, [NSDI'23-revision], to provide holistic resources isolation and adaptive management strategies, e.g., swap-entry allocation, prefetching and scheduling, for the diverse cloud applications.Service
- ACM Asia-Pacific Workshop on Systems, APSys 2022, Program Committee, Publicity Chair
- Virtual Execution Environments, VEE 2022, Program Committee
- Architectural Support for Programming Languages and Operating Systems, ASPLOS 2022, External Review Committee (ERC)
- Virtual Execution Environments, VEE 2021, Program Committee
- ACM SIGPLAN International Symposium on Memory Management, ISMM 2021, External Review Committee (ERC)
- ISC High Performance 2020, Programming Models & Systems Software track, Program Committee
Publications
- Canvas:Isolated and Adaptive Swapping for Multi-Applications on Remote Memory by Chenxi Wang*, Yifan Qiao* (co-first), Haoran Ma, Shi Liu, Yiying Zhang, Wenguang Chen, Ravi Netravali, Miryung Kim, Guoqing Harry Xu The USENIX Symposium on Networked Systems Design and Implementation (NSDI), 2023
- MemLiner: Lining up Tracing and Application for a Far-Memory-Friendly Runtime by Chenxi Wang*, Haoran Ma* (co-first), Shi Liu, Yifan Qiao, Jonathan Eyolfson, Christian Navasca, Shan Lu, Guoqing Harry Xu The USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2022, (★Jay Lepreau Best Paper Award)
- Mako: A Low-Pause, High-Throughput Evacuating Collector for Memory-Disaggregated Datacenters by Haoran Ma, Shi Liu, Chenxi Wang, Yifan Qiao, Michael D. Bond, Steve Blackburn, Miryung Kim, Guoqing Harry Xu The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2022
- SPECBOX: A Label-Based Transparent Speculation Scheme Against Transient Execution Attacks by Bowen Tang, Chenggang Wu, Zhe Wang, Lichen Jia, Pen-Chung Yew, Yueqiang Cheng, Yinqian Zhang, Chenxi Wang, Guoqing Harry Xu IEEE Transactions on Dependable and Secure Computing (TDSC), 2022
- Unified Holistic Memory Management Supporting Multiple Big Data Processing Frameworks over Hybrid Memories by Chen Lei, Jiacheng Zhao, Chenxi Wang, Ting Cao, John Zigman, Haris Volos, Onur Mutlu, Fang Lv, Xiaobing Feng, Guoqing Harry Xu, Huimin Cui ACM Transactions on Computer Systems (TOCS), 2022
- Systemizing Interprocedural Static Analysis of Large-Scale Systems Code with Graspan by Zhiqiang Zuo, Kai Wang, Aftab Hussain, Ardalan Amiri Sani, Yiyu Zhang, Shenming Lu, Wensheng Dou, Linzhang Wang, Xuandong Li, Chenxi Wang, Guoqing Harry Xu ACM Transactions on Computer Systems (TOCS), 2021
- Semeru: A Memory-Disaggregated Managed Runtime by Chenxi Wang, Haoran Ma, Shi Liu, Yuanqi Li, Zhenyuan Ruan, Khanh Nguyen, Michael Bond, Ravi Netravali, Miryung Kim, Guoqing Harry Xu The USENIX Symposium on Operating Systems Design and Implementation (OSDI), 2020
- Panthera: Holistic Memory Management for Big Data Processing over Hybrid Memories by Chenxi Wang, Huimin Cui, Ting Cao, John Zigman, Haris Volos, Onur Mutlu, Fang Lv, Xiaobing Feng, Guoqing Harry Xu The ACM SIGPLAN Conference on Programming Language Design and Implementation (PLDI), 2019
- NVM Streaker: a fast and reconfigurable performance simulator for non-volatile memory-based memory architecture by Danqi Hu, Fang Lv, Chenxi Wang, Huimin Cui, Lei Wang, Ying Liu, Xiaobing Feng Journal of Supercomputing, 2018
- Efficient Management for Hybrid Memory in Managed Language Runtime by Chenxi Wang, Ting Cao, John Zigman, Fang Lv, Yunquan Zhang, Xiaobing Feng IFIP International Conference on Network and Parallel Computing (NPC), 2016, (Acceptance rate 17%)