Parallel transaction processing in functional languages, towards practical functional databases

L. Wevers, Marieke Huisman, Ander de Keijzer

Research output: Book/ReportReportProfessional

15 Downloads (Pure)

Abstract

This paper shows how functional languages can be adapted for transaction processing, and discusses the implementation of a parallel runtime system for such functional transaction processing languages. We extend functional languages with current state variables and result state variables to allow the definition of transactions that can update, create and delete bindings in a state. Our runtime system features of a graph reducer, a transaction manager and a persistence module. Our graph reducer adapts template instantiation with anonymous templates, allowing lazy execution of ad-hoc transactions that can dynamically create and remove of bindings in the state. Additionally, we have developed a scheduler for graph reduction that guarantees low latency execution of transactions, where load balancing is performed by randomising the reduction order of threads. We have evaluated our prototype implementation via some practical experiments.
Original languageUndefined
Place of PublicationEnschede
PublisherCentre for Telematics and Information Technology (CTIT)
Number of pages16
Publication statusPublished - 2013

Publication series

NameCTIT Technical Report Series
PublisherUniversity of Twente, Centre for Telematica and Information Technology (CTIT)
No.TR-CTIT-13-06
ISSN (Print)1381-3625

Keywords

  • METIS-296373
  • IR-85285
  • EWI-23206

Cite this

Wevers, L., Huisman, M., & de Keijzer, A. (2013). Parallel transaction processing in functional languages, towards practical functional databases. (CTIT Technical Report Series; No. TR-CTIT-13-06). Enschede: Centre for Telematics and Information Technology (CTIT).