OCI(Oracle Cloud Infrastructure)에서 Arm 인스턴스 시도

개시하다


한두 해 AWS가 삼가 만든 Arm CPU Graviation 2의 약진이 대단하네요.서버 부문에서 주목받은 Arm은 마침내 Amazon 이외에도 사용할 수 있게 되었다.Azure와 GCP가 아닌 Oracle입니다...작년 9월에 발표했지만 며칠 전에 드디어 사용할 수 있게 되었다.
https://blogs.oracle.com/cloud-infrastructure/arm-based-cloud-computing-is-the-next-big-thing-introducing-arm-on-oci
Alwasy Free 대상인 것 같은데 4핵까지 무료니까 일단 이동해 볼게요.그나저나 무료 테두리를 넘으면 1 core/1cent/hour이기 때문에 80개의 철심을 사용해도 시간당 100엔이 되지 않는다.

OCI에서 Arm 인스턴스 만들기


어쨌든 다음부터 로그인해.Oracle Accent가 없는 사람은 Sign Up for Free Cloud Tier에 계정을 만들 수 있습니다.Oracle Accent를 보유한 사람은 Sign Up for Free Cloud Tier를 선택할 수 없지만 적용되므로 제작 계정에 일반 로그인하십시오.나는 이 UI가 이해하기 어렵다고 생각한다...
https://www.oracle.com/cloud/

Create ComputeInstance에서 인스턴스 작성을 선택하면 다음과 같이 표시됩니다.

여기서 AD2를 주의사항으로 선택하십시오.이것은 이른바 Availability Zone과 같은 물건이지만AD2를 선택하지 않으면 왜 Arm 실례를 만들 수 없는지 모르겠다.지금은 특정 구역에서만 실험을 하고 있을 수도 있다.
또한 OS는 Oracle Linux8을 권장합니다.유감스럽게도 Oracle Autonomous Linux는 아직 대응하지 않았습니다. Oracle Linux7.9의 경우 rpm 창고의 Arm 대응이 부족하기 때문에 8은 나무랄 데가 없습니다.Debina/Ubuntu 계열은 안 해봐서 몰라요.
그런 다음 인스턴스의 Shape을 선택합니다.Arm Chip의 Ampere Altra를 선택할 수 있습니다.최대 80Cores/512GB를 선택할 수 있습니다.금속을 적재하는 것을 선택하면 최대 160cores에 이를 수 있다.아무튼 먼저 무료 4Cores/24GB를 선택하세요.

단순한 액션 테스트이기 때문에 그 외에 묵인도 OK.완료되면 등록된 공개 키로 SSH에 로그인합니다.
Azure도 마찬가지지만 GCP가 보고 싶은 시동 시간에 IAM과 연합하여 SSH 주변을 숨기기를 간절히 바란다...귀찮다
ssh [email protected] -i ~/.ssh/oci-compute.key
Activate the web console with: systemctl enable --now cockpit.socket

Last login: Mon May 31 17:14:06 2021 from xxx.xxx.xxx.xxx 
[[email protected] ~]$
사용자가opc라는 계정을 기본적으로 만들었습니다.해보자lscpu면 Arm칩인 걸 알 수 있을 거야.관심은 Thread(s) per core가 1이라는 점이다.Core per socket도 4.HT를 사용하지 않기 때문에 vCore와 물리적 Core 수가 일치하는 것은Gravation2와 같은 N1 특징이다.
[[email protected] ~]$ lscpu
Architecture:        aarch64
Byte Order:          Little Endian
CPU(s):              4
On-line CPU(s) list: 0-3
Thread(s) per core:  1
Core(s) per socket:  4
Socket(s):           1
NUMA node(s):        1
Vendor ID:           ARM
Model:               1
Stepping:            r3p1
BogoMIPS:            50.00
NUMA node0 CPU(s):   0-3
Flags:               fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp cpuid asimdrdm lrcpc dcpop asimddp ssbs

시스템 설치


특별히 실행하고 싶은 프로그램이 아니기 때문에systbench 근처에서 기준을 가볍게 잡으려고 합니다.systbench가 EPEL에 있으므로 설치할 태그를 활성화합니다.
[[email protected] ~]$ sudo sed -i 's/enabled=0/enabled=1/g' /etc/yum.repos.d/oracle-epel-ol8.repo
[[email protected] ~]$ cat /etc/yum.repos.d/oracle-epel-ol8.repo
[ol8_developer_EPEL]
name=Oracle Linux $releasever EPEL Packages for Development ($basearch)
baseurl=https://yum$ociregion.oracle.com/repo/OracleLinux/OL8/developer/EPEL/$basearch/
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
gpgcheck=1
enabled=1
[[email protected] ~]$ sudo dnf update
[[email protected] ~]$ sudo yum install sysbench

기준을 가볍게 잡아보세요.


어쨌든 일단 실행해 보자.
[[email protected] ~]$ sysbench --test=cpu run --events=100000 --threads=1
CPU speed:
    events per second:  3479.18
General statistics:
    total time:                          10.0003s
    total number of events:              34796
Latency (ms):
         min:                                    0.28
         avg:                                    0.29
         max:                                    0.46
         95th percentile:                        0.29
         sum:                                 9994.13
Threads fairness:
    events (avg/stddev):           34796.0000/0.00
    execution time (avg/stddev):   9.9941/0.00
어쨌든 요청 게시물 1000개면 10초 정도.한 라인에서 여덟 라인까지 똑같이 재생해 본 결과는 다음과 같다.
Number of threads
events per second
total time
total number of events
Latency min
Latency avg
Latency max
Latency 95th percentile
events (avg/stddev)
execution time (avg/stddev)
1
3492.05
10.0003
34925
0.28
0.29
4.42
0.29
34925.0000/0.00
9.9944/0.00
2
6967.75
10.0006
69688
0.28
0.29
10.31
0.29
34844.0000/83.00
9.9868/0.00
3
10389.03
9.6246
100000
0.28
0.29
16.83
0.29
33333.3333/218.80
9.6079/0.00
4
13551.1
7.3785
100000
0.28
0.29
16.32
0.29
25000.0000/651.09
7.3647/0.01
5
13960.43
7.1621
100000
0.28
0.36
20.29
0.29
20000.0000/709.02
7.1495/0.00
6
13932.18
7.1767
100000
0.28
0.43
40.29
0.29
16666.6667/904.91
7.1599/0.01
7
13978.42
7.1529
100000
0.28
0.5
32.29
0.29
14285.7143/622.20
7.1352/0.01
8
13975.48
7.1544
100000
0.28
0.57
20.29
0.29
12500.0000/77.88
7.1372/0.01
4개의 스레드까지 성능이 점점 확장되기 때문에 기대했던 동작이다.x86 칩과 비교해 보세요.VM은 OCI의 AMD 인스턴스입니다.Standard.E4.우리는 Flex(OCPU2 핵심(HT:2)/EPYC7J13)와 GCP의 AMD 실례 N2D(vCPU:4핵/EPYC7B12)에서 요청한 모든 실행 시간을 비교했다.술집은 작을수록 성능이 좋다.

파란색은 암페어(Ampere), 주황색은 OCI의 EPYC, 녹색은 GCP의 EPYC다.EPYC와 OCI/GCP 모두 거의 동일하며 스레드 성능이 증가하더라도 향상되지 않습니다.2핵까지는 최소한 성능이 향상되겠지만 잘 모르겠어요.매개 변수가 안 좋은 것 같은데?
암페어가 빠르고, 느리고, 규모가 크지 않다고 할 수는 없지만, 특별히 느리지도 않고, 이번처럼 빠른 일이 있다는 것을 알고 이번에 OK했다.진지하게 보면 4코어가 아니라 64코어 이상의 메이니코어인데 비교하지 않으면 의미가 없다.내가 해야 할 사람이 있지...

Ampere Altra


이번에 Oracle이 채택한 암페어 알트라는 이전부터 서버를 대상으로 암페어를 제작한 회사다.레네 제임스 전 Intel 사장은 회장 겸 CEO였다.
https://amperecomputing.com/
Oracle은 독립 칩을 만드는 것보다 단순히 다른 회사와의 협력이 더 효율적이라고 생각한다.응, 같은 Neoverse 구조를 사용한다면 Intel과 AMD 정도의 차이만 있을 거야. 이것도 선택이지.
이번에 채택한 알트라의 규격은 다음과 같다.
아키텍처
Armv8.2+/Neoverse N1
Cores
80
시계
최대 3.30GHz
L1 캐시
64 KB per cores
L2 캐시
1 MB per core
L3/System Level Cache (SLC)
32 MB
기타
128bit SIMD x 2, PCIe Gen4 x 128
프로세스
TSMC 7 nm FinFET
TDP
45 W ~ 250 W
나는 더욱 상세한 규격을 보면 카탈로그 테이블이 비교적 좋다고 생각한다.너무 상세하게 썼어요.
성능 측면에서 Oracle에서는 낮은 평가의 OCI, x86 실례만 AWS의Gravation2에 비해 더 큰 원가 성능을 가지고 있다고 말한다.다음은 SPECrate 2017의 결과로 2.5배에서 6배의 점수를 얻었다.그러나 이것은 절대적인 성능 비교가 아니다. 필경 price perfomrnace이기 때문에 도표에 대한 견해에 주의해야 한다.


NGINX 등 보다 실용적인 사업로에서 비교한다.

음, 성가비 이전에 이런 기준은 우승 데이터이기 때문에 성향과 특성을 잡고 실제 작업길에서 테스트를 하는 것이 중요하다.

[마초] 애플 M1과 푸오름의 A64FX처럼 폭발 속도!?


Arm 하면 스마트폰뿐만 아니라 최근 애플 M과 A64FX도 화제가 됐는데, Xeon/Ryzen에 비해 단식 레드 성능도 빠른가?그렇게 생각할 수도 있겠지만 그런 일은 거의 없어요.
Arm은 도대체 CPU 구조와 권한 수여 판매 IP의 관계에서 x86 이상 설치(미세 구조)의 특성 차이가 매우 크다고 말했기 때문이다.
OCI가 사용하는 암페어 알트라는 그래베이션2와 마찬가지로 네오verse N1을 기반으로 하기 때문에 서버 용도로는 단일 성능이 아닌 다핵의 안정적인 성장을 기대하는 디자인이다.이 때문에 애플리케이션에 따라 성능도 좋지 않고 성능도 좋아 상황이 클 수 있다.다음 역시 N1 Gravtion2의 기준입니다.많은 수의 가벼운 웹 서버에 적합합니까?

ref: Impact of Intel vs. ARM CPU Performance for Object Storage
그나저나 Arm에 관해서는 예전에 정리한 애니메이션도 있기 때문에 "N1 같은 거? 말하자면 Arm은 저도 잘 모르겠어요"하시는 분들도 가능하시면 한번 보세요.

총결산


OCI에서 Arm을 무료로 사용할 수 있을 것 같아요!이런 일이니까 어쨌든 일단 OCI를 만져봐.이런 이유라 특별히 움직이고 싶은 게 없어서 간단하게 Sysbench를 넣었는데 안전하게 움직일 수 있어서 정말 좋았다.
이렇게 되면 AWS 이외에도 Arm을 선택할 수 있어 구조로 채택하기 쉽다.향후 애저·GCP의 움직임이 신경 쓰인다.독자 칩과 암페어의 협력은 모두 가능하다.그리고 Intel과 AMD가 어떤 조치를 취할지, 아니면 길가의 돌과 정관할지 결정하는 것은 시청자들에게 흥미롭다.
또 이번에는 OCI의 지원으로 자바와 그랩 VM의 Arm 대응이 더 원활해질 것 같아 조금은 기쁘기도 하다.
그럼 해피 해킹!