lvish: Parallel scheduler, LVar data structures, and infrastructure to build more.
A programming model based on monotonically-growing concurrent data structures.
As a starting point, look at the main module, Control.LVish, as well as one of these papers:
FHPC 2013: LVars: lattice-based data structures for deterministic parallelism (http://dl.acm.org/citation.cfm?id=2502326).
POPL 2014: Freeze after writing: quasi-deterministic parallel programming with LVars (http://www.cs.indiana.edu/~lkuper/papers/2013-lvish-draft.pdf).
PLDI 2014: Taming the Parallel Effect Zoo: Extensible Deterministic Parallelism with LVish (http://www.cs.indiana.edu/~rrnewton/papers/effectzoo-draft.pdf).
If the haddocks are not building, here is a mirror: http://www.cs.indiana.edu/~rrnewton/haddock/lvish/
Change Log:
1.0.0.6 - tighten up dependencies; remove unused flags; very minor doc fixes.
1.1.2 - many bugfixes, plus a new logging infrastructure, and verification of finite lattices
1.1.4 - GHC 7.8.3 compatibility.
Versions [faq] | 1.0, 1.0.0.2, 1.0.0.4, 1.0.0.6, 1.1.1.1, 1.1.1.2, 1.1.1.3, 1.1.2, 1.1.4 (info) |
---|---|
Dependencies | async, atomic-primops (>=0.6), base (>=4.6 && <4.9), bits-atomic, containers (>=0.5), deepseq (>=1.3), ghc-prim, lattices (>=1.2), missing-foreign, random, transformers, vector (>=0.10) [details] |
License | BSD-3-Clause |
Author | Aaron Turon, Lindsey Kuper, Ryan Newton |
Maintainer | lindsey@composition.al |
Revised | Revision 2 made by RyanNewton at Wed Apr 15 15:29:40 UTC 2015 |
Category | Concurrency |
Source repo | head: git clone https://github.com/iu-parfunc/lvars(haskell/lvish) |
Uploaded | by peter_fogg at Tue Sep 16 00:54:23 UTC 2014 |
Distributions | NixOS:1.1.4 |
Downloads | 5451 total (163 in the last 30 days) |
Rating | (no votes yet) [estimated by rule of succession] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |
Flags
Name | Description | Default | Type |
---|---|---|---|
debug | Activate additional debug assertions, and printed output. | Disabled | Manual |
chaselev | Use the Chase-Lev work-stealing deque | Disabled | Manual |
getonce | Ensure that continuations of get run at most once (by using extra synchronization) | Disabled | Manual |
generic | Use (forthcoming) generic interfaces for Par monads. | Disabled | Manual |
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
Downloads
- lvish-1.1.4.tar.gz [browse] (Cabal source package)
- Package description (revised from the package)
Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.