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.
Flags
Manual Flags
Name | Description | Default |
---|---|---|
debug | Activate additional debug assertions, and printed output. | Disabled |
chaselev | Use the Chase-Lev work-stealing deque | Disabled |
getonce | Ensure that continuations of get run at most once (by using extra synchronization) | Disabled |
generic | Use (forthcoming) generic interfaces for Par monads. | Disabled |
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'.
Versions [RSS] | 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 2015-04-15T15:29:40Z |
Category | Concurrency |
Source repo | head: git clone https://github.com/iu-parfunc/lvars(haskell/lvish) |
Uploaded | by peter_fogg at 2014-09-16T00:54:23Z |
Distributions | NixOS:1.1.4 |
Downloads | 7378 total (29 in the last 30 days) |
Rating | (no votes yet) [estimated by Bayesian average] |
Your Rating | |
Status | Docs uploaded by user Build status unknown [no reports yet] |