并行实时垃圾回收与基于区域的内存管理
1. 并行实时垃圾回收(Parallel RTGC)
1.1 配置方法
在实时系统中,垃圾回收(GC)的配置至关重要。有两种主要的配置方法:基于时间的方法和基于工作的方法。
- 基于时间的方法 :需要知道最大内存使用量和最大分配速率(以每秒兆字节等为单位)。通过这些值,可以配置堆大小和垃圾收集器的时间槽,以确保垃圾收集器始终能跟上应用程序的内存需求。
- 基于工作的方法 :配置相对简单,不需要知道分配速率。因为基于工作的垃圾收集工作调度会在分配速率高时自动增加垃圾收集工作。只需要了解应用程序的最大堆使用量,就可以设置堆大小,使每次分配所需的垃圾收集工作量可接受,且较大的堆大小会减少每单位内存分配的垃圾收集工作量。
在多核系统中,可以结合基于时间和基于工作的方案。空闲的 CPU 可以用于持续进行垃圾收集工作,只要这些工作足以满足当前应用程序的内存使用和分配速率,就不需要在分配时进行额外的垃圾收集工作。只有在工作不足时,才使用基于工作的方法作为后备。
1.2 相关工作
- 早期研究 :并发和增量标记清除垃圾回收的早期工作可以追溯到 70 年代,Dijkstra 和 Steele 做出了重要贡献。Baker 提出了第一个增量复制收集器。
- 负载均衡 :Halstead 的 Multilisp 实现了增量和并行 GC,但未解决负载均衡问题。Endo 提出了不同变异器处理器之间的负载均衡方法,每个进程维护
超级会员免费看
订阅专栏 解锁全文
176万+

被折叠的 条评论
为什么被折叠?



