🖥️

[論文紹介] リソース使用量が高いタスクにおけるPCoIPとRDPのパフォーマンス比較

2020/10/20に公開

前回のエントリー「VMware Horizon 6におけるRDP 8.0とPCoIPの比較」では、取り上げた論文の検証内容の妥当性について疑問を感じました。そこで、PCoIPとRDPの性能比較をしている別の論文を取り上げてみます。今回取り上げる論文は2014年にMikhail Makarov、Prasad Calyam、A. M. Sukhovによって執筆された『Time-based criteria for performance comparison of resource-intensive user tasks in virtual desktops』です。この論文も前々回のエントリーで取り上げた論文を参照しています。

この論文では、VDIのユーザ体験は通信プロトコルに大きく依存し、シンクライアント・プロトコルのパフォーマンス測定は、サーバとクライアント間のCPU、メモリ、ネットワーク帯域などの複合的な要素の分析が必要であると前提を示しています。

In this paper, we create a novel method and a "VDtest" benchmarking toolkit for comparing the performance of common thin-client protocols such as RDP (Remote Desktop Protocol) and PCoIP (PC-over-IP) for resource intensive user tasks involved in graphics-based applications, using a set of "time-based criteria"...(この論文では、筆者はRDPとPCoIPのような一般的なシンクライアント・プロトコルのパフォーマンス比較をするために、新しい測定方法と「VDtest」というベンチーマーク・ツールキットを作成した。この測定では、グラフィックス・ベースのアプリケーションを使用し、リソース使用量の大きいタスクを実行させ、「時間ベースの評価基準」を用いる・・・)

と書いてあるように、「VDtest」というベンチーマーク・ツールを作成して検証を行ったということです。

具体的には、Excelベースのアプリケーションで画像処理の負荷をかけるわけですが、単純に仮想デスクトップ上で負荷をかけるだけでなく、その前の処理として仮想デスクトップにタスク対象データをダウンロードし、アプリケーションが画像処理を行い、処理結果がクライアント側に描画されて表示されるという一連の処理について、それぞれのタスク処理時間とリソース使用量を比較しています。

画像処理系のタスクを選んだのは、先行研究でオフィス系アプリの負荷について研究されていたのに対して、研究の余地があると考えたからだそうです。

仮想デスクトップのOSはWindows XPを使用し、通信プロトコルはPCoIPとRDPですが、RDPの方はQuest SoftwareのRDPとVMwareのRDPの2種類を使っています(PCoIP 1種類とRDP 2種類の合計3種類)。

今回の検証では、クライアント端末に接続されたUSB接続のフラッシュ・ドライブを、USBリダイレクションで仮想デスクトップ側に見えるようにして、そのフラッシュ・ドライブの中の非圧縮画像ファイルを仮想デスクトップ上に読み出し、Excel上でJPEGの変換/圧縮処理をかけ、画像をクライアント画面に表示します。

VDtestを使用した検証結果の分析です。

PCoIP in each case exhibits the least run-times than either RDP VMware and RDP Quest...(PCoIPはRDP VMwareとRDP Questと比べても最も少ない実行時間を示した)

実行時間ベースで見ると、PCoIPはRDPを上回ったということです。

we conclude that the main dominant criterion component is clearly the video output time t2(筆者は、実行時間のメインの支配的基準要素はビデオ出力時間t2であると結論付けました)

PCoIPとRDPの実行時間ベースで差がついたのは、仮想デスクトップの画像をクライアント画面に表示する部分で、この部分で数秒差の違いが生じています。それ以外の、クライアントから仮想デスクトップへの画像ファイルアップロードや、仮想デスクトップ上での画像処理自体には大きな差は生じていません。

一方で、リソース使用量を見ると、別の側面も見えてきます。PCoIPを使った時だけCPU使用率がほぼ100%に張り付き、RDPを使った時は両者とも50%前後にとどまったという点です。これに関して筆者は以下のように記述しています。

in comparison to the family of RDP protocols, the PCoIP shows aggressive yet efficient use of CPU, network bandwidth and RAM resources in the context of resource-intensive user tasks in virtual desktops.(RDPと比較してPCoIPは、仮想デスクトップのリソース使用量の激しいユーザ・タスクの実行において、CPU、ネットワーク帯域、RAMを積極的かつ効率的に使っている)

筆者としては、PCoIPの方がリソースをより使用しているが、その分だけ実行時間が短く、使えるリソースを効率的に使っていると判断したようです。

以上が論文の内容です。私なりにまとめると、

  1. 仮想デスクトップの通信プロトコルのパフォーマンス比較では、仮想デスクトップ上でのタスクだけでなく、仮想デスクトップへのデータのアップロード、仮想デスクトップ画面のクライアントへの表示など複合的な要素が含まれるが、特にパフォーマンス観点でPCoIPとRDPで差が生じたのは、仮想デスクトップ画面のクライアントへの表示の部分だった
  2. リソース使用率の観点で見ると、PCoIPの方がRDPよりも高く、CPU使用率が100%近くに張り付くことがあったが、PCoIPの方が所要時間が短く、リソースをより有効活用する特性があると判断できる

ということです。

前回のエントリーの論文で考慮が不十分だと感じた、ネットワーク転送処理とリソース使用量の観点も評価・分析項目に組み込んでいる点で、前々回のエントリーの論文の内容を正当な形で発展させた論文という印象を受けました。この論文は最初に書いたように2014年に執筆されているので、前回のエントリーの筆者も2017年に論文を執筆する前に、先行研究・類似研究を調査していれば、論文としての完成度を上げられたのではないかと感じます。

この論文は仮想デスクトップに関わるパフォーマンス測定ポイントをより包含的にカバーし、短いながらも計測結果を分析も見るべきものがあり、良い論文だと思います。VDtestの処理している様子など動画などで見てみたいと思いました。

なお、この論文で検証した内容は、画像処理系のプログラムを実行し、デスクトップ画面の変化量が大きなタスクで評価した場合であり、オフィス系アプリを使った場合とは状況が異なること、検証に使っているPCもWindows XPで、RDPのプロトコルもかなり古いこと等を考慮すると、PCoIPが常にRDPに優位するという話ではないと思います。

Discussion