JP2018147257A - 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム - Google Patents

仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム Download PDF

Info

Publication number
JP2018147257A
JP2018147257A JP2017041973A JP2017041973A JP2018147257A JP 2018147257 A JP2018147257 A JP 2018147257A JP 2017041973 A JP2017041973 A JP 2017041973A JP 2017041973 A JP2017041973 A JP 2017041973A JP 2018147257 A JP2018147257 A JP 2018147257A
Authority
JP
Japan
Prior art keywords
performance score
virtual machine
virtual
performance
graphic
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2017041973A
Other languages
English (en)
Other versions
JP6870390B2 (ja
Inventor
上田 雅之
Masayuki Ueda
雅之 上田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Priority to JP2017041973A priority Critical patent/JP6870390B2/ja
Publication of JP2018147257A publication Critical patent/JP2018147257A/ja
Application granted granted Critical
Publication of JP6870390B2 publication Critical patent/JP6870390B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】仮想基盤ホストと端末とのリソースを含む全体的なリソースを効率的に使用できるようにする。【解決手段】接続管理サーバ1Aは、仮想基盤ホストにおける仮想マシンを利用する複数の端末7,8とに通信可能に接続され、端末7,8による仮想マシンの利用要求または利用終了が生じたときに、仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと端末の性能スコアである第2の性能スコアとを比較する性能比較手段2と、性能比較手段2が第1の性能スコアよりも第2の性能スコアの方が高いと判定した場合には端末7,8のリソースを使用することに決定し、性能比較手段2が第2の性能スコアよりも第1の性能スコアの方が高いと判定した場合には仮想マシンのリソースを使用することに決定する切替決定手段3とを備えている。【選択図】図5

Description

本発明は、仮想基盤に構築された仮想マシンのリソースと端末のリソースとを効率的に使い分ける、仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラムに関する。
仮想基盤技術は、例えば、1台のサーバ等の計算機上に複数の仮想サーバ(仮想マシン)を構築する技術である。以下、複数の仮想マシンが構築された計算機を、仮想基盤ホストという。
図8は、仮想基盤にもとづくシステムの一例を示すブロック図である。仮想基盤ホスト200には、複数の仮想マシン21〜21が構築されている。
ハイパーバイザ30は、仮想基盤ホスト200における物理リソース(ハードウェア)40の制御を担う。ハイパーバイザ30は、仮想マシン21〜21のいずれかからハードウェア40の使用が要求されると、リソース制御を行う。すなわち、ハイパーバイザ30は、実際のハードウェアリソースの割り当てを行う。ハイパーバイザ30のリソース制御によって、仮想マシン21〜21のうちの複数の並列稼働も可能である。
図8に示すシステムでは、仮想基盤ホスト200にクライアント100が通信可能に接続されている。例えば、クライアント100(一例として、パーソナルコンピュータ)のユーザが、Windows (登録商標)OS(Operating System)等に標準的に搭載されているリモートデスクトップ接続機能を用いて、仮想マシンマシン21〜21のデスクトップを遠隔から操作することによって、操作結果としての画面や音声等をクライアント100で得ることができる。
また、GPU(Graphics Processing Unit)の仮想化も行われている。図9は、仮想GPUを使用するシステムの一例を示すブロック図である。図9には、複数のクライアント100〜100が示されている。また、仮想マシン21にインストールされているOS22、アプリケーションプログラム(ユーザアプリケーション)23およびグラフィックドライバ24も示されている。
仮想基盤ホスト201には、ハードウェア40として、GPU(GPUコアおよびGPU用メモリ)41が搭載されたGPUボードが実装されている。仮想マシン21で要求される画像処理(グラフィック処理)を、GPU41が担うことによって、仮想マシン21におけるユーザアプリケーション23が要求する高いグラフィック処理性能が実現される。このことは、仮想マシン21以外の仮想マシンについても同様である。
複数の仮想マシン21〜21へのハードウェアリソースの割り当ては、例えば、GPU用メモリを複数のメモリ領域に分割し各々のメモリ領域を各々の仮想マシン21〜21に1対1に対応付けるように固定的に割り当てる方法による。いわゆるGPU仮想化方式が用いられる。GPU仮想化方式として、例えば、NVIDIA社が提供するNVIDIA GRID (登録商標)にもとづくvGPU(仮想GPU)がある。
また、図9に示すように、クライアント100〜100と仮想基盤ホスト200との間に接続管理サーバ500を介在させたシステムもある。クライアント100〜100は、接続管理サーバ500を介して、空いている仮想マシン21〜21に自動的にログインできる。
ユーザが例えばクライアント100から仮想マシン21のOS22にログインし、ユーザアプリケーション23を利用して画面描画などのグラフィック処理の実行を望む場合、仮想マシン21は、グラフィックドライバ24を介して、グラフィックドライバ24に割り当てられた仮想GPU41に対する処理要求をハイパーバイザ30に対して行う。
特開2003−36435号公報
クライアント100〜100として、デスクトップパーソナルコンピュータ(PC)、ノートPC、タブレット端末、スマートフォンなど種々の端末が使用されうる。それらに実装されているメモリ、CPU数、GPU数等は様々である。また、それらのグラフィック性能も異なる。さらに、1台の仮想基盤ホスト201に実装できるメモリ、CPU数、GPU数には限りがある。従って、仮想基盤ホスト201で稼働できる仮想マシン21〜21の数には上限がある。一方で、仮想マシン21〜21の側で3D CAD(Computer Aided Design )などのグラフィックアプリケーションが実行されている場合には、クライアント側の使用リソースには余裕があることが多い。
よって、複数のクライアント100〜100が仮想基盤ホスト201を使用する環境では、限られたリソースの下で、ユーザ全員のアプリケーションの実行速度を維持または向上させることが望まれる。また、ユーザの利便性と作業効率を挙げることが要請される。
上記の要請は、例えば、仮想基盤ホスト200,201のリソースとクライアントのリソースとを効率的に使用することによって実現可能である。
特許文献1には、端末装置(具体的には、ディジタルスチルカメラ)と、端末装置と通信可能な外部サーバとのいずれかで画像処理を行うことが可能なシステムにおいて、画像サイズ、双方のメモリサイズおよび双方の画像処理時間にもとづいて、いずれで画像処理を行うべきかを決定することが記載されている。
しかし、特許文献1では、1台の物理的な外部サーバと1台の端末装置との関係しか論じられていない。複数の端末装置および外部サーバ間でのリソースの割り当てに関する概念は、特許文献1には存在しない。なお、特許文献1には「仮想マシン」という表現があるが、特許文献1に記載された端末装置と外部サーバとの双方において、「仮想マシン」は1つしか存在しない。
本発明は、仮想基盤ホストに複数の端末が通信可能に接続されるシステムにおいて、仮想基盤ホストと端末とのリソースを含む全体的なリソースを効率的に使用できるようにすることを目的とする。
本発明による仮想基盤にもとづくシステムにおけるリソース割当方法は、複数の仮想マシンが構築された仮想基盤ホストにおける仮想マシンを複数の端末が利用する仮想基盤にもとづくシステムにおけるリソース割当方法であって、端末による仮想マシンの利用要求または利用終了が生じたときに、仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと端末の性能スコアである第2の性能スコアとを比較し、第1の性能スコアよりも第2の性能スコアの方が高い場合には端末のリソースを使用することに決定し、第2の性能スコアよりも第1の性能スコアの方が高い場合には仮想マシンのリソースを使用することに決定することを特徴とする。
本発明による接続管理サーバは、複数の仮想マシンが構築された仮想基盤ホストと、仮想基盤ホストにおける仮想マシンを利用する複数の端末とに通信可能に接続される接続管理サーバであって、端末による仮想マシンの利用要求または利用終了が生じたときに、仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと端末の性能スコアである第2の性能スコアとを比較する性能比較手段と、性能比較手段が第1の性能スコアよりも第2の性能スコアの方が高いと判定した場合には端末のリソースを使用することに決定し、性能比較手段が第2の性能スコアよりも第1の性能スコアの方が高いと判定した場合には仮想マシンのリソースを使用することに決定する切替決定手段とを備えたことを特徴とする。
本発明による接続管理プログラムは、複数の仮想マシンが構築された仮想基盤ホストと、仮想基盤ホストにおける仮想マシンを利用する複数の端末とに通信可能に接続される接続管理サーバに、端末による仮想マシンの利用要求または利用終了が生じたときに、仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと端末の性能スコアである第2の性能スコアとを比較する処理と、性能比較手段が第1の性能スコアよりも第2の性能スコアの方が高いと判定した場合には端末のリソースを使用することに決定し、性能比較手段が第2の性能スコアよりも第1の性能スコアの方が高いと判定した場合には仮想マシンのリソースを使用することに決定する処理とを実行させることを特徴とする。
本発明によれば、仮想基盤ホストと端末とのリソースを含む全体的なリソースを効率的に使用できる。
仮想基盤にもとづくシステムの一実施形態を示すブロック図である。 仮想マシンのグラフィック性能スコアとクライアントのグラフィック性能スコアとの一例を示す説明図である。 あるクライアントが仮想マシンに対する接続要求を行ったときのシステムの動作を示すフローチャートである。 あるクライアントが仮想マシンに対する接続解除要求(接続終了)を行ったときのシステムの動作を示すフローチャートである。 接続管理サーバの主要部を示すブロック図である。 他の態様の接続管理サーバの主要部を示すブロック図である。 さらに他の態様の接続管理サーバの主要部を示すブロック図である。 仮想基盤にもとづくシステムの一例を示すブロック図である。 仮想GPUを使用するシステムの一例を示すブロック図である。
以下、本発明の実施形態を図面を参照して説明する。
図1は、仮想基盤にもとづくシステムの一実施形態を示すブロック図である。
図1に示すシステムは、クライアント10〜10、仮想サーバ等の仮想基盤ホスト20、および接続管理サーバ50を含む。クライアント10〜10と接続管理サーバ50とは通信ネットワークを介して通信可能に接続される。仮想基盤ホスト20と接続管理サーバ50とは通信ネットワークを介して通信可能に接続される。
クライアント10〜10は、例えば、デスクトップPC、ノートPC、タブレット端末、スマートフォンである。
図1には、クライアント10〜10のうちクライアント10の内部構成例が示されている。なお、クライアント10以外のクライアントの構成は、クライアント10の構成と同じでよい。図1に示すように、クライアント10は、OS12、グラフィックドライバ14、物理的なハードウェア15、グラフィック処理切替部16、および通信処理部17を含む。クライアント10には、3D CADや3D CG(Computer Graphics )等のユーザアプリケーション13がインストールされている。
図1に示す例では、ハードウェア15は、CPU、RAM(Random Access Memory)等のメモリ、HDD(Hard Disk Drive )およびGPUを含む。
グラフィック処理切替部16は、グラフィック処理の実行環境を切り替えるための処理を実行する。通信処理部17は、接続管理サーバ50とデータの送受信を行う。また、通信処理部17は、接続管理サーバ50から、グラフィック処理の切替通知を受信する。
仮想基盤ホスト20には、複数の仮想マシン21〜21が構築されている。ハイパーバイザ30は、仮想基盤ホスト100におけるハードウェア40の制御を担う。ハイパーバイザ30は、仮想マシン21〜21のいずれかからハードウェア40の使用が要求されると、リソース制御を行う。すなわち、ハイパーバイザ30は、実際のハードウェアリソースの割り当てを行う。
仮想基盤ホスト20は、OS22、グラフィック処理切替部26、および通信処理部27を含む。グラフィック処理切替部26は、グラフィック処理の実行環境を切り替えるための処理を実行する。通信処理部27は、接続管理サーバ50とデータの送受信を行う。また、通信処理部27は、接続管理サーバ50から、グラフィック処理の切替通知を受信する。
図3に示す例では、仮想基盤ホスト20には、ハードウェア40として、GPU(GPUコアおよびGPU用メモリ)41が搭載されている。仮想マシン21で要求される画像処理(グラフィック処理)を、GPU41が担うことによって、仮想マシン21における3D CADや3D CG等のユーザアプリケーション23が要求する高いグラフィック処理性能が実現される。このことは、仮想マシン21以外の仮想マシンについても同様である。
複数の仮想マシン21〜21へのGPUのリソースは、例えば、GPU用メモリを複数のメモリ領域に分割し各々のメモリ領域を各々の仮想マシン21〜21に1対1に対応付けるように固定的に割り当てられる。
例えば、ユーザが仮想マシン21のOS22にログインした後、ユーザアプリケーション23が画面描画などのグラフィック処理を実行する場合には、仮想マシン21は、ハードウェア40を制御するハイパーバイザ30に対して、GPU41を仮想的に分割して自身に割り当てられた仮想GPU42に対する処理要求を行う。
接続管理サーバ50は、通信処理部51、グラフィック性能データベース52、グラフィック処理切替判定部53、および接続セッション管理部54を含む。
通信処理部51は、仮想基盤ホスト20およびクライアント10〜10とデータの送受信を行う。グラフィック性能データベース52は、クライアント10〜10のグラフィック性能スコアと仮想マシン21〜21のグラフィック性能スコアとを記憶する。グラフィック処理切替判定部53は、グラフィック処理を、クライアント10〜10で実行すべきか仮想マシン21〜21で実行すべきかを決定する。接続セッション管理部54は、現在の仮想マシンの接続数を示す情報、どの仮想マシンが稼働しているのかを特定するための情報、および、クライアントに接続されている仮想マシンに関していずれの側でグラフィック処理が実行されているのかを示す情報を、記憶部に接続情報として保持する。
接続管理サーバ50において、通信処理部51(通信用インタフェースを除く。)、グラフィック処理切替判定部53、および接続セッション管理部54(記憶部を除く。)は、ROM(Read Only Memory)等の記憶部に記憶されたプログラムやRAM等の記憶部にロードされたプログラムに従って処理を実行するCPU(Central Processing Unit )で実現可能である。
次に、グラフィック性能スコアとグラフィック性能スコアとにもとづくリソースの割り当て方法を説明する。
例えば、クライアント10から仮想マシンに対する接続要求が行われる場合、クライアント10の通信処理部17は、クライアント10の仕様を示す情報(スペック情報)として、CPUコア数、CPUクロック速度、メモリ速度、メモリ容量、HDDアクセス速度、GPUメモリ速度、GPUメモリ容量、GPUコア数、GPUクロック速度、OSのバージョン等を収集し、それらの情報を接続管理サーバ50に通知する。
接続管理サーバ50において、通信処理部51は、クライアント10からの接続要求とクライアント10のスペック情報を受信する。グラフィック処理切替判定部53は、グラフィック性能データベース52に予め保存されているリストから、同一または最も類似するスペックのクライアントグラフィック性能スコアを取得する。
グラフィック性能スコアは、予め、ベンチマークソフトウェアを使用してベンチマークテストを行うことによって得られる。グラフィック性能に関する最も一般的なベンチマークソフトウェアとして、国際的な非営利団体Standard Performance Evaluation Corporation (SPEC)が提供するSPECviewperfがある。Webで一般公開されている実行機器のスペックとSPECviewperfによるベンチマークテストの結果とがある場合には、それらをデータベースに取り込んでもよい。
クライアント10〜10のグラフィック性能とは別に、仮想マシン21〜21のグラフィック性能スコアも予め算定される。仮想マシン21〜21のグラフィック性能スコアは、例えば、クライアント10〜10のグラフィック性能を取得したときに用いられたベンチマークソフトウェアを仮想マシン21〜21で実行することによって算定される。ただし、各仮想マシン21〜21の各々は、全てのリソースを使用可能であるが、仮想基盤ホスト20において複数の仮想マシンが稼働する場合には、GPUコア、およびやGPU/CPU/メモリ/HDD間の各通信バス等が共有される。よって、複数の仮想マシンが稼働するときには、グラフィック性能スコアは、単一の仮想マシンが稼働したときのグラフィック性能スコアよりも劣化する。
そして、同時に稼働する仮想マシンの数が増えるほど、グラフィック性能スコアは、単一の仮想マシンが稼働したときのグラフィック性能スコアよりもより劣化する。よって、ベンチマークテストを実行する際に、仮想マシンの同時稼働数を変更し、仮想マシンの同時稼働数に応じたグラフィック性能スコアが予め取得され、それぞれが、グラフィック性能データベース52に格納される。
また、接続セッション管理部54は、現在の仮想マシンの接続数(いずれかの仮想マシン21〜21を利用しているクライアントの数に相当)の情報を保持している。グラフィック処理切替判定部53は、接続している各クライアント(いずれかの仮想マシン21〜21を利用しているクライアント)および新規に接続要求したクライアントのグラフィック性能スコアと、接続セッション管理部54に保持されている現在の仮想マシンの接続数に応じた仮想マシンのグラフィック性能スコアとを比較する。
なお、仮想基盤ホスト20において、各仮想マシン21〜21には固定的に均等にハードウェアリソースが割り振られているとする。従って、各々の仮想マシンの接続数について、各仮想マシン21〜21のグラフィック性能スコアは同じである。
ただし、各仮想マシン21〜21に不均等にハードウェアリソースが割り振られていたり、各仮想マシン21〜21に対して動的にハードウェアリソースが割り振られる場合には、仮想マシン21〜21ごとに、グラフィック性能スコアが算出されるようにしてもよい。
現在の仮想マシンの接続数における仮想マシンのグラフィック性能スコアの方が大きい場合には、通信処理部51は、仮想マシン側のリソースを使用してグラフィック処理を行うように、仮想マシンとその仮想マシンに接続されているクライアントに通知する。すなわち、通信処理部51は、仮想マシン側でグラフィック処理を行う(クライアント側でグラフィック処理を行わない。)指示を含む切替通知を行う。クライアントのグラフィック性能スコアの方が大きい場合には、通信処理部51は、クライアント側のリソースを使用してグラフィック処理を行うように、仮想マシンとその仮想マシンに接続されているクライアントに通知する。すなわち、通信処理部51は、クライアント側でグラフィック処理を行う(仮想マシン側でグラフィック処理を行わない。)指示を含む切替通知を行う。なお、以前の比較結果と変わらない場合には、通信処理部51は、通知を行わないようにしてもよい。その場合には、クライアントと仮想マシンとにおけるグラフィック処理の分担の状態は維持される。
なお、通信処理部51の仮想マシンに対する切替通知は、具体的には、切替対象の仮想マシンを特定可能な情報を仮想基盤ホスト20に送信することによって実現される。
一例として、クライアント10〜10のうちのクライアントA,B,Cが、仮想マシン21〜21のうちの仮想マシンX,Y,Zに接続されている状態で、クライアントDが新規に接続要求したクライアントとして、仮想マシンWに接続される場合を想定する。そのような状況では、接続セッション管理部54は、クライアントA,B,C,Dのそれぞれのグラフィック性能スコアと、接続数が「4」である場合の仮想マシンのグラフィック性能スコアとを、グラフィック性能データベース52から入手する。
例えば、クライアントA,C,Dについては、仮想マシンのグラフィック性能スコアよりもグラフィック性能スコアが高い場合には、通信処理部51は、クライアントA,C,Dと仮想マシンX,Z,Wとに対して、クライアントA,C,D側のリソースを使用してグラフィック処理を行うように通知する。ただし、一例として、直近に通知がなされたときにクライアントCのグラフィック性能スコアの方が仮想マシンのグラフィック性能スコアよりも既に高かった場合には、通信処理部51は、通知を行わない。
仮想マシンのグラフィック性能スコアの方がクライアントBのグラフィック性能スコアよりも高かった場合には、通信処理部51は、クライアントBと仮想マシンYとに対して、仮想マシン側のリソースを使用してグラフィック処理を行うように通知する。この場合にも、直近に通知がなされたときに仮想マシンのグラフィック性能スコアの方がクライアントBのグラフィック性能スコアよりも既に高かった場合には、通信処理部51は、通知を行わない。
なお、仮想マシンのグラフィック性能スコアとクライアントのグラフィック性能スコアとが等しい場合には、例えば、クライアントと仮想マシンとにおけるグラフィック処理の分担の状態が維持されるように、通信処理部51は、通知を行わない。
図2は、仮想マシンのグラフィック性能スコアとクライアントのグラフィック性能スコアとの一例を示す説明図である。図2に示す例では、接続数が「1」である(稼働数が「1」である)ときの仮想マシンのグラフィック性能スコアが100で、接続数が「6」であるときのグラフィック性能スコアが80、接続数が「8」であるときのグラフィック性能スコアが40である。また、クライアントAのグラフィック性能スコアは80であり、クライアントDのグラフィック性能スコアは40である。
図2に示す例では、接続数が「6」を越えると、クライアントAについては、クライアントA側でリソースを使用してグラフィック処理が行われる状態に切り替えられる。また、接続数が「8」を越えると、クライアントDについては、クライアントD側でリソースを使用してグラフィック処理が行われる状態に切り替えられる。すなわち、グラフィック処理の実行環境の切り替えが行われる。
切替通知がクライアントでの実行を指示している場合、クライアントにおいて、通信処理部17が切替通知を受信すると、グラフィック処理切替部16は、自クライアントがグラフィック処理を実行する状態に設定する。そのような設定の下のクライアントでは、画面描画などのグラフィック処理が行われる場合に、ユーザアプリケーション13は、グラフィックドライバ14を介して、GPUなどのハードウェアに処理を要求する。また、仮想基盤ホスト20において、通信処理部27が切替通知を受信すると、グラフィック処理切替部26は、そのクライアントに接続されてる仮想マシンがグラフィック処理を実行しない状態に設定する。
切替通知が仮想マシンでの実行を指示している場合、クライアントにおいて、通信処理部17が切替通知を受信すると、グラフィック処理切替部16は、自クライアントがグラフィック処理を実行しない状態に設定する。また、仮想基盤ホスト20において、通信処理部27が切替通知を受信すると、グラフィック処理切替部26は、そのクライアントに接続されてる仮想マシンがグラフィック処理を実行する状態に設定する。そのような設定の下では、仮想マシンが仮想GPUを用いてグラフィック処理を実行する。
また、あるクライアントにおける動作が終了して接続数が減るときにも、接続セッション管理部54は、上記のグラフィック処理の実行環境を切り替えるか否かの判定を行い、切り替えると決定したときには、通信処理部51は、決定の対象の仮想マシンとその仮想マシンに接続されているクライアントとに対して、グラフィック処理の実行の切り替えに関する通知を行う。
次に、図1に示されたシステムの動作を説明する。図3は、あるクライアントが仮想マシンに対する接続要求を行ったときのシステムの動作を示すフローチャートである。クライアント10が接続要求を行ったとする。
接続管理サーバ50において、通信処理部51は、クライアント10から、クライアント10のスペック情報を受信する(ステップS11)。通信処理部51は、受信したスペック情報をグラフィック処理切替判定部53に出力する。
なお、接続管理サーバ500は、空いている仮想マシンから1つをクライアント10に接続される仮想マシンとして選択し、選択結果を接続セッション管理部54および仮想基盤ホスト20に通知する。
グラフィック処理切替判定部53は、グラフィック性能データベース52に予め保存されているリストから、同一または最も類似するスペックのクライアントグラフィック性能スコアを取得する(ステップS12)。
グラフィック処理切替判定部53は、接続セッション管理部54から、現在の仮想マシン21〜21の接続数の情報を取得して、現在の仮想マシンの接続数を把握する。そして、グラフィック処理切替判定部53は、接続している各クライアントおよび新規に接続要求したクライアント10のグラフィック性能スコアと、仮想マシンの接続数(クライアント10も含む。)に応じた仮想マシンのグラフィック性能スコアとを比較する(ステップS13)。
接続している各クライアントおよび新規に接続要求したクライアント10のうちで、仮想マシンのグラフィック性能スコアよりも高いグラフィック性能スコアのクライアントが生じた場合には、グラフィック処理切替判定部53は、そのクライアントについては、クライアント側のリソースを使用してグラフィック処理を行うことに決定する。通信処理部51は、グラフィック処理切替判定部53の決定に応じて、そのクライアントと、そのクライアントに接続されている仮想マシンに対して、グラフィック処理の切替通知を行う(ステップS14)。
クライアントの通信処理部17は、グラフィック処理の切替通知を受信すると、グラフィック処理切替部16に対して切り替えの通知を行い、切替完了通知を接続管理サーバ50に送信する。仮想基盤ホスト20の通信処理部27は、グラフィック処理の切替通知を受信すると、グラフィック処理切替部26に対して切り替えの通知を行い、切替完了通知を接続管理サーバ50に送信する。
接続管理サーバ50の通信処理部51が双方から切替完了通知を受信すると、接続セッション管理部54は、接続数を更新するとともに、クライアントに接続されている仮想マシンに関していずれの側でグラフィック処理が実行されているのかを示す情報を更新する(ステップS15)。
図4は、あるクライアントが仮想マシンに対する接続解除要求(接続終了)を行ったときのシステムの動作を示すフローチャートである。クライアント10が接続解除要求を行ったとする。
接続管理サーバ50において、通信処理部51が、クライアント10から、接続解除要求を受信すると、接続セッション管理部54は、接続情報(現在の仮想マシンの接続数を示す情報、どの仮想マシンが稼働しているのかを特定するための情報、および、クライアントに接続されている仮想マシンに関していずれの側でグラフィック処理が実行されているのかを示す情報)を更新する(ステップS21)。
グラフィック処理切替判定部53は、接続セッション管理部54から、更新後の仮想マシンの接続数の情報を取得する。そして、グラフィック処理切替判定部53は、接続している各クライアント(クライアント10を除く。)のグラフィック性能スコアと、仮想マシンの接続数に応じた仮想マシンのグラフィック性能スコアとを比較する(ステップS22)。
仮想マシンのグラフィック性能スコアが、接続しているいずれかのクライアントのグラフィック性能スコアよりも高くなっている場合には、グラフィック処理切替判定部53は、そのクライアントについては、仮想マシン側のリソースを使用してグラフィック処理を行うことに決定する。通信処理部51は、グラフィック処理切替判定部53の決定に応じて、そのクライアントと、そのクライアントに接続されている仮想マシンに対して、グラフィック処理の切替通知を行う(ステップS23)。
クライアントの通信処理部17は、グラフィック処理の切替通知を受信すると、グラフィック処理切替部16に対して切り替えの通知を行い、切替完了通知を接続管理サーバ50に送信する。仮想基盤ホスト20の通信処理部27は、グラフィック処理の切替通知を受信すると、グラフィック処理切替部26に対して切り替えの通知を行い、切替完了通知を接続管理サーバ50に送信する。
接続管理サーバ50の通信処理部51が双方から切替完了通知を受信すると、接続セッション管理部54は、クライアントに接続されている仮想マシンに関していずれの側でグラフィック処理が実行されているのかを示す情報を更新する(ステップS24)。
以上に説明したように、本実施形態では、仮想基盤ホストのリソース使用状況に応じて、仮想基盤ホスト側(仮想マシン側)のリソースとクライアント側のリソースとの使用効率を自動的かつ自律的に最適化でき、クライアント全体のアプリケーションの実行速度が向上する。
なお、本実施形態では、ユーザアプリケーション13,23として、グラフィック処理を実行するアプリケーションプログラムが使用され、グラフィック処理の性能にもとづいてリソースを割り当てる場合を例にしたが、本発明の適用範囲は、そのようなアプリケーションプログラムに限られない。他のアプリケーションが対象とされる場合には、仮想基盤ホスト20およびクライアント10〜10において、ハードウェア15,40として、当該アプリケーションに対応する物理リソース(ハードウェア)およびドライバが用いられる。また、接続管理サーバ50において、当該アプリケーションに対応する処理スコアが保持される。
また、仮想基盤ホスト20として、サーバの他に、ワークステーションを使用することもできる。さらに、クライアント10〜10は仮想基盤ホスト20をリモートアクセスするが、仮想基盤ホスト20は、組織内運用下にあってもよいし、クラウド環境下にあってもよい。
図5は、接続管理サーバの主要部を示すブロック図である。図5に示す接続管理サーバ1Aは、複数の仮想マシンが構築された仮想基盤ホスト6(実施形態では、仮想基盤ホスト20)と、仮想基盤ホストにおける仮想マシンを利用する複数の端末7,8(2つに限定されない:図1に示されたクライアント10〜10に相当)とに通信可能に接続され、端末7,8による仮想マシンの利用要求または利用終了が生じたときに、仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと端末の性能スコアである第2の性能スコアとを比較する性能比較手段2(例えば、グラフィック処理切替判定部53で実現される。)と、性能比較手段2が第1の性能スコアよりも第2の性能スコアの方が高いと判定した場合には端末7,8のリソースを使用することに決定し、性能比較手段2が第2の性能スコアよりも第1の性能スコアの方が高いと判定した場合には仮想マシンのリソースを使用することに決定する切替決定手段3(例えば、グラフィック処理切替判定部53で実現される。)とを備えている。
図6は、他の態様の接続管理サーバの主要部を示すブロック図である。図6に示す接続管理サーバ1Bは、第1の性能スコアと複数の端末のそれぞれの第2の性能スコアとが格納された性能データベース4(例えば、グラフィック性能データベース52で実現される。)を備えている。
図7は、さらに他の態様の接続管理サーバの主要部を示すブロック図である。図7に示す接続管理サーバ1Cは、稼働している仮想マシンの数を特定可能なデータを記憶し、仮想マシンの利用要求または利用終了が生じたときにデータを更新する接続セッション管理手段5(例えば、接続セッション管理部54で実現される。)を備えている。
1A,1B,1C 接続管理サーバ
2 性能比較手段
3 切替決定手段
4 性能データベース
5 接続セッション管理手段
6 仮想基盤ホスト
7,8 端末
10〜10 クライアント
12 OS
13 ユーザアプリケーション
14 グラフィックドライバ
15 ハードウェア
17 通信処理部
16 グラフィック処理切替部
20 仮想基盤ホスト
21〜21 仮想マシン
22 OS
23 ユーザアプリケーション
24 グラフィックドライバ
26 グラフィック処理切替部
27 通信処理部
30 ハイパーバイザ
40 ハードウェア
41 GPU
42〜42 仮想GPU
50 接続管理サーバ
51 通信処理部
52 グラフィック性能データベース
53 グラフィック処理切替判定部
54 接続セッション管理部

Claims (10)

  1. 複数の仮想マシンが構築された仮想基盤ホストにおける仮想マシンを複数の端末が利用する仮想基盤にもとづくシステムにおけるリソース割当方法であって、
    前記端末による前記仮想マシンの利用要求または利用終了が生じたときに、前記仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと前記仮想マシンを使用する端末の性能スコアである第2の性能スコアとを比較し、
    前記第1の性能スコアよりも前記第2の性能スコアの方が高い場合には当該端末のリソースを使用することに決定し、前記第2の性能スコアよりも前記第1の性能スコアの方が高い場合には前記仮想マシンのリソースを使用することに決定する
    ことを特徴とするリソース割当方法。
  2. 前記第1の性能スコアと複数の端末のそれぞれの前記第2の性能スコアとを算定し
    算定した前記第1の性能スコアと前記第2の性能スコアとを性能データベースに格納する
    請求項1記載のリソース割当方法。
  3. 前記第1の性能スコアおよび前記第2の性能スコアとして、グラフィック性能スコアを算定する
    請求項2記載のリソース割当方法。
  4. 前記第1の性能スコアおよび前記第2の性能スコアとを、同じベンチマークソフトウェアを用いて算定する
    請求項2または請求項3記載のリソース割当方法。
  5. 複数の仮想マシンが構築された仮想基盤ホストと、当該仮想基盤ホストにおける仮想マシンを利用する複数の端末とに通信可能に接続される接続管理サーバであって、
    前記端末による前記仮想マシンの利用要求または利用終了が生じたときに、前記仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと前記仮想マシンを使用する端末の性能スコアである第2の性能スコアとを比較する性能比較手段と、
    前記性能比較手段が前記第1の性能スコアよりも前記第2の性能スコアの方が高いと判定した場合には当該端末のリソースを使用することに決定し、前記性能比較手段が前記第2の性能スコアよりも前記第1の性能スコアの方が高いと判定した場合には前記仮想マシンのリソースを使用することに決定する切替決定手段と
    を備えたことを特徴とする接続管理サーバ。
  6. 前記第1の性能スコアと複数の端末のそれぞれの前記第2の性能スコアとが格納された性能データベースを備えた
    請求項5記載の接続管理サーバ。
  7. リソースはGPUである
    請求項5または請求項6記載の接続管理サーバ。
  8. 稼働している前記仮想マシンの数を特定可能なデータを記憶し、前記仮想マシンの利用要求または利用終了が生じたときに前記データを更新する接続セッション管理手段を備えた
    請求項5から請求項7のうちのいずれか1項に記載の接続管理サーバ。
  9. 複数の仮想マシンが構築された仮想基盤ホストと、当該仮想基盤ホストにおける仮想マシンを利用する複数の端末とに通信可能に接続される接続管理サーバに、
    前記端末による前記仮想マシンの利用要求または利用終了が生じたときに、前記仮想マシンの稼働マシン数に応じた性能スコアである第1の性能スコアと前記仮想マシンを使用する端末の性能スコアである第2の性能スコアとを比較する処理と、
    前記性能比較手段が前記第1の性能スコアよりも前記第2の性能スコアの方が高いと判定した場合には当該端末のリソースを使用することに決定し、前記性能比較手段が前記第2の性能スコアよりも前記第1の性能スコアの方が高いと判定した場合には前記仮想マシンのリソースを使用することに決定する処理とを
    実行させるための接続管理プログラム。
  10. 接続管理サーバに、
    稼働している前記仮想マシンの数を特定可能なデータを、前記仮想マシンの利用要求または利用終了が生じたときに更新する処理を実行させるための請求項9記載の接続管理プログラム。
JP2017041973A 2017-03-06 2017-03-06 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム Active JP6870390B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017041973A JP6870390B2 (ja) 2017-03-06 2017-03-06 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017041973A JP6870390B2 (ja) 2017-03-06 2017-03-06 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム

Publications (2)

Publication Number Publication Date
JP2018147257A true JP2018147257A (ja) 2018-09-20
JP6870390B2 JP6870390B2 (ja) 2021-05-12

Family

ID=63588883

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017041973A Active JP6870390B2 (ja) 2017-03-06 2017-03-06 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム

Country Status (1)

Country Link
JP (1) JP6870390B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10901881B1 (en) 2020-05-12 2021-01-26 Coupang Corp. Systems and methods for test deployment of computational code on virtual servers

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10901881B1 (en) 2020-05-12 2021-01-26 Coupang Corp. Systems and methods for test deployment of computational code on virtual servers
KR102230113B1 (ko) * 2020-05-12 2021-03-22 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
KR102282499B1 (ko) * 2020-05-12 2021-07-28 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
KR20210138520A (ko) * 2020-05-12 2021-11-19 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
KR102359792B1 (ko) 2020-05-12 2022-02-09 쿠팡 주식회사 가상 서버 상의 계산 코드의 테스트 전개를 위한 시스템 및 방법
US11442846B2 (en) 2020-05-12 2022-09-13 Coupang Corp. Systems and methods for test deployment of computational code on virtual servers

Also Published As

Publication number Publication date
JP6870390B2 (ja) 2021-05-12

Similar Documents

Publication Publication Date Title
KR102549821B1 (ko) 서버 리소스 할당 방법, 장치, 전자 기기 및 저장 매체
US10949158B2 (en) Screenshot method and apparatus
US10416996B1 (en) System and method for translating affliction programming interfaces for cloud platforms
CN108667859A (zh) 一种实现资源调度的方法及装置
JP5862359B2 (ja) シンクライアントシステム、接続管理サーバ、接続管理方法、及び接続管理プログラム
US11169846B2 (en) System and method for managing tasks and task workload items between address spaces and logical partitions
US9483493B2 (en) Method and system for accessing a distributed file system
US20220100550A1 (en) Accelerator Loading Method, System, and Apparatus
US20190220300A1 (en) Cloud based audio / video operating systems
US11416267B2 (en) Dynamic hardware accelerator selection and loading based on acceleration requirements
JP2022519803A (ja) 強化されている省電力および接続性を有した仮想配信エージェントリーシングを通じた仮想コンピューティングセッションを提供するコンピューターシステムおよび関係する方法
KR20150007698A (ko) 가상 데스크탑 서비스를 위한 부하 분산 시스템
CN107329798B (zh) 数据复制的方法、装置和虚拟化系统
JP6870390B2 (ja) 仮想基盤にもとづくシステムにおけるリソース割当方法、接続管理サーバおよび接続管理プログラム
JP2008293278A (ja) 分散処理プログラム、分散処理装置、および分散処理方法
EP4109255A1 (en) Scheduling in a container orchestration system utilizing hardware topology hints
JP2011221634A (ja) 計算機システム、論理区画管理方法及び論理分割処理プログラム
JP2011215812A (ja) 仮想計算機管理方法、計算機システム及びリソース管理プログラム
WO2018173300A1 (ja) I/o制御方法およびi/o制御システム
US11509562B1 (en) System and method for a system level data sharding analysis of information handling systems
JP6495871B2 (ja) リソース管理システム、リソース管理サーバ及びリソース管理方法
KR102214231B1 (ko) 오프로딩을 수행하기 위한 모바일 장치 및 그 동작 방법
US20230205448A1 (en) System and method for a local level data sharding analysis of information handling systems
JP2017174106A (ja) 管理装置、サーバ、シンクライアントシステム、管理方法及びプログラム
JP6478219B2 (ja) 統合制御サーバ、仮想アプリケーション構築システムおよびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200204

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210126

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210216

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210301

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210316

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6870390

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150