Placement in Clouds for Application-Level Latency Requirements

CPU and device virtualization technology allows applications to be hosted on cloud platforms; some of the resulting benefits are lower cost and greater elasticity. In such cloud hosted applications, some components reside on the cloud while others, such as end users and components tied to physical devices, are located outside the cloud. Many applications, e.g., telecom services, have stringent latency requirements in terms of within how much time certain procedures must be completed. The application latency is strongly determined by the locations of all the interacting components that are both within and outside the cloud. In this paper, we study the problem of determining the optimal placement of the application components in the cloud so that the latency requirements of the application can be met. We present a precise formulation of the placement problem which includes a specification of the cloud platform, and collective latency expressions for application-level latency requirements. We show that Message Sequence Charts (MSCs), a widely-used mechanism for describing the execution of application procedures, can be naturally translated into our formalism of collective latency expressions. We present placement algorithms that exploit the Euclidean triangular inequality property of network topologies: (a) an exact algorithm for determining the most optimal placement but which has a worst-case exponential running time, and (b) an algorithm for determining a close to-optimal placement that has a fast polynomial running time. Additionally, we present an exact technique for partitioning a placement problem into smaller sub problems so that greater efficiency and accuracy can be achieved. We evaluate the performance of the algorithms on a representative telecom application --- a distributed deployment of the LTE Mobility Management Entity (MME). Our evaluation results show that our approximate algorithm can outperform a random placement by up to 49% for finding a successful placement.

[1]  Jian Chen,et al.  A DHT Key-Value Storage System with Carrier Grade Performance , 2009, Euro-Par.

[2]  Klaus Kabitzsch,et al.  A Planning Method for Component Placement in Smart Item Environments Using Heuristic Search , 2007, DAIS.

[3]  Filip De Turck,et al.  A latency-aware algorithm for dynamic service placement in large-scale overlays , 2009, 2009 IFIP/IEEE International Symposium on Integrated Network Management.

[4]  Margo I. Seltzer,et al.  Network-Aware Operator Placement for Stream-Processing Systems , 2006, 22nd International Conference on Data Engineering (ICDE'06).

[5]  Indra Widjaja,et al.  Comparison of MME Signaling Loads for Long-Term-Evolution Architectures , 2009, 2009 IEEE 70th Vehicular Technology Conference Fall.

[6]  Dirk Beyer,et al.  Automated application component placement in data centers using mathematical programming , 2008, Int. J. Netw. Manag..

[7]  Madhavan Mukund,et al.  Towards a Theory of Regular MSC Languages , 1999 .

[8]  Malgorzata Steinder,et al.  A scalable application placement controller for enterprise data centers , 2007, WWW '07.

[9]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[10]  Liang Zhong,et al.  EnaCloud: An Energy-Saving Application Live Placement Approach for Cloud Computing Environments , 2009, 2009 IEEE International Conference on Cloud Computing.

[11]  Maolin Tang,et al.  A penalty-based genetic algorithm for the composite SaaS placement problem in the Cloud , 2010, IEEE Congress on Evolutionary Computation.

[12]  Charbel El Kaed,et al.  CBay : Extending auction algorithm for component placement in the Internet of machines , 2010, 2010 8th IEEE International Conference on Pervasive Computing and Communications Workshops (PERCOM Workshops).

[13]  Jeng-Shyang Pan,et al.  An Efficient K -Medoids-Based Algorithm Using Previous Medoid Index, Triangular Inequality Elimination Criteria, and Partial Distance Search , 2002, DaWaK.

[14]  Xiaohui Gu,et al.  QoS-Aware Shared Component Composition for Distributed Stream Processing Systems , 2009, IEEE Transactions on Parallel and Distributed Systems.

[15]  Vijay Karamcheti,et al.  Optimal resource-aware deployment planning for component-based distributed applications , 2004, Proceedings. 13th IEEE International Symposium on High performance Distributed Computing, 2004..

[16]  Arnold L. Rosenberg,et al.  Application Placement on a Cluster of Servers , 2007, Int. J. Found. Comput. Sci..

[17]  Yi-Ching Liaw,et al.  Fast-searching algorithm for vector quantization using projection and triangular inequality , 2004, IEEE Transactions on Image Processing.

[18]  Alec Wolman,et al.  Volley: Automated Data Placement for Geo-Distributed Cloud Services , 2010, NSDI.

[19]  Aniruddha Gokhale,et al.  Towards Improving End-to-End Performance of Distributed Real-Time and Embedded Systems Using Baseline Profiles , 2008 .

[20]  Asser N. Tantawi,et al.  Dynamic placement for clustered web applications , 2006, WWW '06.