news 2026/6/15 15:02:00

操作系统内存池化实现机制,助力超节点应用创新

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
操作系统内存池化实现机制,助力超节点应用创新

基于灵衢互联构建的鲲鹏超节点,操作系统提供服务器之间内存热插拔能力,并通过灵衢系统高阶服务提供内存借用和内存共享接口,实现超节点内内存削峰填谷、低时延共享等能力,助力虚拟化、数据库、大数据等业务创新。

特性介绍

当前不同服务器内存使用随业务负载变化,存在一些服务器内存不足,而另外一些服务器内存空闲,造成内存利用率不足。不同服务器部署同一种业务时需共享数据,但服务器间不支持同步内存语义访问,只能以通信的方式实现数据交换,难以做到百纳秒级低时延访问。

在鲲鹏超节点上,操作系统通过内存池化技术,实现内存借用和内存共享以解决上述痛点问题。

内存借用:将邻居节点空闲物理内存映射给其他节点,实现根据负载需求弹性扩缩内存

关键特性:

支持远端内存热拔出。

支持插入远端内存,并上线到NUMA。用户可透明使用远端内存,例如使用glibc的malloc/free接口申请远端内存,使用numactl -m绑定应用使用远端内存。

支持插入远端内存,并上线到字符设备。用户可通过open+mmap方式映射远端内存到应用进程内使用。

典型使用模式:

内存临时借用,削峰填谷

一借多,N倍扩展,超大内存

内存共享:同一内存多节点共享,实现基于内存语义的数据共享

关键特性:

支持创建共享内存区。

支持将共享内存映射给多个使用者。

典型使用模式:

LD/ST直通,基于内存语义的数据快速交换

一写多读,全局缓存池

优势分析

在鲲鹏超节点上,基于内存借用特性,可以实现业务场景性能优化。

数据库场景,利用内存池化技术减少算子落盘,OLAP性能提升20%;虚拟化场景,通过内存借用,将多个节点的碎片化内存整合利用,实现虚机超分,提升内存利用率。

证券极速交易场景,利用内存共享实现低时延通信,替代传统网卡、交换机,通信时延从微秒级降低到百纳秒级。数据库场景,利用内存共享实现行列转换列存数据共享,减少节点间数据重分布,提升20%OLAP多机并行查询性能。

上手教程

1、安装

ub-pkg-mem 提供 UB OS 的内存池化功能,安装方法:

yum install -y ub-pkg-mem ubs-engine ubs-engine-client-libs ubs-mem-shmem

2、内核启动参数配置,需要重启生效,在/etc/grub2-efi.cfg文件中menuentry的linux行中配置如下字段:

pmd_mapping=100% numa_remote=nofallback,hugetlb_nowatermark,preonline

3、使用,以内存借用为例

#include<iostream>#include"ubs_mem_def.h"#include"ubs_mem.h"int ubs_mem_lease_demo(){/* Initialize ubs-mem library... *//* Allocate 4M memory from other host in the default region. */std::string region_name = "default";size_t size = 0x400000UL;ubsmem_distance_t mem_distance = DISTANCE_DIRECT_NODE;uint64_t flags = 0;void *addr = nullptr;auto ret = ubsmem_lease_malloc(region_name.c_str(), size, mem_distance, flags, &addr);if (ret != UBSM_OK) {std::cerr << "Failed to allocate remote memory. ret: " << ret << std::endl;return -1;}/* Allocate memory succeeded. *//* Do your work here... *//* Free memory. */ret = ubsmem_lease_free(addr);if (ret != UBSM_OK) {std::cerr << "Failed to free remote memory. ret: " << ret << std::endl;return -1;}return 0;}

结语

未来,操作系统将继续围绕内存池化技术,从池化性能、时延、易用性等维度进一步优化演进,联合业务场景探索更多应用模式,助力鲲鹏超节点应用创新。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/15 14:59:16

深入解析RapidIO错误处理机制:从原理到MSC8251实战应用

1. 项目概述&#xff1a;为什么我们需要深入理解RapidIO的错误处理机制&#xff1f;在嵌入式系统&#xff0c;尤其是通信基站、雷达信号处理、工业自动化这些对实时性和可靠性要求近乎苛刻的领域&#xff0c;系统内部各模块之间的高速数据交换是命脉。RapidIO作为一种高性能、低…

作者头像 李华
网站建设 2026/6/15 14:57:29

如何利用Type-Fest提升Prisma数据库操作的类型安全性:完整指南

如何利用Type-Fest提升Prisma数据库操作的类型安全性&#xff1a;完整指南 【免费下载链接】type-fest A collection of essential TypeScript types 项目地址: https://gitcode.com/GitHub_Trending/ty/type-fest Type-Fest是一个精选的TypeScript类型集合&#xff0c;…

作者头像 李华
网站建设 2026/6/15 14:56:50

可视化图表选型:如何选对图,不让数据“撒谎”

可视化图表选型&#xff1a;如何选对图&#xff0c;不让数据“撒谎”一、为什么选错图表比没有图更糟 做数据可视化&#xff0c;最忌讳的不是“没图”&#xff0c;而是“选错图”。 举个常见的坑&#xff1a;用饼图展示 15 个品类的销售占比。结果最大的扇区只占 8%&#xff0c…

作者头像 李华
网站建设 2026/6/15 14:51:53

深入解析MSC8113 DSP扩展核心系统:QBus总线与内存优化实战

1. 项目概述&#xff1a;深入MSC8113的扩展核心系统在嵌入式DSP系统开发中&#xff0c;尤其是在无线通信、音视频处理这类对实时性和计算吞吐量要求极高的领域&#xff0c;我们常常会与飞思卡尔&#xff08;现NXP&#xff09;的MSC81xx系列芯片打交道。其中&#xff0c;MSC8113…

作者头像 李华
网站建设 2026/6/15 14:49:51

手把手教你通过SSH修改VCSA hosts文件,解决第二阶段Internal Error报错

深度解析VCSA部署中Internal Error的SSH修复方案在虚拟化平台部署过程中&#xff0c;VMware vCenter Server Appliance&#xff08;VCSA&#xff09;作为核心管理组件&#xff0c;其安装稳定性直接影响整个虚拟化环境的搭建效率。然而&#xff0c;许多工程师在第二阶段配置时都…

作者头像 李华
网站建设 2026/6/15 14:46:42

Kodus-AI未来展望:AI代码审查的技术演进路线

Kodus-AI未来展望&#xff1a;AI代码审查的技术演进路线 【免费下载链接】kodus-ai AI Code Review with Full Control Over Model Choice and Costs. 项目地址: https://gitcode.com/gh_mirrors/ko/kodus-ai Kodus-AI作为一款AI代码审查工具&#xff0c;正在引领AI代码…

作者头像 李华