Skip to content

1. Design Principle and Objective

KyungsanKim edited this page Dec 21, 2023 · 18 revisions

The Compute Express Link (CXL) is an open-standard connectivity technology that includes different types of major hardware components in a system, such as volatile memory, persistent memory, and accelerator. The technology is geared to process high-performance computational workloads that demands a specific hardware resource like memory, I/O device, or computation in a more cost efficient manner.

In May of 2021, Samsung had unveiled the world-first CXL Memory expander, next, in October of 2021, further introduced SMDK, Scalable Memory Development Kit, a software toolkit to facilitate the Samsung CXL Memory Expander.

SMDK is designed as a reference SDM solution that orchestrates the main memory and the CMMs, CXL Memory Modules, to work together effectively and seamlessly in a heterogeneous memory systems. The core of the software kit includes library, plugin, kernel, hypervisor, with application and memory usecases.

There are 4 statements that SMDK team keeps in mind.

  1. SMDK is geared not only for powerful developers, but also for high level system operators.
    • To be specific, for those who do not want to be aware of any changes underlying memory device.
  2. SMDK inherits and extends conventional memory software stacks.
    • Inheritance is of importance in terms of compatibility, extension is also of importance in terms of appropriate novelty.
    • We are applying this thought to various stacks such as the Linux kernel, heap allocator, container, kubernetes, etc.
  3. SMDK, as a Software-Defined Memory, supports full-stack software that ultimately aims composable datacenter infrastructure.
  4. SMDK orchestrates CXL and other heterogeneous devices including memory, accelerator, and storage.

image