If you have ever wondered why the OpenBSD multi-processor kernel is 
named "GENERIC.MP" rather than "GENERIC.SMP," it's because you've 
missed out on some of Theo's ideas and plans to do asymmetric 
mutli-processing processing rather than the usual symmetric 
multi-processing (SMP). If you do not understand the difference, an 
over-simplified explanation would be; symmetric multi-processing is 
merely spreading tasks across multiple computing cores/processors and 
asymmetric multi-processing is a matter of dedicating specific 
computing cores/processors to do a particular task(s).

In most cases you'll first think of general purpose CPU cores which are 
designed to do a number of things reasonably well, but that is only the 
start of things. There are "cores" or co-processors which are designed 
to do specific tasks better than other tasks. The Graphics Processing 
Unit (GPU) on your video card is a good example of a specialized core 
designed to do particular tasks (graphics related) very well but would 
perform poorly (if at all) on general purpose tasks.

As systems with multiple cores become ever more prevalent and asymmetric 
processing comes into wider use, the techniques used to debug 
asymmetric multi-core systems become more and more important. Even if 
you are just an end user, it's something worth knowing about since 
eventually you will be asked to manage such systems and submit useful 
bug reports.

There is a well written article below which is worth reading and should 
be useful to anyone who understands the basics.

http://www.embedded.com/shared/printableArticle.jhtml?articleID=197008857
http://www.embedded.com/shared/printableArticle.jhtml?articleID=197800001

kind regards,
jcr

Reply via email to