Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）「Xen Developer Summit」の最新情報のご紹介
基調講演 @ OSAKA NDS Embedded Linux Cross e-Forum No.11

宗像尚郎
Automotive Grade Linux Advisory board member
Linux Foundation board member

2020-7-10

1 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

⾃⼰紹介
ルネサスエレクトロニクス という半導体メーカーで働いています
ルネサスの概要と私の担当業務
ルネサスエレクトロニクス＝（⽇⽴＋三菱）＋ NEC の半導体事業部⾨
⾞載向け SOC（System on Chip) のグローバルリーディングサプライヤーです
R-CarH3 ＝ 64bit ARM Octa-core + GPU + LPDDR4 8G、1,384pin BGA
産業コンソーシアム活動、コミュニティ活動でも指導的な役割をもっていますLinux Foundation のボードメンバー です
Automotive Grade Linux、yocto project の理事も務めています
社内オープンソース開発チームを運営、コミュニティ開発でも顕著な実績

Xen FUSA SIG メンバーとして、Xen の⾞載分野への適⽤ を検討しています
ルネサスはオープンソース開発活動への貢献実績において⽇本を代表する企業です
2 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen Hypervisor とはどういうものか

3 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen VMM （=hypervisor）の特徴
Xen ＝サーバ̶向け仮想化ソリューション ではデファクト
Linux Foundation に帰属する オープンソースプロジェクト (GPL v2)
サーバー向けには 2003 年から製品適⽤ されている（歴史は古く枯れている）
0.38/1000 LOC と 極めて低い⽋陥密度（=defect density)
仮想マシンの挙動を監視する VMI(=Virtual Machine Introspection) にも対応

最新の (= 仮想化⽀援機構をもった) x86 と ARM アーキテクチャ に対応
OP-TEE や Linux kernel でもデフォルトで Xen がサポートされている
ホスト OS を必要としない type1 (ベアメタル) ハイパーバイザー
さまざまな仮想化実装モデル (準仮想化、完全仮想化) に対応
CPU 内蔵ハードウエアを利⽤して 強固なセキュリティメカニズム も実現可能

Xen は Enterprise Grade Hypervisor として実績があり ARM CPU でも動作する4 / 29

宗像尚郎

「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen が 準仮装化（Para Virtualization) による性能改善を実現！
仮装マシン上で OS を動かす には複数のやり⽅がある
完全仮装化
既存の OS（Windows、Linux など）を そのまま仮装マシン上で動作させる事が可能
ソフトウエアエミュレーションは オーバーヘッドが性能⾯でのペナルティ
CPU の仮装化⽀援（Intel VT、AMD HyperV、ARM hypervisor extension） が利⽤できる場合には HVM（= Hardware Virtual Machine) モードで動作可能

準仮装化（PV) ・・・・Xen のデフォルト
性能ペナルティ解決のためハイパーバーザー経由でハードウエア資源を利⽤仮想マシン上で動かす OS を改造してハイパーバイザコールを発⾏ させるLinux kernel は 2.6.23（2007 年）以降、標準で Xen mode をサポートしている

Xen は CPU の仮装化⽀援が無い時代に開発されたが、現在は完全仮装化にも対応済
5 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen アーキテクチャ （Para Virtualization を利⽤を利⽤した場合）

https://xtech.nikkei.com/it/article/COLUMN/20060807/245320/
6 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen、KVM、QEMU の仮想化実現⽅法の違い

https://www.researchgate.net/publication/281177318_Hardware_and_Software_Aspects_of_VM-Ba
7 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen hypervisor の 採⽤分野（サーバー⽤途だけではない）

8 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

AWS は KVM サポートを開始した

https://aws.amazon.com/jp/about-aws/whats-new/2020/02/aws-storage-gateway-available-linu
9 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

但し、AWS は Xen をやめて KVM に全⾯移⾏する... は誤解ですhttps://aws.amazon.com/jp/ec2/faqs/
10 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen の 製品適⽤時のサポート体制 （但し Enterprise ⽤途向け）

11 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen project active contributors

12 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

ARM は Xen project の正式サポートアーキテクチャ ですhttps://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions
13 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen ARM のサイズはリファクタリングにより x86 より相当⼩さい

14 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen ARM の⾞載制御⽤途への対応状況

15 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

⾞載制御 (IVI, Gateway ⽤途) への仮想化導⼊時の課題
仮想化の実現⼿段に関わらず 以下の技術要件へのソリューションが求められる複数のゲスト OS が同時動作（古典的な仮想化はゲストドメインは 1 つ）
特定ドメインが占有する機能は パススルーモードで 1 対 1 マッピング
ゲストドメイン間で 複雑な周辺機能共有 に対応する必要がある
GPU などバスマスターとなる co-processor の仮想化 が必要
ゲスト OS からも Trusted Execution Environment (TEE) が利⽤できる

パワーマネージメント と 性能チューニング
システム全体としての 電源管理 (パワーマネージメント)
ゲストドメインの リアルタイム性 の実現
ヘテロジーニアス構成の CPU マルチコアレイアウトへの対応

機能安全（ASIL-B) 対応
現在 Xen ARM FUSA SIG にて実質的な対応が進⾏中
16 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

ARM プロセッサーの仮想化⽀援機構 (ARM v8 の例）

https://developer.arm.com/architectures/learn-the-architecture/armv8-a-virtualization
17 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen ARM は ARM hypervisor extension に完全対応

https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions_whitepaper
18 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

ARM CPU の privileged access（EL1）は DOM0 に集約される

https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions_whitepaper
19 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

DOMD (unprivileged driver domain) の分離による冗⻑構成 も可能

https://wiki.xenproject.org/wiki/Xen_ARM_with_Virtualization_Extensions_whitepaper
20 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen ARM ：汎⽤周辺機能 PV ドライバーサポート状況

21 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen ARM ：ゲストドメインからの OP-TEE の利⽤（開発中）

22 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

⾞載制御（IVI, Gateway ⽤途）適⽤に向けた Xen ARM 最新状況
SOC の周辺機能のドメイン間共有の強化
PV ドライバーの増強（カメラ、マルチメディア対応など）
vIOMMU を活⽤し Xen セキュリティモデルを犠牲としない virtio 対応 ← Hot!

リアルタイムスケジューリング対応
各ドメインの 精密な時間管理 と full preemption モード対応
パワーマネージメント対応
ゲストのイベント⼊⼒に対応した RT と CPU- aware power governanceの対応
ヘテロジーニアス構成のマルチコアへの対応
ARM big.LITTLE、DynamIQ core scheduling、AMP コア間通信 対応
セキュリティ機構の強化
VMI(=Virtual Machine Introspection)の ARM CPU への実装
secure HW virtualization と SEL2 の追加
23 / 29宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen Developer virtual Summit 2020
Update （最近の話題）

24 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen FUSA SIG の取り組み

25 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen hypervisor の 採⽤分野（サーバー⽤途だけではない） ［再掲］

26 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

FUSA 対応の例（MISRA コーディングルール対応）

27 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものか
Xen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Xen FUSA 実現⽅法 の新提案（URL クリックでスライド⼊⼿可能）

https://xen2020.sched.com/event/baX4/arm-contributions-to-xen-based-safety-systems-bertr
28 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介

Xen Hypervisor とはどういうものかXen ARM の⾞載制御⽤途への対応状況
Xen Developer virtual Summit 2020 Update （最近の話題）

Arm contribution to Xen and Safety systems（表紙）29 / 29

宗像尚郎「Xen Developer Summit」の最新情報のご紹介