arm datacenter ecosystem landscape

13
Arm Datacenter Ecosystem Landscape A Centralized Info Hub For All Arm Developers Zhenyu Zheng Huawei Technology

Upload: others

Post on 24-Feb-2022

3 views

Category:

Documents


0 download

TRANSCRIPT

Arm Datacenter Ecosystem LandscapeA Centralized Info Hub For All Arm Developers

Zhenyu Zheng Huawei Technology

Growing shipment for Arm Chips

2010 2012 2015 2020

6.1Billion

25Billion

Arm in Datacenters

AWS Gravtion2 Ampere Altra Huawei Kunpeng

Hardware

OS、Libraries

Cloud & Cloud Native

Database/Middleware

Applications

Software Stack

… …

Big Data Web AI

glibc Zstandard …

Arm in Datacenters

# on x86 - java 8Math.log(3): 1.0986122886681098StrictMath.log(3): 1.0986122886681096

# on aarch64 - java 8Math.log(3): 1.0986122886681096StrictMath.log(3): 1.0986122886681096

The problem: The Root Cause:

Suggestion:

- Use StrictMath instead of Math if you want to have mixed deployment, or if you want more precise calculation.

Math.log calls default implementation, it provided dynamic

replacement for implementation on different architecture:

- x86 has assembly implementation,the precision is not guaranteed

- Arm64 has precise mathematical calculation,in JDK8 it uses

common implementation,in JDK11 uses assembly with precision

guaranteed.

Not the same

Happens in Apache Hive, Spark, Flink

Hardware Accelerations – Newer version of JDK

Arm in Datacenters

OS

Hardware

Co

mp

iler &

T

oo

lchain

GCC, OpenJDK, CMake, Clang, GDB, Maven, Ant, Gradle, APR,

Scala, Python, Golang, Lua, Perl, R, Erlang, TypeScript, PHP,

React, Next.js, npm, JavaScript …

Lib

rarie

sGlibc, Hyperscan, AVXtoNeon, Gzip, ZSTD,

Snappy, KAE-Zip, KAE-openSSL, X265, DPDK, ISA-L,

Bcache, OpenBLAS, Lapack,

Scikit-Learn, libmpc, libxml2, Boost …

Mid

dle

ware

Netty, Protobuf, libevent, ACE, Junit, DNSmasq, DHCP, FastJSON, grpc-java, jemalloc, ActiveMQ, RabbitMQ, Ansible, Swagger,

Tornado, Vue, curl, Guacamole, log4cpp, Otter, PaceMaker, pigz, Quartz, Sphinx, Telegraf, ZeroMQ, ZFS, Shiny, Rsyslog, psutil, gi,

Gerrit …

Clo

ud

In

fra

KVM, Qemu, Libvirt, Docker, Kubernetes, OpenStack, Open vSwitch, Stratovirt,

Calio, Flannel, CoreDNS, Containerd, Prometheus, Istio, Envoy, Kata, Ovirt …

Sto

rag

e

Ceph, GlusterFS, Lustre, MinIO,

BeeGFS, MooseFS, LizardFS,

Sheepdog, DRBD …

DB MySQL, MariaDB, PostgreSQL, MongoDB, openGauss, Greenplum, RocksDB, InfluxDB, TiDB,ClickHouse, etcd, SQLite, LevelDB,

Redis …

Big

Data

Hadoop, Spark, Hive, Hbase, Flink, Tez,

ElasticSearch, openLooKeng, solr, Hue,

Kafka, Storm, Impala, Kudo, Zookeeper,

Ambari, Ranger, Parquet, LogStash …

AI

TensorFlow

PyTorch

MindSpore

Caffe …

Web

Apache, Tomcat, JBOSS,

HAProxy, Memcached,

Nginx, .NET, Jetty, LVS,

Spring, Django, uWSGI …

Coding &Local Tests Git

PushBuilding &Testing

Release

Dev workflow in Upstream

x86 x86 x86

x86

Arm

Building &Testing

Release

ArmArm

+ Add Arm to the workflow

Challenges for Arm Ecosystem - Users

Use

rs

Whether the software I’m interested supports Arm Arch?

Which version of this software supports Arm?

How does this software perform on Arm?

Are there any guides and/or best practice about using this software on Arm?

What is blocking the software running on Arm? Is there anyone working on solving them?

Challenges for Arm Ecosystem - Contributors

Co

ntrib

uto

rs

Are there any other contributors interested in making this software support Arm Arch?

Have the work of Arm support previously proposed to the upstream community?

If previously proposed, what is the attitude of the community?

Are there any current or previous work performed? Who is working on it?

Are there any known issues blocking the work?

What are the plan for potential partners in the future? Are there any chance to co-operate?

Challenges for Arm Ecosystem - Community

Op

en

So

urc

e

Co

mm

un

ities

What is the current status about using Arm ARCH in Datacenter?

How many software in this area already supports Arm ARCH?

How many users are behind this request? (Benefit vs. Cost)

How many works need to be done to support Arm? Who will work on them?

Who will continuously maintain the Arm branch of the software?

Where could the community get Arm resources for dev and CI ?

Challenges for Arm Ecosystem – Example

2020.01.06

Arm CIConnected

2020.07.14

First Arm Release

2019.06.11 Initial Discussion with Apache Hadoop Community about supporting Arm

2019.08.22 Detailed Discussion at Hadoop Community Meetup

2019.11.13 Discuss again at Hadoop Online Community Sync

2020.01.06 Hadoop Arm CI Deployed in Apache Hadoop Upstream

2020.07.14 Apache Hadoop released first version with Arm support – 3.3.0

Initial Proposal

2019.06.11 2019.11.13

CI implementationDiscussion

2019.08.22

Introduce ArmDatacenter Status

Landscape and Communication Hub

Open Source Projects

Users Contributors Upstream Maintainers

Landscape + Communication Hub

Thank youAccelerating deployment in the Arm Ecosystem