<html>
  <head>
    <meta content="text/html; charset=utf-8" http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 31/03/17 09:55, Gary Doades wrote:<br>
    </div>
    <blockquote cite="mid:033b01d2a9fc$9cb27700$d6176500$@gpdnet.co.uk"
      type="cite">
      <pre wrap="">However, multiple independent compute units must be required for <b class="moz-txt-star"><span class="moz-txt-tag">*</span>true<span class="moz-txt-tag">*</span></b> parallelism. On a single processor any tasks running at the same time is just an illusion, normally created by the OS in time slicing between tasks based on certain criteria (priority, I/O, cpu usage etc.). That applies equally to threads or processes</pre>
    </blockquote>
    I think that what are referring to here is not so much *true*
    parallelism but that when parallelism is designed into an
    application, it enables real time parallel computing when the
    application is deployed.<br>
    <br>
    For example, this distinction is very important in matrix
    algorithms. When operating on two matrices to produce another, the
    operations on each cell can be identified as n x m parallel actions
    at design time. At deployment time, it is often desirable to have a
    scalable implementation that can use anything from 1 to n x m
    processors to do the job. Thus you can have a design that identifies
    parallelism leading to an implementation that can non-parallel,
    partly or wholly parallel (in real time) depending on the size of
    the matrices and the number of processors available. <br>
    <br>
    At what point does this become *true* parallelism?<br>
  </body>
</html>