Sieve C++ Parallel Programming System: Difference between revisions

Content deleted Content added
Rescuing 0 sources and tagging 4 as dead.) #IABot (v2.0.9.5) (Whoop whoop pull up - 21816
 
Line 8:
* Only functions annotated with sieve or immediate can be called.
 
Delaying side-effects removes many small dependencies which would usually impede automatic parallelization. Reads and writes can be safely reordered by the compiler as to allow better use of various data movement mechanisms, such as [[Direct Memory Access]](DMA). In addition, [[alias analysis]] and [[dataflow analysis]] can be simplified [http://www.cl.cam.ac.uk/~al407/research/papers/eupar07.pdf]{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}. The compiler can then split up code within the sieve block much easier, to exploit parallelism.
 
==Memory Configuration==
Line 32:
 
==Determinism==
Determinism is an unusual feature of the Sieve System. If executing a parallel Sieve program on a multi core machine yields a bug, the bug will not disappear when run on a single core to aid [[debugging]][https://web.archive.org/web/20070321082311/http://www.codeplay.com/downloads_public/sievepaper-2columns-normal.pdf][http://www.cl.cam.ac.uk/~al407/research/papers/eupar07.pdf]{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }}. This has the advantage of eliminating [[race conditions]], one of the most common bugs in [[concurrent programming]]. The removal of the need to consider [[concurrency control]] structures within a sieve block can speed up development time and results in safer code.
 
==Supported Systems==
Line 48:
 
==References==
*[http://www.cl.cam.ac.uk/~al407/research/papers/hppc07.pdf Auto-parallelisation of Sieve C++ Programs]{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }} Alastair Donaldson, Anton Lokhmotov, Colin Riley, Andrew Cook. In Proceedings of the Euro-Par Workshop Highly Parallel Processing on a Chip (HPPC'07), Rennes, France, August 2007. Lecture Notes in Computer Science 4854, 2007.
*[http://www.cl.cam.ac.uk/~al407/research/papers/eupar07.pdf Delayed Side-effects Ease Multi-core Programming]{{Dead link|date=November 2024 |bot=InternetArchiveBot |fix-attempted=yes }} Anton Lokhmotov, Alan Mycroft, Andrew Richards. In Proceedings of the 13th International Euro-Par Conference, Rennes, France, August 2007. Lecture Notes in Computer Science 4641, 641-650, 2007.
*[https://www.cs.cmu.edu/~damp/finalPapers/lindley.pdf Implementing deterministic declarative concurrency using sieves] S. Lindley. In proceedings of DAMP 2007: Workshop on Declarative Aspects of Multicore Programming Nice, France, January 2007.
*[https://web.archive.org/web/20070321082311/http://www.codeplay.com/downloads_public/sievepaper-2columns-normal.pdf The Codeplay Sieve C++ Parallel Programming System] A. Richards. White paper, 2006.