スパコン上におけるリモートデスクトップソフトウェアの評価
尾形幸亮 1), 當山達也 1), 疋田淳一 1)
1) 京都大学 企画・情報部
ogata.kosuke.7c@kyoto-u.ac.jp

Evaluation of Remote Desktop Software on Supercomputer
Kosuke Ogata 1), Tatsuya Tohyama 1), Junichi Hikita 1)
1) Planning and Information Management Department, Kyoto University
概要
京都大学学術情報メディアセンターでは、スーパーコンピュータシステムでのプリポストソフトウ
ェア等の利用のために、GUI 環境およびリモートデスクトップソフトウェアを提供している。本稿では、リモートデスクトップソフトウェアの最新状況について、各種ソフトウェアの調査、検証の結果を紹介する。

1.

はじめに1 台のサーバを共同利用することを前提に開発されたため、描画命令で GUI を生成する機能（X ク

京都大学学術情報メディアセンター（以下、本ライアント）と、GUI を実際に描画する機能（X サセンター）では、全国の研究者に向けてスーパーーバ）が分かれており、それぞれ別のマシンで実コンピュータシステム[1]（以下、スパコン）を提行することが可能である。この機能を利用するこ供している。スパコンでは、Linux 上で GUI 環境とで、X サーバをユーザの手元の PC で実行し、を実現する X Window System により、プリポストスパコン上で動作する X クライアントから描画命

ソ フ ト ウェア 等 が 利用可 能 で ある。 X Window

令を受け取ることで、スパコンの GUI 環境を表示

System による GUI 描画を遠隔のユーザが受信すすることが可能となる。

るためには、対応するリモートデスクトップソフユーザが手元の PC から、遠隔地の Linux サートウェアが必要となるため、本センターではバへ接続する方法として、SSH が一般的に用いらOpenText 社の Exceed onDemand[2]を提供している。

れる。SSH は通信の暗号化機能と X Window System

スパコンで行われるプリポスト処理では、3D モの描画命令を転送する機能(X11 Forwarding)を有

デルをはじめとしたグラフィック処理が扱われるしており、ユーザは SSH クライアントと X サーバが、スパコンの性能向上に伴い扱うグラフィックを手元の PC に導入することで、リモートサーバ処理の負荷やデータ容量は増加傾向にあり、リモの GUI 環境を安全に手元で操作することが可能ートデスクトップソフトウェアの描画性能やデーとなる。

タ転送量の圧縮は重要な要素である。また、ウェ別の方式として、サーバ側で X Window System

ブブラウザをクライアントとすることで、専用のの描画を行い、描画結果をユーザの PC へ転送すクライアントを不要とするソフトウェアも存在しる、Virtual Network Computing（以下、VNC）ソフており、以前よりも利便性が向上してきている状トウェアがある。なお、VNC は暗号化機能を含ま況である。そこで、リモートデスクトップソフトないことが多く、アクセスコントロールはパスワ

ウェアの最新状況について、各種ソフトウェアのード認証であることが多いため、セキュアな通信調査、検証を実施した。本稿ではその結果を紹介を実現するには SSH の暗号化機能、公開鍵認証おする。

よびポートフォワーディングを併用する必要がある。

2.

リモートデスクトップソフトウェアの概要
Linux 上で GUI を使う場合は X Window Systemを利用するのが一般的である。X Window System は、プリポスト処理で扱う 3D モデルは、スパコンの性能向上に伴い大規模化、高精細化しており、リモートデスクトップソフトウェアの中には、通信プロトコルの最適化、データ圧縮、リモートサ

ーバに搭載した GPU を用いた 3D モデルのサーバ

表2

サーバの構成サイドレンダリングといった方法により描画性能CPU

Intel Xeon Gold 6140 2.30GHzを高める機能を備えているものがある。

メモリ

512GB
NVIDIA Quadro P4000

行うライブラリとして、オープンソースソフトウ

GPUOS

ェア（OSS）の VirtualGL[4]が公開されており、リネットワーク

Omni-Path (IPoIB)

また、3D モデルのサーバサイドレンダリングをモートデスクトップソフトウェアと併用することで 3D 描画性能を強化することも可能である。

3.2.

RedHat Enterprise Linux 7

評価対象ソフトウェア

機能面では、ウェブブラウザをクライアントと評価するリモートデスクトップソフトウェアとした公開鍵認証による接続に対応し、ユーザの利して、表 3 に示すソフトウェアを選出し、その特便性を向上させた製品が登場している。

徴を表 4 にまとめた。

3.

性能評価

3.1.

評価環境

ユーザにおける利便性を考慮し、Windows、macOS、Linux それぞれに対応しているマルチプ
ラットフォームなソフトウェアを中心に選んでい本センターのスパコンユーザは Windows または macOS を用いてスパコンに接続していることが多い。本稿では、Windows パソコンおよび GPUる。ただし、X11 Forwarding を利用するための X
サーバソフトウェアは、マルチプラットフォームを搭載したサーバを用いて、リモートデスクトッなものが無いため、Windows で利用可能な OSSプソフトウェアの性能評価を行った。パソコンおである VcXsrv を用いている。

よびサーバの構成を、表 1 および表 2 に示す。

表3
表1
CPUメモリ

Windows パソコンの構成
Intel Core i7 6600U 2.6GHz
16GB

GPU
OS
ネットワークIntel HD Graphics 520

Windows10 64bit
1000BASE-T

表4
ExceedonDemand

評価対象ソフトウェア及びバージョン
ソフトウェア

Exceed onDemand
FastX
NoMachine
Nice DCV
VcXsrv
TurboVNC

バージョン
8.6.1
3.0.47
6.8.1
2020.1
1.20.5.1
2.2.5

評価対象ソフトウェアの特徴

FastX[5]NoMachine[6]Nice DCV

VcXsrv[7]TurboVNC[8]Windows、対応 OS
クライアント

専用ソフト

暗号化
公開鍵認証

専用ソフト、ウェブブラウザ非対応（SSH の対応併用が必要）(SSH クライアント内蔵)
独自

データ圧縮

独自

セ ッ シ ョン のレジューム
ライセンス

クライアント側
対応
商用macOS、Linux

専用ソフト対応

通信方式

レンダリング

Windows

Windows、macOS、Linux

非対応（SSH の併用が必要）
非対応（SSH の併用が必要）
X11 Forwarding
SSH の圧縮オプション
サーバ側(GPU 使用)

クライアント側
非対応VNC (RFB)
独自
サーバ側(GPU 不使用)
対応

OSS

3.3.

表5

評価方法

x11perf のテスト項目

評価は、基本的な X プロトコルでの 2D 描画、テスト項目

概要

およびサーバサイドレンダリングによる OpenGL

64poly100complex

100x100 の 複 雑 なの 3D 描画について、実機測定を実施した。2D 描

64 角形を塗りつぶ

画のベンチマークには x11perf[9]を、3D 描画のベす。500x500 の領域

ンチマークには Unigine Valley[10]をそれぞれ使に 25 個同時に表示用した。Unigine Valley での測定の際は、サーバサ

polytext16

イドレンダリングの機能を持つ Nice DCV 以外で7/4/7 桁の行に 2 バ
イト文字を書くも GPU の性能を発揮できるよう、VirtualGL を用
copypixwin500いることで条件を揃えている。また，ネットワー

ピックスマップからクの使用状況を調査するため、各ベンチマーク試

ウ ィ ン ド ウ へ

験の実行時に、サーバ側で iftop コマンドを実行

500x500 の 正 方 形し、クライアントとの間の平均使用帯域幅を測定をコピーするした。

putimage500

各ソフトウェアによるサーバとの接続は、暗号

500x500 サ イ ズ のPutImage

化および公開鍵認証の実現のために、全て SSH を画像の使用している。非対応のソフトウェアについては、（サーバからクライ

SSH のポートフォワーディングを用いている。

アントマシンへの画

各ソフトウェアの表示品質の設定は、3D モデル

像転送）等の高精細な画面の効率的な転送を評価する観点

shmput500から画質は最高設定とし、その上でデータ転送量

MIT 共 有 メ モ リ 拡
張命令を用いた、を測るために全ての転送データが圧縮される設定とした。なお、VcXsrv については、本体は圧縮機500x500 サイズの画能をサポートしないため、SSH の圧縮オプション

像の PutImageを併用した。その他のソフトウェアについては、本体の圧縮機能を利用し、SSH の圧縮オプションは使用していない。
以下、実施したベンチマークについて、詳細を示す。

3.4.

測定結果

表 5 に示した x11perf のテスト結果を図 1 に示す。縦軸がスコア(描画回数/秒)であり、横軸が各評価対象のソフトウェアである。なお、VcXsrv は、

x11perf:

表 5 に示すテスト項目を実行した。実行結果

MIT 共有メモリ拡張命令に対応していないため、shmput500 は測定していない。
図 2 に 2D 描画の転送に要した平均使用帯域幅は描画回数/秒の形で得られる。また、測定はを示す。縦軸は平均使用帯域幅であり、単位は MB/3 セット行い、測定結果はその平均値とした。

秒である。
Unigine Valley でのフレームレートの測定結果を

Unigine Valley:

図 3 に示す。縦軸が平均フレームレート(単位はOpenGL を用いて 3D の風景を描画し、平均Frames Per Second)、横軸が評価対象の各ソフトウフレームレートを測定するものである。ベンェアである。
図 4 に 3D 描画の転送に要した平均使用帯域幅

チマークオプションは Basic Preset (解像度を示す。縦軸が平均使用帯域幅であり、単位はは 1280x720)とした。また、測定は 3 セットMB/秒である。横軸が評価対象の各ソフトウェア行い、測定結果はその平均値とした。

である。

64poly100complex(回/秒)

copypixwin500

polytext16

150,000

1,500,000

67
829,000

104,333
93,30086,633100,000

1,106,6

983,667

112,000

1,000,000

59,03352,33350,000829,667

767,667
634,333

25,00020,000 17,067
15,0000

shmput500
15,000

5,437

4,990

Exceed onDemand

12,167
11,833

5,820

6,000

10,000FastX
11,133NoMachine

7,407

Nice DCV4,000
2,447

2,000

VcXsrv

5,000

1,38360

0TurboVNC

0

図1(MB/秒)
3264poly100complex
21.97

copypixwin500

polytext16
31.42

0.10 0.17

310.16 0.13

0.15

00.38
0.03

0.20

0.01

shmput500
53.39
2.48

30.11

20.47

0.66

0.31

0NoMachine

3Nice DCV
VcXsrv
0.72
0.05

0.06

0.29

0

図20.29

FastX

4.16

4

10.06

Exceed onDemand

20.74

0.01

0putimage500
52.30

40.60 0.68

1053.70

42.58

20.62

0.35

x11perf のスコア

211

VcXsrv(ssh圧縮あり)

1,053

46

3,2200putimage500
8,000

11,167

7,337

5,000

165,667

0

11,833

10,000500,000
18,233

19,567
18,633x11perf 実行中の平均使用帯域幅

VcXsrv(ssh圧縮あり)
TurboVNC

(FPS)
70

63.8

60

54.0

50

43.4

39.4

40

33.6

30
20

14.5

12.0

100
ExceedFastX

NoMachine

Nice DCV

VcXsrv

onDemandTurboVNC(ssh圧縮あり)

図3

Unigine Valley のフレームレート(MB/秒)

49.3

25
20

VcXsrv

16.80

16.30

15
10

7.78

7.21

5

1.87

1.490
ExceedFastX

NoMachine

Nice DCV

VcXsrv

onDemand

VcXsrv

TurboVNC(ssh圧縮あり)

図4Unigine Valley の平均使用帯域幅ことを意味する。このことから、両ソフトウェア

4.

考察

4.1.

2D 描画性能および転送性能

2D の描画性能ならびに転送性能について、図 1は文字主体のアプリケーションに強みがあると言える。
平均使用帯域幅については、図 2 より、VcXsrv

および図 2 の測定結果を用いて考察する。

は SSH の圧縮を併用しない場合、Exceed onDemand

4.1.1.

併用した場合、Exceed onDemand と同等程度の帯

Exceed onDemand および VcXsrvに対して約 6～111 倍の帯域を消費するが、圧縮を

図 1 より、両ソフトウェアは、文字の描画速度域幅となっていることが分かる。なお、VcXsrv はを測る polytext16 のスコアが平均を上回っている

圧縮を併用することで最大約 9％スコアが低下しことが分かる。また、copypixwin500 でも両ソフトている。

ウェアが上位となっていることが分かる。

VcXsrv は 、 図 形 の 描 画 速 度 を 測 る

copypixwin500 は作業領域である pixmap から描画

64poly100complex でも Nice DCV や TurboVNC にを反映する window へのコピーを測定するもので次ぐスコアとなっており、ベクタ画像の描画は高あり、スコアが高いほど描画を高速に更新できる速であることが分かる。一方、putimage500 によるビットマップ画像の描画は非常に低速であり、可一方、図 4 の平均使用帯域幅では、Nice DCV が視化等の、ビットマップ画像の転送が多く発生す最も低く 1.49MB/秒となっている。また、FastX がる用途には不向きと言える。

1.87MB/秒となっており、3D 描画での帯域幅は低4.1.2. FastX
図 1 より、FastX はどのテスト項目でも極端に性能値が低いものは無いことが分かる。その一方で、図 2 より平均使用帯域幅は polytext16 を除く項目で高く、約 1.4～4.2MB/秒となっており、ネットワーク帯域は他のソフトよりも多く消費することが分かる。なお、上記の測定では、画質を最高設定とするために、FastX のオプション項目の Imageく抑えられている。一方で NoMachine は 7.21MB/秒、TurboVNC は 16.80MB/秒となっており、高いフレームレートを維持するためには高い帯域幅が必要となる。以上から、Nice DCV や FastX が、高フレームレートと低帯域幅を両立しており、3D アプリケーションの描画に強みがあると言える。

5.

おわりにQuality を最高の Highest としたが、最低の Very Low

今回の調査により、最新のリモートデスクトッに設定した場合は、平均使用帯域幅が約 23～39%

プソフトウェアについて、2D および 3D の描画速抑制されることを別途検証している。また、品質度および使用帯域幅の比較結果が得られた。の設定を自動にしておくことで、ネットワーク環今後、ウェブブラウザによる接続や公開鍵認証境に応じた調整が行われる機能は備えている。

対応等の面で利便性が高く、性能面でもバランス

4.1.3. NoMachine
図 1 より、画像の転送速度を測る putimage500や shmput500 について、上位のスコアとなっていることが分かる。また、図 2 より、shmput500 において NoMachine の平均使用帯域幅が 0.06MB/秒となっており、少ないデータ量で多くの転送が可能の良い FastX、および単独で GPU を使用する機能を持ち特に 3D 描画性能に優れる Nice DCV について、スパコンへの試験導入を進め、ユーザへ提供することを通じて、運用面の検証を行っていく予定である。

参考文献となっていることが分かる。一方で、
64poly100complex、polytext16、copypixwin500 のスコアが低く、文字やベクタ画像の描画はあまり高速ではないことが分かる。このことから、
NoMachine はビットマップ画像の転送を多用するアプリケーションに強いと言える。
4.1.4.

Nice DCV および TurboVNC

図 1 より、サーバサイドで描画を行う Nice DCVおよび TurboVNC は、スコアが全般的に高くなっていることが分かる。また、図 2 より、平均使用帯域幅も他のソフトウェアと比較して全般的に抑えられていることが分かる。このことから、2D 描画に関してはサーバサイドレンダリングを行っている Nice DCV や TurboVNC の性能が高いと言える。
4.2.

3D 描画性能および転送性能

3D の描画性能ならびに転送性能について、図 3および図 4 の測定結果を用いて考察する。
図 3 より、フレームレートは Nice DCV が最も高い 63.8FPS で、次点で TurboVNC の 54.0FPS となっている。続いて FastX の 43.4FPS、NoMachineの 39.4FPS となっている。

[1]

京都大学学術情報メディアセンター
スーパーコンピュータシステム
http://www.iimc.kyoto-u.ac.jp/ja/services/comp/superc
omputer (2020 年 9 月 28 日閲覧)
[2] OpenText Exceed onDemandhttps://www.macnica.net/opentext/eod.html/(2020 年 9 月 28 日閲覧)
[3] Nice DCV – AWS https://www.nice-software.com/(2020 年 9 月 28 日閲覧)
[4] VirtualGL https://www.virtualgl.org/(2020 年 9 月 28 日閲覧)
[5] FastX - StarNet Communications
https://www.starnet.com/fastx/(2020 年 9 月 28 日閲覧)
[6] NoMachine – NX technology
https://www.nomachine.com/(2020 年 9 月 28 日閲覧)
[7] VcXsrv https://sourceforge.net/projects/vcxsrv/(2020 年 9 月 28 日閲覧)
[8] TurboVNC
https://www.turbovnc.org/(2020 年 9 月 28 日閲覧)
[9] x11perf https://www.x.org/releases/X11R7.7/doc/man/
man1/x11perf.1.xhtml (2020 年 9 月 28 日閲覧)
[10] Valley – Unigine Benchmarks
https://benchmark.unigine.com/valley(2020 年 9 月 28 日閲覧)