---
tags: 論文メモ
---
# Shedding Light on Static Partitioning Hypervisors for Arm-based Mixed-Criticality Systems
## 背景
### 問題意識
- armベースのMCS上のSPH(static partitioning hypervisor)の特徴や要件の理解
### 問題への貢献
- 著名なOSS: Jailhouse, Xen (Dom0-less), Bao, and seL4 CAmkES VMMについてrealtime & safty評価
- (i) performance, (ii) interrupt latency, (iii) inter-VM communication, (iv) boot time, and (v) code size
## 具体的な手法など
- SPHはVMへの資源割当を静的に行う代わりにレイテンシ,isolationなどを頑張る
- 実際のシステムを利用する際の設定の参考にもなる
- e.g. superpageを使ってTLB missを許容可能なオーバーヘッドで著しく減らすことができるが,page coloringを有効にすることで無効になってしまう
- hardware: zcu104, coretex-a53 1.2GHz, GICv2, SMUv2, 32KiB L1/core, L2 1MiB
- hypervisor: default config disabling logging features etc.
- for seL4 timer tick to 5s
- for Xen use null scheduler to disable WFI trap
- all hypervisor compiled with gcc11.2, default opt for each buildsystem
- VM config:
- large linux vm
- small vm running freertos
- measuremetn tools: arm pmu, perf for linux vm, arm generic timer tick=10ns for freertos and baremetal apps
- MiBench Embedded Bench- marks’ Automotive and Industrial Control Suite
- best performance overhead(performance delegation)
- seL4 camkes vmmは~7%でそれ以外は1%未満
- bench中のイベントを見るとL2 refillとguest TLB missが相関係数0.95超え
- seL4遅くね?
- 2MiB superpageがない→TLB miss
- 割り込み処理,VMスイッチでipcやってるせいもありそう
- 命令数のhyp/gstとhyp側の命令数を見ると段違いに多く↑がわかる
- 以上からSPHではTLB missとpt workに気をつけるべき
- cache coloringはinter-core conflict missが消えるがオーバヘッドもあり銀の弾丸ではない
- 4KiBページをつかうためにTLB missが増える
- 割り込みレイテンシ
- 10msごとにtimer interrupt handlerで時間を読み出して経過時間を図る
- bao/jailhouseはいいがXenは汎用向けで割り込み処理管理周りが最適化されていない
- sel4が最も遅く割り込み管理のIPCのせい
- 割り込みレイテンシは干渉で10倍くらいになる
- coloringは役に立つがhypervisor levelでやるとなおよい