Edge computing overview

What is edge computing

Starting from cloud computing

Cloud computing unifies computing resources and data resources in a powerful place (cloud center), allowing ordinary users to become thin customers. In other words, after users store data in the cloud, their requirements for local storage and computing capabilities are reduced, saving the cost of upgrading equipment
Insert image description here
However, cloud computing also has problems, and communication has become a bottleneck, such as:

  1. Broadband is lower than demand: A Boeing 787 will generate 5G data every second, but the bandwidth (whether it is ground base stations or satellites) is far from keeping up with this requirement.
  2. Data communication requires time (real-time): For example, autonomous driving generates 1G data per second. If this 1G data is transmitted to the cloud to complete calculations, the communication time required is 800ms (10Gbps by 5G). If the vehicle speed is 60km/h, 800ms Already walked 13 meters
  3. High energy consumption: The energy consumption unit of ZigBee calculation is uW, while the energy consumption unit of data transmission is mW. Compared with the energy consumption of data calculation, the energy consumption of cloud transmission is too large.
  4. Security: Worry that photos will be leaked when placed in the cloud, privacy and confidentiality issues

Therefore, the concept of edge computing is proposed

Edge computing: Edge computing refers to using network edge nodes to process and analyze data. Among them, edge nodes refer to any node with computing resources and network resources between the data generation source and the cloud center. **To put it bluntly: it means placing calculations near the data source. **The gray wave part on the lower left in the figure below is the edge node used for computing. Compared with cloud computing, they are closer to the local area, and the transportation problem of cloud computing is partially solved.
Insert image description here

Problems to be solved by edge computing

  1. Addresses the need for highly reliable, low-latency computing capabilities, which is often required in industry
  2. Solve the problem of excessive energy consumption in data centers
  3. Solving the pressure of big data processing: The data generated by the Internet of Things will grow exponentially, and the network cannot transmit it and the data center cannot process it.
  4. Solve security issues: Private data is not uploaded to the data center, reducing security risks

The case for edge computing

  1. Shopping Cart
    Every operation is synchronized to the cloud (packet loss of operation data may occur, and local data and cloud data are no longer synchronized, causing confusion) or synchronization to the edge node, and after a period of time, the information of the edge node is synchronized to the cloud at once (the possibility of packet loss is greatly reduced, a bit similar to a database checkpoint)
    Insert image description here
  2. Traffic
    Internet cars require real-time performance. It is not feasible to transmit the data to the cloud and then calculate it, and then send the calculation results back to determine whether there is someone ahead who needs to turn. Data must be calculated locally to ensure real-time performance. At this time, a computing device in the car can be used as an edge node
  3. Medical
    On average, there are more than 20 Internet-connected devices in hospital beds, which will generate a large amount of data. Patient data (privacy) processing occurs closer to the edge rather than being sent to the cloud, eliminating the risk of inappropriate access to the data.

Edge computing related ideas

  1. Fog computing: proposed by Cisco in 2011.
    Insert image description here
    In fact, there is no essential difference between fog computing and edge computing. They both place calculations near the data source
  2. Mobile Edge Computing: The European Telecommunications Standards Institute proposed Mobile Edge Computing (MEC)
    The key concept is to sink some mobile services to improve their service distribution and transmission capabilities , further reducing latency and effectively suppressing congestion within the core network
    Insert image description here

Edge Computing Reference Framework

So far, there is no good framework for edge computing, the framework is for reference only
Insert image description here
Edge Computing Reference Framework – Manufacturing

Insert image description here

Edge computing core technology challenges

Programming

exe in Windows environment cannot run on Linux. Different operating systems have different operating environments. x86 and ARM have different CPU instruction sets. For edge computing, heterogeneity is very common, such as trees. Berry Pi is based on ARM CPU, NVIDIA Jetson Nano is based on GPU, iPhone is based on iOS, Huawei Mate 20 is based on Android, etc...
The same function has different requirements for running in different environments. Rewriting every heterogeneity is too expensive.
Core challenge: How to write an application that can be distributed and deployed in an edge computing framework

Naming

Naming, that is, locating resources. For example, the surveillance system needs to use a certain camera. If it is a stand-alone operation, the camera can be named according to the file path, for example, open(/dev/camera0). But the edge computing framework may use non-local cameras. How to deal with it? A simple idea is to find specific nodes by IP address. Is IPV4 enough? Does IPV6 have a specific and clear meaning? If there are many cameras in different locations, do we need to write down a bunch of IP addresses without any pattern?
Core challenge: How to name resources to make them suitable for large-scale dynamic heterogeneous environments?

isolation

Computing resource isolation: that is, applications cannot interfere with each other.
Isolation of data: that is, different applications should have different access rights.
Edge computing is more complex and prone to errors, but requires more reliability.
Docker: The commonly used Docker technology can achieve application isolation based on 0S-level virtualization Running in the environment
Docker introduction: https://www.cnblogs.com/idktp/articles/10538872.html

dynamic environment

Like the network, edge computing will also form a network, which is dynamic. New nodes may join and old nodes may exit at the next moment. There are three steps in a dynamic environment: service discovery, rapid configuration, and load balancing.
Service discovery: Computing how service requesters know surrounding services.
Quick configuration: Node movement and device switching will cause dynamic registration and revocation of services, and services usually need to be migrated accordingly...
Load balancing: data, demand , services, networks, computing, energy consumption and many other factors determine load balancing

edge operating system

  • Robot operating system (ROS) is a set of open source robot development and management tools that provides a series of tools such as hardware abstraction and drivers, message communication standards, and software package management. It is widely used in industrial robots, autonomous vehicles, etc. Edge computing scenarios such as drones.
  • EdgeOSH is an edge operating system designed for smart homes. It is deployed in the edge gateway of the home and connects upper-layer applications and lower-layer smart home hardware through three layers of functional abstraction.
  • EdgeOSv is an edge operating system for connected car scenarios

ROS may become a typical operating system for edge computing scenarios

Algorithm Execution Framework

  • Artificial intelligence computing requires an execution framework. In fact, any calculation has an execution framework, such as desktop computing.
  • TensorFlow on the data center: perform model training tasks, the input is a large-scale batch data set, pay attention to the iteration speed, convergence rate and scalability of the framework during training, etc.
  • TensorFlow on edge nodes: perform prediction tasks, input real-time small-scale data, focus on prediction speed, memory usage and energy efficiency

Typical framework of edge computing

OpenVDAP (2018, Wayne State University)
KubeEdge (Huawei)
Insert image description here

  • Edged: Manage containerized applications on Edge.
  • EdgeHub: Edge’s communication interface module.
  • CloudHub: Cloud communication interface module.
  • EventBus: Handles internal edge communications using MQTT.
  • DeviceTwin: It is a software image of the device that handles device metadata
  • MQTT: Message Queuing Telemetry Transport, is a subscription/publish-based IoT connection protocol

Azure IoT Edge (2017, 小软)
OpenEdge (2018.12, Baidu)

Notes from Harbin Institute of Technology's "Edge Computing and Embedded Intelligence"

Guess you like

Origin blog.csdn.net/weixin_45937957/article/details/125501058