Multi-Core processing

CPUs are serial devices; meaning, they can only perform a single task at a time. This can be limiting when carrying out large/multiple workloads. But by using multiple CPUs, processing can be speed up.

These processors, which are called Multi-Core CPUs, can run multiple instructions at the same time. This is referred to as true parallelization; where programs, tasks, and instructions can all run, concurrently, within their individual cores. 

It is easy to see how beneficial it can be when using Multi-Core CPUs; especially for systems that handle very high volumes of traffic, such as servers. But, Multi-Core CPUs are also very common in consumer-grade products. Current computers, including laptops and desktops and even mobile devices, consist of multiple cores; some as little as two and others as much as eight.  

But, is adding more cores to a CPU always guarantee faster speeds? Let us take a look at how power relates to speed: A semi-truck is, obviously, more powerful than the average car (it can pull a larger load). But the car will most likely win in a race. In the case with a multi-core CPU, more work is done without increasing the speed; so a dual core at 4 Ghz, will still run at 4Ghz and not at 8Ghz.

Programs’ algorithms must also be specifically designed to take advantage of the Multi-Core processing technology.  If not the workload will be funneled to a single core and there will be no performance gain. This is very common with older programs running on modern hardware.     

So, multi-core processing is great when handling large workloads. But, programs must also be written for multi-core processing before they can take full advantage of this technology.