Do you have a rule of thumb as to how many core to assign to a guest? For instance, with an Intel x5650 with 6 real and 12 hyperthreaded cores, how many cores would you assign to the guest?
It fully depends on the load of your guests and how many guests you want/need to run on a single server.
You need to perform some testing to know what will work the best in your case. One thing to remember though: In your case, if you create two guests with 12 virtual CPUs each, and one of them crashes and take all its 12 virtual CPUs up to 100%, it will essentially take most of the processing power away from the second guest, leaving the second guest in a close-to-useless state (depending on your scheduler, but you get the point). If you on the other hand had assigned 6 cores to each of them, the second guest would have remained unaffected, since it just uses the 6 cores with no load. So if your guest will not utilize the extra CPUs anyway, then don't assign them.
Best regards Kenni