作者lkerr (kerr)
站内Programming
标题Re: [问题] 有关古老程式跑在多核平台上的问题?
时间Mon Aug 3 10:08:25 2009
※ 引述《[email protected] (鬼府神通)》之铭言:
: ※ 引述《[email protected] (kerr)》之铭言:
: : 不知道po在这个版上会不会不适合,由於有一些古老的程式, 没有原始码,
: : 程式没有对多核心作最佳化, 那有没有方法在作业系统之上, 建立一个虚拟
: : 单核环境, 实际上这个虚拟环境却有效利用多核心的效能, 这样就能不用更
: : 改程式却能大大提升程式的效能, 作业系统可以是windows 或 linux
: : 不知有没有这样的解决方案, 感谢
: 您可以了解看看VM(virtual machine)
: 透过VM,可以让您把高性能的machine resourc分享给软体
: 不局限於unix,linux,MS platform.
现在的Virtual Machine, 例如 Xen,KVM,VMWare ESX,Virtualbox(xVM),Hyper-V,
要有效率的跑在x86或ia-64, 都会透过VT等技术,
这是因为x86的架构不符合 Popek and Goldberg virtualization requirements,
根据我使用以上VM的经验, 古老程式并不会利用到多核心的好处,
因为利用到VT, 所以同一时间, 古老程式只会跑在一个核心上,
除非是Full Virtualization, 但古早的Vmware 的效能大家都知道是很差的,
所以现在很少人会用Full Virtualization
这里所说的Virtual Machine 是 System Virtual Machine,
而要让古老程式跑在多核心上, Process Virtual Machine
应该比较适, 就像JVM, .Net Framework,
可是这程式是C/C++ 开发的 T_T
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 202.175.78.74
1F:→ ggg12345:要不要换主核是VMM的事,不分割资料同时跑 140.115.4.12 08/03 11:46
2F:→ ggg12345:同一程式与资料,都做同样的事也不会变快! 140.115.4.12 08/03 11:48
3F:→ ggg12345:VM同样也能模拟多核心的CPU,也操控各实核 140.115.4.12 08/03 11:51
4F:推 jiansu:说不定可以让VM搞个BINARY TRANSLATION,转 61.223.241.12 08/04 23:32
5F:→ jiansu:成可以利用多核心的..BUT 很难.. 61.223.241.12 08/04 23:33
6F:推 ggg12345:其实先弄清处那些程式片段如何利用多核达 140.115.4.12 08/05 00:59
7F:→ ggg12345:成并行,如Array Loop变成多核的那种组语 140.115.4.12 08/05 01:01
8F:→ ggg12345:效率会更高,这如同有FloatPU与否是同类事 140.115.4.12 08/05 01:04