Name: pooled-io Version: 0.0.2.2 License: BSD3 License-File: LICENSE Author: Henning Thielemann Maintainer: Henning Thielemann Homepage: http://hub.darcs.net/thielema/pooled-io/ Category: Parallelism Synopsis: Run jobs on a limited number of threads and support data dependencies Description: The motivation for this package was to run computations on multiple cores that need to write intermediate results to disk. The functions restrict the number of simultaneously running jobs to a user given number or to the number of capabilities the Haskell program was started with, i.e. the number after the RTS option @-N@. . There are some flavors of this functionality: . * "Control.Concurrent.PooledIO.Independent": run independent actions without results in parallel . * "Control.Concurrent.PooledIO.Final": run independent actions with a final result in parallel . * "Control.Concurrent.PooledIO.InOrder": run jobs in parallel with data dependencies like @make -j n@ . Additionally there is the module "Control.Concurrent.PooledIO.Sequence" that helps to serialize I/O actions from multiple threads. It is certainly most useful in connection with "Control.Concurrent.PooledIO.Independent". . Related packages: . * @lazyio@: interleave IO actions in a single thread . * @async@: start threads and wait for their results, forward exceptions, but do not throttle concurrency with respect to number of available cores . * @parallel-tasks@: . * @parallel-io@: . * @threadPool@: . * @threads-pool@: . * @cio@: . * @Control-Engine@: . * @taskpool@, @async-pool@: Tested-With: GHC==7.4.2, GHC==7.8.4, GHC==7.10.1 Cabal-Version: >=1.8 Build-Type: Simple Flag buildExamples description: Build example executables default: False Source-Repository this Tag: 0.0.2.2 Type: darcs Location: http://hub.darcs.net/thielema/pooled-io/ Source-Repository head Type: darcs Location: http://hub.darcs.net/thielema/pooled-io/ Library Build-Depends: concurrent-split >=0.0 && <0.1, transformers >=0.2.2 && <0.6, deepseq >=1.3 && <1.5, unsafe >=0.0 && <0.1, containers >=0.4 && <0.7, utility-ht >=0.0.9 && <0.1, base >=4 && <5 GHC-Options: -Wall Hs-Source-Dirs: src Exposed-Modules: Control.Concurrent.PooledIO.Independent Control.Concurrent.PooledIO.Final Control.Concurrent.PooledIO.InOrder Control.Concurrent.PooledIO.Sequence Other-Modules: Control.Concurrent.PooledIO.Monad Executable pooled-io-demo If flag(buildExamples) Build-Depends: pooled-io, base Else Buildable: False GHC-Options: -Wall -threaded Main-Is: example/Main.hs