Releases: skhynix/hmsdk
hmsdk v4.0
This is a new release for hmsdk v4.0, which supports enhanced bandwidth and capacity expansion as well as bwprof, which is a bandwidth profiling tool.
What's Changed
The changes from hmsdk v3.0 to v4.0 are as follows.
Bandwidth expansion enhancement
- support multi-socket weighted interleave
- with socket-aware weighted interleave
- with this feature, users don't have to use
-N/--cpunodebind nodesoption to numactl to avoid UPI overhead between sockets- instead,
numactl -w allis all you need now
- instead,
- support weighted interleave APIs in libnuma (contributed by @hygoni)
- the following APIs for weighted interleave is added to libnuma
numa_alloc_weighted_interleaved_subset()numa_alloc_weighted_interleaved()numa_weighted_interleave_memory()
- the following APIs for weighted interleave is added to libnuma
- hmctl supports
-w/--weighted-interleaveoption- to support object level weighted interleave (e.g. malloc level)
- libnuma APIs are page level weighted interleave (e.g. mmap level)
- to support object level weighted interleave (e.g. malloc level)
Capacity expansion enhancement
- support multi-threaded monitoring and migration
- to enhance monitoring accuracy and migration speed
- by multiple kdamonds covering split ranges of whole address
bwprof tool for system memory profiling
- system-wide bandwidth profiling tool for both DRAM and CXL memory
- it supports top, record, report, dump, and info commands for monitor, record and analyze the result offline
notable submodule and tools update
- linux kernel: upgrade from v6.12 to v6.17
- with socket-aware weighted interleave feature on top of v6.17
- damo: upgrade from 2.4.7 to 3.0.0
- numactl: upgrade to 548e9ea for new libnuma APIs
- move damo and numactl submodules into tools directory
- mlc: upgrade from v3.11 to v3.12
- remove tools/gen_config.py symbolic link to tools/gen_migpol.py
Contributors
Signed-off-by: Honggyu Kim honggyu.kim@sk.com
Signed-off-by: Rakie Kim rakie.kim@sk.com
Signed-off-by: Yunjeong Mun yunjeong.mun@sk.com
Full Changelog: hmsdk-v3.0...hmsdk-v4.0
hmsdk v3.0
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.
What's Changed
The changes from hmsdk v2.0 to v3.0 are as follows.
Bandwidth Expansion
- Apply interface changes of weighted interleaving from upstream
- drop task level weight setting
- drop
set_mempolicy_node_weightandmrange_node_weightsyscalls - drop local changes of numactl, then use upstream numactl with
-w/--weighted-interleaveoption. - thanks to Gregory Price (formerly at MemVerge)
Capacity Expansion
- Apply interface changes of DAMON based tiered memory management
DAMOS_{PROMOTE,DEMOTE}are renamed toDAMOS_MIGRATE_{HOT,COLD}- set the migration target with
target_nidin sysfs instead of use memory tiering info builtin kernel. - rename
gen_config.pytogen_migpol.pyfor clear meaning - change
--{dram,cxl}_nodesoptions of gen_config.py to--{demote,promote}options ingen_migpol.pyalong with its usage. - drop local changes of damo, then use upstream damo as all of hmsdk's features are upstreamed.
- use
target_nidinmigrate_{hot,cold}actions - use json format output to yaml format
- use
- thanks to SeongJae Park (formerly at Amazon)
Custom Allocator
- 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
hprefixed APIs. For example,cxl_mallocis renamed tohmalloc. - 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
hmctltool 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.
Contributors
Signed-off-by: Honggyu Kim honggyu.kim@sk.com
Signed-off-by: Yunjeong Mun yunjeong.mun@sk.com
Signed-off-by: Hyeongtak Ji hyeongtak.ji@sk.com
Signed-off-by: Rakie Kim rakie.kim@sk.com
Full Changelog: hmsdk-v2.0...hmsdk-v3.0