The issue with your question is there's no allusion or reference to compute requirements. This puts some of your requirements at odds with each other. Observe:
- Intel® Core™ i7-6920HQ Processor (6th Generation)
- Base Freq. 2.9 GHz.
- 4 Cores, 8 Threads
- 8M Cache
- MSRP: $568
- ARK Link
- Intel® Core™ i3-6100H Processor (6th Generation)
- Base Freq. 2.7 GHz.
- 2 Cores, 4 Threads
- 3M Cache
- MSRP: $225
- ARK Link
So, the first processor is one of the best mobile processors available right now. It's also over twice as expensive as one of the lowest end current generation processors. The low end processor may meet your needs if each VM is not doing anything, or if the load is primarily on one or two VMs at a time.
Thus, what may be better for you is recomendations for what to look for, and you can adjust what you get based on your needs.
What to look for in a CPU for virtualization
- Virtualization Technologies Support
- Intel® Virtualization Technology for Directed I/O (VT-d): I believe you'd have to go very low end to find a processor that didn't support VT-d, but check to make sure you have it. These technologies (along with VT-x) greatly enhance VM performance by reducing the arbitration between the VM and the actual processor.
- Cores vs. Threads: Hyperthreading is great, but it is not another core. GENERALLY: i3 processors have 2 cores and HT enabled. i5's have 4 cores without hyperthreading. i7's have 4 cores with hyperthreading. ((Not a hard and fast rule, follow the links to the 6th Gen list of each device to see what I mean)) More cores is better than fewer when looking at actual compute power, but hyperthreading is a great way to get a little additional bang for your buck. Consider your expected load (including a potential load on the host) when picking a core count.
- Speed vs. Cores: I always break this out into speed vs. cores, because I think the generally referenced low GHz vs. high GHz is too obvious and a bit dated. So many applications are multithreaded these days that having more cores is almost always better than fewer high-speed cores. This is especially true of running many VMs, where each virtualized processor can be considered an application thread (for the sake of simplicity). If you have a choice between fewer cores at a higher speed, and more cores at a lower speed, get additional cores.
- Cache Size: All these VMs are going to be sharing a processor cache. Even though the i7 above only has twice as many cores as the i3, it's Cache is 2M larger than twice that of the i3. That will make a big difference in your expected performance of these VMs. All the quad-core i5's have 6M cache, for your reference, so that's another cost you have to decide if you're willing to absorb or not. This will help the VM's to feel less sluggish; with more cache shared among the VMs, the likelihood of having a cache hit (where the information a VM is looking for is in cache) goes up drastically. If the information isn't there, it has to go to memory, or worse, to storage for the info. Which brings to to my final point...
- Bus Speed: Most processors of the same generation will have similar bus speeds, but don't neglect to check. If you're going to get RAM that is fast, you need to make sure your processor supports the speeds advertised by the RAM, and that your FSB doesn't become saturated. By having a higher DMI3 speed, there's more headroom on the bus for the processor to get the information it needs from RAM, or elsewhere.
That's about all I can do for you. I understand the scope of HR limits the question range, but I should like to offer a few other tips for VM performance that can help keep costs low while boosting performance considerably (keeping it within range of the more general question you're asking, 'What can I do with hardware to ensure my VMs perform well'):
Lots of RAM, even if it's a bit slower: Having a lot of RAM is better than having less, super fast RAM for VMs. The issue here is we want to keep as much as we can in as fast a medium as possible. More RAM accomplishes this, and prevents the system from having to go to storage for information.
Get an SSD for your OS Cache: Called the page file in Windows, this little area is "virtual memory" that the OS uses for things that it thinks don't belong in RAM, but still wants to keep in "memory". Having a faster system cache (by comparison to HDD) will make a huge difference. A 60 GB SSD dedicate to this task will pay out dividends in performance. This is why most high performance NAS devices have SSD backed read and write caches.