混合内存管理与增量检查点技术优化
在当今的计算领域,混合内存管理和增量检查点技术对于提升系统性能和可靠性至关重要。下面将详细探讨这两方面的内容。
混合内存管理
混合内存是未来内存系统的一个有潜力的选择,但它的复杂性给有效管理带来了挑战。在管理语言运行时的混合内存管理中,我们进行了一系列的研究和实验。
首先,不同程序在不同内存空间放置堆时的运行时间表现不同。例如,xalan程序在堆放置在慢空间和快空间时,运行时间分别是在快空间的4.57倍和2.22倍;avrora程序的LLC缺失率最低,堆在快空间或慢空间时时间基本相同。
将16M的新生区(nursery)放入快空间能显著减少时间,平均从1.76减少到1.10,与将整个堆放入快空间相比仅相差10%。将成熟分区放入快空间能进一步减少时间,对于SPECjbb和pmd,成熟分区放入快空间后,其归一化运行时间分别从1.29减少到1.01,从1.23减少到1.00。
与操作系统默认的页面交错方案相比,将16M新生区放入快空间的时间更短。交错方案对每个分区一视同仁,16M和64M交错快空间设置的时间分别为1.38和1.35,而仅16M新生区在快空间的平均时间为1.10。
这些结果表明,应直接将新生区放入快空间,这样可以避免在线监控和页面迁移成本。对于成熟空间,我们可以使用工具HMprof找到热点对象,并为其分配少量快空间。
在热点对象分配方面,将标记为热点且晋升到成熟分区的对象放入快空间(如果可用)是有效的。以SPECjbb、pmd和hsqldb为例,它们在成熟分区的LLC缺失比其他基准测试更多。
超级会员免费看
订阅专栏 解锁全文
173万+

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



