Submit Search
GPU仮想化最前線 - KVMGTとvirtio-gpu -
1 like
7,573 views
Z
zgock
OSC名古屋2019、openSUSEユーザー会セミナーの発表資料です
Engineering
Read more
1 of 67
Download now
Download to read offline
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
Most read
39
40
41
42
43
Most read
44
Most read
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
More Related Content
PPTX
コンテナネットワーキング(CNI)最前線
Motonori Shindo
PDF
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
PDF
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
PDF
Dockerからcontainerdへの移行
Kohei Tokunaga
PDF
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
PPTX
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
PDF
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
PDF
こわくない Git
Kota Saito
コンテナネットワーキング(CNI)最前線
Motonori Shindo
ネットワークOS野郎 ~ インフラ野郎Night 20160414
Kentaro Ebisawa
大規模サービスを支えるネットワークインフラの全貌
LINE Corporation
Dockerからcontainerdへの移行
Kohei Tokunaga
「Neutronになって理解するOpenStack Network」~Neutron/Open vSwitchなどNeutronと周辺技術の解説~ - ...
VirtualTech Japan Inc.
自宅k8s/vSphere入門
富士通クラウドテクノロジーズ株式会社
ゼロからはじめるKVM超入門
VirtualTech Japan Inc.
こわくない Git
Kota Saito
What's hot
(20)
PDF
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
PPTX
Dockerからcontainerdへの移行
Akihiro Suda
PDF
DockerとPodmanの比較
Akihiro Suda
PDF
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
Preferred Networks
PDF
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
PDF
BuildKitの概要と最近の機能
Kohei Tokunaga
PPTX
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
PDF
DockerとKubernetesをかけめぐる
Kohei Tokunaga
PDF
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
PDF
KubeVirt 101
VirtualTech Japan Inc.
PDF
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
PDF
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
PDF
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
PDF
IX事業者とインターネットの未来
Yoshiki Ishida
PDF
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
Kentaro Ebisawa
PPTX
VPP事始め
npsg
PDF
Dockerを支える技術
Etsuji Nakai
OSC2011 Tokyo/Fall 濃いバナ(virtio)
Takeshi HASEGAWA
Dockerからcontainerdへの移行
Akihiro Suda
DockerとPodmanの比較
Akihiro Suda
KubeCon + CloudNativeCon Europe 2022 Recap - Batch/HPCの潮流とScheduler拡張事例 / Kub...
Preferred Networks
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
BuildKitの概要と最近の機能
Kohei Tokunaga
自宅インフラの育て方 第2回
富士通クラウドテクノロジーズ株式会社
DockerとKubernetesをかけめぐる
Kohei Tokunaga
さくらのVPS で IPv4 over IPv6ルータの構築
Tomocha Potter
コンテナの作り方「Dockerは裏方で何をしているのか?」
Masahito Zembutsu
KubeVirt 101
VirtualTech Japan Inc.
IPv4/IPv6 移行・共存技術の動向
Yuya Rin
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
Preferred Networks
OpenStack検証環境構築・トラブルシューティング入門 - OpenStack最新情報セミナー 2014年8月
VirtualTech Japan Inc.
Docker入門: コンテナ型仮想化技術の仕組みと使い方
Yuichi Ito
SSHパケットの復号ツールを作ろう_v1(Decrypt SSH .pcap File)
Tetsuya Hasegawa
IX事業者とインターネットの未来
Yoshiki Ishida
OpenVZ - Linux Containers:第2回 コンテナ型仮想化の情報交換会@東京
Kentaro Ebisawa
VPP事始め
npsg
Dockerを支える技術
Etsuji Nakai
Ad
Similar to GPU仮想化最前線 - KVMGTとvirtio-gpu -
(20)
PDF
RでGPU使ってみた
Kazuya Wada
PDF
OpenStackでつくる開発環境と外道塾
外道 父
PDF
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
Naoto MATSUMOTO
PDF
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
PDF
OpenIndiana+KVMによる仮想マシン
悟 宮崎
PDF
Djangoとweb2pyをapacheに組込む
2bo 2bo
PDF
仮想スイッチをフェイルオーバーさせてみる予定
Takashi Naito
PDF
20210731_OSC_Kyoto_PGStrom3.0
Kohei KaiGai
PPT
Open VZ
Kazuaki Fujikura
PDF
Linux KVM環境におけるGPGPU活用最新動向
Taira Hajime
PDF
Apache cloudstack4.0インストール
Yasuhiro Arai
PDF
2019 jetson azure_hands-on
Aya Owosekun
PDF
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
aitc_jp
PDF
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
PPTX
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
PDF
OSC 2011 Hokkaido 自宅SAN友の会(後半)
Satoshi Shimazaki
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
PDF
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
Netwalker lab kapper
PDF
20190926_Try_RHEL8_NVMEoF_Beta
Kohei KaiGai
PDF
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
RでGPU使ってみた
Kazuya Wada
OpenStackでつくる開発環境と外道塾
外道 父
100GbE NICを使ったデータセンター・ネットワーク実証実験 -メモ-
Naoto MATSUMOTO
JTF2020 クロスコンパイルだけが能ではない組み込みLinuxシステムのCI/CDインフラ構築
yaegashi
OpenIndiana+KVMによる仮想マシン
悟 宮崎
Djangoとweb2pyをapacheに組込む
2bo 2bo
仮想スイッチをフェイルオーバーさせてみる予定
Takashi Naito
20210731_OSC_Kyoto_PGStrom3.0
Kohei KaiGai
Open VZ
Kazuaki Fujikura
Linux KVM環境におけるGPGPU活用最新動向
Taira Hajime
Apache cloudstack4.0インストール
Yasuhiro Arai
2019 jetson azure_hands-on
Aya Owosekun
2017年05月27日 AITCシニア技術者勉強会 第6回「OpenCV入門」
aitc_jp
45分で理解する 最近のスパコン事情 斉藤之雄
Yukio Saito
オレ流のOpenJDKの開発環境(JJUG CCC 2019 Fall講演資料)
NTT DATA Technology & Innovation
OSC 2011 Hokkaido 自宅SAN友の会(後半)
Satoshi Shimazaki
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
Preferred Networks
超激安WinタブレットにLinux、*BSDを入れよう 最新情報編 in KOF2018 Install Linux and Re-use 「newer ...
Netwalker lab kapper
20190926_Try_RHEL8_NVMEoF_Beta
Kohei KaiGai
Starting qt5beta at_raspberry_pi Qtnagoya#6
Kazuo Asano (@kazuo_asa)
Ad
More from zgock
(8)
PDF
今時のLinuxにおけるGPUエンコード事情2018
zgock
PDF
KVM環境上にルーターを作る/東海道らぐ伊勢2018
zgock
PDF
openSUSEで作る仮想化環境 -KVM,Xen,Docker 仮想化技術選択のポイント -. /oscnagoya2018
zgock
PDF
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
PPTX
今時のLinuxにおけるGPUエンコード事情
zgock
PPTX
Ren’pyの御紹介
zgock
PDF
しつこくXenとzfsで作る家庭内vdiサーバ2015年版
zgock
PDF
Xenとzfsで作る家庭内VDIサーバ
zgock
今時のLinuxにおけるGPUエンコード事情2018
zgock
KVM環境上にルーターを作る/東海道らぐ伊勢2018
zgock
openSUSEで作る仮想化環境 -KVM,Xen,Docker 仮想化技術選択のポイント -. /oscnagoya2018
zgock
openSUSEで最強仮想環境をつくろう - ゲーミングから仮想通貨まで - OSC名古屋2017セミナー資料
zgock
今時のLinuxにおけるGPUエンコード事情
zgock
Ren’pyの御紹介
zgock
しつこくXenとzfsで作る家庭内vdiサーバ2015年版
zgock
Xenとzfsで作る家庭内VDIサーバ
zgock
GPU仮想化最前線 - KVMGTとvirtio-gpu -
1.
2019/07/13gpu仮想化最前線 #oscnagoya 1/67 GPU
仮想化最前線 - KVMGT と virtio-gpu - 安藤 達也 日本 openSUSE ユーザ会
2.
2019/07/13gpu仮想化最前線 #oscnagoya 2/67 お前どこ中誰よ? ● 安藤 達也 –
@
[email protected]
● openSUSE との出会い – 2003年ぐらいに自分のPemtium-MノートのWifiを認識してくれ る唯一のディストリということで落ち着く – Xenに強かったディストリということもあり、 2012年ぐらいから家の擬似VDIサーバで活躍してもらっている ● openSUSE12.3~Leap15.1まで随時更新中 ● このへん詳しくはSlideShareの 「Xenとzfsで作る家庭内VDIサーバ」シリーズ参照 – 50000ビューぐらい行ってて驚いた
3.
2019/07/13gpu仮想化最前線 #oscnagoya 3/67 みなさん って何かご存知ですか?
4.
2019/07/13gpu仮想化最前線 #oscnagoya 4/67 正しいのはどれ? ● 1.
サーバールームでモフモフできるカメレオン型ガジェット ● 2. 緑色のロゴが目印の謎のAI半導体メーカー ● 3. ドイツ生まれの Linux ディストリビューション
5.
2019/07/13gpu仮想化最前線 #oscnagoya 5/67 正解 ● 3.
ドイツ生まれの Linux ディストリビューション – S.u.S.E Linux 4.2 で独自のディストリビューションになってから ● Q: RedHat 系ですか? Debian 系ですか? A: どちらでもありません! – RPM じゃないとダメとか deb じゃないとダメとか、 そういう話もよく聞きます(なぜ? ● Q: OpenSUSE ですか?openSUSE ですか? A: o は小文字です。IPhone ではなく、iPhone なのと同じです
6.
2019/07/13gpu仮想化最前線 #oscnagoya 6/67 今日の内容 ● 仮想化技術最後の壁、GPU仮想化 ● virtio-gpuとKVMGT ● openSUSEでvGPUなKVM環境を作ろう ● その1:virtio-gpuでAndroid-x86 ● その2:KVMGTでWindows10 ● 展示ブースデモ機の解説 ● 質疑応答とか
7.
2019/07/13gpu仮想化最前線 #oscnagoya 7/67 仮想化技術最後の壁、GPU ● 最近はGPUの活躍の場が増えてきた –
ゲーミング – 仮想通貨採掘(openCL/CUDA) – 画像処理etc.(openCL/CUDA) – ディープラーニングとかでも使ってるらしい(専門外だけど) ● 謎のAI半導体メーカ、 一体何VIDIAなんだ・・・
8.
2019/07/13gpu仮想化最前線 #oscnagoya 8/67 仮想化技術最後の壁、GPU ● qemu/VMWare/VirtualBox等でさまざまなデバイスの仮想化 が進んだ –
ネットワークやブロックデバイス等は採用技術次第ではネイティ ブと遜色ないレベルに ● GPUは複雑なデバイスであるため単純なソフトウェアによる仮 想化ではパフォーマンスや機能に限界があった – 最もパフォーマンスが出るとされているVMWare WorkStation の仮想VGAでも実GPUには遠く及ばない
9.
2019/07/13gpu仮想化最前線 #oscnagoya 9/67 GPU仮想化のための方法論(1) ● 演算対応の完全仮想GPUの実装 –
VMWare VGAとかqemuのvirtio-gpuとか – これまでのアプローチの発展系で3Dアクセ ラレーションやGPU演算対応版仮想デバイス – ゲストからは既存のGPUとは非互換な抽象化 された新設計GPUに見える
10.
2019/07/13gpu仮想化最前線 #oscnagoya 10/67 GPU仮想化のための方法論(1) ● 演算対応の完全仮想GPUの実装 –
長所 ● 一個のGPUを複数のゲストで共有できる ● 従来の思想を踏襲しているので運用レベルでの 変化は少ない
11.
2019/07/13gpu仮想化最前線 #oscnagoya 11/67 GPU仮想化のための方法論(1) ● 演算対応の完全仮想GPUの実装 –
短所 ● 環境側で専用ドライバを用意せねばならず、実 装に手間取りがち – virtio-gpuのwindows driverはまだ未完成 ● 一昨年のGoogle Summer Code対象だった ● とりあえずできたがopenGLのみ対応、DirectX未対応 ● パフォーマンス的にも苦しい – virtio-gpuのLinuxドライバで実gpuの30%ぐらい
12.
2019/07/13gpu仮想化最前線 #oscnagoya 12/67 GPU仮想化のための方法論(1) ● virtio-gpuの恩恵を一番受けられるゲストは? –Android-x86 ● (個人の主観です) ● 実際のVM設定については後述
13.
2019/07/13gpu仮想化最前線 #oscnagoya 13/67 GPU仮想化のための方法論(2) ● 実物理GPUの準仮想化エミュレーションGPU –
IntelのXenGTとかKVMGTとか(intel GVT-g) – GPUネイティブをバックエンドで呼び出す準仮想化 – ゲストからは実GPUのように見える – XenGTの方は数年前から実用レベルだったが KVMGTの方は最近のカーネル(4.18以降ぐらい) から実用レベルになってきた
14.
2019/07/13gpu仮想化最前線 #oscnagoya 14/67 GPU仮想化のための方法論(2) ● 実物理GPUの準仮想化エミュレーションGPU –
長所 ● 一個のGPUを複数のゲストで共有できる ● ドライバは実GPUのドライバで良い ● 完全仮想化型よりは高パフォーマンス – KVMGTで実GPUの70%ぐらい
15.
2019/07/13gpu仮想化最前線 #oscnagoya 15/67 GPU仮想化のための方法論(2) ● 実物理GPUの準仮想化エミュレーションGPU –
短所 ● 新しい実装であるためまだ未成熟 – Kernel 4.10で実装されたばかりである ● Intel以外の専業GPU屋さんは実装に消極的 ● 比較的新しいiGPU(Broadwell世代以降)必須 ● CoffeeLake以降はKernel5.1から対応 ● 有限なリソース、ホストのVRAMが大量に必要 – VRAMを共有できるわけではないのでゲストの数だけ VRAMを分割することになる – Skylakeの場合、最大でvGPU2枚が限界
16.
2019/07/13gpu仮想化最前線 #oscnagoya 16/67 GPU仮想化のための方法論(3) ● 実GPUのゲストへの直接割り当て –
いわゆるGPUパススルー – NICやHBA等のPCI/PCIe機器を割り当てる PCIパススルー技術の応用 – ゲストからは実GPUそのものに見える(当たり前)
17.
2019/07/13gpu仮想化最前線 #oscnagoya 17/67 GPU仮想化のための方法論(3) ● 実GPUのゲストへの直接割り当て 長所 ● 技術的には結構枯れた技術 –
Xenの世界では相当前から実用レベル – KVMは対応が遅れ気味だったが、ここ2~3年ぐらいで 急速に対応が進んだ ● ずっと超えられない壁だったIntel iGPUもKernel4.8とqemu2.7か ら対応 ● パフォーマンスは最も期待できる – 数%前後のロスぐらい
18.
2019/07/13gpu仮想化最前線 #oscnagoya 18/67 GPU仮想化のための方法論(3) ● 実GPUのゲストへの直接割り当て 短所 ● ホスト側に仮想IOのハード支援機構(IOMMU)が必要 –
Intelだとcore-i5以上/xeonなら最近のは大概付いてる ● K付きデスクトップだと付いてないのがあるので注意 – マザーボードも時々対応してないのがある ● ASRockなら大概大丈夫 – AMD系は最近のなら大概大丈夫 – ノートPCだと対応してる方が稀なので注意が必要 ● ゲスト一台につき一個のGPUが (原則として)必要 – SR-IOV、NVIDIA vGPUとかのゲスト間共有のためのハードウェア支援機構もあるにはある ● とても個人レベルで買える代物ではない ● KVMにおいては、まだ未成熟なところがある – 使いこなそうとすると、まだまだPatched Kernelが必要なシチュエーションが
19.
2019/07/13gpu仮想化最前線 #oscnagoya 19/67 ● 個人レベルでの現実解としては GPUパススルーが最も現実的 –
WS一台に複数GPUを積んで、それぞれをゲストに – せいぜい集約できて3~4台だが、そもそもGPUが 必要なレベルのパフォーマンス要求するゲストであ れば、コア数の問題もあってそのくらいが現実的
20.
2019/07/13gpu仮想化最前線 #oscnagoya 20/67 ● そうは行かない場合もある –
例えばノートPC ● dGPUを物理的に取り付けられない ● dGPU付ノートPCもあるが、一般的なデスクトッ プとは異なる接続方式である場合も多い
21.
2019/07/13gpu仮想化最前線 #oscnagoya 21/67 そういうわけで ノートPCでvGPUします openSUSEで!
22.
2019/07/13gpu仮想化最前線 #oscnagoya 22/67 実は仮想化は結構得意なopenSUSE ● 仮想化ホストとしては老舗なSUSE/openSUSE –
Xen主流の時代から仮想化には力を入れている – 基本的な設定程度はYastで一発 – 仮想化関係のカーネル調整も上手 ● ローリングリリースなTumbleweedがある – 最低でもKernel4.18以上とqemu3.0以上が必要だが、 ローリングリリースなTumbleweedならばっちり対応済 ● Snapperでシビアな作業も安心して進められる – カーネル設定やカーネルパッチなど、失敗したらブート 不可になるような作業でも一発で元に戻せる
23.
2019/07/13gpu仮想化最前線 #oscnagoya 23/67 openSUSE
Tumbleweed ● ローリング・リリース – 週に3回程度新しいバージョンがリリース ● 常に最新バージョンのカーネルやアプリケーション、 ライブラリを使いたい人向け – アプリケーション開発時に、新しいコンパイラやライブラリでも 動くかをいち早く確認できる
24.
2019/07/13gpu仮想化最前線 #oscnagoya 24/67 Snapperでいつでも巻き戻し ● Snapperって何? –
btrfsのスナップショット機能を応用したシステム復元ツール – Windowsの「システム復元」と似たようなものと言えなくもな いが、btrfsのスナップショットを使用するので保存も復元も一 瞬 – Yast、zypper等の主要コマンドを実行した時点で自動的にス ナップショットが作られる ● カーネル弄るようなシビアな作業で真価を発揮 – ふぇぇ・・・設定をしくじってブート不可になったよぉ・・・ ● ブートローダーから「過去のスナップショットで起動」を選んで失 敗する前の状態でブートする ● 「Snapper rollback」とコマンドを叩けばすっかり元通り
25.
2019/07/13gpu仮想化最前線 #oscnagoya 25/67 -
その1 - virtio-gpuな KVM環境の構築
26.
2019/07/13gpu仮想化最前線 #oscnagoya 26/67 まずはインストールから ● Tumbleweedはネットワークインストール推奨 –
ftp.riken.jpが日本で現状唯一のTumbleweedミラー ● http://ftp.riken.jp/Linux/opensuse/tumbleweed/repo/oss ● UEFIインストールは避けた方が良い – UEFIインストーラはbiosインストーラより細かいところが不親切 – snapper活用するならrootfsは全面btrfsが良い – homeの分割はお好みで ● お好みのデスクトップでインストール – xfce4派ですが、好きなのでいいんじゃないかな?
27.
2019/07/13gpu仮想化最前線 #oscnagoya 27/67 基本設定はYastで一発 ● qemu入れて~libvirt入れて~、daemon有効にして~、ブ リッジ設定して~ –
他のディストリだったらありがちな光景 「Yast>仮想化>ハイパーバイザのインストール」 「KVMサーバ」を選択して実行するだけで GPU仮想化使わない普通のKVM環境なら ネットワーク設定込みで一発で終わります
28.
2019/07/13gpu仮想化最前線 #oscnagoya 28/67 virt-managerでインストール ● virt-managerから普通にisoインストール –
最後に「設定をカスタマイズ」がポイントその1
29.
2019/07/13gpu仮想化最前線 #oscnagoya 29/67 virt-managerでインストールその2 ● ディスプレイをspiceにしてopenGLを有効に
30.
2019/07/13gpu仮想化最前線 #oscnagoya 30/67 virt-managerでインストールその3 ● ビデオをvirtioにして3Dアクセラレーションを有効に
31.
2019/07/13gpu仮想化最前線 #oscnagoya 31/67 virt-managerでインストールその4 ● こんなエラーが出たときは? –
virt-managerのバグでたまにspiceのopenGL設定が外れる 場合があるので再度設定すればOK
32.
2019/07/13gpu仮想化最前線 #oscnagoya 32/67 ● 後は普通にインストール
33.
2019/07/13gpu仮想化最前線 #oscnagoya 33/67 ● 「ドールズフロントオンライン」(ドルフロ)程度なら普通に 動きます
34.
2019/07/13gpu仮想化最前線 #oscnagoya 34/67 ● 「カスタムキャスト」なんかも動くには動く –
ただしspice側の問題でスワイプを受け付けない
35.
2019/07/13gpu仮想化最前線 #oscnagoya 35/67 ● 全てのゲームタイトルが動くわけではありません –
x86で動かないタイトルがたまーにある ● そういうのはAndroid-x86実機でも動かないので仕方な いね
36.
2019/07/13gpu仮想化最前線 #oscnagoya 36/67 -
その2 - KVMGTな KVM環境の構築
37.
2019/07/13gpu仮想化最前線 #oscnagoya 37/67 ちょっと難易度が上がります -
その2 - KVMGTな KVM環境の構築
38.
2019/07/13gpu仮想化最前線 #oscnagoya 38/67 カーネルモジュールの準備 ● gvt-gを使うために必要なモジュール類を入れます #
echo "INITRD_MODULES="kvmgt vfio- iommu-type1 vfio-mdev"" > /etc/sysconfig/kernel # mkinitrd
39.
2019/07/13gpu仮想化最前線 #oscnagoya 39/67 カーネルパラメータの設定 ● カーネルパラメータを設定します i915.enable_gvt=1
kvm_ignore_msrs=1 intel_iommu=1 ● Yast>ブートローダで設定
40.
2019/07/13gpu仮想化最前線 #oscnagoya 40/67 PCIアドレスの確認 ● 再起動してiGPUのpciアドレスを確認 $sudo
lspci 00:00.0 Host bridge: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Host Bridge/DRAM Registers (rev 08) 00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07) 00:04.0 Signal processing controller: Intel Corporation Xeon E3-1200 v5/E3-1500 v5/6th Gen Core Processor Thermal Subsystem (rev 08) 〜以下略〜 ● 大概の場合は00:02.0なはず
41.
2019/07/13gpu仮想化最前線 #oscnagoya 41/67 共有GPUの確認 ● ls /sys/device/[GPUのPCIアドレス]/mdev_supported _types/で共有GPUの一覧が取れたら成功している $
ls /sys/devices/pci0000:00/0000:00:02.0/md ev_supported_types/ i915-GVTg_V5_4 i915-GVTg_V5_8
42.
2019/07/13gpu仮想化最前線 #oscnagoya 42/67 共有GPUのタイプ ● cat /sys/device/[GPUのPCIアドレス]/mdev_supported_types/[出てきた共有GPU]/descriptionで 共有GPUの詳細が見られる $
cat /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915- GVTg_V5_4/description low_gm_size: 128MB ←この共有GPUの最小VRAMサイズ high_gm_size: 512MB ←この共有GPUの最大VRAMサイズ fence: 4 ←この環境で使える共有GPU枠 resolution: 1920x1200 ←この共有GPUの最大解像度 weight: 4 ←この共有GPUが消費する共有GPU枠 $ cat /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915- GVTg_V5_8/description low_gm_size: 64MB high_gm_size: 384MB fence: 4 resolution: 1024x768 weight: 2
43.
2019/07/13gpu仮想化最前線 #oscnagoya 43/67 共有GPUの確保と解放 ● 共有GPUの確保 echo
'[任意のUUID]' > /sys/devices/[GPUのPCI アドレス]/mdev_supported_types/[共有GPUタ イプ]/create ● 共有GPUの解放 echo '1' > /sys/devices/[GPUのPCIアドレス]/[確保の時 使ったUUID]/remove
44.
2019/07/13gpu仮想化最前線 #oscnagoya 44/67 共有GPUの確保と解放(例) $
echo 'ab8c3af8-8366-449d-8489-fe9254e44621' > /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i9 15-GVTg_V5_4/create $ ls -l /sys/devices/pci0000:00/0000:00:02.0/ 合計 0 drwxr-xr-x 4 root root 0 1月 23 04:14 ab8c3af8-8366-449d- 8489-fe9254e44621 ←このディレクトリが生える -r--r--r-- 1 root root 4096 1月 23 04:14 ari_enabled -r--r--r-- 1 root root 4096 1月 23 04:14 boot_vga 〜以下略〜 $ echo '1' > /sys/devices/pci0000:00/0000:00:02.0/ab8c3af8- 8366-449d-8489-fe9254e44621/remove
45.
2019/07/13gpu仮想化最前線 #oscnagoya 45/67 systemdサービス化 こんな感じでsystemdサービスを作る ● $
cat /usr/lib/systemd/system/gvtgpu.service [Unit] Description=Create Intel GVT-g vGPU [Service] Type=oneshot ExecStart=/bin/sh -c "echo 'ab8c3af8-8366-449d-8489-fe9254e44621' > /sys/devices/pci0000:00/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_4/create" ExecStop=/bin/sh -c "echo '1' > /sys/devices/pci0000:00/0000:00:02.0/ab8c3af8-8366- 449d-8489-fe9254e44621/remove" RemainAfterExit=yes [Install] WantedBy=graphical.target
46.
2019/07/13gpu仮想化最前線 #oscnagoya 46/67 systemdサービス化2 systemdサービス化してしまえば ● $
sudo systemctl start gvtgpu で確保 ● $ sudo systemctl stop gvtgpu で解放 ● $ sudo systemctl enable gvtgpuで起動時確保
47.
2019/07/13gpu仮想化最前線 #oscnagoya 47/67 systemdサービス化2 systemdサービス化してしまえば ● $
sudo systemctl start gvtgpu で確保 ● $ sudo systemctl stop gvtgpu で解放 ● $ sudo systemctl enable gvtgpuで起動時確保
48.
2019/07/13gpu仮想化最前線 #oscnagoya 48/67 systemdサービス化2 systemdサービス化してしまえば ● $
sudo systemctl start gvtgpu で確保 ● $ sudo systemctl stop gvtgpu で解放 ● $ sudo systemctl enable gvtgpuで起動時確保
49.
2019/07/13gpu仮想化最前線 #oscnagoya 49/67 virt-managerでインストール ● 一旦普通にvirt-managerでインストール
50.
2019/07/13gpu仮想化最前線 #oscnagoya 50/67 virt-managerでインストール ● KVMGTはovmfで動かないので必ずseabiosインストールする
51.
2019/07/13gpu仮想化最前線 #oscnagoya 51/67 virt-managerでインストール ● virtio-gpuの時と同様openGL有効なspiceディスプレイにす る
52.
2019/07/13gpu仮想化最前線 #oscnagoya 52/67 virt-managerでインストール ● 普通にインストールした後でシャットダウン
53.
2019/07/13gpu仮想化最前線 #oscnagoya 53/67 libvirt
XMLの編集 ● $ sudo -s ● # virsh list --all ● Id Name State ● ------------------------ ● - win10 shut off ● ● # virsh edit win10
54.
2019/07/13gpu仮想化最前線 #oscnagoya 54/67 libvirt
XMLの編集 ● </video>タグの下あたりに以下のタグを挿入する <hostdev mode='subsystem' type='mdev' managed='yes' model='vfio-pci' display='off'> <source> <address uuid='ab8c3af8-8366-449d-8489- fe9254e44621'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x09' function='0x0'/> </hostdev> ● uuidは確保時に決めたものを ● adressは他デバイスと競合しないところを
55.
2019/07/13gpu仮想化最前線 #oscnagoya 55/67 ドライバの割り当て ● VMを起動するとセカンダリディスプレイとしてIntel
iGPUが 認識されているのでドライバを当てる
56.
2019/07/13gpu仮想化最前線 #oscnagoya 56/67 qemu XMLのドメイン変更 ● libvirtのxml中にqemuコマンドを直書きできるようスキーマ を変更する –
<domain type='kvm'> から – <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0' >
57.
2019/07/13gpu仮想化最前線 #oscnagoya 57/67 qemu標準ビデオの無効化 ● videoタイプを標準のQXLからcirrusに変更する <video> <model
type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <video> <model type='cirrus' vram='16384' heads='1' primary='yes'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> ● インストール時点でcirrusにしてもよいが、解像度的な意味で初期インストールが辛 いため
58.
2019/07/13gpu仮想化最前線 #oscnagoya 58/67 qemu標準ビデオの無効化 ● xml末尾にqemuコマンドを追記し、標準ビデオのcirrusにわ ざと間違ったドライバを強制的にあてる <qemu:commandline> <qemu:arg
value='-set'/> <qemu:arg value='device.video0.driver=ne2k_pci'/> </qemu:commandline> ● libvirtの仕様でディスプレイあり/標準ビデオnoneにできない ため、わざとエラーを起こして標準ビデオを無効化するバッド ノウハウ ● QXLからcirrusにしたのはISA準拠だからできる裏技なので
59.
2019/07/13gpu仮想化最前線 #oscnagoya 59/67 qemu標準ビデオの無効化 ● 最新のlibvirtではこれで良くなった <video> <model
type='none'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> – 当然ドライバ指定も不要 ● ただし相当新しいlibvirtからっぽいので、ディストリによって は前述の裏技がまだ必要
60.
2019/07/13gpu仮想化最前線 #oscnagoya 60/67 Intel
iGPUの有効化 ● xml末尾にqemuコマンドを追記 <qemu:commandline> <qemu:arg value='-set'/> <qemu:arg value='device.video0.driver=ne2k_pci'/> <qemu:arg value='-set'/> <qemu:arg value='device.hostdev0.x-igd-opregion=on'/> </qemu:commandline> ● hostdevタグにdisplay=onを追加 <hostdev mode='subsystem' type='mdev' managed='yes' model='vfio-pci' display='on'>
61.
2019/07/13gpu仮想化最前線 #oscnagoya 61/67 ゲストを起動 ● 共有GPUはbiosROMを持たないため最初は画面が出ない ● しばらくしてWindowsドライバがgpuをつかめば表示される
62.
2019/07/13gpu仮想化最前線 #oscnagoya 62/67 ゲストを起動 ● もともとがintel
iGPUの上、能力70%なので性能はお察し ● とはいえVMWare WorkstationのGPU等は余裕で超える性能
63.
2019/07/13gpu仮想化最前線 #oscnagoya 63/67 ゲストを起動 ● 軽めの3Dゲームなら余裕で動きます ● アトリエとかアトリエとかアトリエとか
64.
2019/07/13gpu仮想化最前線 #oscnagoya 64/67 展示ブースの デモ機紹介
65.
2019/07/13gpu仮想化最前線 #oscnagoya 65/67 展示ブースのデモ機構成 ● DELL
Latitude E5470 – CPU: Intel Core i5 6200U – GPU: Intel UHD Graphics 520 – Mem: 8GB – OS: openSUSE Tumbleweed x86_64 – Kernel 5.1 – Qemu: 4.0 ● 解説したAndroid x86とWindows10ゲストを実際に動かして います
66.
2019/07/13gpu仮想化最前線 #oscnagoya 66/67 質疑応答とか
67.
2019/07/13gpu仮想化最前線 #oscnagoya 67/67 ありがとう ございました!
Download