fog function: serverless fog computing for data intensive ...gsolmaz/publications/scc19... · edge...

34
Fog Function: Serverless Fog Computing for Data Intensive IoT Services Bin Cheng, Jonathan Fuerst, Gurkan Solmaz (NEC Labs Europe, Germany) Takuya Sanada (NEC Solution Innovators, Ltd., Japan)

Upload: others

Post on 14-Aug-2020

7 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Fog Function: Serverless Fog Computing for Data Intensive IoT Services

Bin Cheng, Jonathan Fuerst, Gurkan Solmaz (NEC Labs Europe, Germany)Takuya Sanada (NEC Solution Innovators, Ltd., Japan)

Page 2: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

NEC Labs Europe

§ Located at Heidelberg, Germany, 1 hour away from Frankfurt by train

§ ~100 employees, 70~80 researchers, working in 4 major domains

§ We are involved in the research projects from both European Commission and Internal business units

Page 3: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Agenda

§ Background§ Motivation and gap analysis§ Fog Function as a service for fog computing§ Major design issues§ System evaluation§ Use case validation§ Conclusion and future work

2

Agenda

§ Background§ Motivation and gap analysis§ Fog Function as a service for fog computing§ Major design issues§ System evaluation§ Use case validation§ Conclusion and future work

1

Page 4: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Background (1): Inter of Things (IoT)

§ Contextual data are constantly generated and to be used at edges

§ Many IoT services required the closed loop of sensing, analysing, decision-making, and reacting; fast response time; automated workload management

§ Cloud-only based architecture is not enough to meet service requirements for IoT, due to inefficient bandwidth consumption, latency limit, privacy concerns

3

Sensors Actuators

Processing

capture

Context Information

Close the loop via data integration and analytics in between

Latency-sensitivefast response time

Big scale, Huge amount of data

Page 5: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Background (2): Serverless Computing

§ Function-as-a-Service: a simplified programming model to program your cloud services

§ Auto-scaling: make the deployment automatic and transparent so that reducing the operation cost

§ Cost model: pay-per-invocation, more reasonable than pay per VM

§ Decouple storage and computation and always move data to computation

4

“Cloud Programming Simplified: A Berkeley View on Serverless Computing“; https://arxiv.org/pdf/1902.03383.pdf

data Events

computation

Serverless function

Virtualizing the cloud

Always move data to computation; limited efficiency

Page 6: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Background (3): Edge Computing/Fog Computing

Cloud-edge infrastructure

huge cloud(s)(public/private cloud)

light edge(IoT device)

q Low end-to-end latency for latency sensitive application

q low bandwidth consumptionq Better privacy-preserving

Technical benefits of edge/fog computing

heavy edge(IoT Gateway)

Virtualizing the cloud and edges

5

Page 7: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Our Target

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/applicationproviders

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 managementduring the deployment phase

New IoT services

New requirements come frequently

6

Page 8: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

State of the Art: device-oriented approach

edge edge

Orchestrator

Topic-base

Actions for A single edge

Topic-based

Cloud + each edge

EdgeX, Azure IoT Edge, AWS Greengrass

Cloud-broker

Device-oriented deployment

Statically deployment;Manually configured

data path;Limited flexibility

7

Page 9: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Motivating Use Case

8

Public/Private Cloud

Edge Server A

Edge Server B

Metadata Visual Sensors Location State Camera URL MaintenanceCar Entity

Road Entity

Driving Behavior Analysis

GPS sensor

Device Layer

Edge Layer

Cloud Layer

Migration as the car moves

Camera

Real-time Traffic Estimation

Car Insurance Assessment

State Monitoring

New Functions

Road Damage Detection

Dangerous situation detection

Page 10: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Use Case Analysis

9

O1

O2

O3

O4

O5

O6

G1

G2

G3

G4

observations gaps

Small vs. big entity

Static vs. dynamic entity

Small vs. big task

Short vs. long task

Normal vs. urgent task

Existing vs. new task

Data discovery and routing: from topic-based to content- based

Function triggering: from per event to per selected entities

Function execution: from data→code or code→data to code↔data

Function composition: from event-oriented or edge- oriented to data-centric

Page 11: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Our Approache to Fulfil the Gaps

10

G1

G2

G3

G4

Fog FunctionProgramming Model

Content-based Discovery

Data-driven Function Orchestration

Context-awareTask Deployment/Migration

gaps technology means

Data discovery and routing: from topic-based to content- based

Function triggering: from per event to per selected entities

Function execution: from data→code or code→data to code↔data

Function composition: from event-oriented or edge- oriented to data-centric

Page 12: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

System Design

11

ServiceOrchestrator

Content-base Discovery

B

B

B

actions

��������

actions

��������� �

������������������ �

Broker

�B Worker

B�

fog node

fog node

fog node

fog node

management node

Content-based Discovery

Data-driven Orchestration

Context aware Optimization

Easy-to-use programming model

Page 13: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Comparison

12

Systems FogFlow Others(EdgeX, Azure IoTEdge/AWS Greengrass)

Triggering-mechanism Content-based Topic-based

View for orchestration Global (all edges + cloud)

Each edge + backup broker in the cloud

Programming model(s) Data-oriented Device-oriented

Mobility support Yes No

Page 14: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Programming Model: Fog Function

13

Operator

Function annotation

13

Page 15: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Dynamic Service Composition

14

Operator(e.g., Avg)

Docker images

Implementation of the operator

A B CIntentService composition Intent

Intents

A single fog function or a group of fog functions

Execution plan

deployment plan

Page 16: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Graphical Editor to Programme IoT Services

15

Reusable Functions

SubmitSelect

Your service is ready in minutes

Page 17: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Triggered by an “Intent”

16

Page 18: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Context Information Management: Standard-based, NGSI

17

A B C

NGSI-based Context management system

Raw data source

Analytics results

IoT Service

input outputIntermedia result

Page 19: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

NGSI: Next Generation Service Interface

18

IoTBroker

IoTDiscovery

Producer(s)

Provider(s)

Consumer(s)

Subscriber(s)

Data processing operatorNGSI9

(register)

NGSI9(discover, query)

NGSI10

NGSI10(subscribe)

NGSI9(query,

subscribe)

NGSI10(update)

NGSI10(notify)

Data model for entities

Communication protocol like pub/sub

typeid attribute location Other metadata

Page 20: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Context Information Management: Two-layer & Distributed

19

IoTDiscovery

IoTBroker

IoTBroker

IoTBrokerContext

producers

Context consumers

update

NGSI9

NGSI9

NGSI9

subscribe/query

NGSI10

NGSI10

• •

••

Page 21: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Data-driven Function Orchestration (1)

20

Page 22: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Data-driven Function Orchestration (2)

21

actions What to do

ADD_TASK To launch a new task with the given config- uration that includes the initial setting of its input streams

REMOVE_TASK To terminate an existing running task with the given task ID

ADD_INPUT To subscribe to a new input stream on behalf of a running task so that the new input stream can flow into the running task

REMOVE_INPUT To unsubscribe from some existing input stream on behalf of a running task so that the task stops receiving entity updates from this input stream

Page 23: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Context-aware Task Migration

22

Cloud

Three types of use cases for task migration

Edge1 Edge2

t1

t1

Cloud

Edge1 Edge2

t1

t1

Cloud

Edge1 Edge2

t1t1

Cloud -> Edge Edge -> Cloud Edge -> Edge

Page 24: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

FogFlow System

23

Topology master

IoTdevices

Discovery

Applications

Taskdesigner

Service developersSystem operators

FIWARE NGSI

Non-NGSI

Worker(s)Worker(s)

DockerRegistry

Data Processing Layer

Other data source(s)

NGSINon-NGSI

Context Management Layer

IoT Device Layer

Broker(s)

Application Layer

Service Orchestration Layer

Open source, available at github https://github.com/smartfog/fogflow

Page 25: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Comparison with Cloud Function and Edge Function

24

Client Topic-basedbroker

Execution Environment

Cross-node traffic

latency

Client

Content-basebroker

latencyExecution

Environment(fog node)

Content-basebroker

Execution Environment

(fog node)

1) Cloud function

2) Edge function

3) Fog function

Separate data & computation

Dynamically configured and optimized, globally

Statically configured for each edge

Page 26: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Performance Evaluation

§ Latency

§ Scalability

§ Benefits as compared to the existing solutions

25

Page 27: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Evaluation Result (1): Startup Latency

26

Page 28: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Evaluation Result (2): Migration Latency

27

Page 29: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Evaluation Result (3): Scalability

28

Page 30: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Comparison Result

29

Cross-node traffic(cost saving of bandwidth usage)

Service latency(response time)

Cloud Functionhigh

high

low

low

Edge Function

Fog Function

Page 31: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Use Case 1: Smart Parking

30

Connected carprivate

site

Publicsite

Real-time estimation

Prediction

Arrival time Estimation

Recommender

private parking site

public parking site entity

fog function

Page 32: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Use Case 2: Lost Child Finder

31

Facematching

Virtual sensors(cameras)

groupby “cameraID”

Subscribe

broadcast Picture of the lost child

Stadium A Stadium B

Cloud

IoTgateway

Terminalgateway

IoTgateway

Picture of the lost child

NotificationsTerminalgateway

Terminalgateway

Terminalgateway

Page 33: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Conclusion and future work

§ New programming model, namely Fog Function• Function-as-a-service• Hide all the details of how to manage the underlying infrastructure (cloud and edges)• Data-centric

§ Efficient fog computing framework, namely FogFlow• Utilize different context information: data locality, available resource, usage context

§ Various applications• Smart cities, smart industry, public safety

§ Ongoing trend and future work: ICT infrastructure is becoming more distributed and complex, but for service developers and operators, the infrastructure must be transparent and intelligent:

• Controlling data processing flows dynamically to meet various requirements• Automatically matching data providers and situation consumers• Self-organized and optimized• Making its usage easier and easier

32

Page 34: Fog Function: Serverless Fog Computing for Data Intensive ...gsolmaz/publications/SCC19... · edge computing has great potential to reduce bandwidth consumption and end-to-end latency,

Thank you!

33