Proceedings of the 14th ACM SIGPLAN International Conference on Functional Programming 2009
DOI: 10.1145/1596550.1596563
|View full text |Cite
|
Sign up to set email alerts
|

Runtime support for multicore Haskell

Abstract: Purely functional programs should run well on parallel hardware because of the absence of side effects, but it has proved hard to realise this potential in practice. Plenty of papers describe promising ideas, but vastly fewer describe real implementations with good wall-clock performance. We describe just such an implementation, and quantitatively explore some of the complex design tradeoffs that make such implementations hard to build. Our measurements are necessarily detailed and specific, but they are repro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
25
0

Year Published

2011
2011
2020
2020

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 75 publications
(25 citation statements)
references
References 25 publications
(14 reference statements)
0
25
0
Order By: Relevance
“…In this section, we briefly review the operation of the threaded RTS and the GHC IO manager, which are presented in more detail in [10,11,15], respectively.…”
Section: Background: Ghc Threaded Rtsmentioning
confidence: 99%
See 1 more Smart Citation
“…In this section, we briefly review the operation of the threaded RTS and the GHC IO manager, which are presented in more detail in [10,11,15], respectively.…”
Section: Background: Ghc Threaded Rtsmentioning
confidence: 99%
“…Unfortunately, this design introduces a problem that threatens to negate its benefits: a dispatcher thread often makes blocking OS calls, and therefore relinquishes its HEC and causes a context switch to another native thread which begins executing the HEC's work [11]. Using one dispatcher per HEC increases the frequency with which this expensive operation occurs.…”
Section: Per-core Dispatchersmentioning
confidence: 99%
“…This restriction makes it possible to deal with classical problems associated with parallel programming, such as deadlock or race conditions, in a transparent manner for the programmer. Libraries of this kind are Repa [16], DPH 5 [9,21], Accelerate [8], Monad-Par [20] and Sparks [18,19]. Following we highlight the main features of each of these libraries.…”
Section: Parallelism In Haskellmentioning
confidence: 99%
“…OCaml, MLton, and old version of Haskell use a hybrid of copying GC with mark-compact GC [7,31]. SML/NJ [29], Chez Scheme [14], and the latest Glasgow Haskell Compiler [23] use generational copying GC. In all these systems, the Cheney's copying collector is used for minor GC and object-moving is inevitable, which makes inter-operation with other languages cumbersome and error-prone.…”
Section: Related Workmentioning
confidence: 99%