High-Performance Logic Programming on Servers, Clusters, and GPUsin-person
Logic programming engines have historically targeted conventional hardware, often CPUs on a single thread. This is puzzling, because logic programming engines often confront enormous state spaces, and logic programming workloads often expose massive amounts of parallelism in principle. In this talk, I will discuss our work in scaling logic programming engines to multi-core servers, supercomputing clusters, and state-of-the-art GPUs. I focus on Datalog, a language increasingly used for static analysis, graph analytics, and knowledge representation. Datalog’s simple semantics enable the potential for massive parallelism without the need for communication, the bane of scalability. I will discuss the implementation of state-of-the-art Datalog engines on servers (with unified memory), GPUs (exposing massive memory bandwidth, but necessitating a SIMT approach), and supercomputing clusters (necessitating heterogenous communication). In the context of context-sensitive program analysis, I will discuss the trade-offs inherent to each of these architectures, and will discuss the challenges that lie ahead in the future of massively-parallel logic programming beyond Datalog.
Fri 6 SepDisplayed time zone: Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna change
09:00 - 10:30 | |||
09:00 60mKeynote | High-Performance Logic Programming on Servers, Clusters, and GPUsin-person miniKanren |