文章目录
  1. 1. Singleton
    1. 1.1. 相关资料
    2. 1.2. 摘要
    3. 1.3. 实现
      1. 1.3.1. cache-scrubbing
      2. 1.3.2. Scrubbing频率控制
    4. 1.4. 总结

Singleton

此论文是HPDC’12上的一篇文章,今天特意总结一下,希望对读者会有所帮助。

相关资料

姓名 主页 谷歌学术 dblp
Prateek Sharma Prateek Sharma Prateek Sharma Prateek Sharma
Purushottam Kulkarni Purushottam Kulkarni Purushottam Kulkarni Purushottam Kulkarni

摘要

Singleton,一个基于KVM的全系统级内存去重方案,以提高内存使用效率。

在KVM系统中,存在一个问题:double-caching,在主机和虚拟机的page cache上都缓存相同的磁盘块,这样浪费了宝贵的物理内存,从而导致内存压力增加。

实现

cache-scrubbing

Singleton使用KSM及其维护的页面索引来搜索虚拟机中存在的页面,KSM维护了所有虚拟机页面的索引,然后我们在主机的page cache中寻找是否有与虚拟机页面相同的页,如果存在,我们就在主机的page cache中去掉重复的页,这个过程称为cache-scrubbing。显然,经历了cache-scrubbing之后,double caching的问题就解决了,因为此刻只有客户机的page cache缓存了磁盘块的内容,而主机page cache的那份内容已被擦除。

Scrubbing频率控制

Scrubbing的频率越高,ksm的overhead就越高,为此,我们需要根据当前系统的内存使用情况,采用不同的频率。如果当前系统内存不足,那么Scrubbing频率就增加,这样就能及时地节省出内存来;如果当前系统内存充足,那么Scrubbing频率就降低以节省开销。

总结

Singleton通过cache-scrubbing解决了double caching的问题,但是,主机的page cache作为客户机page cache的备用层,完全将其备用层擦除也会带来性能上的损失。

文章目录
  1. 1. Singleton
    1. 1.1. 相关资料
    2. 1.2. 摘要
    3. 1.3. 实现
      1. 1.3.1. cache-scrubbing
      2. 1.3.2. Scrubbing频率控制
    4. 1.4. 总结