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 | 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 | 4076 total (131 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] Hackage Matrix CI |
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'.