Work Queue: A Flexible Master/Worker Framework

Work Queue is a framework for building large master/worker solutions that can mix multicore, cluster, cloud, and grid resources. The framework is defined by a an API that allows users to build master programs that complete their work by creating tasks, submitting the tasks to a queue, and then receiving back the results of the tasks. The tasks are executed by an included component of the Work Queue framework, the workers, which are started by the user on available resources and negotiate work allocations with the master process. The Work Queue handles the data transfer and caching.

Work Queue workers can be executed on a variety of systems, including individual machines to which the user has access, computing clusters, or a distributed Condor batch system. The master/worker paradigm is the same in each case, so you can easily grow your application from one machine up to thousands.

For More Information

  • Work Queue User's Manual
  • Work Queue API
  • Download Work Queue
  • Getting Help with Work Queue
  • Publications

  • Li Yu, Christopher Moretti, Andrew Thrasher, Scott Emrich, Kenneth Judd, and Douglas Thain,
    Harnessing Parallelism in Multicore Clusters with the All-Pairs, Wavefront, and Makeflow Abstractions,
    to appear in Journal of Cluster Computing, January, 2010.

  • Douglas Thain and Christopher Moretti,
    Abstractions for Cloud Computing with Condor,
    Syed Ahson and Mohammad Ilyas, Cloud Computing and Software Services, CRC Press, December, 2009. ISBN: 9781439803158

  • Christopher Moretti, Michael Olson, Scott Emrich, and Douglas Thain,
    Highly Scalable Genome Assembly on Campus Grids,
    Many-Task Computing on Grids and Supercomputers (MTAGS), November, 2009. DOI: 10.1145/1646468.1646480

  • Christopher Moretti, Michael Olson, Scott Emrich, and Douglas Thain,
    Scalable Modular Genome Assembly on Campus Grids,
    University of Notre Dame, Computer Science and Engineering Department, Technical Report 2009-04, July, 2009.

  • Li Yu, Christopher Moretti, Scott Emrich, Kenneth Judd, and Douglas Thain,
    Harnessing Parallelism in Multicore Clusters with the All-Pairs and Wavefront Abstractions,
    IEEE High Performance Distributed Computing, pages 1-10, June, 2009. DOI: 10.1145/1551609.1551613


  • Cooperative Computing Lab - CSE Department - Notre Dame