Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    text
    copied!<p>in the past when desktop machines had a single CPU, parallelization only applied to "special" parallel hardware. But these days desktops have usually from 2 to 8 cores, so now the parallel hardware is the standard. That's a big difference and therefore it is not just about which problems <em>suggest</em> parallelism, but also how to apply parallelism to a <em>wider set of problems</em> than before.</p> <p>In order to be take advantage of parallelism, you usually need to recast your problem in some ways. Parallelism changes the playground in many ways:</p> <ul> <li>You get the data coherence and locking problems. So you need to try to organize your problem so that you have semi-independent data structures which can be handled by different threads, processes and computation nodes.</li> <li>Parallelism can also introduce <em>nondeterminism</em> into your computation, if the relative order in which the parallel components do their jobs affects the results. You may need to protect against that, and define a parallel version of your algorithm which is robust against different scheduling orders.</li> <li>When you transcend intra-motherboard parallelism and get into networked / cluster / grid computing, you also get the issues of network bandwidth, network going down, and the proper management of <em>failing computational nodes</em>. You may need to modify your problem so that it becomes easier to handle the situations where part of the computation gets lost when a network node goes down.</li> </ul>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload