|||
我们在《CCCF通讯》2019年第1期专题发表的《分布式共享内存与内存计算》介绍了“多虚一”巨型虚拟机GiantVM 架构,(网络链接),采用分布式QEMU 提供跨节点虚拟机抽象,KVM 为巨型虚拟机下层物理机管理接口,基于RDMA 提供低延迟分布式共享内存。 该虚拟化架构在VMware上运行效果如何呢?
我们用VMware安装Ubuntu虚拟机,在虚拟机里面安装分布式QEMU和支持DSM的KVM,虚拟两个节点,每个节点各2个VCPU。由于RDMA硬件没有,我们采用传统的TCP网络链接,然后安装Ubuntu Guest OS 进行测试。
首先运行CPU测试,
sysbench --test=cpu --cpu-max-prime=3000 run
可以看出CPU性能相差不大,符合预期。
线程测试:
sysbench --test=threads --num-threads=500 --thread-yields=100 --thread-locks=4 run
性能相差接近10倍。tcp链接和DSM虚拟化成本都比较大,还需进一步优化。
内存测试:
sysbench --test=memory --memory-total-size=4G run
主要是本地访问,相差不大。
IO测试:
sysbench --num-threads=4 --max-requests=1000 --test=fileio --file-total-size=1G --file-test-mode=rndrw run
还没采用分布式IO,主要在本地,相差也不大。
由此可见,采用适当的架构,高速的RDMA网络,分布式内存模型,和编程模型,虚拟化成本的开销还有很大的下降空间。通过“多虚一”架构,构建异构的虚拟资源池,通过虚拟化实现异构硬件归一化管理,简化编程模型。如何综合利用资源汇聚和分散,也将是今后的一个研究方向,也欢迎一起交流合作。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-23 13:32
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社