<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>