Throughput-Aware Partitioning and Placement of Applications in Fog Computing

Fog computing promises to extend cloud computing to match emerging demands for low latency, location-awareness and dynamic computation. It thus brings data processing close to the edge of the network by leveraging on devices with different computational characteristics. However, the heterogeneity, the geographical distribution, and the data-intensive profiles of IoT deployments render the placement of fog applications a fundamental problem to guarantee target performance figures. This is a core challenge for fog computing providers to offer fog infrastructure as a service, while satisfying the requirements of this new class of microservices-based applications. In this article we root our analysis on the throughput requirements of the applications while exploiting offloading towards different regions. The resulting resource allocation problem is developed for a fog-native application architecture based on containerised microservice modules. An algorithmic solution is designed to optimise the placement of applications modules either in cloud or in fog. Finally, the overall solution consists of two cascaded algorithms. The first one performs a throughput-oriented partitioning of fog application modules. The second one rules the orchestration of applications over a region-based infrastructure. Extensive numerical experiments validate the performance of the overall scheme and confirm that it outperforms state-of-the-art solutions adapted to our context.

[1]  D. R. Fulkerson,et al.  On the Max Flow Min Cut Theorem of Networks. , 1955 .

[2]  E. A. Dinic Algorithm for solution of a problem of maximal flow in a network with power estimation , 1970 .

[3]  Minlan Yu,et al.  Rethinking virtual network embedding: substrate support for path splitting and migration , 2008, CCRV.

[4]  Dejun Yang,et al.  Load Balancing for Interdependent IoT Microservices , 2019, IEEE INFOCOM 2019 - IEEE Conference on Computer Communications.

[5]  D. R. Fulkerson,et al.  Maximal Flow Through a Network , 1956 .

[6]  Boaz Patt-Shamir,et al.  Vector bin packing with multiple-choice , 2012, Discret. Appl. Math..

[7]  Mhand Hifi,et al.  Heuristic algorithms for the multiple-choice multidimensional knapsack problem , 2004, J. Oper. Res. Soc..

[8]  Jean-Paul Arcangeli,et al.  Automatic deployment of distributed software systems: Definitions and state of the art , 2015, J. Syst. Softw..

[9]  Xiang Cheng,et al.  Virtual network embedding through topology-aware node ranking , 2011, CCRV.

[10]  Eric A. Brewer,et al.  Borg, Omega, and Kubernetes , 2016, ACM Queue.

[11]  Raja Lavanya,et al.  Fog Computing and Its Role in the Internet of Things , 2019, Advances in Computer and Electrical Engineering.

[12]  Mahadev Satyanarayanan,et al.  The Emergence of Edge Computing , 2017, Computer.

[13]  Ruben Mayer,et al.  EmuFog: Extensible and scalable emulation of large-scale fog computing infrastructures , 2017, 2017 IEEE Fog World Congress (FWC).

[14]  Claus Pahl,et al.  Containers and Clusters for Edge Cloud Architectures -- A Technology Review , 2015, 2015 3rd International Conference on Future Internet of Things and Cloud.

[15]  Tao Li,et al.  A Framework for Partitioning and Execution of Data Stream Applications in Mobile Cloud Computing , 2012, 2012 IEEE Fifth International Conference on Cloud Computing.

[16]  Rajkumar Buyya,et al.  Modeling and simulation of scalable Cloud computing environments and the CloudSim toolkit: Challenges and opportunities , 2009, 2009 International Conference on High Performance Computing & Simulation.

[17]  Mohammad Sohel Rahman,et al.  Solving the Multidimensional Multiple-choice Knapsack Problem by constructing convex hulls , 2006, Comput. Oper. Res..

[18]  Richard M. Karp,et al.  Theoretical Improvements in Algorithmic Efficiency for Network Flow Problems , 1972, Combinatorial Optimization.

[19]  Flavio Esposito,et al.  Battle of Microservices: Towards Latency-Optimal Heuristic Scheduling for Edge Computing , 2019, 2019 IEEE Conference on Network Softwarization (NetSoft).

[20]  Klara Nahrstedt,et al.  DROPLET: Distributed Operator Placement for IoT Applications Spanning Edge and Cloud Resources , 2018, 2018 IEEE 11th International Conference on Cloud Computing (CLOUD).

[21]  Antonio Brogi,et al.  How to Best Deploy Your Fog Applications, Probably , 2017, 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC).

[22]  Jinquan Zhang,et al.  A Heuristic Algorithm for Task Scheduling Based on Mean Load on Grid , 2006, Journal of Computer Science and Technology.

[23]  Vijay V. Vazirani,et al.  Approximation Algorithms , 2001, Springer Berlin Heidelberg.

[24]  Longxiang Yang,et al.  Heuristic solutions of virtual network embedding: A survey , 2018, China Communications.

[25]  Rajkumar Buyya,et al.  iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments , 2016, Softw. Pract. Exp..

[26]  Edoardo Amaldi,et al.  On the computational complexity of the virtual network embedding problem , 2016, Electron. Notes Discret. Math..

[27]  Xiang Zhang,et al.  Application Provisioning in FOG Computing-enabled Internet-of-Things: A Network Perspective , 2018, IEEE INFOCOM 2018 - IEEE Conference on Computer Communications.

[28]  Domenico Siracusa,et al.  Cutting Throughput with the Edge: App-Aware Placement in Fog Computing , 2018, 2019 6th IEEE International Conference on Cyber Security and Cloud Computing (CSCloud)/ 2019 5th IEEE International Conference on Edge Computing and Scalable Cloud (EdgeCom).

[29]  Alan Davy,et al.  Resource aware placement of IoT application modules in Fog-Cloud Computing Paradigm , 2017, 2017 IFIP/IEEE Symposium on Integrated Network and Service Management (IM).

[30]  Mihaela van der Schaar,et al.  Real-time stream mining: online knowledge extraction using classifier networks , 2015, IEEE Network.

[31]  Rajkumar Buyya,et al.  Mobility-Aware Application Scheduling in Fog Computing , 2017, IEEE Cloud Computing.

[32]  Victor C. M. Leung,et al.  Developing IoT applications in the Fog: A Distributed Dataflow approach , 2015, 2015 5th International Conference on the Internet of Things (IOT).

[33]  Francesco De Pellegrini,et al.  Foggy: A Platform for Workload Orchestration in a Fog Computing Environment , 2017, 2017 IEEE International Conference on Cloud Computing Technology and Science (CloudCom).

[34]  Gwendal Simon,et al.  Hard multidimensional multiple choice knapsack problems, an empirical study , 2010, Comput. Oper. Res..

[35]  Christina Delimitrou,et al.  The Architectural Implications of Cloud Microservices , 2018, IEEE Computer Architecture Letters.