Benefits between multi-core CPUs and multiple single core CPUs

E1e9hant

Reputable
Jan 3, 2016
1
0
4,510
If you had multiple high preformance single-core CPUs, would you basically have an entire processor for a single program, it might be skeptical but it seems like you could get incredibly high preformance.
 
Solution
It would also largely depend on the software. Multicore vs multi cpu are not the same thing. If the program isn't coded to take advantage of a multi cpu setup like a workstation/server board with 2-4 cpu sockets on the same board then the program will run off just one of the single core cpu's. Very little software is written that way, to be able to address separate physical chips. A single multicore cpu will almost always give more performance.

Looking at something like a pentium g3258 with core speeds of 3.2ghz, having two of these vs a single i5 like a 4690k has no advantage. Granted the g3258 is a dual core but even if it were a single core cpu, the i5 has core speeds as high or higher and twice as many. Literally twice the hardware...
Multiple single core cpu would not be better than multi core cpu. The amount of transistors in cpu greater effects how effective a cpu is. The nm keeps decreasing to decrease space between the chips for quicker communication and more cores can be added. Having multiple single core would mean that have to rely on the Motherboard to communicate with each other. It will also become a space issue as you can fit so many cpu sockets in one motherboard.
 
It would also largely depend on the software. Multicore vs multi cpu are not the same thing. If the program isn't coded to take advantage of a multi cpu setup like a workstation/server board with 2-4 cpu sockets on the same board then the program will run off just one of the single core cpu's. Very little software is written that way, to be able to address separate physical chips. A single multicore cpu will almost always give more performance.

Looking at something like a pentium g3258 with core speeds of 3.2ghz, having two of these vs a single i5 like a 4690k has no advantage. Granted the g3258 is a dual core but even if it were a single core cpu, the i5 has core speeds as high or higher and twice as many. Literally twice the hardware under the same hood. The i5's cores aren't somehow 'weaker' or less efficient because there are 4 of them on the same chip. Being able to run 2 physical g3258's only adds headache and complexity and still wouldn't match the i5 (which has higher clock speeds).
 
Solution
Not really. In practice, having a multi-core CPU will be faster than individual single-core CPUs. Multi-core CPUs essentially take a single-core CPU, duplicate it several times, and put it all on one piece of silicon. Inter-core communication which is required for multithreaded programs is faster as the communication never leaves the die and is thus significantly lower in latency and generally much higher in bandwidth as well. Figure about a 5-10x reduction in latency with inter-core communication vs. communication between different CPUs in different sockets. Plus with modern CPU turbo modes, you can essentially hit the same single-threaded clock speeds with a bunch-of-cores CPU vs. a theoretical CPU with only one core.

The only disadvantage you'd get with having a single multi-core CPU vs. several single-core CPUs would if and only if you had a modern IMC and point-to-point bus (HT or QPI) setup and needed maximum aggregate memory capacity and bandwidth. Having more memory controllers with multiple CPUs would do that. But that's a real edge case and if you fit in that edge case, both Intel and AMD have multi-socket setups with low-core-count (4 core) CPUs to sell you (e.g. Opteron 6308 and Xeon E5-2637 v3). The fact they sell very few of those compared with the 12/16/18-core units is very telling of just how much of an edge case it is.
 
From a software perspective, the software wouldn't care about the difference between cores and physical CPUs. The real issue is how those CPUs communicate with the rest of the PC, and eachother. Multiple-Core CPUs will be faster because they don't have to communicate with eachother via some external bus that will be slower then on-die communication could ever be.
 
Another disadvantage of having multiple CPUs with fewer cores is that many pieces of expensive commercial software generally charge more for systems with the same number of aggregate cores in a greater number of sockets. MS Windows is a great example. You can run a single 16-core Haswell-EX or Opteron 6200/6300 CPU on any retail consumer version of Windows 10. Running a dual-socket 8-core setup requires Windows Server 2012 Essentials, else you just see 8 cores (one CPU.) Running four quad-core CPUs requires Windows Server Standard with at least two licenses and running 8 dual-core CPUs as in an 8-socket Opteron 88x/82xx setup requires Windows Server Standard with at least four licenses.