Nephele/PACTs: A Programming Model and Execution Framework for Web-Scale Analytical Processing
The authors present a parallel data processor centered around a programming model of so called PArallelization ConTracts (PACTs) and the scalable parallel execution engine Nephele. The PACT programming model is a generalization of the well-known map/reduce programming model, extending it with further second-order functions, as well as with Output Contracts that give guarantees about the behavior of a function. They describe methods to transform a PACT program into a data flow for Nephele, which executes its sequential building blocks in parallel and deals with communication, synchronization and fault tolerance. Their definition of PACTs allows to apply several types of optimizations on the data flow during the transformation.