INVITED TALK: Declarative Algorithms on Big Data: a Logic-Based Solution
The ability of combining declarative specications with efficient implementations is critical to achieve portability and scalability via parallelization of Big Data applications. We will describe the recent progress made toward these objectives at UCLA, progress which is confirming the great potential that logic-based languages can have in this role over a wide range of applications. Indeed our Bigdatalog system on Apache Spark outperforms GraphX on graph applications and has achieved portability over multiple platforms. These high levels of performance, portability and scalability have been obtained while preserving a totally declarative stable-model semantics for recursive Datalog programs that use aggregates in recursion when these programs satisfy a condition called pre-mappability. We show that textbook polynomial-time algorithms can be tersely expressed using such programs, and provide simple conditions that allow users to verify that pre-mappability holds for their programs - thus allowing them to assure that efficiently-computable unique stable models exist for their declarative algorithms. Finally, we will discuss applications of these advances to other systems, and overview the design and implementation of an SQL DBMS prototype that supports similar advances.
Declarative Algorithms on Big Data: A Logic-Based Solution - PADL 2018 - SLIDES (Zaniolopadl18.pdf)|