[fpc-pascal] Threading vs Parallelism ?

Tony Whyman tony.whyman at mccallumwhyman.com
Fri Mar 31 11:38:32 CEST 2017


On 31/03/17 09:55, Gary Doades wrote:
> However, multiple independent compute units must be required for*true*  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
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.

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.

At what point does this become *true* parallelism?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-pascal/attachments/20170331/e4e13721/attachment.html>


More information about the fpc-pascal mailing list