Parallelization contract: Difference between revisions

Content deleted Content added
Schubi87 (talk | contribs)
No edit summary
Schubi87 (talk | contribs)
No edit summary
Line 3:
 
 
The '''PACTparallelization contract programming model''' is a generalization of the [[MapReduce]] [[programming model]] and uses [[Higher-order_function|second order functions]] to perform concurrent computations on large ([[Petabyte]]s) data sets in parallel.
 
 
 
== Overview ==
The PACT programming model is based on the concept of Parallelization Contracts (PACTs). Similar to MapReduce, arbitrary user code is handed and executed by PACTs. However, PACT generalizes a couple of MapReduce's concepts:
 
* Second-order Functions: PACT provides more second-order functions. Currently, five SOFsecond-order functions called '''Input Contracts''' are supported. This set might be extended in the future.
The PACT programming model is based on the concept of Parallelization Contracts (PACTs). Similar to MapReduce, arbitrary user code is handed and executed by PACTs. However, PACT generalizes a couple of MapReduce's concepts:
* Second-order Functions: PACT provides more second-order functions. Currently, five SOF called Input Contracts are supported. This set might be extended in the future.
* Program structure: PACT allows the composition of arbitrary acyclic data flow graphs. In contract, MapReduce programs have a static structure (Map -> Reduce).
* Data Model: PACT's data model are records of arbitrary many fields of arbitrary types. MapReduce's KeyValue-Pairs can be considered as records with two fields.
 
In the following, the concept of Parallelization Contracts is discussed and how they are composed to PACT
 
== Logical view ==