LoCal: A Language for Programs Operating on Serialized Data
In a typical data-processing program, the representation of data in memory is distinct from its representation in a serialized form on disk. The former has pointers and arbitrary, sparse layout, facilitating easy manipulation by a program, while the latter is packed contiguously, facilitating easy I/O. We propose a language, LoCal, to unify in-memory and serialized formats. LoCal extends a region calculus into a location calculus, employing a type system that tracks the byte-addressed layout of all heap values. We formalize LoCal and prove type safety, and show how LoCal programs can be inferred from unannotated source terms.
We transform the existing Gibbon compiler to use LoCal as an intermediate language, with the goal of achieving a balance between code speed and data compactness by introducing just enough indirection into heap layouts, preserving the asymptotic complexity of traditional representations, but working with mostly or completely serialized data. We show that our approach yields significant performance improvement over prior approaches to operating on packed data, without abandoning idiomatic programming with recursive functions.
this URL might only work when visiting from a http://www.cs.indiana.edu/~rrnewton/ URL.
Mon 24 Jun
|08:45 - 09:05|
Michael VollmerIndiana University, USA, Chaitanya KoparkarIndiana University, Mike RaineyIndiana University, USA, Laith SakkaPurdue University, Milind KulkarniPurdue University, Ryan R. NewtonIndiana UniversityDOI Authorizer link Pre-print Media Attached
|09:05 - 09:25|
Daniel J. FremontUniversity of California at Berkeley, USA, Tommaso DreossiUniversity of California at Berkeley, Shromona GhoshUniversity of California at Berkeley, USA, Xiangyu YueUniversity of California at Berkeley, USA, Alberto L. Sangiovanni-VincentelliUniversity of California at Berkeley, USA, Sanjit SeshiaUC BerkeleyMedia Attached
|09:25 - 09:45|
Sridhar GopinathMicrosoft Research, India, Nikhil GhanatheMicrosoft Research, India, Vivek SeshadriMicrosoft Research, India, Rahul SharmaMicrosoft ResearchLink to publication DOI Media Attached