CHOREO Overview

Choreo is a measurement-based method for placing applications in the cloud to minimize an objective function such as application completion time. Choreo makes fast measurements of cloud networks using packet trains as well as other methods, profiles application network demands using a machine-learning algorithm, and places applications using a greedy heuristic, which in practice is much more efficient than finding an optimal solution.

Read more about CHOREO

There are two Choreo-related publications:

   Choreo: Network-Aware Task Placement for Cloud Applications
   K. LaCurts, S. Deng, A. Goyal, H. Balakrishnan. IMC 2013

   A Plan for Optimizing Network-Intensive Cloud Applications
   K. LaCurts, S. Deng, H. Balakrishnan. MIT-CSAIL-TR-2013-003

Get the data

All of our EC2 measurements, as well as the scripts to create the graphs as they appear in the paper, are available on github. Simply run:

   › git clone git://


Choreo is a project from the NMS lab at MIT CSAIL. You can contact all of the authors individually via the addresses below, or all at once via

    Katrina LaCurts
    Shuo Deng
    Ameesh Goyal
    Hari Balakrishnan