1. How To Train Your ARM(SBC)
6th May, 2020 SAKURA Internet, Inc. Research Center SR / Naoto MATSUMOTO
(C) Copyright 1996-2020 SAKURA Internet Inc
2. ARM SBC(Single Board Computer): CPU Architectures
2
Nano Pi NEO
(DDR3 512MB)
(4 Core CPU)
# lscpu
Architecture: armv7l
Model name: Cortex-A7
# uname -sr ; tail -1 /etc/lsb-release
Linux 5.4.35-sunxi
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
Rock Pi S
(DDR3 512MB)
(4 Core CPU)
# lscpu
Architecture: aarch64
Model name: Cortex-A35
# uname -sr ; tail -1 /etc/lsb-release
Linux 4.4.217-rockpis
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
Rock64
(DDR3 1-4GB)
(4 Core CPU)
# lscpu
Architecture: aarch64
Model name: Cortex-A53
# uname -sr ; tail -1 /etc/lsb-release
Linux 4.4.213-rockchip64
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
Rock Pi 4A
(DDR4 1-4GB)
(2 Core CPU)
# lscpu
Architecture: aarch64
Model name: Cortex-A53
# uname -sr ; tail -1 /etc/lsb-release
Linux 4.4.213-rockchip64
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
SOURCE: SAKURA Internet Research Center (2020/05)
# lcspu
Architecture: x86_64
Model name: Celeron(R) N3350
# uname -sr ; tail -1 /etc/lsb-release
Linux 4.15.0-96-generic
DISTRIB_DESCRIPTION="Ubuntu 18.04.4 LTS"
PICO-APL4
(DDR3 1-2GB)
(2 Core CPU)
3. ARM SBC vs x86_64: CPU Performance/Cost Matrix
3
SOURCE: SAKURA Internet Research Center (2020/05)
(Cost)
High
Low
(CPU Performance) FastSlow
x86_64 or ARM
General Purpose
(Cloud/Data Center)
ARM SBC
Single Board Computers
(HOME, SHOP, HOBBY..etc)
x86_64 or ARM
Embedded System
(Industroy ...etc)
Computer Vision,
Automatic Speech Recognition...etc
4. ARM with k3s for container Orchestration
4
Nano Pi NEO
(DDR3 512MB)
(4 Core CPU)
Rock Pi S
(DDR3 512MB)
(4 Core CPU)
SOURCE: SAKURA Internet Research Center (2020/05)
# apt install -y curl
# curl -sfL https://get.k3s.io | sh -
# kubectl get node (OK)
:
# kubectl get node
(It doesn't seem to work.) (X)
Rock64
(DDR3 1-4GB)
(4 Core CPU)
Rock Pi 4A
(DDR4 1-4GB)
(2 Core CPU)
PICO-APL4
(DDR3 1-2GB)
(2 Core CPU)
# apt install -y curl
# curl -sfL https://get.k3s.io | sh -
[ERROR] Download sha256 does not match (X)
# apt install -y curl
# curl -sfL https://get.k3s.io | sh -
# kubectl get node (OK)
# apt install -y curl
# curl -sfL https://get.k3s.io | sh -
# kubectl get node (OK)
6. ARM with Wasmer for portable binary-codes
6
Nano Pi NEO
(DDR3 512MB)
(4 Core CPU)
Rock Pi S
(DDR3 512MB)
(4 Core CPU)
SOURCE: SAKURA Internet Research Center (2020/05)
# apt install -y curl
# curl https://get.wasmer.io -sSfL | sh
(armv7l) is not supported by this installation script. (X)
:
# source /root/.wasmer/wasmer.sh
# wapm install rustpython
# wapm run rustpython
memory allocation of 71303176 bytes failed (X)
Rock64
(DDR3 1-4GB)
(4 Core CPU)
Rock Pi 4A
(DDR4 1-4GB)
(2 Core CPU)
PICO-APL4
(DDR3 1-2GB)
(2 Core CPU)
:
# wapm run rustpython
Segmentation fault. (X)
:
# wapm run rustpython
Error: error: Caught exception of type "MemoryOutOfBounds". (X)
# apt install -y curl
# curl https://get.wasmer.io -sSfL | sh
# source /root/.wasmer/wasmer.sh
# wapm install rustpython
# wapm run rustpython
Welcome to the magnificent Rust Python 0.1.1 interpreter ? ?
>>>>> 2+2
Error: error: unknown error (X)
7. ARM with Jupyter Notebook for Small Lab
7
Nano Pi NEO
(DDR3 512MB)
(4 Core CPU)
Rock Pi S
(DDR3 512MB)
(4 Core CPU)
SOURCE: SAKURA Internet Research Center (2020/05)
# apt install -y python2.7 python-pip python-dev ipython
# pip install --upgrade pip
# pip install jupyter
# jupyter notebook ... (OK)
:
# same as above
:
Rock64
(DDR3 1-4GB)
(4 Core CPU)
Rock Pi 4A
(DDR4 1-4GB)
(2 Core CPU)
PICO-APL4
(DDR3 1-2GB)
(2 Core CPU)
:
# same as above
:
:
# same as above
:
:
# same as above
:
8. Conclusion
8
Nano Pi NEO
(DDR3 512MB)
(4 Core CPU)
Rock Pi S
(DDR3 512MB)
(4 Core CPU)
SOURCE: SAKURA Internet Research Center (2020/05)
k3s Wireguard WASM Jupyter Notebook Linux Kernel
OK AUTOMATIC NG OK Linux 5.4.35-sunxi
INSTALL
NG MANUAL NG OK Linux 4.4.217-rockpis
INSTALL
Rock64
(DDR3 1-4GB)
(4 Core CPU)
Rock Pi 4A
(DDR4 1-4GB)
(2 Core CPU)
PICO-APL4
(DDR3 1-2GB)
(2 Core CPU)
NG MANUAL NG OK Linux 4.4.213-rockchip64
INSTALL
OK MANUAL NG OK Linux 4.4.213-rockchip64
INSTALL
OK AUTOMATIC NG OK Linux 4.15.0-96-generic
INSTALL