• 中国计算机学会会刊
  • 中国科技核心期刊
  • 中文核心期刊

计算机工程与科学 ›› 2020, Vol. 42 ›› Issue (10高性能专刊): 1784-1790.

• 高性能计算机系统软件 • 上一篇    下一篇

一种操作系统内存初始化优化算法

何森,迟万庆   

  1. (国防科技大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2020-06-10 修回日期:2020-07-21 接受日期:2020-10-25 出版日期:2020-10-25 发布日期:2020-10-23
  • 基金资助:
    国家重点研发计划(2018YFB0204301)

A memory initialization optimization algorithm for operating systems

HE Sen,CHI Wan-qing   

  1. (School of Computer,National University of Defense Technology,Changsha 410073,China)
  • Received:2020-06-10 Revised:2020-07-21 Accepted:2020-10-25 Online:2020-10-25 Published:2020-10-23

摘要: 在操作系统内核的启动过程中,对存在较大内存空洞的NUMA结点内存进行初始化时会产生明显的时间损耗。尤其是在频率偏低的仿真平台上启动时,其影响更为显著,导致时间损耗进一步放大。为解决这一问题,提出了一种NUMA结点内存初始化优化算法,
该算法能够在NUMA结点内存初始化时识别并跳过内存空洞,实现高效的内存初始化。将该优化算法与现行内核初始化算法进行对比实验,结果表明该优化算法显著提升了对存在内存巨大空洞的NUMA结点内存的初始化速度,进而提高了Linux系统内核的启动速度。


关键词: 内存初始化;内存空洞, NUMA结点;CPU仿真验证

Abstract: During the startup of the operating system kernel, the initialization of NUMA memory nodes’ with large holes cause a significant time loss. Especially when the kernel is started up on the si- mulation platform with low frequency, this effect becomes more significant, and the time loss is significantly enlarged. In response to this problem, a NUMA  node initialization optimization algorithm is proposed. This optimization algorithm can identify and skip memory holes during memory node initialization, and achieve efficient initialization of memory during kernel's startup. Comparative experiment between this optimization algorithm and the current kernel initialization algorithm shows that this optimization algorithm significantly improves the initialization speed of NUMA nodes with huge memory holes, thereby increasing the startup speed of the operating system.



Key words: memory initialization, memory hole, NUMA node, CPU simulation