Hi All,
I just fired up my first two (Intel) i7's for a customer. (Awesome processor by the way!) To my surprise, I though I was only going to see four cores, but instead, I got eight virtual cores. With a little investigating, it transpires that the i7 is using hyperthreading.
Question: since Virtual Box only uses one core, does it get one real core from the i7, or one virtual core, or two virtual cores. What is the effect of hyperthreading on Virtual Box?
Many thanks,
-T
What effect does i7's hyperthreading have on Virtual Box?
-
ToddAndMargo
- Posts: 306
- Joined: 6. Aug 2007, 02:24
-
sej7278
- Volunteer
- Posts: 1003
- Joined: 5. Sep 2008, 14:40
- Primary OS: Debian other
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Solaris, Linux, Windows, OS/2, MacOSX, FreeBSD
- Contact:
Re: What effect does i7's hyperthreading have on Virtual Box?
HyperThreading is a bit of a hack that Intel ditched after the Pentium4, but its back in CoreI7, some say it can actually decrease performance, some say it can help spread the load, everyone agrees a "hyperthread" is not the same as adding another CPU/core.
Currently VirtualBox guests are not SMP-aware, so only get to see one virtual CPU, I don't think the guests know or care if its a CPU, core or thread.
The VirtualBox application itself is SMP-aware, guests seem to be bound to a single CPU (or core/thread), until guests outnumber CPUs, at which point the load seems to get spread across CPU's, i.e. on my Core2Quad if I run one guest and do something CPU-intensive, one core gets hammered and the other three are idle. When I've run five/six guests, the load gets spread across all four cores.
When VirtualBox guests get SMP-support, I assume if you configure two CPU's, then two cores will be able to go to 100% like a single core does, rather than the load being spread 50% on all four cores for example.
The more important thing that CoreI7 adds that Core2Quad doesn't have, is nested paging.
Currently VirtualBox guests are not SMP-aware, so only get to see one virtual CPU, I don't think the guests know or care if its a CPU, core or thread.
The VirtualBox application itself is SMP-aware, guests seem to be bound to a single CPU (or core/thread), until guests outnumber CPUs, at which point the load seems to get spread across CPU's, i.e. on my Core2Quad if I run one guest and do something CPU-intensive, one core gets hammered and the other three are idle. When I've run five/six guests, the load gets spread across all four cores.
When VirtualBox guests get SMP-support, I assume if you configure two CPU's, then two cores will be able to go to 100% like a single core does, rather than the load being spread 50% on all four cores for example.
The more important thing that CoreI7 adds that Core2Quad doesn't have, is nested paging.
-
ToddAndMargo
- Posts: 306
- Joined: 6. Aug 2007, 02:24
Re: What effect does i7's hyperthreading have on Virtual Box?
I guess what I was asking was does the guest run better or worse on half a core?
-
sandervl
- Volunteer
- Posts: 1064
- Joined: 10. May 2007, 10:27
- Primary OS: MS Windows Vista
- VBox Version: VirtualBox+Oracle ExtPack
- Guest OSses: Windows, Linux, Solaris
Re: What effect does i7's hyperthreading have on Virtual Box?
Operating systems typically take hyperthreading into account when scheduling threads. Vista for instance tries to spread threads evenly across cores to avoid putting two threads on a single core with hyperthreading.