Symmetric multiprocessing SMP is often used in science, industry, business, where software is specifically designed for multi-threaded execution. At the same time, most consumer products, such as text editors and computer games, are written in such a way that they cannot benefit much from SMP systems.
Programs running on SMP systems get a performance boost even if they were written for single-processor systems. This is due to the fact that hardware interrupts, usually suspending the execution of a program for processing by the kernel, can be processed on a free processor. The effect in most applications is manifested not so much in the performance gain as in the feeling that the program runs more smoothly. In some applications, in particular software compilers and some distributed computing projects, the increase in performance will be almost directly proportional to the number of additional processors.
Limit on the number of processors As the number of processors increases, the memory bus bandwidth requirement increases markedly. This imposes a limit on the number of processors in the SMP architecture. Modern designs can accommodate up to four processors on a single motherboard. Cache Coherence Problem Occurs because the value of a data item in memory stored in two different processors is available to these processors only through their individual caches. If the processor changes the value of the item in its cache, then when trying to output data from memory, the old value will be obtained. On the contrary, if the I / O subsystem inserts a new value into the main memory cell, the processor's cache memory is still old.