2 research outputs found
Proving equivalence between imperative and MapReduce implementations using program transformations
Distributed programs are often formulated in popular functional frameworks like MapReduce,
Spark and Thrill, but writing efficient algorithms for such frameworks is usually a non-trivial
task. As the costs of running faulty algorithms at scale can be severe, it is highly desirable
to verify their correctness.
We propose to employ existing imperative reference implementations as specifications
for MapReduce implementations. To this end, we present a novel verification approach in
which equivalence between an imperative and a MapReduce implementation is established
by a series of program transformations.
In this paper, we present how the equivalence framework can be used to prove equivalence
between an imperative implementation of the PageRank algorithm and its MapReduce
variant. The eight individual transformation steps are individually presented and explained
Scalable String and Suffix Sorting: Algorithms, Techniques, and Tools
This dissertation focuses on two fundamental sorting problems: string sorting
and suffix sorting. The first part considers parallel string sorting on
shared-memory multi-core machines, the second part external memory suffix
sorting using the induced sorting principle, and the third part distributed
external memory suffix sorting with a new distributed algorithmic big data
framework named Thrill.Comment: 396 pages, dissertation, Karlsruher Instituts f\"ur Technologie
(2018). arXiv admin note: text overlap with arXiv:1101.3448 by other author