Skip to content

Commit

Permalink
Release hmsdk v3.0
Browse files Browse the repository at this point in the history
This is a new release for hmsdk v3.0, which is fully aligned its
features with various other open source projects including Linux kernel,
numactl, damo, etc.

The changes from hmsdk v2.0 to v3.0 are as follows.

- Apply interface changes of weighted interleaving from upstream
  - drop task level weight setting
  - drop set_mempolicy_node_weight and mrange_node_weight syscalls
  - drop local changes of numactl, then use upstream numactl with
    -w/--weighted-interleave option.
  - thanks to Gregory Price (formerly at MemVerge)

- Apply interface changes of DAMON based tiered memory management
  - DAMOS_{PROMOTE,DEMOTE} are renamed to DAMOS_MIGRATE_{HOT,COLD}
  - set the migration target with 'target_nid' in sysfs instead of use
    memory tiering info builtin kernel.
  - rename gen_config.py to gen_migpol.py for clear meaning
  - change --{dram,cxl}_nodes options of gen_config.py to
    --{demote,promote} options in gen_migpol.py along with its usage.
  - drop local changes of damo, then use upstream damo as all of hmsdk's
    features are upstreamed.
    - use 'target_nid' in migrate_{hot,cold} actions
    - use json format output to yaml format

- Replace cemalloc to hmalloc
  - reimplented hmalloc from scratch for cemalloc replacement.
  - cemalloc supports many features but only explicit mode is
    implemented in hmalloc after renaming of 'cxl_' prefixed APIs to
    'h' prefixed APIs.  For example, cxl_malloc is renamed to hmalloc.
  - drop unused features to reduce complexity.
    - such as implicit mode and Java/Python APIs
  - drop jemalloc submodule as hmalloc can use it from official packages
    without recompilation.
  - introduce hmctl tool to avoid environment variable exposure.

Since hmsdk v3.0 is fully aligned with various open source projects, its
usage and interface won't be changed any time soon and it will no longer
require back porting its local features to the upgraded versions.

Signed-off-by: Honggyu Kim <[email protected]>
Signed-off-by: Yunjeong Mun <[email protected]>
Signed-off-by: Hyeongtak Ji <[email protected]>
Signed-off-by: Rakie Kim <[email protected]>
  • Loading branch information
honggyukim committed Sep 16, 2024
1 parent fbc4ef7 commit 3ef865b
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ HMSDK consists of multiple git submodules so please download it as follows.

## News

- 2024-07-03: HMSDK v2.0 kernel patches have landed into upstream Linux kernel (will be available from v6.11)
- 2024-09-16: HMSDK v3.0 is released
- Fully aligned with various open source projects, which allows us drop local patches
- 2024-07-03: HMSDK v2.0 kernel patches have landed into upstream Linux kernel (available from v6.11)
- 7 commits including [migration core logic](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b51820ebea656be3b48bb16dcdc5ad3f203c4fd7) - [cover letter](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=a00ce85af2a1be494d3b0c9457e8e81cdcce2a89)
- 2024-04-19: numactl supports [--weighted-interleave](https://github.com/numactl/numactl/commit/b67fb88e77b3c200b0e300e2e0edc4f66c1d9ea5) option
- 2024-02-22: HMSDK v1.1 kernel patches have landed into upstream Linux kernel (available from v6.9)
Expand Down

0 comments on commit 3ef865b

Please sign in to comment.