WG211/M13Reichenbach: Difference between revisions
Created page with "The popularization of parallelism is arguably the most fundamen- tal computing challenge for years to come. We present an approach where parallel programming takes place in a res..." |
(No difference)
|
Latest revision as of 18:42, 17 February 2014
The popularization of parallelism is arguably the most fundamen- tal 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 el- ements. This approach offers a key property: the purely declarative nature of the 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 and showcase its expressiveness as well as its scalability compared to competitive techniques for similar tasks (Java + relational queries, in-memory Hadoop, etc.).