项目名称: 异构通用内存管理框架GMEM(Generalized Memory Management)
代码仓位置: https://gitee.com/openeuler/kernel/tree/openEuler-23.09/ 主要代码文件: include/linux/gmem.h include/linux/gmem_as.h include/linux/vm_object.h mm/gmem.c mm/vm_object.c mm/huge_memory.c mm/memory.c mm/mmap.c drivers/remote_pager/
推荐获奖的方向: openEuler 年度技术创新项目
推荐人: gitee id: xiexiuqi email: xiexiuqi@huawei.commailto:xiexiuqi@huawei.com gitee id: weixizhu94 email: weixi.zhu@huawei.commailto:weixi.zhu@huawei.com gitee id: fangchuang email: fangchuangchuang@huawei.commailto:fangchuangchuang@huawei.com gitee id: SuperSix173 email: liuchao173@huawei.commailto:liuchao173@huawei.com
推荐理由: 2023年9月,异构通用内存管理框架 GMEM(Generalized Memory Management)在openEuler-23.09上正式发布。GMEM提供了异构内存互联的中心化管理机制,且GMEM API与Linux原生内存管理API保持统一,易用性强,性能与可移植性好。
GMEM的问世是为了解决异构加速器设备HBM(High-Bandwidth Memory)内存不足,数据搬移效率低、易用性和性能难以平衡的问题。开发者使用一套统一申请、释放的API,即可完成异构内存编程,无需处理内存搬移等细节。在加速器HBM(High-Bandwidth Memory)内存不足时,GMEM可将CPU内存作为加速器缓存,透明地超分HBM,无需应用手动SWAP。GMEM提供高效免搬移的内存池化方案,当内存池以共享方式接入后,可解决数据反复搬移的痛点。
在9月19日的OSS大会上,由朱维希(gitee id: weixizhu94)介绍的GMEM特性获得了suse等其他厂商的好评,后续我们也会尽快将GMEM推入linux社区,让更多的开发者认识和了解GMEM。
GMEM使用指导: https://gitee.com/openeuler/docs/blob/master/docs/zh/docs/GMEM