コロナに負けず、できることを少しずつ。

[Azure] Cloud Shell 環境でベンチマーク採取は失敗

[Azure] Cloud Shell 環境でベンチマーク採取は失敗

Microsoft Azure 無償評価期間はとっくの前に期限切れ(厳密には無償枠を数週間で消化)。
そして、いつしか MCP 学習専用環境になり、たまに Cloud Shell でちょっと便利なシェル環境用途に。

ところで、毎月 20円 近く請求されてる cloud-shell-storage-southeastasia ってどんな環境だったかな?

Cloud Shell は東南アジアに。東日本リージョンに置く必要は無いと思っています。
ディスクは標準 5GiB で環境は特に気にした事はありませんでした。

cat /proc/cpuinfo で見たところ・・・

azureuser@Azure:~$ cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
stepping : 4
microcode : 0xffffffff
cpu MHz : 2693.674
cache size : 33792 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fpu : yes
fpu_exception : yes
cpuid level : 21
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
bogomips : 5387.34
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:
processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 85
model name : Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz
stepping : 4
microcode : 0xffffffff
cpu MHz : 2693.674
cache size : 33792 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 1
initial apicid : 1
fpu : yes
fpu_exception : yes
cpuid level : 21
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology cpuid pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch invpcid_single pti tpr_shadow vnmi ept vpid fsgsbase bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx avx512f avx512dq rdseed adx smap clflushopt avx512cd avx512bw avx512vl xsaveopt xsavec xsaves md_clear
bugs : cpu_meltdown spectre_v1 spectre_v2 spec_store_bypass l1tf mds swapgs taa itlb_multihit
bogomips : 5387.34
clflush size : 64
cache_alignment : 64
address sizes : 46 bits physical, 48 bits virtual
power management:

Intel(R) Xeon(R) Platinum 8168 CPU @ 2.70GHz ってどんな石?

うわ!お高いw

仮想環境故、プロセッサ 2個 しか使わせてくれない cpuinfo 情報(実質無償に近い)。

折角なので cloud shell からベンチマークを走らせてみました。

docs.microsoft 素敵な記事を入手済みです。

Windows VM のコンピューティング ベンチマーク スコア ”CoreMark”
Azure Windows VM のコンピューティング ベンチマーク スコア – Azure Virtual Machines | Microsoft Docs

これによると、https://github.com/eembc/coremark を使って見なさいと。

CoreMark について:
マイクロコントローラー (MCU) または中央処理装置 (CPU) の機能をテストするベンチマークです。 CoreMark はシステムに依存しないため、プラットフォーム (ビッグ エンディアンまたはリトル エンディアン、ハイエンドまたはローエンドのプロセッサなど) に関係なく同じように機能します。

キャプチャ画像

指示された通り make して 実行するだけで run1.log と run2.log が生成されました。
azureuser@Azure:~/test210913/coremark$ cat run1.log
2K performance run parameters for coremark.
CoreMark Size : 666
Total ticks : 0
Total time (secs): 0.000000
ERROR! Must execute for at least 10 secs for a valid result!
Iterations : 10
Compiler version : GCC8.3.0
Compiler flags : -O2 -DPERFORMANCE_RUN=1 -lrt
Memory location : Please put data memory location here (e.g. code in flash, data on heap etc)
seedcrc : 0xe9f5
[0]crclist : 0xe714
[0]crcmatrix : 0x1fd7
[0]crcstate : 0x8e3a
[0]crcfinal : 0xfcaf
Errors detected
azureuser@Azure:~/test210913/coremark$ cat run2.log
2K validation run parameters for coremark.
CoreMark Size : 666
Total ticks : 0
Total time (secs): 0.000000
ERROR! Must execute for at least 10 secs for a valid result!
Iterations : 10
Compiler version : GCC8.3.0
Compiler flags : -O2 -DPERFORMANCE_RUN=1 -lrt
Memory location : Please put data memory location here (e.g. code in flash, data on heap etc)
seedcrc : 0x18f2
[0]crclist : 0xe3c1
[0]crcmatrix : 0x0747
[0]crcstate : 0x8d84
[0]crcfinal : 0xc64e
Errors detected

ログの読み方(これが一番大切なこと)

前述の docs.microsoft によると

ーーー
run1.log には CoreMark の結果が含まれています。 これらは、パフォーマンス パラメーターを使用したベンチマークの結果です。 run2.log には検証パラメーターを使用したベンチマークの結果が含まれています。
ーーー

しかしながら log 2つともに ERROR! Must execute for at least 10 secs for a valid result”, “Errors detected” が出力されている。orz.
.configure 修正することなく make 引数なしで「アホそのもの」as is 実行したからだけど。

CoreMark について

詳しくは https://openbenchmarking.org/test/pts/coremark こちらを参照されたし。

1秒間に何回イテレーション(反復)数を計測したのかという指標です。

興味深いベンチマーク(Raspberry Pi 4 vs. Intel )

https://openbenchmarking.org/result/2109103-IB-2007316NE35

これによると、Atom 330 より良さそうと分かった(可視化チャートによると)。
説明文が酷いですよね、すみません。CoreMark の存在は知っていましたが「ベンチマーク沼」は避けてきました。これからも多分。


勿体ない精神で「今後使わないものは始末」

Cloud shell に不要なものは削除です。ライトプロテクトが掛かっていましたが「始末」。

以上、ご覧いただき有難うございました。

Azureカテゴリの最新記事