All-Pairs Abstraction

The All-Pairs abstraction computes the Cartesian product of two sets, generating a matrix where each cell M[i,j] contains the output of the function F on objects A[i] and B[j]. You provide two sets of data files and a function F that computes on them. You may optionally provide additional parameters to control the actual computation(e.g. compute only part of the matrix). The abstraction then executes the computation in parallel, automatically handling load balancing, data movements, fault tolerance, and so on.

Related Publications

  1. Harnessing Parallelism in Multicore Clusters with the All-Pairs, Wavefront, and Makeflow Abstractions
    Li Yu, Christopher Moretti, Andrew Thrasher, Scott Emrich, Kenneth Judd, and Douglas Thain
    Journal of Cluster Computing, 2010
    doi: 10.1007/s10586-010-0134-7
  2. All-Pairs: An Abstraction for Data Intensive Computing on Campus Grids
    Christopher Moretti, Hoang Bui, Karen Hollingsworth, Brandon Rich, Patrick Flynn, and Douglas Thain
    IEEE Transactions on Parallel and Distributed Systems, 2010
    doi: 10.1109/TPDS.2009.49
  3. Exploiting Locality with QThreads for Portable Parallel Performance
    Kyle Wheeler
    2009
  4. Harnessing Parallelism in Multicore Clusters with the All-Pairs and Wavefront Abstractions
    Li Yu, Christopher Moretti, Scott Emrich, Kenneth Judd, and Douglas Thain
    In IEEE High Performance Distributed Computing, 2009
    doi: 10.1145/1551609.1551613
  5. All-Pairs: An Abstraction for Data Intensive Cloud Computing
    Christopher Moretti, Jared Bulosan, Douglas Thain, and Patrick Flynn
    In IEEE International Parallel and Distributed Processing Symposium (IPDPS), 2008
    doi: 10.1109/IPDPS.2008.4536311
  6. Poster: All-Pairs: An Abstraction for Data Intensive Computing
    Christopher Moretti, Jared Bulosan, Douglas Thain, and Patrick J. Flynn
    In IEEE/ACM Grid Computing, 2007