Skip to content
Honggyu Kim edited this page May 9, 2023 · 7 revisions

HMSDK Overview

HMSDK (Heterogeneous Memory Software Development Kit) is designed to support heterogeneous memory, especially CXL memory which is a new promising memory system based on a CXL (Compute Express Link) open industry standard.

This document describes the details of HMSDK with the sections below.

  • HMSDK Design: Describes the overall HMSDK architecture, features, and how it works.
  • User Guide: Describes how to install and use HMSDK.
  • Performance Results: Describes the performance of the CXL memory system using HMSDK features.

HMSDK enables the efficient use of CXL; Memory for capacity and bandwidth expansion.

  • CXL-aware Memory Allocator: Provides APIs for users to use CXL memory efficiently.
  • Capacity Expander: Provides extended memory capacity with CXL memory.
  • Bandwidth Expander: Provides maximized memory bandwidth with CXL memory.

hmsdk_main_diagram

HMSDK Features

  • HMSDK enables the Linux kernel to manage heterogeneous memory better with a new memory policy.
  • cemalloc (CXL expandable malloc) is a memory allocator for CXL memory.
  • a set of tools for HMSDK.