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

J4 ›› 2014, Vol. 36 ›› Issue (01): 57-62.

• 论文 • 上一篇    下一篇

应用协同的进程组内存管理支撑技术

陈鲍孜,吴庆波,谭郁松   

  1. (国防科学技术大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2012-07-02 修回日期:2012-11-27 出版日期:2014-01-25 发布日期:2014-01-25
  • 基金资助:

    核高基重大专项资助项目(2012zx01040001)

Supporting mechanism for applicationassisted
memory management of processes group       

CHEN Baozi,WU Qingbo,TAN Yusong   

  1. (College of Computer,National University of Defense Technology,Changsha 410073,China)
  • Received:2012-07-02 Revised:2012-11-27 Online:2014-01-25 Published:2014-01-25

摘要:

云计算进行资源聚合的一种重要方式是将不同用户、不同特征的应用聚合起来进行混合部署、同时运行。相比之下,用户态应用的垃圾回收器对服务个体的内存管理针对性更好,而操作系统对整体内存资源分配能力更强。现有内核的机制仅能保证服务在全局内存或进程组内存使用达到上限时被动地进行垃圾回收。结合Linux内核中的进程控制组机制以及eventfd事件通知机制,设计实现了一个简单高效的应用协同分组内存管理的内核支撑机制。通过在内核中增加应用协同的内存管理机制,进一步增加了系统对应用自主管理内存的支撑能力。实验表明,新的机制没有给原有的操作系统带来明显的性能影响。

关键词: 内存管理, Linux内核, 云计算

Abstract:

An important way to aggregate resources is to consolidating applications of different users with different features.While user space application garbage collector aims at memory management of specific service, operating system knows better about how to allocate memory resource through the entire system. However, current Linux kernel mechanism can only notify application to do garbage collection when the memory usage reaches the upper limit of either global system. The paper designs and implements the supporting mechanism for collaborative memory management in Linux Kernel by Cgroup and Eventfd subsystem, which can further increase the system’s ability to support application’s own memory management policy. The experiments show that the new mechanism does not bring significant performance regression to the original operating system.

Key words: memory management;Linux kernel;cloud computing