Chenxi Wang

Postdoctoral Researcher
Computer Science Department
Samueli School of Engineering
University of California, Los Angeles
Email: wangchenxi@cs.ucla.edu

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 Github

Research

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

Publications