Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

PQL: A Purely-Declarative Java Extension for Parallel Programming

Reichenbach, Christoph LU orcid ; Smaragdakis, Yannis and Immerman, Neil (2012) In Lecture notes in computer science 7313. p.53-78
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... (More)
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.). (Less)
Please use this url to cite or link to this publication:
author
; and
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
host publication
ECOOP 2012 – Object-Oriented Programming : 26th European Conference Beijing, China, June 11-16, 2012 Proceedings - 26th European Conference Beijing, China, June 11-16, 2012 Proceedings
series title
Lecture notes in computer science
volume
7313
article number
Chapter 4
pages
53 - 78
publisher
Springer
external identifiers
  • scopus:84879712642
ISSN
1611-3349
0302-9743
ISBN
978-3-642-31056-0
978-3-642-31057-7
DOI
10.1007/978-3-642-31057-7_4
language
English
LU publication?
no
id
85c9327b-c91d-4233-9e93-3e6be879d4af
date added to LUP
2019-03-29 07:08:20
date last changed
2024-03-02 23:22:09
@inbook{85c9327b-c91d-4233-9e93-3e6be879d4af,
  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.<br/><br/>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.).}},
  author       = {{Reichenbach, Christoph and Smaragdakis, Yannis and Immerman, Neil}},
  booktitle    = {{ECOOP 2012 – Object-Oriented Programming : 26th European Conference Beijing, China, June 11-16, 2012 Proceedings}},
  isbn         = {{978-3-642-31056-0}},
  issn         = {{1611-3349}},
  language     = {{eng}},
  pages        = {{53--78}},
  publisher    = {{Springer}},
  series       = {{Lecture notes in computer science}},
  title        = {{PQL: A Purely-Declarative Java Extension for Parallel Programming}},
  url          = {{http://dx.doi.org/10.1007/978-3-642-31057-7_4}},
  doi          = {{10.1007/978-3-642-31057-7_4}},
  volume       = {{7313}},
  year         = {{2012}},
}