Talk:Parallel computation: Difference between revisions
imported>Niek Sanders m (forgot sig.) |
imported>Yuval Langer (Adding article checklist) |
||
Line 1: | Line 1: | ||
{{checklist | |||
| abc = Parallel computation | |||
| cat1 = Computers | |||
| cat2 = | |||
| cat3 = | |||
| cat_check = n | |||
| status = 2 | |||
| underlinked = y | |||
| cleanup = y | |||
| by = [[User:Yuval Langer|Yuval Langer]] 20:14, 11 April 2007 (CDT) | |||
}} | |||
== Proposed Outline == | == Proposed Outline == | ||
Revision as of 19:14, 11 April 2007
Workgroup category or categories | Computers Workgroup [Categories OK] |
Article status | Developing article: beyond a stub, but incomplete |
Underlinked article? | Yes |
Basic cleanup done? | Yes |
Checklist last edited by | Yuval Langer 20:14, 11 April 2007 (CDT) |
To learn how to fill out this checklist, please see CZ:The Article Checklist.
Proposed Outline
I just did a quick brain-dump for the initial cut at this page. I think a reasonable initial sectioning is as follows:
- Introduction
- Concept of parallel vs. serial computation.
- Concept of coarse vs. fine/instruction level parallelism.
- Mention parallel, cluster, distributed computing.
- Growing importance of parallel computation in light of increasing cores in consumer cpus.
- Increased difficulty of coding and debugging parallel programs.
- Problem Domain
- Give a few classic examples (ray tracing and n-body problem).
- Introduce concept of embarrassingly parallel
- Algorithms
- Give some classic examples
- Communication overhead
- Lower performance than serial algorithms when run on single CPU
- Hardware
- The need for atomic operations in hardware for parallel code to work.
- CPU Level Test and Set (TAS)
- CPU Level Test and Swap (Lockfree programming)
- Alternative method using memory interlock (classic CS paper)
- The need for atomic operations in hardware for parallel code to work.
- Software
- Low level primitives
- Semaphores
- Mutexes
- Language support
- Specialty languages
- Pure functional languages (no side effects = auto parallelization)
- Library support
- OpenMP
- OpenMPI
- Parallel LAPACK.
- Low level primitives
- Research
- Bunch of major research topics
- DNA computing
- Related topics
- Bunch of related topic links, possibly organized by some coherent categories.
- Citations
- Survey and overview papers/pages
Niek Sanders 19:07, 26 March 2007 (CDT)
Dekker's Algorithm
T.J. Dekker made a historically significant mutual exclusion algorithm. He showed that is possible to use memory interlock alone to enforce a critical section. (Note that this no longer works on modern processors).
Tracking down a citation for this algorithm has been a pain in the ass. He apparently wrote it in 1959 but both these two webpages indicate it was published in a book by Dijkstra:
- http://www.cs.uiowa.edu/~jones/syssoft/notes/17conc.html
- http://portal.acm.org/citation.cfm?doid=945526.945527 (citation 9)
I'm going to steal the ACM citation for now, but it needs verification.
Niek Sanders 01:28, 27 March 2007 (CDT)
- Computers Category Check
- General Category Check
- Category Check
- Advanced Articles
- Nonstub Articles
- Internal Articles
- Computers Advanced Articles
- Computers Nonstub Articles
- Computers Internal Articles
- Developed Articles
- Computers Developed Articles
- Developing Articles
- Computers Developing Articles
- Stub Articles
- Computers Stub Articles
- External Articles
- Computers External Articles
- Computers Underlinked Articles
- Underlinked Articles
- Computers Cleanup
- General Cleanup
- Cleanup