For a cloud provider finding the optimal mapping between the virtual machines (what the users see) and the available physical resources (what the provider actually owns) is an issue of high importance. My task is presenting this algorithmic problem and its possible solutions, building a unified simulation environment, then implementing and experimentally evaluating some of the existing algorithms.
Accordingly, in this thesis after the introduction I briefly review the literautre of the field, then I present the chosen simulation framework with its weaknesses and deficiencies, as well as how it should be extended for the ease and efficiency of use. The suitable storage and processing of the input data is an important subtask of this. Thus I will describe a convenient file format, the publicly available workload traces and how to process them, and how to generate artificial workload data, every one in its own chapter.