Towards Adaptive Actors for Scalable IoT Applications at the Edge

Traditional device-cloud architectures are not scalable to the size of future IoT deployments. While edge and fog-computing principles seem like a tangible solution, they increase the programming effort of IoT systems, do not provide the same elasticity guarantees as the cloud and are of much greater hardware heterogeneity. Future IoT applications will be highly distributed and place their computational tasks on any combination of end-devices (sensor nodes, smartphones, drones), edge and cloud resources in order to achieve their application goals. These complex distributed systems require a programming model that allows developers to implement their applications in a simple way (i.e., focus on the application logic) and an execution framework that runs these applications resiliently with a high resource efficiency, while maximizing application utility. Towards such distributed execution runtime, we propose Nandu, an actor based system that adapts and migrates tasks dynamically using developer provided hints as seed information. Nandu allows developers to focus on sequential application logic and transforms their application into distributed, adaptive actors. The resulting actors support fine-grained entry points for the execution environment. These entry points allow local schedulers to adapt actors seamlessly to the current context, while optimizing the overall application utility according to developer provided requirements.

[1]  Nick McKeown,et al.  Learning Networking by Reproducing Research Results , 2017, CCRV.

[2]  Michael I. Jordan,et al.  Real-Time Machine Learning: The Missing Pieces , 2017, HotOS.

[3]  Philip A. Bernstein,et al.  Orleans: Distributed Virtual Actors for Programmability and Scalability , 2014 .

[4]  Paramvir Bahl,et al.  Real-Time Video Analytics: The Killer App for Edge Computing , 2017, Computer.

[5]  Hongzi Mao,et al.  Neural Adaptive Video Streaming with Pensieve , 2017, SIGCOMM.

[6]  Ratul Mahajan,et al.  Beam: Ending Monolithic Applications for Connected Devices , 2016, USENIX Annual Technical Conference.

[7]  Gürkan Solmaz,et al.  FogFlow: Easy Programming of IoT Services Over Cloud and Edges for Smart Cities , 2018, IEEE Internet of Things Journal.

[8]  Christian Becker,et al.  Tasklets: "Better than Best-Effort" Computing , 2016, 2016 25th International Conference on Computer Communication and Networks (ICCCN).

[9]  Michal Król,et al.  NFaaS: named function as a service , 2017, ICN.

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

[11]  Arvind Krishnamurthy,et al.  Customizable and Extensible Deployment for Mobile/Cloud Applications , 2014, OSDI.

[12]  Morris Sloman,et al.  Policy driven management for distributed systems , 1994, Journal of Network and Systems Management.

[13]  Carl Hewitt,et al.  Actor Model of Computation: Scalable Robust Information Systems , 2010, 1008.1459.

[14]  Wei Zhou,et al.  DistressNet: a wireless ad hoc and sensor network architecture for situation management in disaster response , 2010, IEEE Communications Magazine.

[15]  Matt Welsh,et al.  Deploying a wireless sensor network on an active volcano , 2006, IEEE Internet Computing.

[16]  Rimon Barr,et al.  Design and implementation of a single system image operating system for ad hoc networks , 2005, MobiSys '05.

[17]  Xin Jin,et al.  SnapLink: Fast and Accurate Vision-Based Appliance Control in Large Commercial Buildings , 2018, Proc. ACM Interact. Mob. Wearable Ubiquitous Technol..

[18]  Scott Shenker,et al.  Spark: Cluster Computing with Working Sets , 2010, HotCloud.

[19]  Xu Chen,et al.  COMET: Code Offload by Migrating Execution Transparently , 2012, OSDI.

[20]  G. Bradski,et al.  詳解OpenCV : コンピュータビジョンライブラリを使った画像処理・認識 , 2009 .

[21]  Christian Becker,et al.  Fault-avoidance strategies for context-aware schedulers in pervasive computing systems , 2017, 2017 IEEE International Conference on Pervasive Computing and Communications (PerCom).

[22]  Sebastian Burckhardt,et al.  Geo-distribution of actor-based services , 2017, Proc. ACM Program. Lang..

[23]  Apostolos Papageorgiou,et al.  Network-integrated edge computing orchestrator for application placement , 2017, 2017 13th International Conference on Network and Service Management (CNSM).

[24]  Anthony Canino,et al.  Proactive and adaptive energy-aware programming with mixed typechecking , 2017, PLDI.

[25]  Phil Trinder,et al.  The Design of Scalable Distributed Erlang , 2012 .

[26]  Paramvir Bahl,et al.  The Case for VM-Based Cloudlets in Mobile Computing , 2009, IEEE Pervasive Computing.

[27]  Byung-Gon Chun,et al.  CloneCloud: elastic execution between mobile device and cloud , 2011, EuroSys '11.

[28]  Rayman Preet Singh,et al.  Rivulet: a fault-tolerant platform for smart-home applications , 2017, Middleware.

[29]  Kathryn S. McKinley,et al.  The latency, accuracy, and battery (LAB) abstraction: programmer productivity and energy efficiency for continuous mobile context sensing , 2013, OOPSLA.

[30]  Ratul Mahajan,et al.  A Case for Ending Monolithic Apps for Connected Devices , 2015, HotOS.

[31]  Daniel Cremers,et al.  Scale-aware navigation of a low-cost quadrocopter with a monocular camera , 2014, Robotics Auton. Syst..

[32]  A. Claesson,et al.  Time to Delivery of an Automated External Defibrillator Using a Drone for Simulated Out-of-Hospital Cardiac Arrests vs Emergency Medical Services , 2017, JAMA.

[33]  W. Buck,et al.  MININET , 1979, Prax. Inf.verarb. Kommun..

[34]  Alec Wolman,et al.  MAUI: making smartphones last longer with code offload , 2010, MobiSys '10.

[35]  Paul Turner,et al.  CPU bandwidth control for CFS , 2010 .

[36]  Liuba Shrira,et al.  Promises: linguistic support for efficient asynchronous procedure calls in distributed systems , 1988, PLDI '88.

[37]  Edward A. Lee,et al.  AWStream: adaptive wide-area streaming analytics , 2018, SIGCOMM.

[38]  Anis Koubaa,et al.  Radio link quality estimation in wireless sensor networks , 2012, ACM Trans. Sens. Networks.