Opendata, web and dolomites

Report

Teaser, summary, work performed and final results

Periodic Reporting for period 1 - LightKone (Lightweight Computation for Networks at the Edge)

Teaser

The Edge Computing model extends the Cloud Computing model to exploit resources at the edge of the network (closer to the clients), avoiding the necessity of executing applications fully on the cloud. The Edge Computing model yields additional benefits for applications...

Summary

The Edge Computing model extends the Cloud Computing model to exploit resources at the edge of the network (closer to the clients), avoiding the necessity of executing applications fully on the cloud. The Edge Computing model yields additional benefits for applications including privacy, availability, and local decision making. Cloud Computing has become a prominent and successful computing model. However, the immense volumes of data generated through social networks, data analytics, and the Internet of Things impose new challenges that surpass the capability of Cloud Computing infrastructures. For example, the data generated in an IoT scenario can overwhelm a data center if one is not careful to do some computation locally. Additionally, this can also lead to unavailability scenarios when devices lack the connectivity to reach the data center. These problems are becoming acute as the number of IoT devices grows exponentially, with no limits in sight: by 2027 it is estimated that there will be more than 1000 devices per human being on earth.

The LightKone project is developing an Edge Computing model for general-purpose computation, making it more scalable and flexible, and providing a set of mechanisms to simplify development and deployment of applications. In the Edge Computing model, edge nodes with sufficient aggregate storage and computational capacities are placed closer to the end user, i.e., at the logical extreme of the network where the application is deployed. These nodes are then leveraged to offload a significant fraction of storage and computing requirements of applications, whereas complementary processing and storage can be performed at the cloud data center if necessary. The LightKone approach is based on the use of synchronisation-free shared mutable data combined with robust and efficient hybrid gossip communication primitives. In this way, we intend to build full systems that are highly resilient even on dynamic and unreliable edge networks.

Work performed

We have identified a set of industrially relevant application scenarios for edge computing, covering a large design space: sensor-based scenarios such as precision agriculture, edge-centric database applications, community networks, and embedded systems for manufacturing. For the Guifi.net community network, we define a monitoring system at the edge, a data storage system at the edge, and service provision support for the Cloudy platform, which provides services for Guifi.net. For the Scality petascale database, we define pre-indexing support at the edge. To reduce latency and improve search quality, we propose lambda functions at the edge to perform arbitrary computations, and we propose an S3 local cache of client data at the edge. For industrial manufacturing, we propose to extend a decentralized transport system based on RFID tags, to perform without stopping, which will significantly increase performance. For IoT sensor networks, we propose systems to do analytics directly on the edge, for precision agriculture including winery management. We also propose smart metering gateways, to enable local decision making for smart grid management.

To support these application scenarios, we have developed programming models for edge computing and the runtime support necessary for them. We build on the successful use of CRDTs (Conflict-Free Replicated Data Types) in providing highly available data for cloud services, and we are extending this technology for the edge. We provide a set of implementations based on CRDTs to support edge computing. We also provide a set of communication abstractions, to support causal delivery and highly resilient communication in dynamic networks (communication is assured with high probability even if 90% of nodes crash). We provide storage abilities for partial replication, which is important for the edge and for scalability.

We provide a single unified programming model, which is defined by a simple semantics for edge computing. We provide this programming model in three implementations, Antidote, Lasp, and Legion, which cover widely different parts of the edge computing space. It is impractical and unwieldy to cover this space with a single implementation, since it would greatly encumber our progress with little advantage. Instead, we have three implementations that provide a coherent service and overlap in functionality where this is necessary. First Antidote, which is a causally consistent transactional data store based on CRDTs and extended for the edge. Antidote supports a new programming methodology called Just-Right Consistency. Second Lasp, which is a CRDT-based data store that runs on highly dynamic networks using highly resilient communication and is able to perform dataflow computation within the store while maintaining resilience. Third Legion, which is a platform for developing mobile Web-based applications based on shared objects containing CRDTs inside mobile phones.

Final results

In the first half of the project, LightKone has extended the state of the art in distributed systems, their programming models, and in synchronisation-free computing. Here we give the highlights of these developments. We have developed numerous new algorithms and software artifacts to enable our edge computing vision, which have been published in top-tier conferences and released as open-source libraries. We have developed new CRDTs and their efficient implementations. We have developed new communication abstractions, including Yggdrasil, a framework for ad hoc networking, and Partisan, a resilient extension of Erlang’s distribution subsystem for highly dynamic scalable networks. We have developed a new programming methodology, Just-Right Consistency, for developing large-scale distributed applications, which are ubiquitous in edge computing. We have extended the work started in the previous SyncFree project. In the last year of SyncFree, we started work on Antidote, Lasp, and Legion. In the first half of LightKone, we have greatly extended the functionality of these three systems, their ability to scale, and their ability to run directly on the edge. We are focusing on the use case scenarios defined in the first year of the project, as explained before. We have ported Lasp to the Grisp embedded system boards and run applications directly on these boards. We have extended Antidote to run on Grisp as well, for edge applications that have a database component.

In the second half of the project, we will scale up our three implementations and focus on a relevant subset of the use case scenarios defined before. In parallel with this, we are refining a business plan for commercializing LightKone results. The business plan work remains confidential, but it is clear we are doing market studies and defining business plans for Antidote, Lasp, and Legion. We also plan to submit several long-range patents, to gain credibility, to put a stake in the ground, and to attract investors, all without impeding the software development, which is based primarily on open-source. We plan to set up a LightKone foundation to continue this process beyond the end of LightKone and covering other current and future projects, both national and European, that continue this technology development.

Website & more info

More info: https://www.lightkone.eu/.