title: What is happening when Matlab is starting a "parallel pool"?
body: <p>Running parallel CPU processes in Matlab starts with the command</p>
  
  <pre><code>parpool()
  </code></pre>
  
  <p>According to the <a href="https://www.mathworks.com/help/distcomp/parpool.html" rel="nofollow noreferrer">documentation</a>, that function:</p>
  
  <blockquote>
    <p>[creates] a special job on a pool of workers, and [connects] the MATLAB client to the parallel pool.</p>
  </blockquote>
  
  <p>This function usually takes a bit of time to execute, on the order of 30 seconds. But in other multi-CPU paradigms like OpenMP, the parallel execution seems totally transparent -- I've never noticed any behavior analogous to what Matlab does (granted I'm not very experienced with parallel programming). </p>
  
  <p>So, what is actually happening between the time that <code>parpool()</code> is called and when it finishes executing? What takes so long?  </p>