Ampere Computing Logo
Contact Sales
Ampere Computing Logo
Workloads Ampere Altra

Canonical Anbox Cloud Workload Brief

Canonical Anbox Cloud lets you stream mobile apps securely, at any scale, to any device letting you focus on your apps

Ampere—Empowering What’s Next

The Ampere® Altra® and Ampere® Altra® Max processors are complete system-on-chip (SOC) solutions built for Arm native applications. Ampere Altra supports up to 80 AArch64 cores and Ampere Altra Max supports up to 128 cores. In addition to incorporating a large number of high-performance cores, the innovative architecture delivers predictable high performance, linear scaling, and high energy efficiency.

Anbox Cloud supports cloud phone and cloud gaming use cases and can be deployed as a service on public cloud or on bare-metal Ampere platforms. It is Linux container based and uses the popular Ubuntu Linux operating systems and Canonical services such as MAAS and Juju for deployment and orchestration. Anbox Cloud is a very scalable solution, providing deployment on a single node or in multi-node clusters.

In this solution brief, we focus on cloud gaming workload running 3D games on Canonical Anbox Cloud software stack on Ampere Altra platform – Gigabyte G242-P33 which is a 2U single socket Altra Q80-30 – populated with a single Nvidia A16 GPU. We will measure numbers of streaming instances, FPS and CPU utilization for this workload.

Canonical Anbox Cloud on Ampere Altra

Ampere Altra processors are designed to deliver exceptional performance for Arm native applications like Anbox Cloud. This is accomplished through an innovative architectural design, operating at consistent frequencies, and using single-threaded cores that make applications more resistant to noisy neighbor issues. This allows workloads to run in a predictable manner with minimal variance under increasing loads. The processors are also designed to deliver exceptional energy efficiency. This translates to industry leading performance/watt capabilities and a lower carbon footprint.

Anbox Cloud comes with additional components to build a control plane which simplifies and abstracts the use of the underlying container platform. The Anbox Management Service (AMS) provides an abstraction layer on top of LXD which adds resource management, container orchestration, application lifecycle management and various other things which are needed to run Android at scale and high density on a single machine. To facilitate Anbox Cloud handling scale out across multiple regions, the Anbox Stream Agent connects a single region powered by AMS and LXD via a NATS message queue to a centralized management service called Anbox Stream Gateway. The Anbox Stream Gateway allows the creation of user specific streaming sessions and routes users to the nearest region.

Benefits of Running Canonical Anbox Cloud on Ampere Altra
  • Cloud gaming: Designed from the ground up with high core density, provide high instance density for cloud gaming.

  • Runs existing native applications: Without the need for time-consuming recompilation or low performance emulators.

  • Consistency & predictability: Single-threaded cores running at fixed maximum frequencies ensure linear scaling.

  • Energy efficiency: With energy-efficient Arm cores, Ampere Altra can consume lower power while maintaining competitive levels of performance.

  • Data center class platform: Broad platform ecosystem with high GPU density.

  • Best performance per watt: Outstanding TCO (Total Cost of Ownership) – best performance per dollar for a solution of equivalent capacity.**

Ampere Altra
  • 80 64-bit CPU cores up to 3.30 GHz
  • 64 KB L1 I-cache, 64 KB L1 D-cache per core
  • 1 MB L2 cache per core
  • 32 MB System Level Cache (SLC)
  • 2x full-width (128b) SIMD
  • Coherent mesh-based interconnect

Memory

  • 8x 72-bit DDR4-3200 channels
  • ECC and DDR4 RAS
  • Up to 16 DIMMs and 4 TB addressable memory

Connectivity

  • 128 lanes of PCIe Gen4
  • Coherent multi-socket support
  • 4 x16 CCIX lanes

Technology & Functionality

  • Arm v8.2+, SBSA Level 4
  • Advanced Power Management

Performance

  • SPECrate®2017 Integer Estimated: 300
Anbox Cloud

Anbox Chart.jpg

Benchmarking Configuration

Anbox Cloud enables us to run automated tests for Android applications at scale. A benchmark for streaming requires more automation than just starting containers. Therefore, Anbox Cloud provides a dedicated benchmark tool for this purpose. The tool automates the following tasks:

  • Create a streaming session

  • Receive the video/audio stream

  • Collect various statistics

  • Optional: Dump the received stream to a local file


The benchmark tool is provided through the anbox-cloud-tests snap. Use the following command to install it:

snap install anbox-cloud-tests

To run the benchmark, we must provide an authentication token for the Anbox Stream Gateway. The results are printed out as text. Alternatively, we can change the output format to JSON with --format=json and save the results to a file with the --report-path=/path/to/report.json option.


The following command runs the benchmark against an existing Anbox Cloud deployment:

anbox-cloud-tests.benchmark \ --screen-width=1280 \ --screen-height=720 \ --screen-fps=30 \ --stream-dump-path=/path/to/stream/dump/output \ --application=my-application \ --url=<https:// URL of the Anbox Stream Gateway> \ --auth-token=<valid auth token for the Anbox Stream Gateway> \
Streaming Containers for Various Resolutions and FPS
CPU and GPU Usages with 30 FPS
CPU and GPU Usages with 60 FPS
Benchmarking Results and Conclusions

Results in Figure 1 from Altra Max 1P server with 4x Nvidia A16 GPU running Canonical Anbox Cloud. Instances of 3D Android games are rendered and encoded at 720p and 1080p at 30fps and 60fps. We can achieve high instance density of 128 instances and consistent 30fps and 60fps as shown in figure 1, with roughly 45-79 percent of the Altra Max CPU usages as shown in figure 2 and figure 3.

Footnotes

All data and information contained herein is for informational purposes only and Ampere reserves the right to change it without notice. This document may contain technical inaccuracies, omissions and typographical errors, and Ampere is under no obligation to update or correct this information. Ampere makes no representations or warranties of any kind, including but not limited to express or implied guarantees of noninfringement, merchantability, or fitness for a particular purpose, and assumes no liability of any kind. All information is provided “AS IS.” This document is not an offer or a binding commitment by Ampere. Use of the products contemplated herein requires the subsequent negotiation and execution of a definitive agreement or is subject to Ampere’s Terms and Conditions for the Sale of Goods.

System configurations, components, software versions, and testing environments that differ from those used in Ampere’s tests may result in different measurements than those obtained by Ampere.

©2022 Ampere Computing. All Rights Reserved. Ampere, Ampere Computing, Altra and the ‘A’ logo are all registered trademarks or trademarks of Ampere Computing. Arm is a registered trademark of Arm Limited (or its subsidiaries). All other product names used in this publication are for identification purposes only and may be trademarks of their respective companies.

Ampere Computing® / 4655 Great America Parkway, Suite 601 / Santa Clara, CA 95054 / amperecomputing.com

Created At : May 24th 2022, 7:46:55 pm
Last Updated At : December 9th 2024, 6:42:39 pm
Ampere Logo

Ampere Computing LLC

4655 Great America Parkway Suite 601

Santa Clara, CA 95054

image
image
image
image
image
 |  |  | 
© 2024 Ampere Computing LLC. All rights reserved. Ampere, Altra and the A and Ampere logos are registered trademarks or trademarks of Ampere Computing.
This site runs on Ampere Processors.