About Past Issues Editorial Board

KAIST
BREAKTHROUGHS

Research Webzine of the KAIST College of Engineering since 2014

Spring 2024 Vol. 22
Electronics

ExPAND: The World’s First Expander-Driven Data Prefetch Solution for CXL-SSDs

August 23, 2023   hit 1409

 A research team led by Professor Myoungsoo Jung proposed ExPAND, which can improve the performance of the system using CXL3.0-enabled CXL-SSDs. ExPAND performs highly accurate and timely prefetching due to the collaboration of CXL-SSD and host. ExPAND showed 2.8 times higher performance compared to CXL-SSD without data prefetching. 


 The logo of the proposed expander-driven CXL prefetch solution.

 

With the arrival of the big data era, hyperscale data centers such as Google, Microsoft, and Meta have been looking for ways to increase computer system memory efficiently. CXL, a next-generation interface technology that has recently become a hot topic, is a technology that meets these demands in the hyperscale data centers. A memory expander using CXL interface can efficiently expand the host's memory space. In particular, NAND flash-based memory expander, which is called CXL-SSD can expand the host memory space to a much greater extent than existing DRAM-based memory expanders. Therefore, CXL-SSD is suitable for various big data applications such as machine learning, recommendation systems, and graph applications.

 

 Figure 1. A System with CXL-SSDs and CXL switches.

 

However, NAND flash-based CXL-SSD has a long access delay time of tens to hundreds of times compared to existing local memory. Even if, CXL-SSD can provide a large memory space to the host, long memory access time may result in the system’s performance degradation. In general, to solve this problem, the data prefetcher in the host CPU mainly used the method of bringing the data to be used by the CPU in advance. However, the prefetcher in the existing CPU is difficult to apply to a system composed of CXL-SSD due to the following two problems.

 

Firstly, it is difficult for existing prefetchers to cover the exponentially expanded memory space. The prefetcher in the existing CPU exploits only simple rules to prefetch the data due to limitations such as CPU area cost. However, since the memory space expanded by CXL-SSD is usually hundreds to thousands of times larger than the existing host memory, a data prefetcher that only understands simple rules cannot cover the various rules that occur in a wide address space. 

 

Secondly, the existing prefetcher does not consider the various latency of the devices. This is because the existing prefetchers target only the host's DDR-based main memory, which shows short and uniform latency. However, in the case of CXL-SSD, due to multi-tiered switching supported by CXL 3.0, each device has different latency depending on the number of switches that are connected to each device. In this case, even if the existing prefetcher performs prefetching, the data desired by the host CPU is not prefetched in time.

 

Figure 2. Architectural design and interface of ExPAND.

Professor Myoungsoo Jung and his research team proposed ExPAND, which can solve these problems. ExPAND is a prefetch solution centered on CXL-SSD and features high prefetch accuracy and considering various latencies of each device. Specifically, ExPAND applies an ML-based prefetcher, which was difficult to apply to CPUs, to each device and performs prefetching accurately for large memory space. In addition, considering that the data movement time between the host and the device differs due to different switch connection structures, prefetching is performed earlier than the time when the host needs the data by the data movement time. As a result, the data which should be prefetched is delivered to the host in time.

 

The ExPAND showed 2.8 times higher performance in graph applications than CXL-SSD without data prefetch and showed high performance even if the access delay time for each device varied depending on the number of switches connected.

 

 This research, along with the paper titled “Cache in Hand: Expander-Driven Prefetcher for Next Generation CXL-SSDs” was presented in July at The 15th ACM Workshop on Hot Topics in Storage and File Systems, 2023.