内存管理的硬件痛点

作者: yuwh_507 | 来源:发表于2015-03-16 14:24 被阅读206次

2014 LSMM峰会上的讨论

H. Peter Anvin提出了一个问题:如果硬件可以增加某些功能来让内存管理变得更简单一些,那么这些功能应该是什么呢?

开发者起初抱怨不同架构之间的差异太大,内核软件不得不为他们定制单独的模块,Rik

van Riel指出, PowerPC没有TLB

Flush的功能,其他一些架构(如SPARC)也有这一限制,这使得通用代码无法完成他们本应该完成的事情,如果该功能由硬件来完成,那么平台无关的代码(通用部分)将更容易地完成页表刷新的工作.

Peter Zijlstra希望x86能有使某一区域页表失效(Invalidate)的功能.

另一个普遍的需求是x86能提供64KB大小的页(目前只有4KB,2MB和1GB).

Mel Gorman提出是否有让页面快速填0的方法(memset(addr,0,size)的性能在很多时候是瓶颈),尤其是使用大页时显得尤其有必要,填满一整个页面往往需要不短的一段时间。有人提出使用non-temporal的技术来解决该问题,即fill page时不需要使CPU

cache失效的技术。还有人提出在CPU的空闲时间来完成fill page的工作,但Christoph Lameter表示他已经尝试过了这个方法,但效果很不理想

有人提出希望有更快速的iret指令,以便更快速地进行缺页处理;

再有就是关于用CPU间传递消息以及响应事件所引起开销的讨论,人们觉得可以运行在用户态的mwait指令或许能有所帮助。

开发者们的愿望清单,硬件厂商的开发人员是否都看到了呢?

原文链接:Hardware pain points for memory management

相关文章

  • 内存管理的硬件痛点

    2014 LSMM峰会上的讨论 H. Peter Anvin提出了一个问题:如果硬件可以增加某些功能来让内存管理变...

  • shell -- 基础

    Linux 内核的作用: 系统内存管理、软件程序管理、硬件管理、文件系统管理 系统内存管理: 最主要的是对虚拟内存...

  • 初识Linux

    内核介绍 内核定义 内核控制计算机系统所有软硬件,分配硬件执行软件。 内核功能 系统内存管理 内存,交换区进行管理...

  • iOS开发 —— 内存管理

    一、为什么要学习内存管理 内存对于任何硬件及软件的重要性不言而喻,而作为硬件与用户交流的中间体软件,对于内存的要求...

  • chapter 1.初识Linux Shell

    内核主要负责功能 内核主要负责以下四种功能: 系统内存管理 软件程序管理 硬件设备管理 文件系统管理 系统内存管理...

  • 虚拟内存

    为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存。虚拟内存是硬件异常、硬件地址翻...

  • 操作系统学习:什么是操作系统以及中断的概念

    什么是操作系统 是计算机硬件和应用之间的一层软件方便我们使用硬件,如显存高效使用硬件 cpu管理,内存管理,终端管...

  • Go 语言内存管理(一):系统内存管理

    介绍 要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制...

  • Linux内核与发行版

    Linux内核 Linux内核是什么 Linux内核是Linux操作系统的核心, 负责硬件管理, 比如管理内存、管...

  • GO 内存管理

    要搞明白 Go 语言的内存管理,就必须先理解操作系统以及机器硬件是如何管理内存的。因为 Go 语言的内部机制是建立...

网友评论

    本文标题:内存管理的硬件痛点

    本文链接:https://www.haomeiwen.com/subject/tdtixttx.html