Don't understand CPU configuration for VMs

Discussion in 'Installation and Configuration of Parallels Desktop' started by goldenegg, Mar 9, 2011.

  1. goldenegg

    goldenegg Bit poster

    Messages:
    2
    I'm a little perplexed and hope someone can explain what Parallels is doing.

    On a Core2Duo, Parallels allows me to assign 4 CPUs to a VM. On a new quad-core i7 (Sandy Bridge), it allows me to assign 8 CPUs to a VM.

    This would tell me that Parallels is taking the 'fake' hyper-threading cores in to account here. If this is the case, what is really assigned to the VM when I choose 2 CPUs? Is it 2 'real' cores or 1 core plus hyper-threading?
     
  2. goldenegg

    goldenegg Bit poster

    Messages:
    2
    Really? Not even a Parallels employee is able to answer this?
     
  3. Jeffro

    Jeffro Bit poster

    Messages:
    8
    I hate to resurrect an old thread, but I also need clarification on this issue and this was the top hit on Google.

    I have a 15" MBP, mid-2012. The 2.3 GHz CPU supports hyperthreading. Parallels 7 is showing 8 "cores" available when I set up my Windows 7 VM. How are these arranged? If I select "4" for my VM, will it be giving it 2 physical + 2 virtual, or all 4 virtual, or (heaven forbid) all 4 physical?

    I would ideally like to have 2 physical + 2 virtual for my VM.

    Thanks!
     
  4. Jeffro

    Jeffro Bit poster

    Messages:
    8
    Hello?

    10char
     
  5. Jeffro

    Jeffro Bit poster

    Messages:
    8
    I'm going to post in this thread every day until someone can give me an answer... this is ridiculous.
     
  6. Jeffro

    Jeffro Bit poster

    Messages:
    8
    ..........
     
  7. strells

    strells Product Expert

    Messages:
    573
    Not sure why this is so important. What are you wanting to do and why?

    Steve
     
  8. Jeffro

    Jeffro Bit poster

    Messages:
    8
    As I already said, I don't want all the "real" cores taken up by a single OS. I don't think it's too much to ask for a simple explanation on how the cores are split.
     
  9. strells

    strells Product Expert

    Messages:
    573
    Well, according to PD Help:

    You can change the number of virtual CPUs that will be used to handle the processes running in a virtual machine. Parallels Desktop automatically calculates the maximum allowable number of virtual CPU. The calculation is based on the number of physical CPUs available to your Mac OS X computer.

    This tells me that what you select are always virtual cores, basically how many cores the VM sees. It doesn't seem like the VM would be able to completely take over a physical core, but I could be wrong.

    Steve
     
  10. Jeffro

    Jeffro Bit poster

    Messages:
    8
    Yeah, you're wrong... in machines that only have physical cores, you can still allocate however many you want to the VM. This is also obvious when I pull up the drop-down menu; Parallels offers 8 cores total, though I only have 4 physical in my system. That's the problem. I can just select any number between 1 and 8, with no explanation as to which are physical and which are virtual.

    What the hell Parallels?
     
  11. Even a so called Hyperthread is considered a core. It has to tell Windows what and how many to use. Obviously you would not want to assign all 8 to a virtual machine unless you intend to work almost totally with that OS. The iCores do work a bit differently then traditional Hyper threading that your used to. For me and my Core i5 Macbook Pro I simply assign 2 cores and basically that's plenty. The other more important key is RAM if you run a lot of apps in VM. Don't make this anymore difficult then it is. Select 2 cores and see how it runs. If you need more CPU power add more cores. Does not matter if they are hyper threaded or not. They still work as added headroom for threads.
     
  12. Jeffro

    Jeffro Bit poster

    Messages:
    8
    I realize what they do, but I want to know for sure which cores are being assigned where. They may "work" the same, but they're NOT the same (as you said), and I don't want to give my VM 4 virtual cores and be left with all 4 physical cores in OSX. That just doesn't make sense.

    Again, I want to have 2 physical/2 virtual in OSX and 2 physical/2 virtual in Windows 7. For all I know that might be what's already happening, but since no one from Parallels will come in here and confirm I'm left to continue bumping this thread until someone who knows what they're talking about replies.
     
  13. You know basically the assigning of cores to a virtual machine does not mean it become exclusive to the VM. It just means that the VM will see however many cores that you select that are available. I suspect that would include hyper threaded cores. It just about selecting how much CPU power to allow to process the Virtual Machine. To me the number of cores could be replaced by percentage of CPU power. The multi CPU core processor is multitasking all the time anyway. Its not like you select all 8 cores and your core i7 won't run OS X. It will probably make it run slower but that's it.
     
  14. blackrich

    blackrich Bit poster

    Messages:
    3
    assigning threads not CPUs

    You are not setting CPU affinity, you are basically just telling your VM how many threads it can access concurrently. The Parallels hypervisor controls which actual CPU handles a task the guest OS assigns to a virtual CPU, and it is usually the next one available. For the purposes of assigning virtual CPUs, there is no distinction between a hyper threaded CPU and and a physical core.
     
  15. YanaYana

    YanaYana

    Messages:
    1,666
    Right,

    You are just telling how much CPU power VM can use. IN Parallels Desktop you cannot assign any hardware resources directly to VM (Graphic card, CPU unit or RAM) as it is always shared with Mac OS.

    However you can do it in Parallels Server - but this software has a different purpose and usually not for a personal use.
     

Share This Page