Short answer:
The lowest end Mac Pro that can be upgraded to a 2.93 12-core Westmere is the 2.66GHz 12-core Westmere.
Long answer:
The single socket Nehalem and Westmere Mac Pros literally have one socket. Aside from that, most of the lower end configs ship with a 1066MHz memory bus instead of a 1333MHz bus. In order to upgrade to a part that uses faster ram you will need to replace all your ram, and probably solder some resistors to change the clock multipliers on the board.
Without SMD soldering you will need to match the bus speed of the processor, which means if you have a 1066MHz memory interface the highest end part you will be able to install is are quad core 2.66GHz Xeon E5640s. There is also no guarantee the firmware will actually initialize it correctly, though odds are good that it will.
You have a lot of cores, and hyperthreading makes it appear to the system that you have twice as many. The reason you may not ever see activity on half your cores is because the system is not utilizing them. While the system may be multiprocessor aware, not necessarily will every application you run. Today's processors are very very fast, which means that most of your cores will sit idle most of the time unless you're doing something really really interesting.
If you want to see your cores being utilized, try this google search, which returns multicore aware Mandelbrot set generators. Another suggestion is to try downloading HandBrake and installing and setting it to transcoding some large wmv9 files with deblock and denoise, set to maximum for good measure, but don't expect nice transcodes with those settings; its just something for your cores to chew on so you can watch in Activity Monitor that you can set processes that will use all cores. If you're not satisfied, run multiple instances of these applications. What I used to do to see the cores utilized is launch a ridiculous number of Chess.app instances and set them all to playing against the computer. If you want to try this, have /Applications/Utilities/Activity Monitor.app open, and open /Applications/Utilities/Terminal.app and enter this line, hit return, hit the up arrow and repeat over and over until you think you have enough instances running to work your processors,:
/Applications/Chess.app/Contents/MacOS/Chess &
Regarding Parallels, I searched the forums and the documentation. Interestingly, neither the User Guide, nor the Data Sheet, nor any list of features that I could find say anything about how many cores you can assign to each VM. I believe this may be to how things get created in parallel, and while there were issues with multicore in previous versions (if the number of forum posts regarding it are any indication), perhaps they decided to move forward with publishing documentation sans any mention of the abilities to utilize multiprocessor/multicore.
That being said, I found some other sources for you that answer your question
How many CPUs can be assigned to a Parallels Desktop VM?
definitively:
- according to a wikipedia page comparison between Fusion and Parallels:
Up to 8 processors per VM & Multi Core
In comparison, Fusion 5 and the current version of Parallels support up to 8 CPUs and 8 GB of RAM.
Both Windows and Linux guest operating systems can be installed via an easy installer, and Parallels supports up to eight virtual CPUs, and 64-bit versions of Windows and Mac OS X Server.
Please bear in mind this last citation is for Parallels 5, which should be good news, as subsequent versions of Perallels will only increase the features and hopefully the robustness of the application.
FWIW, while I have switched to Open Source software for virtualization, I was an early adopter of Parallels and found their support to be excellent. They took good care of me and answered all of the many questions and problems I encountered in timely fashion. That was some time ago (~2005/6 during beta, and the release of 3.0), and I have heard complaints since then, but that was not my personal experience with their forums or their phone support. So I have encouraged others to register and seek help and answers to technical questions there. I would recommend you do this to hear from the source exactly what you want to know regarding how Parallels handles multiprocessing/multicore.
can I assign all 8 cores to the VM and still use Mac OS X?
Yes, absolutely, OS X is very good at handling resources. It is possible you may not even notice much is happening. I have myself a rather anemic (by today's standards) core2duo, and with 15 instances of HandBrakeCLI running transcodes, and both my puny cores maxed out, I really couldn't notice anything from the desktop while I continued to surf and use other day to day applications. I did keep an eye on how much memory was being used, and I didn't even get close to maxing my 8GB of RAM, nor did I notice any swapping. But if you have a slow (4200 rpm) harddrive, I think you'll probably notice something.
Best Answer
Side note, Intel's i3, i5, i7, and i9 naming schemes don't tell how many cores there are (they used to, I believe, but they weren't 3, 5, or 7). Cores are also almost always distributed in even numbers.
This means the speed at which the processor runs at. GHz is Gigahertz, or billions of hertz. Hertz is basically the number of times per second something is run. A 60Hz monitor refreshes its screen 60 times per second. In the case of CPUs, GHz is in reference to the number of clock cycles, which can contain one or more instructions per cycle. This also means that comparing GHz is a bad idea, as with each new generation of CPUs, clock cycles are used more efficiently, and in different ways (between Intel and AMD and especially ARM-based processors)
The CPU is made from Intel, it's part of the "Core" lineup, more specifically the i5 lineup. i[number] used to mean it had a certain number of cores, whether it had hyperthreading, and I think few other things. It no longer means that. An i5 can have 2 cores with hyperthreading or 6 cores without, and anywhere in between. Without more info, such as the model number (i5-2500, for example), not much else is known about the CPU. With the model number, you can look up various information about the CPU. This includes information such as the number of cores it has, which means how many individual threads can be run at once.
Even comparing two CPUs with the same GHz, core count, and generation doesn't mean they're identical. There are different processors for mobile, desktop, high end desktop, etc. A 3.0GHz 4 core laptop CPU runs with significantly less power and heat (and thus has less computing power) than it's desktop counterpart
To answer your final question, no, you cannot multiply GHz by cores. If we assume two CPUs are identical in every aspect except for core count, say a 3.0GHz 4-core and a 3.0GHz 8-core, we can't say that the 8-core is twice as powerful. Let's say you have a factory, which produces blankets. Each blanket takes 3 hours to sew. With 4 workers, you can produce 4 blankets every 3 hours. With 8 workers, you can produce 8 blankets every 3 hours. However, even if you have 100 workers, you still can't produce a blanket in less than 3 hours, since that's the time it takes to produce a blanket. This holds true for CPUs. Depending on what you're doing, you may not get any benefit from multiple cores. Some tasks can be heavily multithreaded. In our example, this would mean each part of the blanket could be made different people, then stitched together at the end. Other tasks cannot, such as growing a crop. You can have 10,000 crop fields, but you won't be able to harvest any faster than if you only had 1 crop.