PQL: A Purely-Declarative Java Extension for Parallel Programming
(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:
https://lup.lub.lu.se/record/85c9327b-c91d-4233-9e93-3e6be879d4af
- author
- Reichenbach, Christoph
LU
; Smaragdakis, Yannis and Immerman, Neil
- publishing date
- 2012
- 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
- 0302-9743
- 1611-3349
- ISBN
- 978-3-642-31057-7
- 978-3-642-31056-0
- 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-31057-7}}, issn = {{0302-9743}}, 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}}, }