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

Efficient communication and collection with compact normal forms

Abstract: In distributed applications, the transmission of non-contiguous data structures is greatly slowed down by the need to serialize them into a buffer before sending. We describe Compact Normal Forms, an API that allows programmers to explicitly place immutable heap objects into regions, which can both be accessed like ordinary data as well as efficiently transmitted over the network. The process of placing objects into compact regions (essentially a copy) is faster than any serializer and can be amortized over a … Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Year Published

2017
2017
2021
2021

Publication Types

Select...
3
3

Relationship

3
3

Authors

Journals

citations
Cited by 7 publications
(6 citation statements)
references
References 30 publications
0
6
0
Order By: Relevance
“…• We present a strategy for synthesizing LoCal programs from a first-order, purely-functional input language, HiCal (the front-end for our Gibbon compiler), and redesign our compiler around LoCal ( §5). • We evaluate our compiler pipeline against approaches for working with serialized binary data, including Compact Normal Form [32], Cap'N Proto, and prior Gibbon [29] ( §7). Our pipeline achieves 3.2×, 9.4×, and 202× geomean speedups respectively (Table 2), including asymptotic advantages, and substantial speedups in IO-intensive experiments.…”
Section: Introductionmentioning
confidence: 99%
“…• We present a strategy for synthesizing LoCal programs from a first-order, purely-functional input language, HiCal (the front-end for our Gibbon compiler), and redesign our compiler around LoCal ( §5). • We evaluate our compiler pipeline against approaches for working with serialized binary data, including Compact Normal Form [32], Cap'N Proto, and prior Gibbon [29] ( §7). Our pipeline achieves 3.2×, 9.4×, and 202× geomean speedups respectively (Table 2), including asymptotic advantages, and substantial speedups in IO-intensive experiments.…”
Section: Introductionmentioning
confidence: 99%
“…All memory objects in PM are stored in their native closure layout and can be directly accessed, so that data does not have to be serialized before it is copied to PM. This native closure layout contains pointers to code in the statically-linked binary, which currently restricts PM structures to be used by a single application [Berthold 2010;Yang et al 2015]. To support multiple binaries the code needs to be shared between them, e.g.…”
Section: Persistent Heap and Automatic Memory Managementmentioning
confidence: 99%
“…Work on more general approaches for packing recursive structures into buffers includes Cap'N Proto [Varda 2015], which attempts to unify on-disk and in-memory representations of data structures, and Compact Normal Form (CNF) [Yang et al 2015]. Neither of these approaches have the same design goals as LoCal and LoCal par : both Cap'N Proto and CNF preserve internal pointers in their representations, eliding the problem of parallel access by invariably paying the cost (in memory consumption and lost spatial locality) of maintaining those pointers.…”
Section: Related Workmentioning
confidence: 99%
“…Representing tree-like data as pointer-free, serialized byte arrays can be extremely efficient for tree traversals, as it minimizes pointer-chasing and maximizes locality [Goldfarb et al 2013;Makino 1990;Meyerovich et al 2011]. Moreover, by using an in-memory representation also suitable for external transfer and storage [Varda 2015;Yang et al 2015], programs can rapidly process data without the overhead of deserialization. Traditionally, any such tree-layout optimizations would be implemented manually by the programmer-for example, in a scientific application with balanced trees.…”
Section: Introductionmentioning
confidence: 99%