Pleasingly Parallel Algorithms
Many applications are what is called (essentially) embarrassingly or more kindly pleasingly parallel
These are made up of independent concurrent components
- Each client independently accesses a Web Server
- Each roll of a Monte Carlo dice (random number) is an independent sample
- Each stock can be priced separately in a financial portfolio
- Each transaction in a database is almost independent (a given account is locked but usually different accounts are accessed at same time)
- Different parts of Seismic data can be processed independently
In contrast points in a finite difference grid (from a differential equation) canNOT be updated independently
Such problems are often formally data-parallel but can be handled much more easily -- like functional parallelism