Edge Computing
Jonathan Fürst
IoT Platform Group, NEC Labs Europe
Heidelberg, Germany��<jonathan.fuerst@neclab.eu>
About me
· 2
Intro
· 3
Dec. 2018, NEC acquires KMD
Intro
NEC Labs Europe
· 4
Instrumenting the Physical World
5
→ Goal: Use sensor data to understand (model) and influence (actuate) physical systems.
Let’s just use the cloud for that!
Intro
Cloud Computing
· 6
Source: https://www.red-gate.com/simple-talk/cloud/cloud-development/a-comprehensive-introduction-to-cloud-computing/
Intro
Cloud Computing
· 7
Intro
What might be the problem with that?
· 8
Intro
· 9
Intro
Paradigm Shift in IoT Applications
· 10
Intro
Camera Input
Approach:
Example: Camera Input
· 11
Intro
· 12
Basic Idea:
Find and rescue disaster victims supported by drones.
Intro
13
T1 - (V) SLAM
T3 Infrared based Detection
T4 CV People Detection
T2 - 3D model reconstruction
T2 - 3D model reconstruction
T2 - 3D model reconstruction
T4 CV People Detection
T4 CV People Detection
T4 CV People Detection
Outline
14
Processing Sensor Data
15
Processing Sensor Data
E.g., about the state or behavior of a physical system (voltage, current, or magnetic field strength...),
Mathematically:
Independent variable: Time
What is a Signal?
· 16
Processing Sensor Data
Continuous-time Signal: continuous independent variable (time)
→ Analog Signal
Discrete-time Signal: discrete independent variable values (sequence of numbers)
→ Dependent variable (signal amplitude) can be continuous or discrete.
Digital signal: Both time and amplitude are discrete.
Types of Signals
· 17
Processing Sensor Data
Continuous to Discrete-time Signal
· 18
Processing Sensor Data
Time series represent ordered real-valued measurements at regular temporal intervals
A time series X = {x1, x2,..., xn} for t =t1, t2,..., tn is a discrete function with value x1 for time t1, value x2 for time t2, and so on.
Time-series Data
· 19
Processing Sensor Data
Data Acquisition
· 20
→ Dataset
Practical Implementation:�Pandas or R Dataframe
Processing Sensor Data
Discrete and Continuous Attributes
· 21
Discrete Attribute
Continuous Attribute
Processing Sensor Data
· 22
Major Tasks in Data Preprocessing
Why data cleaning?
About noise
http://www.gaussianwaves.com/2013/11/simulation-and-analysis-of-white-noise-in-matlab/
What is a filter?
The purpose of a filter is to remove some data while attenuating others e.g. for further processed (e.g. an action).
Mean (Moving average) and Median Filter
But:
What about window size?
What about window size?
● Large: blur edges, remove small events
● Too small: noise may lead to false detections
Mean (Moving average) and Median Filter Example
https://dsp.stackexchange.com/questions/27349/moving-average-vs-moving-median
Location Tracking Example
Processing Sensor Data
Is this enough?
Sensing the Physical World
· 31
Processing Sensor Data
Modeling / Inferring the Physical World
· 32
Rules vs. Machine Learning
Processing Sensor Data
Rules (Declarative Approach)
· 33
Processing Sensor Data
Basic Steps:
Machine Learning Approach
· 34
Processing Sensor Data
Summary
· 35
Edge Computing
36
Edge Computing
Goals
· 37
→ Bring cloud resources closer to end-users (e.g., IoT devices).
Edge Computing
Bonus: Run them reliable.��
Challenges
· 38
Distributed Execution Frameworks
Programming Models
Edge Computing
1. The network is reliable
2. Latency is zero
3. Bandwidth is infinite
4. The network is secure
5. Topology doesn’t change
6. There is one administrator
7. Transport cost is zero
8. The network is homogenous
Peter Deutsch 1994 / James Gosling 1997
The 8 fallacies of distributed computing
· 39
Edge Computing: Terms
Fog Computing
· 40
Source: The NIST Definition of Fog Computing, 2017 Draft
Edge Computing: Terms
Fog Computing
· 41
CDNs (e.g., Akamai)
On content delivery side this is nothing new
· 42
Source: https://developer.akamai.com/blog/2017/06/14/optimizing-cacheability-web-app-performance/
Edge Computing
Edge computing generalizes and extends the CDN concept by leveraging cloud computing infrastructure. As with CDNs, the proximity of cloudlets to end users is crucial. However, instead of being limited to caching web content, a cloudlet can run arbitrary code just as in cloud computing. This code is typically encapsulated in a virtual machine (VM) or a lighter-weight container for isolation, safety, resource management, and metering.
· 43
Edge Computing
Summary
· 44
Edge Programming Models & Execution Frameworks
45
Cloudlets and MAUI (2009/10)
Motivation:
· 46
Cloudlets and MAUI (2009/10)
“...mobile users seamlessly utilize nearby computers to obtain the resource benefits of cloud computing without incurring WAN delays and jitter. Rather than relying on a distant “cloud,” a mobile user instantiates a “cloudlet” on nearby infrastructure and uses it via a wireless LAN. Crisp interactive response for immersive applications that augment human cognition is then much easier to achieve because of the proximity of the cloudlet. We confirm that a critical untested aspect of this vision, namely rapid customization of cloudlet infrastructure, is achievable through dynamic VM synthesis.”
Vision
· 47
Cloudlets and MAUI (2009/10)
Mobile-Edge computing framework:
MAUI decides at runtime which methods should be remotely executed, driven by an optimization engine that achieves the best energy savings possible under the mobile device’s current connectivity constraints.
MAUI
· 48
Cloudlets and MAUI (2009/10)
MAUI: Details
· 49
Cloudlets and MAUI (2009/10)
MAUI: Results
· 50
Cloudlets and MAUI (2009/10)
· 51
Google Stadia 2019
Stadia latency 166ms or roughly 5 frames of input lag in a 30fps.
Assumption:
· 52
Google Edge Datacenters
Calder, Matt, Xun Fan, Zi Hu, Ethan Katz-Bassett, John Heidemann, and Ramesh Govindan. "Mapping the expansion of Google's serving infrastructure." In Proceedings of the 2013 conference on Internet measurement conference, pp. 313-326. ACM, 2013.
· 53
FogFlow (IEEE IoT17)
Motivation
· 54
edge computing has great potential to reduce bandwidth consumption and end-to-end latency, but it raises much more complexity than cloud computing since the cloud-edge environment is more open, heterogeneous, and dynamic
Can we program applications over cloud-edges easily, like programming them in the cloud?
Can we let the cloud-edge platform to automatically manage and optimize its own resources under such dynamics?
Complicate to realize services due to lack of programming model and poor interoperability:
spend months for each service
service/application
providers
No approach of dealing with dynamics like device mobility, instant service usage, temporary failure:
applications have to face those issues
service realization
during the development phase
resource management
during the deployment phase
new
services
New requirements
come frequently
Cheng, Bin, et al. "FogFlow: Easy Programming of IoT Services Over Cloud and Edges for Smart Cities." IEEE Internet of Things Journal (2017).
Slide by Bin Cheng
FogFlow (IEEE IoT17)
What Is FogFlow (1): Cloud-Edge Orchestrator
· 55
Producers
(sensors)
cloud
edge
edge
edge
raw context information
timely results
FogFlow
dynamic processing flows
Data context
System context
Slide by Bin Cheng
Open Sourced: https://github.com/smartfog/fogflow
Use Case: Smart Awning
· 56
Slide by Bin Cheng
IoT Edge Platforms
57
Nebbiolo: Industry 4.0
58
Microsoft Azure IoT Edge
· 59
Microsoft Azure IoT Edge
· 60
AT&T and Linux Foundation: Akraino
· 61
OpenStack Edge Computing
· 62
OpenFog Consortium
· 63
https://www.openfogconsortium.org/
End-user Privacy: Databox Project
· 64
https://www.databoxproject.uk
New Hardware: Autonomous Cars
65
https://www.anandtech.com/show/9903/nvidia-announces-drive-px-2-pascal-power-for-selfdriving-cars
New Hardware: Autonomous Cars
66
https://www.anandtech.com/show/9903/nvidia-announces-drive-px-2-pascal-power-for-selfdriving-cars
Take-Aways
67
Take-Aways
· 68
Intro
NEC Labs Europe
· 69
Internship or Master Thesis
Flexible dates.
Work language is English
Please talk/write to me.
The research leading to these results has received funding from the European Community's Horizon 2020 research and innovation programme under grant agreement nº 779747
Bonus Slides
70
MagnetOS (MobiSys’05)
Programming ad-hoc (sensor) networks is complicated:
Motivation
· 71
Liu, Hongzhou, et al. "Design and implementation of a single system image operating system for ad hoc networks." Proceedings of the 3rd international conference on Mobile systems, applications, and services. ACM, 2005.
MagnetOS (MobiSys’05)
Approach
· 72
Dell EMC and Vmware
· 73
Edge Computing
Application Areas
· 74
Discuss 5 min:�What are applications that benefit from edge computing and how?
Can we avoid cloud computing all together for all applications?
FogFlow (IEEE IoT17)
What Is FogFlow (2): High Level View
· 75
Slide by Bin Cheng
Open Sourced: https://github.com/smartfog/fogflow
FogFlow (IEEE IoT17)
→ popular in Streaming Data processing because it’s easy to parallelize�e.g., Google Cloud, Apache Beam, Flink.
Dataflow Programming
· 76