PQL: A Purely-Declarative Java Extension for Parallel Programming

Research output: Chapter in Book/Report/Conference proceedingBook chapter

Abstract

The popularization of parallelism is arguably the most fundamental computing challenge for years to come. We present an approach where parallel programming takes place in a restricted (sub-Turing-complete), logic-based declarative language, embedded in Java. Our logic-based language, PQL, can express the parallel elements of a computing task, while regular Java code captures sequential elements. This approach offers a key property: the purely declarative nature of our language allows for aggressive optimization, in much the same way that relational queries are optimized by a database engine. At the same time, declarative queries can operate on plain Java data, extending patterns such as map-reduce to arbitrary levels of nesting and composition complexity.

We have implemented PQL as extension to a Java compiler and showcase its expressiveness as well as its scalability compared to competitive techniques for similar tasks (Java + relational queries, in-memory Hadoop, etc.).

Details

Authors
External organisations
  • University of Massachusetts
  • National and Kapodistrian University of Athens
Research areas and keywords

Subject classification (UKÄ) – MANDATORY

  • Computer Science
Original languageEnglish
Title of host publicationECOOP 2012 – Object-Oriented Programming
Subtitle of host publication26th European Conference Beijing, China, June 11-16, 2012 Proceedings
PublisherSpringer
Pages53-78
ISBN (Electronic)978-3-642-31057-7
ISBN (Print)978-3-642-31056-0
Publication statusPublished - 2012
Publication categoryResearch
Peer-reviewedYes
Externally publishedYes

Publication series

NameLecture notes in computer science
Volume7313
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349