一种操作系统内存初始化优化算法
发布时间:2024-04-15 22:05
在操作系统内核的启动过程中,对存在较大内存空洞的NUMA结点内存进行初始化时会产生明显的时间损耗。尤其是在频率偏低的仿真平台上启动时,其影响更为显著,导致时间损耗进一步放大。为解决这一问题,提出了一种NUMA结点内存初始化优化算法,该算法能够在NUMA结点内存初始化时识别并跳过内存空洞,实现高效的内存初始化。将该优化算法与现行内核初始化算法进行对比实验,结果表明该优化算法显著提升了对存在内存巨大空洞的NUMA结点内存的初始化速度,进而提高了Linux系统内核的启动速度。
【文章页数】:7 页
【部分图文】:
本文编号:3956015
【文章页数】:7 页
【部分图文】:
图1内存空间功能分区
内核对内存的初始化过程是依据设备树文件中对NUMA结点的划分进行的。而一个结点的内存空间范围,就是从所含的第一个内存区域的起始地址开始,到最后一个内存区域的结束地址结束(包括内存区域之间存在的空洞)。同时,如李慧娟等[4]所指出的,内核对整个内存空间按照功能又进行了一次分区,如图....
图2系统内存空间分布示意图
此时,以设备树文件规划的内存布局为例的一个NUMA结点内存空间布局的示意图如图2所示。内核对NUMA结点内存的初始化过程可以概括为:顺序处理每个结点,并为每个NUMA结点内的物理内存页面建立内核数据结构,完成内存的初始化工作。
图3优化算法流程图
根据上述原理和依据,优化算法流程图如图3所示。算法步骤如下所示:
本文编号:3956015
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/3956015.html