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

J4 ›› 2010, Vol. 32 ›› Issue (11): 119-123.doi: 10.3969/j.issn.1007130X.2010.

• 论文 • 上一篇    下一篇

FLSP:一个高效的系统级垃圾收集算法

卢凯,周旭,迟万庆   

  1. (国防科学技术大学计算机学院,湖南 长沙 410073)
  • 收稿日期:2009-01-12 修回日期:2009-09-21 出版日期:2010-11-25 发布日期:2010-11-25
  • 通讯作者: 卢凯
  • 作者简介:卢 凯(1973),男,上海人,博士,研究员,研究方向为计算机软件与理论;周旭,硕士生,研究方向为计算机软件与理论;迟万庆,副研究员,研究方向为操作系统和虚拟计算环境。
  • 基金资助:
    国家973计划资助项目(2005CB321801);霍英东基金资助项目(111072)

A HighPerformance System Level Garbage Collection Algorithm

LU Kai,ZHOU Xu,CHI Wangqing   

  1. (School of Computer Science,National University of Defense Technology,Changsha 410073,China)
  • Received:2009-01-12 Revised:2009-09-21 Online:2010-11-25 Published:2010-11-25

摘要: 垃圾收集是Java操作系统的核心功能,它直接影响到整个系统效率。现代Java操作系统中使用的垃圾收集算法普遍还是沿用应用程序级的垃圾收集算法。应用程序级垃圾收集算法的优化主要面向于普通的Java虚拟机。而Java操作系统与Java虚拟机相比有更高的操作权限和更灵活的资源管理策略,如何利用这些特点和权限来提高垃圾收集算法的效率是以前的垃圾收集算法所没有考虑的。本文分析了操作系统下内存管理和垃圾收集的特点,在JUnicorn操作系统上,利用操作系统平台提供的便利,设计并实现了一个高效的系统级垃圾收集算法FLSP。测试数据表明,在操作系统级别,这种垃圾收集算法能够提高13%的系统性能,并且使垃圾收集的停顿时间缩短50%。

关键词: FLSP, 垃圾收集, Java操作系统, Java虚拟机, JUnicorn

Abstract: Garbage collection is a key part in the Java Operating System(JavaOS),which affects the efficiency of the whole system directly. Most garbage collection algorithms used in modern Java OS are derived from those used in the application level. The optimizing methods applied in the application level are Java Virtual Machine(JavaVM) oriented. But compared to JavaVM, JavaOS has higher privilege and more convenient strategy of managing resources. How to use these conveniences to improve garbage collection becomes a challenge that never faced the previous garbage collection algorithm designers. This paper analyzes the characteristics of memory management and garbage collection at the OS level. Then, based on the JUnicorn Java OS platform, using the conveniences provided by the OS platform, this paper designs and implements a high performance OS level garbage collection algorithm FLSP. The testing results show that working under this algorithm, system performance gains a 1.3 speedup on average. Meanwhile, it cuts off the average garbage collection pause time by 50%.

Key words: FLSP;garbage collection;JavaOS;JavaVM;JUnicorn