Tag Archives: ets

Poster: Dependency-Aware Operator Placement of Distributed Stream Processing IoT Applications Deployed at the Edge

Mohtadi, A., Gascon-Samson, J. (2020) Poster: Dependency-Aware Operator Placement of Distributed Stream Processing IoT Applications Deployed at the Edge. Symposium of Edge Computing (SEC) 2020 Demos and Posters
[Preprints] [Poster as a presentation]

Abstract: In the last few years, the number of IoT applications that rely on stream processing has increased significantly. These applications process continuous streams of data with a low delay and provide valuable information. To meet the stringent latency requirements and the need for real-time results that they require, the components of the stream processing pipeline can be deployed directly onto the edge layer to benefit from the resources and capabilities that the swarm of edge devices can provide. In this poster, we outline some ongoing research ideas into deploying stream processing operators onto edge nodes, with the goal of minimizing latency while ensuring that the constraints of the devices and their network capabilities are respected. More precisely, we provide a modeling of the semantics of the operators that considers the interactions between different operators, the parallelism of concurrent operators, as well as the latency and bandwidth usage.

ThingsMigrate: Platform‐independent migration of stateful JavaScript Internet of Things applications

Jung, K., Gascon‐Samson, J., Goyal, S., Rezaiean‐Asel, A., Pattabiraman, K. (2021) ThingsMigrate: Platform‐independent migration of stateful JavaScript Internet of Things applications. Software: Practice and Experience, 51(1), pp.117-155.
[Preprint]

Abstract: The Internet of Things (IoT) has gained wide popularity both in academic and industrial contexts. Unlike traditional embedded devices with specialized firmwares, modern IoT devices accommodate general‐purpose operating systems, allowing developers to run more sophisticated applications written in high‐level languages like JavaScript. Because IoT devices are subject to resource constraints like available battery power, we need to dynamically migrate a running process between different devices to prevent losing state. However, it is challenging to apply migration techniques using memory snapshots across the heterogeneous pool of IoT devices. We present ThingsMigrate, a middleware providing platform‐independent migration of JavaScript processes across IoT devices. Prior to execution, ThingsMigrate instruments the source code of a given program to expose its internal state. During run‐time, the transformed program produces on demand a JSON snapshot of its current state, from which new code is generated to resume execution. Thus, ThingsMigrate enables process migration entirely in the application space without any modifications to the underlying virtual machine (VM), providing VM‐independence. We present three versions of ThingsMigrate, each building on the previous to optimize for run‐time latency and memory consumption. We report on the experience of building each successive version and discuss the insights gained and the learning outcomes. We evaluated ThingsMigrate against standard benchmarks, over two IoT platforms and a cloud‐like environment. We show that it can migrate even highly CPU‐intensive applications, with average run‐time latency overhead of 33% and memory overhead of 78%. ThingsMigrate supports multiple subsequent migrations without introducing additional overhead over each subsequent migration.

DynPubSub: A Peer To Peer Overlay For Topic-Based Pub/Sub Systems Deployed at the Edge

Bouallegue, C., Gascon-Samson, J. (2020) DynPubSub: A Peer To Peer Overlay For Topic-Based Pub/Sub Systems Deployed at the Edge. Proceedings of the 21st International Middleware Conference Demos and Posters (Middleware 2020 Demos and Posters)
[Preprints] [Poster]

Abstract: There are more and more IoT devices that produce and consume and ever increasing amount of data. Publish-subscribe (Pub/Sub) is a well known paradigm that simplifies the task of exchanging messages, as it decouples the communication between the entities that emit and consume messages. While traditionally deployed in a centralized cloud-based manner, the different components of a pub/sub system can be deployed directly onto the edge devices, in a peer-to-peer manner, to achieve the required low latency for most IoT applications. In this poster, we propose DynPubSub, a new peer-to-peer network overlay for topic based pub/sub systems deployed at the edge. DynPubSub provides fault tolerance and scalability, and aims at minimizing the latency while respecting the constraints of the edge devices and networks.

A preliminary study of open-source IoT development frameworks

Baba-Cheikh, Z., El-Boussaidi, G., Gascon-Samson, J., Mili, H. and Guéhéneuc, Y.G. (2020) A preliminary study of open-source IoT development frameworks. Proceedings of the IEEE/ACM 42nd International Conference on Software Engineering Workshops (ICSE Workshops) 2020

Abstract: The Internet of Things (IoT) market is growing fast with an increasing number of connected devices. This led many software companies to shift their focus to develop and provide IoT solutions. IoT development has its own challenges as typical IoT solutions are composed of heterogeneous devices, protocols and software. To cope with these challenges, many frameworks are available to help developers to build IoT applications. Some of these frameworks are open source and might be of great interest for small and medium-sized companies wishing to build IoT solutions at a lower cost. In this paper, we present the results of a preliminary study of four open source IoT development frameworks. In particular, we used these frameworks to implement a sample of three IoT applications and we analyze them against a minimal set of IoT requirements. We focus in our study on the IoT development for Raspberry PI as it is a very low-cost and popular platform.

Linearize, predict and place: minimizing the makespan for edge-based stream processing of directed acyclic graphs

Khare, S., Sun, H., Gascon-Samson, J., Zhang, K., Gokhale, A., Barve, Y., Bhattacharjee, A. and Koutsoukos, X. (2019). Linearize, predict and place: minimizing the makespan for edge-based stream processing of directed acyclic graphs. Symposium of Edge Computing (SEC) 2019
[Preprint]

Abstract: Many IoT applications found in cyber-physical systems, such as smart grids, must take control actions in response to critical events, such as supply-demand mismatch, which requires low-latency processing of streaming data for rapid event detection and anomaly remediation. These streaming applications generally take the form of directed acyclic graphs (DAGs), where vertices represent operators and edges represent the flow of data between these operators. Edge computing has recently attracted significant attention as a means to readily meet the requirements of latency-critical IoT applications due to its ability to provide low-latency processing near the source of data. To accrue the benefits of edge computing, the constituent operators of these applications must be placed in a manner that intelligently trades-off inter-operator communication costs with the cost of interference incurred due to co-location of operators on the same resource-constrained edge devices. To address these challenges and to substantially simplify the placement problem for DAGs of arbitrary sizes and topologies, we present an algorithm that first transforms any arbitrary stream processing DAG into an approximate set of linear chains. Subsequently, a data-driven latency prediction model for co-located linear chains is used to inform the placement of operators such that the makespan, defined as the maximum latency of all paths in the DAG, is minimized. We empirically evaluate our algorithm using a variety of DAG placement scenarios on a Beagle Bone cluster, which is representative of an edge computing environment.

OneOS: IoT Platform based on POSIX and Actors

Jung, K., Gascon-Samson, J., Pattabiraman, K. (2019). OneOS: IoT Platform based on POSIX and Actors. HotEdge 2019, Renton, États-Unis
[Preprint] [Presentation Slides] [Code]

Abstract: Recent interest in Edge/Fog Computing has pushed IoT Platforms to support a broader range of general-purpose workloads. We propose a design of an IoT Platform called OneOS, inspired by Distributed OS and micro-kernel principles, providing a single system image of the IoT network. OneOS aims to preserve the portability of applications by reusing a subset of the POSIX interface at a higher layer over a flat group of Actors. As a distributed middleware, OneOS achieves its goal through evaluation context replacement, which enables a process to run in a virtual context rather than its local context.

Scalable Edge Computing for Low Latency Data Dissemination in Topic-Based Publish/Subscribe

Khare, S., Sun, H., Zhang, K., Gascon-Samson, J., Gokhale, A., Koutsoukos, K., Abdelaziz H. (2018) Scalable Edge Computing for Low Latency Data Dissemination in Topic-Based Publish/Subscribe, 2018 IEEE/ACM Symposium on Edge Computing (SEC 2018), Seattle, WA, USA
[Preprint] [Presentation Slides]

Abstract: Advances in Internet of Things (IoT) give rise to a variety of latency-sensitive, closed-loop applications that reside at the edge. These applications often involve a large number of sensors that generate volumes of data, which must be processed and disseminated in real-time to potentially a large number of entities for actuation, thereby forming a closed-loop, publish-process-subscribe system. To meet the response time requirements of such applications, this paper presents techniques to realize a scalable, fog/edge-based broker architecture that balances data publication and processing loads for topic-based, publish-process-subscribe systems operating at the edge, and assures the Quality-of-Service (QoS), specified as the 90th percentile latency, on a per-topic basis. The key contributions include: (a) a sensitivity analysis to understand the impact of features such as publishing rate, number of subscribers, per-sample processing interval and background load on a topic’s performance; (b) a latency prediction model for a set of co-located topics, which is then used for the latency-aware placement of topics on brokers; and (c) an optimization problem formulation for k-topic co-location to minimize the number of brokers while meeting each topic’s QoS requirement. Here, k denotes the maximum number of topics that can be placed on a broker. We show that the problem is NP-hard for k >=3 and present three load balancing heuristics. Empirical results are presented to validate the latency prediction model and to evaluate the performance of the proposed heuristics.

Poster Abstract: Ensuring Low-Latency and Scalable Data Dissemination for Smart-City Applications

Khare, S., Sun, H., Zhang, K., Gascon-Samson, J., Gokhale, A., Koutsoukos, K. (2018) Poster Abstract: Ensuring Low-Latency and Scalable Data Dissemination for Smart-City Applications, IoTDI 2018, Orlando, USA

Abstract: Low latency and scalable data dissemination is a critical requirement for many IoT applications, e.g., smart city applications, which are often built over a publish/subscribe communication paradigm. Ensuring low latency requires effective load balancing of the publish/subscribe topics across the different publishers and subscribers. To that end we present ongoing work on a data-driven approach to learning a latency-aware model of IoT broker loads, and in turn using it to determine broker replication, and balancing topics across them.