SLIDE 1 Big Data and Internet Thinking
Chentao Wu Associate Professor
- Dept. of Computer Science and Engineering
wuct@cs.sjtu.edu.cn
SLIDE 2 Download lectures
- ftp://public.sjtu.edu.cn
- User: wuct
- Password: wuct123456
- http://www.cs.sjtu.edu.cn/~wuct/bdit/
SLIDE 3 Schedule
- lec1: Introduction on big data, cloud computing & IoT
- Iec2: Parallel processing framework (e.g., MapReduce)
- lec3: Advanced parallel processing techniques (e.g.,
YARN, Spark)
- lec4: Cloud & Fog/Edge Computing
- lec5: Data reliability & data consistency
- lec6: Distributed file system & objected-based storage
- lec7: Metadata management & NoSQL Database
- lec8: Big Data Analytics
SLIDE 4
Collaborators
SLIDE 5 Contents
- Intro. to Cloud/Fog Computing
1
SLIDE 6
Fog Computing
SLIDE 7
Challenges
SLIDE 8
Cloud-Fog-Edge
SLIDE 9
Cloud-Fog-Edge Devices
SLIDE 10
Cloud-Fog-Edge Architecture (1)
SLIDE 11
Cloud-Fog-Edge Architecture (2)
SLIDE 12
Functions of Cloud-Fog-Edge
SLIDE 13
Fog/Edge Computing is the Primary Choice to Handle Real Time Data
SLIDE 14
IoT End-to-End Value Chain
SLIDE 15 IoT in the cloud and on the edge
IoT in the Cloud
▪ Remote monitoring and control ▪ Merging remote data from across multiple IoT devices ▪ Near infinite compute and storage to train machine learning and other advanced AI tools
IoT on the Edge
➔
Low latency tight control loops require near real-time response
➔
Public internet inherently unpredictable
➔
Privacy of data and protection
SLIDE 16
Data Processing in Cloud-Fog-Edge
SLIDE 17
Heterogeneous/Homogeneous Cloud/Fog computing
SLIDE 18 Heterogeneous/Homogeneous Computing Framework
- Cloud: Parallel and Distributed Computing
Map-Reduce, Graph Computing, Stream Computing
- Edge/Fog: Approximate Computing
SLIDE 19 Why Approximate Computing?
▪ Inexact/imprecise input data ▪ Approximate/iterative algorithms ▪ Loose constraints on output
image, sound and video processing image rendering sensor data analysis, computer vision
✓ ✓
simulations, games, search, machine learning
✓ ✓
Where a lot of (most?) resources go!
SLIDE 20 Point of View on Approximate Computing
Performance Resource usage (e.g., energy) 2
SLIDE 21
Approximate Computing Example - Images(1)
SLIDE 22
Approximate Computing Example - Images(2)
Energy Errors Energy Errors Energy Errors Energy Errors
SLIDE 23 Approximate Computing in Different Areas
Architecture OS/DB Runtime Compiler PL Hardware EnerJ (UW), Passert (MSR/UW), Rely (MIT), Relax (Wisconsin) Uncertain<T> (MSR), Eon (UMass) Probabilistic CMOS (Rice), approximate components (Purdue) ANNs (UW, MSR, INRIA, Wisconsin, Qualcomm) Stochastic Processors (UIUC), ERSA (Stanford), Flikker (MSR), QUORA (Purdue), Approximate Storage (MSR, UW) Using Neural Nets for code approximation (GAtech/UW/MSR) Stream Processing (Princeton) Green (MSR), PowerDial (MIT), soft error control (UCLA), SAGE & Paraprox (Michigan), Swat (UIUC) BlinkDB (Berkeley/MIT) Probabilistic transformations (MIT)
SLIDE 24 Approximate Computing Using Neutral Networks
Neural Representation Code1 Code2 Code3 Code4 Code5 Code6
…
CPU NPU
Source Code Common Intermediate Representation Acceleration
+ ×
SLIDE 25
Approximate Computing – Program (1)
Program
SLIDE 26
Approximate Computing – Program (2)
Program
Fin ind an approximate program component
SLIDE 27
Approximate Computing – Program (3)
Program
Compil ile the program and train a neural network Fin ind an approximate program component
SLIDE 28
Approximate Computing – Program (4)
Program
Compil ile the program and train a neural network Execut ute on a fast Neural Processing Unit (NPU) Fin ind an approximate program component
SLIDE 29 Approximate Computing – Neutral Network Acceleration
CPU NPU
CPU GPU FPGA Digital ASIC FPAA Analog ASIC
(Speed: ~4×↑, Energy: ~10×↓, Quality: 5%↓)
SLIDE 30 Approximate Codes
Disciplined Approximate Programming (EnerJ, EnerC,...)
int p = 5; @Approx int a = 7; for (int x = 0..) { a += func(2); @Approx int z; z = p * 2; p += 4; } a /= 9; p += 10; socket.send(z); write(file, z);
Relaxed Algorithms
λ
Aggressive Compilation
ɸ
Approximate Data Storage Variable-Accuracy ISA
ALU
Approximate Logic/Circuits
Variable-quality wireless communication
SLIDE 31 Contents
- Intro. to Fog/Edge Networking
2
SLIDE 32
Edge Architecture
SLIDE 33
Edge-Fog-Cloud Network
SLIDE 34
Layered Network (1)
SLIDE 35
Layered Network (2)
SLIDE 36
Different Requirements on Latency
SLIDE 37
Different Network Topology
SLIDE 38
Different Network Protocols
SLIDE 39 Different Network Accesses
ea Netw twork for LTE/5G
io Netw twork Con Controll ller for
iFi
Cable le Mod
Ter ermination System
- PON OLT for fiber
- EPC – evol
- lved
ed Pack cketCore
SLIDE 40
Different Network Connections
SLIDE 41
Applications – Device Location
SLIDE 42
Applications – Video Analytics
SLIDE 43
Applications – Content Optimization
SLIDE 44
Applications – DNS Caching
SLIDE 45
Applications – Application Optimization
SLIDE 46
Edge-Fog-Cloud Network Example: TelcoFog (1)
SLIDE 47
Edge-Fog-Cloud Network Example: TelcoFog (2)
SLIDE 48
Edge-Fog-Cloud Network Example: TelcoFog (3)
SLIDE 49
Edge-Fog-Cloud Network Example: TelcoFog (4)
SLIDE 50 Contents
Industrial Solutions
3
SLIDE 51
Google IoT Solution
SLIDE 52
Google Edge Computing (1)
SLIDE 53
Google Edge Computing (2)
SLIDE 54
Cloud & Edge Fusion – System Architecture
SLIDE 55
Cloud & Edge Fusion – Model Training
▪ Fog: Collecting Data ▪ Cloud: Rendering & Training Data
SLIDE 56
Cloud & Edge Fusion – Virtualization (1)
SLIDE 57
Cloud & Edge Fusion – Virtualization (2)
SLIDE 58
Cloud & Edge Fusion – Virtualization (3)
SLIDE 59
Cloud & Edge Fusion – Virtualization (4)
SLIDE 60
Amazon AWS IoT Solution
▪ FreeRTOS: IoT operating system ▪ Greengrass: Seamless expansion to edge devices
SLIDE 61 Amazon AWS IoT Architecture
AWS IoT Architecture
Endpoints
Fleet onboarding, management and SW updates Fleet audit and protection IoT data analytics and intelligence
Gateway
Things Sense & Act Cloud Storage & Compute
Secure local triggers, actions, and data sync
Intelligence Insights & Logic → Action
Secure device connectivity and messaging
SLIDE 62
Free RTOS - an open source IoT OS
▪ FreeRTOS: https://www.freertos.org/
SLIDE 63
Greengrass – AWS Edge Computing Platform (1)
▪ Greengrass is an edge/ fog node with certain computing and processing capability in AWS
SLIDE 64
Greengrass – AWS Edge Computing Platform (2)
▪ Greengrass provides connector, connecting edge-fog- cloud nodes, and realizing adaptive configuration
SLIDE 65
Greengrass – AWS Edge Computing Platform (3)
▪ Greengrass provides good authorization and privacy protection mechanisms
SLIDE 66
Greengrass – AWS Edge Computing Platform (4)
SLIDE 67
AWS IoT Core – Edge node (1)
SLIDE 68
AWS IoT Core – Edge node (2)
SLIDE 69
Greengrass → IoT Analytics
SLIDE 70
AWS IoT Analytics (1)
SLIDE 71
AWS IoT Analytics (2)
SLIDE 72
AWS Lambda (1)
▪ AWS lambda is a fine-grained method for deploying code, managing services, and monitoring the health of lightweight services. similar to Alibaba microservice.
SLIDE 73
AWS Lambda (2)
▪ AWS lambda is a new pricing and service model
SLIDE 74
AWS Lambda (3)
SLIDE 75 Microsoft IoT Solution
Simple processing
filtering, batching, compression
Complex processing
Azure Stream Analytics, Cognitive Services
SLIDE 76
Microsoft IoT Core Innovations (1)
SLIDE 77
Microsoft IoT Core Innovations (2)
SLIDE 78
Microsoft IoT Processing Procedure
SLIDE 79
Microsoft IoT Intelligent Processing Lambda Architecture
SLIDE 80
Microsoft IoT Connection Procedure
SLIDE 81
Microsoft IoT Edge-Fog-Cloud Fusion (1)
SLIDE 82
Microsoft IoT Edge-Fog-Cloud Fusion (2)
SLIDE 83
Thank you!