Akraino Edge Stack Use Cases: Tencent’s End User Story
Akraino, a project creating an open source software stack that supports high-availability cloud services optimized for edge computing systems and applications, has created blueprints to support a variety of edge use cases. The Akraino community tests and validates the blueprints on real hardware labs supported by users and community members. Below is a description of several validated blueprints by LF Edge member Tencent.
Tars Microservice Framework
Tars is a key component for Connected Vehicle Blueprint and IEC Type 4 AR/VR Blueprint. So we introduce Tars Framework first prior to diving into the Akraino Blueprint. Tars is a high-performance microservice framework, which supports C++, Java, Nodejs as well as PHP for now. Tars framework offers a set of efficient solutions for development, test, and maintenance. Tars framework integrates extensible components for encoding/decoding, high-performance RPC protocol, name service, monitor, statistics and configuration. Tars framework will be a great help for reliable distributed application development.
Tars framework has been used in Tencent since 2008. Nowadays it has already been used by hundreds of applications in Tencent, services developed on the Tars Framework run on 16 000 machines. The applications include but not limited to social networks, gaming, video, financial, telecom, education.
The following picture depicts Tars’ architecture. Tars can be deployed in multiple environments, including bare metal, virtual machines as well as the container.
In terms of RPC， Tars supports Tars, Protocol Buffer, TUP, SSL, HTTP1/2. The customers can select any RPC protocol based on the application’s requirement.
Beyond RPC call, Tars supports multiple languages and microservice governance functions, including Service Register/Discovery, Load Balance, Area Perception, Flow Control, Set Mode, Tracing and so on.
Tars Optimization for edge
To address the requirements of time-critical Application on the edge, some optimizations are itemized below:
- High-Performance RPC: Tars Framework supports a high-performance RPC Protocol, called Tars Protocol. To improve the performance, the Tars protocol re-design a brand new RPC protocol and make the transfer between “request” and “Binary stream” more efficiently. In terms of the detail of Tars protocol, refer to the Tars.h file in the https://github.com/TarsCloud/Tars.
- Lightweight framework
- To make Tars can be well deployed on the edge computing platform, we make the framework pluggable. The customer plugin the pluggable components when we really need it. Unnecessary components can be avoided.
- Rewrite some functions(like scale-out, monitor and so on) to reduce CPU consumption.
- Orchestrate no-urgent functions(like monitor data calculation and so on) from edge to DC(or higher level edge). Reduce resource consumption.
For more detail information for Tars, refer to https://github.com/TarsCloud/Tars/blob/master/Introduction.md.
Connect Vehicle Blueprint
Tencent, Arm, Intel, Nokia
- Establish an open-source edge MEC platform on which each member company can develop its own v2x application.
- Contribute some use cases which help customers adopt V2X applications.
- Find some members who can work together to figure out something big for the industry.
From the use case perspective, the following are the potential use cases. More is possible in the future.
- Accurate Location: Accuracy of location improved by over 10 times than today’s GPS system. Today’s GPS system is around 5-10 meters away from your reallocation, <1 meter is possible with the help of Connected Vehicle Blueprint.
- Smarter Navigation: Real-time traffic information update, reduce the latency from minutes to seconds, figure out the most efficient way for drivers.
- Safe Drive Improvement: Figure out the potential risks which can NOT be seen by the driver.
- Reduce traffic violation: Let the driver understand the traffic rules in some specific area. For instance, change the line prior to a narrow street, avoiding the opposite way drive in the one-way road, avoiding carpool lane when a single driver and so on.
From the network architecture perspective, the blueprint can be deployed in both 4G and 5G networks. Two key points should be paid special attention to.
- One is offloading data to edge MEC platform. The policy of data offload is configurable based on different applications.
- The other is the ability that letting the edge talks to the other edges as well as the remote data center. In some use cases, the data in one edge can NOT address the application’s requirements, we need to collect the data from different edges or send the data to the remote data center.
The general data flows are itemized below:
- Grab the traffic/vehicle information and circulate the information to the edge;
- Different types of information are distributed to the corresponding application based on the configurable policy;
- The corresponding edge applications process the information in a very fast speed and figure out the suggested action items for drivers;
- The suggested action items are sent back to the driver via the network.
MEC Development Architecture
From the MEC deployment perspective, the blueprint consists of three layers.
- IaaS Layer Connected Vehicle Blueprint can be deployed on community hardware, virtual machine as well as the container. Both the Arm and x86 platforms are BOTH well supported.
- PaaS Layer Tars is the microservice framework of Connected Vehicle Blueprint. Tars can provide high-performance RPC calls, deploy microservice in larger scale-out scenarios efficiently, provide easy-to-use service management features.
- SaaS Layer The latest v2x application depicted in the foregoing use case perspective.
For more information about Connected Vehicle Blueprint, please refer to:
IEC Type 4: AR/VR oriented Edge Stack for Integrated Edge Cloud(IEC) Blueprint Family
IEC Type 4 is focused on AR VR applications on the edge. In general, the architecture consists of three layers: Iaas(IEC Type2), PaaS(Tars), SaaS(AR/VR Application).
Tencent, Arm, HTC, IBM, MobiledgeX, Visby, UC Irvine, Juniper, PSU, Orange
- Establish an open-source edge infrastructure on which each member company can develop its own AR/VR application.
- Contribute some use cases which help customers adopt ARVR applications.
- Find some members who can work together to figure out something big for the industry.
The combination of IEC Type2 and Tars provides high performance and high availability infrastructure for AR/VR applications. The AR/VR application includes but not limited to operation guidance, virtual classroom, sports live, gaming as so on.
For Release 2, we focus on building the infrastructure and virtual classroom application (Highlighted in dark purple color). Virtual Classroom is a basic app that allows you to live a virtual reality experience simulating a classroom with teachers and students.
|Predict the next step for the operations(like assembling Lego blocks, cooking sandwiches, etc) and help people to achieve a goal.
|Simulating a virtual classroom, which improves online education experiences for the teachers and students.
|Augment and simulate the sports live, which gives the audiences an amazing immersive watching experience.
|Augment and simulate the game scenario, let players enjoy an immersive game world.
The whole architecture, shown below, consists of two parts: the front end and the backend.
- For the front end, the minimal requirements are two clients, one for the teacher and the other one for the student. The client device could be a cellphone, tablets, wearable devices，personal computers, etc. The client collects information from the real world and transfers the data to the backend for calculation. Beyond data transfer and calculation, render is another function running on the front end client-side.
- For the backend, we deploy the backend in two virtual machines in the Cloud.
- To make the VR backend work well, we deploy IEC in the IaaS Layer, Tars framework in PaaS Layer, Virtual Classroom Backend in SaaS Layer.
- To make CI/CD available, we deploy Jenkins Master in one Virtual Machine. The Jenkins master issues command to triger the script run on the dedicated VM.
For more information about IEC Type 4, please refer to:
” Open Source is Tencent’s core strategy. Tencent, as a platinum member and board of Linux Foundation, continuously promotes network innovation from application perspectives. We believe that application-drive-network will bring tremendous benefits to our customers and stakeholders. After the Tars project in 2018 and recent Akraino blueprints, Tencent will contribute new open-source Foundation and projects in the future. Welcome more Linux member companies get involved!”
Xin Liu, General Manager of Future Network Lab, Tencent
Mark Shan, Project consultant of Tencent Technical Committee, Akraino TSC member
For more information about the Akraino blueprints or end user case stories, please visit the wiki: https://wiki.akraino.org. Additionally, if you have questions or comments, visit the LF Edge Slack Channel and share your thoughts in the #community or #akraino channels.