Giter Site home page Giter Site logo

sebpop / aws-graviton-gettting-started Goto Github PK

View Code? Open in Web Editor NEW

This project forked from aws/aws-graviton-getting-started

0.0 1.0 1.0 1.42 MB

This document is meant to help new users start using the Arm-based AWS Graviton and Graviton2 processors which power the 6th generation of Amazon EC2 instances (e.g. C6g/M6g/R6g)

Home Page: https://aws.amazon.com/ec2/graviton/

License: Other

C 100.00%

aws-graviton-gettting-started's Introduction

Getting started with AWS Graviton

This repository is meant to help new users start using the Arm-based AWS Graviton and Graviton2 processors which power the latest generation of Amazon EC2 instances. While it calls out specific features of the Graviton processors themselves, this repository is also generically useful for anyone running code on Arm.

Contents

Building for Graviton and Graviton2

The Graviton CPU (powering A1 instances) supports Arm V8.0 and includes support for CRC and crypto extensions.

The Graviton2 CPU (powering M6g/M6gd, C6g/C6gd, and R6g/R6gd instances) uses the Neoverse-N1 core and supports Arm V8.2 plus several other architectural extensions. In particular, Graviton2 supports the Large System Extensions (LSE) which improve locking and synchronization performance across large systems. In addition, it has support for fp16 and 8-bit dot productions for machine learning, and relaxed consistency-processor consistent (RCpc) memory ordering.

Optimizing for Graviton

Please refer here for debugging and profiling information.

Recent software updates relevant to Graviton

There is a huge amount of activity in the Arm software ecosystem and improvements are being made on a daily basis. As a general rule later versions of compilers and language runtimes should be used whenever possible. The table below includes known recent changes to popular packages that improve performance (if you know of others please let us know).

Package Version Improvements
PHP 7.4+ PHP 7.4 includes a number of performance improvements that increase perf by up to 30%
PCRE2 10.34+ Added NEON vectorization to PCRE's JIT to match first and pairs of characters. This may improve performance of matching by up to 8x. This fixed version of the library now is shipping with Ubuntu 20.04 and PHP 8.
ffmpeg 4.3+ Improved performance of libswscale by 50% with better NEON vectorization which improves the performance and scalability of ffmpeg multi-thread encoders. The changes are available in FFMPEG version 4.3.

Containers on Graviton

Please refer here for information about running container-based workloads on Graviton.

Known issues and workarounds

As of July 7th 2020, Cassandra will fail to install via Debian package on Graviton instances running Ubuntu or other Debian-based distros. (Full details in the open JIRA ticket.) The workaround is to specify amd64 as the desired arch. Cassandra is not arch-specific, so the "amd64" package works normally:

deb [arch=amd64] https://downloads.apache.org/cassandra/debian 311x main

Note that Redhat variants like Amazon Linux 2 avoid this issue. In our out of box Cassandra performance testing (early July 2020), Amazon Linux 2 using the Corretto 8 JDK outperformed Ubuntu 20.04 by up to 23%.

Additional resources

Linaro and Arm maintain a tool (Sandpiper) to search for packages across multiple OSes and Docker official images. This can be useful to see which versions of a package exist in distributions -- especially when there is a performance improvement in a particular version.

Some specific resources:

Feedback? [email protected]

aws-graviton-gettting-started's People

Contributors

agsaidi avatar amazon-auto avatar awsjswinney avatar awsnb avatar geoffreyblake avatar jeffunderhill avatar mattsplats avatar prekageo avatar

Watchers

 avatar

Forkers

pavel-rossinsky

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.