MATLAB: MatLab R2011a detects 8 physical cores when I only have 4!

parallel local workers matlabpool cluster

Hey! I have a computer that has a single Xeon X3480 (4 cores) CPU and 16 GB of PC-1333 RAM. This computer is currently running Windows Server 2008 R2. I am running MatLab R2011a. My problem is that when I run 'matlabpool open', MatLab gives me a pool of 8 workers when I only have 4 physical cores. In all my other machines, MatLab only gives me one worker per physical core. I am wondering whats wrong? I have checked all the properties of my local configuration and they are all on default. I have the "Number of workers available to scheduler (Cluster Size)" option empty so as far as I know it is supposed to give me only 4 workers. Thanks in advance!

Best Answer

This Xeon uses hyper-threading, as shown here:
This means, that each core can process two threads at the same time. Therefore it is a good idea to start 8 workers.
Related Question