Upload
phamxuyen
View
223
Download
0
Embed Size (px)
Citation preview
OpenStack on ARMv8Date Huang, NCUGene Kuo, NCTU
About Us黃宇強 Date Huang
● NCU 轉職 NCTU 中
● 不務正業的資訊安全準研究生
● バカ baka
郭靖 Gene Kuo
● NCTU
● 不務正業的電子工程系學生
● OpenStack App Hackathon Mentor (X
Outline
Intro
ARMv8 Pros and Cons
Possible Use Case
OpenStack on ARM Issue
Future Plans
Intro
● Why DozenCloud
○ Native ARM VPS
○ Natvie ARMv8 vs QEMU Emulator
● Why ARMv8
○ Pros
○ Cons
Native vs Emulate
● Lightweight
● Massive Speed Improvement
○ Cache
○ Pipeline
○ Out-of-Order Execution
● QEMU has lots of bugs
○ JIT compiler has some problems
●潮到出水
x86 不支援哭哭喔x86 is not supported QQ
ARMv8
Pros
● Native ARM Development Environment
○ Compare with QEMU
● Better Concurrency Performance
○ 96 cores
● Lower Power Consumption
Cons
● Single Core Performance Worse than Other Architecure
● Software isn’t Ready
○ Compiling from source or patch it.
● Need More Optimization
○ KVM on ARM is worse than Xen on ARM
○ KVM on x86 is better than Xen on x86 (about 3x)
BKK16-504: Running Linux in EL2
BKK16-504: Running Linux in EL2
Possible Use Case
● ARM Virtual Private Server
○ OpenStack
● Native ARM CI server
○ Gitlab-CI
● Storage Server
○ Ceph
● CDN
● Android VM
Native CI
Issue
● Kernel Panic
○ Software Isn’t Ready
● OpenStack QEMU & Libvirt Driver
○ 32 on 64 KVM Problem
● Mitaka Experimental UEFI Support Bug
32 on 64 KVM
ARMv7 vs ARMv8
● ARMv7
○ 32 bits
○ ISA: ARM, Thumb
○ CPU Mode: SVC, USR, FIQ, ……
● ARMv8
○ 32 and 64 bits
○ ISA: AArch64, AArch32
■ Only ARMv8-A has AArch64 ISA support
○ CPU Mode: EL0-3
■ Diff with x86, larger number for more privileged
AArch32 vs AArch64
● AArch32
○ Partially compatible with ARMv7
○ Only Reserve co-processor CP10, CP10, CP11, CP14, and CP15 etc.
○ Including A32, T32, which correspond to ARM ISA and Thumb ISA respectively
● AArch64
○ No more co-processor
○ Remove conditional execution
● AArch64 is NOT compatible with AArch32
○ Need exception to switch between two ISA (diff with x86)
Non-UEFI
Non-UEFI VMs
Need to assign kernel image and initramfs
Kernel patches will be problematic
Security issue
UEFI
Patch
Future Plans
● Closed Beta at August
○ ARMv8 Development Course
○ Computer Security CTF Contest
● Open Beta
○ No idea
○ Financial Problem
● Native Android
特別感謝
技嘉科技
鈺登科技
國立中央大學資工系先進防禦實驗室
國立交通大學
國立交通大學資工系軟體品質實驗室
Demo
● GIGABYTE R150-T60 ARMv8 Server
○ Cavium ThunderX ARMv8 processors
○ DDR4 128GB RAM
● Ubuntu 16.04
● OpenStack Mitaka
Summary
ARMv8 software ecosystem isn’t compelete yet
Use with CAUTION!!!
OpenStack on ARMv8 is usable but not complete
VNC, UEFI issue, and etc…..
x86_64 still better for general purpose usage
Refhttp://wiki.csie.ncku.edu.tw/embedded/ARMv8
https://en.wikipedia.org/wiki/ARM_architecture
https://support.pokemongo.nianticlabs.com/hc/en-us/articles/221958248-Supported-devices
https://i.ytimg.com/vi/2sj2iQyBTQs/maxresdefault.jpg
https://review.openstack.org/#/c/335512/
http://www.slideshare.net/linaroorg/bkk16504-running-linux-in-el2-virtualization