Title
Data flow fusion with series expressions in Haskell
Abstract
Existing approaches to array fusion can deal with straight-line producer consumer pipelines, but cannot fuse branching data flows where a generated array is consumed by several different consumers. Branching data flows are common and natural to write, but a lack of fusion leads to the creation of an intermediate array at every branch point. We present a new array fusion system that handles branches, based on Waters's series expression framework, but extended to work in a functional setting. Our system also solves a related problem in stream fusion, namely the introduction of duplicate loop counters. We demonstrate speedup over existing fusion systems for several key examples.
Year
DOI
Venue
2013
10.1145/2503778.2503782
Haskell
Keywords
Field
DocType
stream fusion,array fusion,series expression,branch point,functional setting,different consumer,duplicate loop counter,data flow,data flow fusion,intermediate array,fusion system,new array fusion system,fusion
Pipeline transport,Expression (mathematics),Computer science,Parallel computing,Fusion,Theoretical computer science,Haskell,Fuse (electrical),Data flow diagram,Branching (version control),Speedup
Conference
Volume
Issue
ISSN
48
12
0362-1340
Citations 
PageRank 
References 
9
0.53
21
Authors
4
Name
Order
Citations
PageRank
Ben Lippmeier11357.99
Manuel M.T. Chakravarty21707.02
Gabriele Keller365736.02
Amos Robinson4122.28