分页: 1 / 1

一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-20 20:44
xianai
Linux内核机制KSM(Kernel Samepage Merging)能合并KVM虚拟机之间相同内存的页面,被CentOS, RHEL之类的服务器内核广泛采用,但是其速度很慢。UKSM(Ultra KSM)是国人在此基础上的极大改进。通过使用了更高级的算法,UKSM的新特性包括:
* 全系统扫描,用户透明:能扫描所有应用程序(虚拟机方面目前仅支持KVM,其它的也在计划中)中匿名映射区域的页面,不需要开发者修改一行程序就能从中获益。
* 极大提高了工作效率,其页面合并的速度,最高可比原本的KSM快20倍以上。
* 非常节省CPU,如果系统当中没有冗余页面,那么其CPU占用几乎观察不到,而一旦系统当中出现了冗余的内存的时候,它又能快速发现加以消除。

具体的评测请看:
http://kerneldedup.org/projects/uksm/benchmarks/
官方评测数据显示,其效率相当给力!常大量使用 KVM虚拟机的朋友,尤其值得观察评测中KVM相关的部分

现在 UKSM已经发布了两个稳定版本,并且提供主流发行版本内核基础上UKSM补丁过的内核安装包下载:
http://kerneldedup.org/projects/uksm/download/
欢迎广大网友们使用,并反馈意见!

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-21 8:24
reverland
嗯,aur中有了

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-21 15:28
到处看看
地球小白表示kvm用不起啊 :em06

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-22 7:46
鲍尔默
启动后再想办法合并,总会有些不尽如人意的!
启动一个虚拟机,然后直接 fork 虚拟机进程就高效多了!

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-22 8:18
xianai
鲍尔默 写了:启动后再想办法合并,总会有些不尽如人意的!
启动一个虚拟机,然后直接 fork 虚拟机进程就高效多了!
kvm是会fork的,但是那是为了模拟 VCPU,

如有有很多台 KVM 虚拟机,不同的虚拟机所有者,
可能使用不同的虚拟盘,在里面安装不同的软件,运行不同的程序,
那样的kvm进程都是独立的哦~

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-22 10:15
xianai
到处看看 写了:地球小白表示kvm用不起啊 :em06
其实不仅仅是KVM,系统当中只要有冗余的匿名映射的内存,它都能快速发现的哦 :em09

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 20:16
自由建客
内存我有大把,只是磁盘空间太紧!

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 20:42
xianai
自由建客 写了:内存我有大把,只是磁盘空间太紧!

空闲的内存是用作文件系统的缓存的哦,
只要你还是经常发现你会读盘,其实谁都不够, :em09

当然了,我们这个补丁其实最明显的好处当然是有很多虚拟机的用户,比如云计算~

文件系统将来我们会往上做的,要能持续发展就好了~

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 20:57
自由建客
xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 21:33
rapistor
12.04 64位安装软件后网络不正常啊,兄弟,请检查下。

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 22:09
xjpvictor
看着不错的样子

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-23 22:20
rapistor
正常了,原来是我网络恰好在重启后出了点问题。

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2012-04-24 20:48
xianai
自由建客 写了:xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。
你说的对,其实理论上这个在文件缓存层面可实现(就是回写不回写的问题了),
但是目前Linux内核尚未有类似用户接口,也许将来我可以实现 :em09

不过现在实在是忙疯了 :em20 ,俺们项目人手少,求组队~

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2013-01-18 4:34
xkythudrultk
看了视频我觉得即使如此CPU占用还是太高了……没有什么性能调节的方法么?

和systemmonitor比CPU占有率……这简直就是欺负人家么~

高性能计算的话内存往往很便宜但时间和CPU就很昂贵了。UKSM能缩短时间么?另外你们团队发工资么? :em04

另外这个算法的时间和空间复杂度是多少?以什么来衡量的啊?

Re: 一个极其高效的虚拟机内存冗余消除机制:UKSM

发表于 : 2013-01-18 14:15
自由建客
xianai 写了:
自由建客 写了:xianai, 我有大把的内存,但很多软件就是爱同步写磁盘!比如 xpad,每点一次图标,它就要咔咔两下。gpicview,每次启动和关闭都要咔咔两下。还有很多软件都是如此。我都是把他们的配置目录链接到内存盘的,开机恢复,关机备份。
你说的对,其实理论上这个在文件缓存层面可实现(就是回写不回写的问题了),
但是目前Linux内核尚未有类似用户接口,也许将来我可以实现 :em09

不过现在实在是忙疯了 :em20 ,俺们项目人手少,求组队~
这关内核鸟事,完全是应用程序自己的事。默认都是异步的,同步是需要刻意调用特别函数的。它们就是以为自己的数据特别重要,非同步写不可!