title: What does the so-called "Fine-Grained Parallelism" exactly mean in the context of this book?
body: <p>I'm reading <em>Operating System: Internals and Design Principles</em>. In Section 10.1 Multiprocessor Scheduling, the author introduces a table of synchronization granularity as follows:</p>
  
  <blockquote>
    <ul>
    <li><strong>Fine: Parallelism inherent in a single instruction stream</strong></li>
    <li>Medium: Parallelism processing or multitasking within a single application</li>
    <li>Coarse: Multiprocessing of concurrent processes in multiprogramming environment</li>
    <li>Very Coarse: Distributed processing across network nodes to form a single computing environment</li>
    <li>Independent: Multiple unrelated processes</li>
    </ul>
  </blockquote>
  
  <p>and he explains the fine-grained parallelism like this:</p>
  
  <blockquote>
    <p>Fine-grained parallelism represents a much more
    complex use of parallelism than is found in the use of threads. Although much
    work has been done on highly parallel applications, this is so far a specialized and
    fragmented area, with many different approaches.</p>
  </blockquote>
  
  <p>I could understand the medium granularity is about thread and other granularity except the so-called fine-grained parallelism. And I didn't get much information by searching it on the Internet. So could you please clarify it for me? Some examples would really help.</p>
  
  <p>Thanks in advance!</p>