Abstract View

Algorithms for Network-Aware Application Component Placement for Cloud Resource Allocation

"Due to the soaring popularity of cloud-based services over the last years, the size and the complexity of cloud environments has been growing quickly. In the context of cloud systems, mapping a number of application components to a set of physical servers and assigning cloud resources to those components is challenging. Traditional resource allocation systems which rely on a centralized management paradigm suffer from scalability issues, making them inappropriate for large-scale cloud environments. Therefore, there is a need for providing new management solutions that scale well to large size cloud systems. In this article, we present optimal and heuristic solutions for network-aware placement of multicomponent applications with differing component characteristics. The optimal integer linear programming (ILP)-based solution minimizes the application rejection rate and the cost of mapping while respecting application component requirements and physical network limitations. As the execution time of the optimal model scales exponentially, we also offer scalable heuristic solutions for centralized and hierarchical application placement, which are thoroughly explained and evaluated and compared to the optimal solution. Our evaluations show that while the proposed centralized heuristic is near-optimal, the hierarchical approach is much faster and offers higher scalability compared to a centralized approach, e.g., mapping 2.7 million application components onto 512k servers. Moreover, the percentage of servers used and fully placed applications remain close to that of the centralized and optimal solutions."