Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Blueprint overview/Introduction

The AI Edge is an Akraino approved blueprint family and part of Akraino Edge Stack, which intends to provide an open source MEC platform combined with AI capacities at the Edge, and could be used for safety, security, and surveillance. The MEC platform, which named ote-stack, targets on shielding the heterogeneous characteristics through underlying hardware virtualization and providing an unified access for cloud edge, mobile edge and private edge. In addition, the AI Edge utilizes the cluster management and intelligent scheduling of multi-tier clusters to enable low-latency, high-reliability and cost-optimal computing support for running AI applications at the edge. At the same time, it makes device-edge-cloud collaborative computing possible.

This blueprint mainly focus on building an edge manage platform with Integrated Edge Cloud(IEC) as infrastructure platform to implement the video security monitoring for School/Education on Arm servers in edge.

Use Case

Real time AI applications, which should be processed locally and securely, can be managed in AI Edge, not limited to below:

...

Conduct a full evaluation of the overall class and the concentration of individual students, help teachers and school authorities to fully understand the teaching situation, according to the concentration data of each course, conduct targeted class knowledge test and strengthen.

Where on the Edge

Business Drivers

The AI Edge will provide a cluster management for different logical MEC edge clusters. Through the standard api interface, the third clusters can join the management of AI Edge easily,  so as to schedule deployment of an AI application to a specific edge node with the unified access. The benefits are:  Lower cost on manage multiple edge clusters and more computing power of edge devices can be utilized ;  Less load and latencies on network and more safely since the application is running locally; Edge cluster autonomy.

Overall Architecture

The AI Edge blueprint architecture consists of a cluster control manager with web platform at the cloud and multiple edge clusters. The number of clusters can be theoretically unlimited which can effectively solve the management and scheduling problems of large-scale mobile edge clusters in 5G era. For development environment we have tested with one IEC clusters with 3 nodes.

...

Many cloud native monitoring applications are used to collect container/node resource usage and running log, like prometheus, elasticsearch.

The below image shows the overall architecture for using ICD as edge infrastructure in AI Edge.

Platform Architecture

The detailed platform architecture of AI Edge blueprint is shown in the below diagram.

...

Other components, such as openapi, ote-web, are currently released as docker images and will be open source in the future.

Software Platform Architecture

The below image shows the software architecture for this release.

...

  • The global scheduler is fully compatible with kubernetes. Users can operate directly using kubectl;
  • Using websocket for the edge-cloud communication;
  • In addition to the cluster name, the cluster tag can be added customically. Cluster tag matching through intelligent cluster-selecter to achieve accurate routing of messages;
  • Through k8s-cluster-shim to achieve the management of kubernetes cluster, shielding the native implementation within the kubernetes cluster;
  • According to the interface of OTE-Stack, the cluster shim of the third party cluster can be realized to access and schedule the third party cluster. The internal implementation of the third party cluster is shielded;
  • Each layer can be used as a control entry to control all sub-clusters below this layer. Users can also use kubectl or API to implement custom cluster management and scheduling.

OTE Components 

WebFrontend

WebFronted is a web portal which provides a graphical user interface to help users manage deployment in multiple clusters.

OpenAPI

OpenAPI is a HTTP server that accepts REST-like API requests and preprocess these requests in advance to determine whether they match the required criteria, then pass these request to the backend components for further processing.

Scheduler

Scheduler aims to schedule pod and resource across different clusters that belongs to user. This function will be available in the future and is not supported right now.

cluster-controller

ClusterController is a message connector which joins the multiple clusters. It consists of the following components:

  • EdgeTunnel
    Northbound interface of Controller. By establishing websocket connection with CloudTunnel of upper cluster, messages between clusters can be transmitted smoothly.

...

    • Store the names and labels of all subclusters.
    • Establish routing rules that store the next hop cluster name to any sub-cluster to support accurate delivery of messages.
    • Notify the upper cluster in time when the sub-cluster changes (such as disconnection, status updates, etc.)
  • CloudTunnel
    Southbound interface of Controller. By establishing websocket connection with EdgeTunnel of sub-cluster, messages between clusters can be transmitted smoothly.

k8s-cluster-shim

It is an adapter of kubernetes cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to kubernetes cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.

k3s-cluster-shim

It is an adapter of k3s cluster, which receives and parses cluster messages forwarded by OTE Cluster Controller, sends them to k3s cluster for corresponding processing, and returns the results and status to OTE Cluster Controller in time.

NodeAgent

It is deployed on edge nodes to retrieve data from cAdvisor and Node-Exporter which will be uploaded to NodesServer in edge clusters.

NodesServer

In the edge cluster, it is used to aggregate data of each node and provide it to Prometheus (Prometheus can also directly collect data of the node, but requires the node to open the corresponding ports)

DataQueryServer

Exposing Prometheus data as APIs to OpenAPI and Scheduler

VMController

Operations for a single VM, such as start, stop, etc.

Software components

S.No.ComponentCategoryVersionLicense
1IEC Edge InfrastructureIntegrated Edge Cloud (IEC) Blueprint Family -R2Apache 2.0
2EtcdDatabasev3.3.18Apache 2.0
3HelmApplication Package Managerv2.13.1Apache 2.0
4MysqlDatabase>5.5GNU General Public License Version 2
5Node-exporterNode Metricsv0.18.1Apache 2.0
6PrometheusMonitoringv2.15.0Apache 2.0
7Fluent-bit Log Processor and Forwarder1.3Apache 2.0
8ElasticsearchLog Search Engine6.5.0Apache 2.0
9AlertmanagerMonitoringv0.20.0Apache 2.0
10

OTE WebFrontend

Web Platform0.1.14Apache 2.0
11OTE OpenAPIAPI Gateway0.1.5.8Apache 2.0
12OTE Cluster ControllerFramework2.0Apache 2.0
13K8s-cluster-shimPerformer of Edge Cluster2.0Apache 2.0
14NodeAgentMetrics Collector Agent2.0Apache 2.0
15NodeServerMetrics Aggregation Service2.0Apache 2.0
16

DataQueryServer

Metrics Search Service2.0Apache 2.0

APIs

Video Security Monitoring R3 API Document

Hardware and Software Management

Software Management: Gerrit Repo

Licensing

  • Apache 2.0 license