Hierarchical memory management for mutable state

Adrien Guatto, Sam Westrick, Ram Raghunathan, Umut Acar, Matthew Fluet

Research output: Chapter in Book/Report/Conference proceedingConference contribution

Abstract

It is well known that modern functional programming languages are naturally amenable to parallel programming. Achieving efficient parallelism using functional languages, however, remains difficult. Perhaps the most important reason for this is their lack of support for efficient in-place updates, i.e., mutation, which is important for the implementation of both parallel algorithms and the run-time system services (e.g., schedulers and synchronization primitives) used to execute them. In this paper, we propose techniques for efficient mutation in parallel functional languages. To this end, we couple the memory manager with the thread scheduler to make reading and updating data allocated by nested threads efficient. We describe the key algorithms behind our technique, implement them in the MLton Standard ML compiler, and present an empirical evaluation. Our experiments show that the approach performs well, significantly improving efficiency over existing functional language implementations.

Original languageEnglish (US)
Title of host publicationPPoPP 2018 - Proceedings of the 23rd Principles and Practice of Parallel Programming
PublisherAssociation for Computing Machinery
Pages81-93
Number of pages13
ISBN (Electronic)9781450349826
DOIs
StatePublished - Feb 10 2018
Event23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2018 - Vienna, Austria
Duration: Feb 24 2018Feb 28 2018

Publication series

NameProceedings of the ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPOPP

Conference

Conference23rd ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming, PPoPP 2018
Country/TerritoryAustria
CityVienna
Period2/24/182/28/18

Keywords

  • Garbage collection
  • Hierarchical heaps
  • Mutation
  • Parallel functional language implementation
  • Promotion

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'Hierarchical memory management for mutable state'. Together they form a unique fingerprint.

Cite this