JP6438144B2 - リソース構成システム、リソース構成方法及びリソース構成プログラム - Google Patents

リソース構成システム、リソース構成方法及びリソース構成プログラム Download PDF

Info

Publication number
JP6438144B2
JP6438144B2 JP2017535249A JP2017535249A JP6438144B2 JP 6438144 B2 JP6438144 B2 JP 6438144B2 JP 2017535249 A JP2017535249 A JP 2017535249A JP 2017535249 A JP2017535249 A JP 2017535249A JP 6438144 B2 JP6438144 B2 JP 6438144B2
Authority
JP
Japan
Prior art keywords
resource
provisioning
calculation
processing performance
fpga
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.)
Active
Application number
JP2017535249A
Other languages
English (en)
Other versions
JPWO2017029826A1 (ja
Inventor
山登 庸次
庸次 山登
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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Publication of JPWO2017029826A1 publication Critical patent/JPWO2017029826A1/ja
Application granted granted Critical
Publication of JP6438144B2 publication Critical patent/JP6438144B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、クラウド上のリソースを構成する技術に関する。特に、多様なリソース及びプロビジョニング方法が利用可能なクラウドサービスにおいて、ユーザの要件に合うリソース及びそのリソースのプロビジョニング方法を選択し、必要に応じてリソース構成を再構成する技術に関する。
近年、IaaS(Infrastructure as a Service)型クラウドサービス等、ユーザに対してコンピュータシステムの仮想リソースをプロビジョニングするクラウドサービスが普及している。ユーザは、サービス事業者と契約することにより、仮想サーバ、仮想ネットワーク、仮想ルーター、仮想ストレージ、仮想ロードバランサー等の仮想リソースをオンデマンドで利用することができる。例えば、Amazon Web Services(登録商標、http://aws.amazon.com/ec2)等のクラウドサービスが存在する。ユーザは、OS(Operating System)、DB(Data Base)、Web、電子メール等のミドルウェアを仮想リソース上で動作させることにより、自分自身で物理的なハードウェア機器を用意することなく、自身専用のサーバを構築することができる。
また、IaaSを実現するためのオープンソースソフトウェアも普及している。例えば、OpenStack(登録商標)と呼ばれるオープンソースソフトウェアを基盤とする商用クラウドサービスが提供されている。例えば、Rackspace(登録商標、Public Cloud Powered by OpenStack、http://www.rackspace.com/cloud/)等の商用クラウドサービスが存在している。
このような状況下、市中のクラウドサービスにおいて、ユーザに提供される仮想サーバとしては、プロビジョニング方法で分類した場合、CPUがメニーコア(many core)のサーバをXenやKVM(Kernel based Virtual Machine)等のハイパーバイザーで仮想化した仮想サーバが主流である。一方、ハイパーバイザーは仮想化処理のオーバヘッドが大きいという欠点を持つため、性能劣化が小さいコンテナ型の仮想サーバ(コンテナ)や仮想化を行わないベアメタル型の物理サーバ(ベアメタル)がある。また、計算リソースで分類した場合、CPUを持つ一般的なサーバ以外に、特定の計算ロジックに最適化されたFPGA(Field Programmable Gate Array)サーバがある。例えば、Microsoft社のBing検索サーバである。さらに、一般のクライアントPCが持つGPU(Graphical Processing Unit)をクラウドサーバにも搭載し、画像処理能力が高いサーバをクラウドサーバとして提供するサービス事業者も出現している。例えば、Amazon Web ServiceのGPUインスタンスサーバである。
また、ユーザに提供される仮想ストレージとしては、プロビジョニング方法で分類した場合、ブロックストレージやオブジェクトストレージがある。また、記憶リソースで分類した場合、これまでHDDベースの専用ストレージ(例えば、EMC社のVNX)から仮想ボリュームを切り出してユーザに提供する形態が主流であったが、ランダムIO(Input Output)性能がHDDに比べて高いSSD、SSDとHDDのハイブリッドストレージを仮想ボリュームとして提供するサービス事業者も出現している。例えば、Yahoo(登録商標)では、Nimble社のハイブリッドストレージをクラウドのストレージに利用している。さらに、低価格を好むユーザに対しては、CephやSwift等の分散ストレージが利用される。例えば、GMOクラウドのKonohaである。
このように、クラウドサービスに利用される仮想リソース及びその仮想リソースのプロビジョニング方法は多様である。それゆえ、ユーザの利用用途に応じて適材適所の仮想サーバ等を選択することにより、IaaSの性能が向上し、ユーザの利便性が高まると考えられる。しかし、従来のクラウドサービスでは、同一機種の仮想リソース中から選定するため、個々のユーザの要件に合致した適材適所の仮想リソースを提供することは困難であった。そのため、ユーザは、自らの機能要件及び性能要件に合わせて適切なサーバ構成を自分自身で設計し、そのサーバ構成の性能検証を行う必要があり、多くの技術知識や労力が必要とされていた。
特開2015−103094号公報
Y. Yamato、"SERVER STRUCTURE PROPOSAL AND AUTOMATIC VERIFICATION TECHNOLOGY ON IAAS CLOUD OF PLURAL TYPE SERVICERS"、International Conference on Internet Studies, July 18-19, 2015, Tokyo, Japan
そこで、特許文献1又は非特許文献1の技術を用いることが考えられる。
特許文献1は、仮想リソースを提供するクラウドサービスにおいて、適切な物理機器にユーザの仮想リソースを配置する技術である。しかし、例えば一定の仮想CPU数を持つ仮想サーバをどの物理機器に対応付けるかをスケジューリングするだけであり、ベアメタルやコンテナ等のプロビジョニング方法を用いて強力なGPUユニットやFPGAを備えた仮想サーバをユーザに提供することはできない。
また、非特許文献1は、ベアメタル、コンテナ、及びハイパーバイザーが提供されているクラウドサービスにおいて、ユーザの機能要件及び性能要件に従い、適切なプロビジョニング方法を提案する技術である。しかし、プロビジョニング方法を提案するだけであり、ユーザの性能要件及び機能要件に対応する仮想リソースをGPUやFPGAを備えた仮想サーバの中から選択することはできない。
さらに、特許文献1及び非特許文献1は、ユーザに対して仮想リソースを提供するための技術であり、仮想リソースに対するユーザの利用形態が変化した場合、それに合わせて仮想リソースの構成を再構成することはできない。
本発明は、上記事情を鑑みてなされたものであり、特定処理、画像処理、又は並列処理に特化した高い処理性能を実現するクラウドサービスを提供することを目的とする。
以上の課題を解決するため、本発明のリソース構成システムは、クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、を備えたリソース構成システムにおいて、前記リソース選択装置は、前記リソースに対するユーザの要件を受信する受信手段と、前記要件が特定処理、画像処理、又は並列処理を一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する選択手段と、を備えることを要旨とする。
また、本発明のリソース構成方法は、クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、で行うリソース構成方法において、前記リソース選択装置は、前記リソースに対するユーザの要件を受信するステップと、前記要件が特定処理、画像処理、又は並列処理を一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択するステップと、を備えることを要旨とする。
また、本発明のリソース構成プログラムは、請求項1に記載のリソース構成システムとしてコンピュータを機能させることを要旨とする。
本発明によれば、特定処理、画像処理、又は並列処理に特化した高い処理性能を実現するクラウドサービスを提供することができる。
第1の実施の形態に係るリソース構成システムの全体構成を示す図である。 リソース及びプロビジョニング方法の選択処理フローを示す図である。 計算リソースの選択処理フローを示す図である。 第2の実施の形態に係るリソース構成システムの全体構成を示す図である。 FPGAサーバに対する計算ロジックの構成処理フローを示す図である。 FPGAサーバに対する計算ロジックの構成処理フローを示す図である。 FPGAサーバに対する計算ロジックの再構成処理フローを示す図である。
以下、本発明を実施する一実施の形態について図面を用いて説明する。
<第1の実施の形態>
図1は、第1の実施の形態に係るリソース構成システムの全体構成を示す図である。このリソース構成システムは、クラウドシステム上に配置され、ユーザの性能要件及び機能要件に合致するリソース及びプロビジョニング方法を選択するリソース選択装置1と、その選択結果に基づきリソース構成を構築するIaaSコントローラ3と、を備えて構成される。
まず、IaaSコントローラ3について説明する。このIaaSコントローラ3は、例えば既存のOpenStackを用いて構成する。OpenStackとは、クラウドコンピューティングの基盤を構築するためのオープンソースソフトウェアである。IaaSコントローラ3は、クラウド上に配置された複数の物理機器と通信可能であり、Volume Manager等の仮想化ソフトウェアを介してクラウド上の仮想リソース、及び仮想化ソフトウェアを介することなく物理リソースを管理する。本実施の形態では、リソース選択装置1からの設定要求を受け付けるOpenStack API31と、その設定要求に基づき該当ユーザのリソース構成を構築するリソース構成構築部32(Heat、Nova、Cinder等)と、クラウド上に存在する様々なリソース情報やユーザ毎のリソース構成情報を記憶するOpenStack DB33と、を備えて構成される。
続いて、リソース選択装置1について説明する。このリソース選択装置1は、ユーザ端末5とIaaSコントローラ3との間で動作する。本実施の形態では、ユーザ端末5で入力されたユーザの性能要件及び機能要件を受け付ける要求受付部11と、受け付けた要求に基づきリソース及びプロビジョニング方法を選択するリソース選択部12と、その選択結果をユーザ端末5へ通知する選択結果通知部13と、その選択結果に対するユーザの承認指示に基づきリソース設定をIaaSコントローラ3へ要求する設定要求部14と、リソース及びプロビジョニング方法の選択時に用いる情報を記憶するデータ記憶部15と、を備えて構成される。選択時に用いる情報とは、例えば、IaaSコントローラ3で設定及び利用可能な全てのリソース及びプロビジョニング方法、ユーザ端末5からの要求、その要求に基づくリソース及びプロビジョニング方法の選択結果等に関する情報である。
ここまで、リソース構成システムの全体構成について説明した。なお、リソース選択装置1は、CPU等の演算機能やメモリ等の記憶機能を備えたコンピュータで実現可能である。また、そのコンピュータを機能させるためのプログラムや該プログラムの記憶媒体を作成することも可能である。さらに、リソース選択装置1は、IaaSコントローラ3と物理的に異なる装置として機能させてもよいし、IaaSコントローラ3の一機能としてもよい。
次に、IaaSコントローラ3で設定及び利用可能な全てのリソース及びプロビジョニング方法について説明する。つまり、ここでは、リソース選択装置1で選択可能なリソース及びプロビジョニング方法について説明する。なお、リソースとは、仮想リソースと物理リソースの双方又はいずれかを指す。例えばIaaSコントローラ3としてOpenStackを用いた場合、一般的には仮想化ソフトウェアによる仮想リソースが考えられるが、仮想化ソフトウェアを介することなく物理リソースを選択対象のリソースとしてもよい。
まず、プロビジョニング方法について説明する。本実施の形態では、リソースが計算リソースの場合、例えば、ベアメタルプロビジョニング、コンテナプロビジョニング、ハイパーバイザープロビジョニングを用いる。一方、リソースが記憶リソースの場合、例えば、ブロックストレージプロビジョニング、オブジェクトストレージプロビジョニングを用いる。
ベアメタルとは、仮想化を行わない物理サーバである。従来のDedicated Hostingと同じである。それゆえ、ベアメタルプロビジョニングとは、仮想化を行わない物理サーバを確保等することをいう。例えばOpenStackでは、Ironicというコンポーネントがベアメタルプロビジョンを行っている。ベアメタルは専用サーバであるため、自由度は高くて性能も高いが、プロビジョニングして起動するまでの時間は長く、ライブマイグレーションを行うことができない。
コンテナとは、OS仮想化技術を用いた仮想サーバである。OpenVZ等、VPS(Virtual Private Server)で用いられている。それゆえ、コンテナプロビジョニングとは、OS仮想化技術を用いた仮想サーバを確保等することをいう。コンテナプロビジョニングは、コンテナと呼ばれる単位でコンピュータリソースを隔離することで物理サーバを仮想化する。コンテナプロビジョニングは、OSのカーネルを共有する点で後述するハイパーバイザーと異なる。2013年にLXC(Linux Container)を用いたDockerが登場し、その使い勝手の良さから利用が増えている。コンテナは、カーネルの自由度はないが、その確保及び生成処理はプロセスを立ち上げただけであるため、起動時間が短く、性能劣化も小さい。また、OpenVZはライブマイグレーションが可能であるが、DockerやLXCでは現時点では不可能である。
ハイパーバイザーは、ハードウェア仮想化技術を用いて物理サーバを仮想化する技術である。それゆえ、ハイパーバイザープロビジョニングとは、ハードウェア仮想化技術を用いた仮想サーバを確保等することをいう。ハイパーバイザープロビジョニングは、ハードウェア仮想化技術でエミュレートされたハードウェア上で動作するため、自由にOSをカスタマイズすることができる。主なハイパーバイザーとして、例えば、Xen、KVM、VMware ESXがある。この仮想サーバは、OSの自由度が高く、ライブマイグレーションも可能である。一方、この仮想サーバは、エミュレーションオーバヘッドが大きいため、性能や起動時間でベアメタルやコンテナに劣る欠点がある。
続いて、計算リソースについて説明する。本実施の形態では、例えば、CPU、GPU、FPGAを用いる。
CPUは、多くのサーバやクライアントPCに搭載されている一般的な計算リソースであり、低遅延を意識した設計がされている。CPUは、大きなキャッシュ、高度な制御、強力な演算機能を備える。特にクラウドサーバでは、CPUのコア数が10個を超えるメニーコアのCPUが使われることが多い。
GPUは、画像処理向けの計算ユニットであり、高スループットを意識した設計がされている。GPUは、小さなキャッシュ、単純な制御、エネルギー効率の良い演算機能を備え、高スループットのために大量の並列計算を行うよう計算ユニットが配置されている。GPUはクライアントPCに多く搭載されているが、画像処理用のアプリケーションを動かすサーバにも搭載されている。
FPGAは、製造後に購入者や設計者が構成を設定又は変更できる集積回路であり、プログラマブルロジックデバイスの一つである。FPGAは、出荷後においても機能を更新でき、設計面で部分的に再構成でき、ASIC設計よりエンジニアリングコストが低い点等の利点がある。FPGAは汎用処理には向かないが、特定の計算にロジックを構成することにより、CPUやGPUに比べて高い処理性能を実現することができる。FPGAに向いた計算の同一処理であれば、GPUの数倍、CPUの10-100倍以上の処理性能を持つ。FPGAは、科学学術での利用が中心だったが、クラウドサーバでも検索処理やNoSQL Engineの処理の高速化に用いられるようになっている。例えば、MicrosoftのBing検索やIBM社のNoSQLエンジンで利用されている。
引き続き、記憶リソースについて説明する。本実施の形態では、例えば、HDD、SSD、ハイブリッドストレージ、分散ストレージを用いる。
HDD(Hard Disk Drive)は、多くのサーバやクライアントPCに搭載されている一般的な記憶リソースである。通常のHDDベースのストレージに関しては、IO(Input Output)の性能向上のため、HDDを並列化してストライピングを行う。例えば、一般的な15000 rpm(rotation per minute)のHDDはランダムWriteで150-200 IOPS程度であるが、20本並べることで3000-4000 IOPS程度となる。しかし、並列するHDDの増加に伴い、電力や場所のコストがかかり、HDD追加時やHDD故障交換時はストレージ筐体の停止に伴うサービス停止が必要となる。
SSD(Solid State Drive)は、フラッシュメモリ等を使用した記憶リソースである。SSDは、ランダムIOの性能がHDDに比べて高く数千IOPS程度だが、HDDに比べてシーケンシャルIOの性能は低い。また、SSDは、単位容量当たりのコストが高く、耐久性も低い。そのため、全てSSDのストレージでクラウドユーザのボリュームを準備するのは高コストで困難である。現状、クラウドでのSSDの利用は、OLTP(Online Transaction Processing)等のIOPSが要求されるアプリケーションが中心であり、ファイルサーバ等にはあまり使われていない。
ハイブリッドストレージは、HDDとSSDの各特性を踏まえ、それぞれの特長を生かした記憶リソースである。例えば、Nimble社のStorageは、CASL(Cache Accelerated Sequential Layout)と呼ばれる方式を採用している。CASLでは、書き込み時は、まずSSDに書き込み、圧縮してシーケンシャルアクセスできる形式に変換してHDDに書き込むと同時に、一部はキャッシュに保存する。読み込み時は、SSD及びキャッシュから検索し、最後にHDDを検索して応答を返す。これにより、CASLでは、通常のSSDと同程度以上のランダムIOPSを実現している。ハイブリッドストレージの研究は2000年代終わりから盛んであり、Nimble以外にも多くの研究、製品が挙げられる。例えば、“Extending SSD Lifetimes with Disk-Based Write Caches”(G. Soundararajan、外3名、FAST 2010: 8th USENIX Conference on File and Storage Technologies, Feb. 2010.)を参照されたい。
分散ストレージは、IA(Intel Architecture)サーバを用いた記憶リソースである。安価なIAサーバを並置することで、大容量で拡張性のあるストレージシステムが構築されている。近年、IAサーバに内蔵できるドライブの容量、本数が増えており、これらIAサーバ群のドライブをソフトウェアで統一的に管理することで、単一ストレージのSPOF(Single Point Of Failure)やボトルネック、追加等のメンテナンス時のサービス停止を防止している。利用するドライブにSSDも利用できるが、通常はコストを重視してSATA(Serial Advanced Technology Attachment)のHDDが利用される。分散ストレージを構成するソフトウェアは、1つのデータを複数ノードに複製を多重に配置し、追加時の再配置や障害時の縮退を自動で行うことができる。ファイルシステムとして利用する分散ストレージとしては、例えば、GlusterFS、Ceph、GFS、HDFS等がある。また、オブジェクトストレージとして利用する分散ストレージとしては、例えば、OpenStack Swift等がある。
ここまで、リソース選択装置1で選択可能なリソース及びプロビジョニング方法について説明した。本実施の形態では、このようなリソース及びプロビジョニング方法の特徴及び性能をリソース毎・プロビジョニング方法毎に互いに比較検討しておく。そして、ユーザが求める性能要件及び機能要件に対して一定の必要条件判定基準を階層的に定め、各基準での判定結果に応じてリソース及びプロビジョニング方法をそれぞれ特定しておき、ユーザの要求条件に合致するリソース及びプロビジョニング方法を選定する。これにより、ユーザの要件に応じたリソース及びプロビジョニング方法を適材適所に配置可能となり、ユーザの要件に見合った処理性能のリソース及びプロビジョニング方法を提供することができる。
次に、リソース選択装置1の動作について説明する。図2は、リソース及びプロビジョニング方法の選択処理フローを示す図である。ここでは、リソース及びプロビジョニング方法をクラウド事業者側が提案するユースケースを想定している。その際、ユーザは性能設計及び機器選定に関するノウハウが少ないものとする。
まず、要求受付部11は、ユーザによりユーザ端末5で指定された性能要件及び機能要件を受信する(ステップS101)。このとき、リソース選択装置1に対して直接指定するのに代えて、PaaS(Platform as a Service)を介して指定してもよい(図1参照)。PaaSとは、クラウド上のアプリケーションの実行管理を行うプラットフォームである。アプリケーションのデプロイを該PaaSを介して行うことも可能である。例えば、Cloud Foundry等を用いる。なお、機能要件とは、OSがLinuxかLinux以外か、カーネルのカスタマイズが必要か、どのようなアプリケーションが動作するか、等に関する情報である。また、性能要件とは、スループットやレイテンシー等に関する情報である。
次に、リソース選択部12は、複数のリソース及び複数のプロビジョニング方法から、ステップS101で指定された性能要件及び機能要件に合致するリソース及びプロビジョニング方法を選択する(ステップS102)。具体的には、リソース選択装置1で選択可能なリソース及びプロビジョニング方法の特徴及び性能を考慮し、その特徴及び性能に基づく必要条件判定基準をユーザ要件に対して階層的に定めておく。そして、指定された性能要件及び機能要件を各必要条件判定基準で判定し、その判定結果に応じたリソース及びプロビジョニング方法を選択する。計算リソースについては、プロビジョニング方法として、ベアメタル、コンテナ、ハイパーバイザーのうちいずれか、サーバ機器として、通常のCPU主体のサーバ、GPUが強化されたサーバ、特定の計算処理に最適化されたFPGAを備えたサーバのうちいずれかを選択する。また、記憶リソースについては、プロビジョニング方法として、ブロックストレージ、オブジェクトストレージのうちいずれか、ストレージ機器として、HDDベースのストレージ、SSDベースのストレージ、HDD-SSDハイブリッドストレージ、Ceph等の分散ストレージのうちいずれかを選択する。リソース及びプロビジョニング方法の具体的な選択手順例については後述する。
次に、選択結果通知部13は、ステップS102で選択されたリソース及びプロビジョニング方法をユーザ端末5へ送信する(ステップS103)。それを受けたユーザ端末5は、受信したリソース及びプロビジョニング方法を提案リソース及び提案プロビジョニング方法として画面に表示する。ユーザ端末5のユーザは、その提案内容を確認し、問題なければ承認指示をリソース選択装置1に返信する。
最後に、設定要求部14は、ユーザにより承認されたリソース及びプロビジョニング方法を指定してIaaSコントローラ3にリソース設定及び生成を要求する(ステップS104)。その後、IaaSコントローラ3は、リソース選択装置1からの該要求に基づきリソースを確保する。
続いて、ステップS102で行うリソース及びプロビジョニング方法の具体的な選択手順について説明する。ここでは、図3を参照しながら、計算リソースの選択手順について説明する。
まず、ユーザの機能要件及び性能要件が、特定の計算処理を一定以上の処理性能で処理することを要件としているか否かを判定する(ステップS102a)。
ステップS102aの判定結果がYesの場合、その特定の計算処理を高速化するFPGAを備えたサーバを選択し、そのサーバのプロビジョニング方法としてベアメタルを選択する(ステップS102b)。FPGAでの高速化の例として、memcachedを高速化する方法やMicrosoftのBing検索の高速化等の例がある。仮想化するとFPGAのメリットが十分に生かせないので、ベアメタルでプロビジョニングする。なお、memcachedを高速化の方法については、「“Thin Servers with Smart Pipes: Designing SoC Accelerators for Memcached”、http://bit.ly/1BBNBEI、ISCA、2013」に記載されている。
一方、ステップS102aの判定結果がNoの場合、続いて、ユーザの機能要件及び性能要件が、画像処理(又は並列処理)を一定以上の処理性能で処理することを要件としているか否かを判定する(ステップS102c)。
ステップS102cの判定結果がYesの場合、GPUが強化されたサーバを選択し、そのサーバのプロビジョニング方法としてベアメタル又はコンテナを選択する(ステップS102e,S102f)。いずれのプロビジョニング方法を選定するかについては、計算リソースに対して要求されている処理性能の大きさ又はOSに対するカスタマイズの要否に基づき判定する(ステップS102d)。ステップS102dの判定結果がYesの場合はベアメタルを選択し、Noの場合はコンテナを選択する。なお、画像処理には、映像編集、加工、分析等を行うアプリケーションがある。サーバのGPUはクライアントPCに比べて、そこまで強化されていないことが多かったが、強力なGPUを備えたサーバも出現している。GPUを制御する際は、仮想マシンではハードウェアが抽象化され制御できないため、ベアメタル又はコンテナでプロビジョニングする。但し、コンテナはLXCやDocker等、OSがLinuxに限定される場合が多いため、Linux以外の場合はベアメタルでプロビジョニングが必要となる。なお、WindowsがOSに対応したコンテナ技術も近年登場してきており、それを用いることにより、WindowsがOSでもコンテナプロビジョニングが可能となる。
一方、ステップS102cの判定結果がNoの場合、通常のCPU主体のサーバを選択し、そのサーバのプロビジョニング方法としてベアメタル、ハイパーバイザー、又はコンテナを選択する(ステップS102i,S102j,S102k)。いずれのプロビジョニング方法を選定するかについては、計算リソースに対して要求されている処理性能の大きさ(例えば、高スループット、低遅延)又はOSに対するカスタマイズの要否に基づき判定する(ステップS102g,S102h)。ステップS102gの判定結果がYesの場合は、ベアメタルを選択する。一方、その判定結果がNo、かつ、ステップS102hの判定結果がYesの場合は、ハイパーバイザーを選択する。ステップS102g及びステップS102hの判定結果がいずれもNoの場合は、コンテナを選択する。
ここまで、計算リソースを選択する場合について説明した。なお、図3に示した各ステップの順番は一例である。例えばステップS102cをステップS102aの前に行う等、各ステップの順番を入れ替えてもよい。
記憶リソースの場合も同様に、記憶リソース及びプロビジョニング方法の特徴及び性能に基づく必要条件判定基準を階層的に定めておき、指定された性能要件及び機能要件に合致する計算リソース及びプロビジョニング方法を選択する。具体的には、ユーザにより指定された機能要件に基づき、プロビジョニング方法として、ブロックストレージ又はオブジェクトストレージを選択する。ブロックストレージは塊であるブロック単位でデータを管理する。オブジェクトストレージはオブジェクト単位で管理する。オブジェクトストレージは一般に安価であるため、ユーザによりオブジェクトストレージが機能要件に指定された場合は、OpenStack Swift等の分散ストレージを選択する。一方、ブロックストレージが機能要件に指定された場合は、動作させるアプリケーションプログラムの特性に応じてストレージを選択する。OLAP等のように高いIOが要求されるアプリケーションの場合は、性能要件に応じてSSD又はHDD-SSDハイブリッドストレージを選択する。一方、ファイルサーバやアーカイブ等、高いIOが要求されないアプリケーションの場合は、性能要件に応じてHDD又は分散ストレージを選択する。一般に価格はSSD>HDD-SSDハイブリッド>HDD>分散ストレージの順に高価であり、性能要件が満たせる安価なストレージが選択される。
以上より、本実施の形態では、リソース選択装置1が、ユーザの性能要件及び機能要件が特定の計算処理、画像処理、又は並列処理を一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAとGPUを含む複数の計算リソース、複数の記憶リソース及び複数のプロビジョニング方法から所定の計算リソース、所定の記憶リソース及び所定のプロビジョニング方法をそれぞれ選択するので、特定の計算処理、画像処理、又は並列処理に特化した高い処理性能を実現するクラウドサービスを提供することができ、さらにユーザによるサーバ構成設計等の稼働や労力を低減することができる。
また、本実施の形態では、リソース選択装置1が、動作させるアプリケーションプログラムの特性に応じて記憶リソースを選択するので、HDD、SSD等が混在している中、高いIOが要求されるOLAP等の処理を行いたいユーザに対してSSD等の高いIOを持つストレージを提示することができる。
また、本実施の形態では、リソース選択装置1が、CPU、GPU、FPGA等が混在している中、特定の計算処理を高速で行いたい場合は、その計算に最適化されたFPGAを備えたハードウェアをベアメタルプロビジョニングし、画像処理を高速で行いたい場合は、GPUが強化されたハードウェアをベアメタルもしくはコンテナでプロビジョニングし、それ以外の場合は通常のCPUサーバに、ベアメタル、コンテナ、ハイパーバイザーでプロビジョニングするので、ユーザは計算リソース上で高い処理性能を実現できる。
<第2の実施の形態>
第1の実施の形態では、リソース及びプロビジョニング方法の選択方法について説明した。一方、第2の実施の形態では、ユーザの要求に応じてリソースを選択及び構成し、さらにユーザによるリソースの利用方法の変化に応じて該リソース構成を再構成する方法について説明する。
図4は、第2の実施の形態に係るリソース構成システムの全体構成を示す図である。このリソース構成システムは、リソース及びプロビジョニング方法を構成及び再構成するリソース再構成装置7と、その構成又は再構成結果に基づきリソース構成を構築又は再構築するIaaSコントローラ3と、を備えて構成される。
続いて、リソース再構成装置7について説明する。このリソース再構成装置7は、ユーザ端末5で入力されたユーザの性能要件及び機能要件を受け付ける要求受付部71と、受け付けた要求に基づきリソース及びプロビジョニング方法を構成又は再構成するリソース再構成部72と、その構成又は再構成結果をユーザ端末5へ通知する再構成結果通知部73と、その構成又は再構成結果に対するユーザの承認指示に基づきリソース設定をIaaSコントローラ3へ要求する設定要求部74と、構成又は再構成されたリソースに対するユーザの利用頻度を収集するリソース利用頻度収集部75と、リソース及びプロビジョニング方法の構成時及び再構成時に用いる情報を記憶するデータ記憶部76と、を備えて構成される。
なお、リソース再構成装置7は、CPU等の演算機能やメモリ等の記憶機能を備えたコンピュータで実現可能である。また、そのコンピュータを機能させるためのプログラムや該プログラムの記憶媒体を作成することも可能である。さらに、リソース再構成装置7は、リソース選択装置1又はIaaSコントローラ3と物理的に異なる装置として機能させてもよいし、リソース選択装置1又はIaaSコントローラ3の一機能としてもよい。
次に、リソース再構成装置7の動作について説明する。ここでは、FPGA内部の計算ロジックを再構成する場合について説明する。これは、各目的の計算ロジックをそれぞれ備えた複数のFPGAを予め用意しておくことは高コストであることを考慮したものであり、ユーザの利用状況に応じてFPGAの計算ロジックを最適化するようにする。
本動作例では、2つの動作パターンを用いて説明する。1つ目はFPGAの計算ロジックを構成する動作である。2つ目はユーザのリソース運用中にFPGAの計算ロジックを再構成する動作である。
最初に、1つ目の動作パターンについて説明する。図5は、FPGAサーバに対する計算ロジックの構成処理フローを示す図である。
まず、要求受付部71は、ユーザによりユーザ端末5で指定された性能要件及び機能要件を受信する(ステップS201)。なお、機能要件とは、高速化が必要な計算ロジックが必要か、どのようなアプリケーションが動作するか、等に関する情報である。また、性能要件とは、スループットやレイテンシー等に関する情報である。
次に、リソース再構成部72は、ステップS201で指定された性能要件及び機能要件に基づきFPGAサーバの計算ロジックを構成し、さらにプロビジョニング方法を選択する(ステップS202)。具体的には、使用されていないFPGAサーバを選択し、指定された性能要件及び機能要件に応じた計算ロジックを設定する。高速化が必要な計算ロジックが指定されていない場合は、アプリケーションの種類に応じて構成するようにしてもよい。その構成処理自体については公知技術を用いて実現可能である。例えば、NoSQLでのFPGAによるアクセラレートについては、Data Engine for NoSQL - IBM Power Systems Edition White Paper等に記載されている。この記載内容に基づく構成に設定することを予めリソース再構成装置7の内部で定義しておけばよい。FPGAの構成又は再構成にかかる時間は一般的に数十ms程度で可能であり、ユーザ要件に応じて構成又は再構成しても問題はない。FPGAサーバに対する計算ロジックの具体的な構成手順例については後述する。なお、プロビジョニング方法については、ここではFPGAサーバを対象としているため、図3のステップS102bと同様にベアメタルを選択する。
次に、再構成結果通知部73は、ステップS202で構成されたFPGAへの計算ロジック及び選択されたプロビジョニング方法をユーザ端末5へ送信する(ステップS203)。それを受けたユーザ端末5は、受信した計算ロジック及びプロビジョニング方法を提案リソース及び提案プロビジョニング方法として画面に表示する。ユーザ端末5のユーザは、その提案内容を確認し、問題なければ承認指示をリソース選択装置1に返信する。このとき、問題があれば、FPGAに設定する計算ロジックをユーザが指定して返信してもよい。
最後に、設定要求部74は、ユーザにより承認されたリソース及びプロビジョニング方法を指定してIaaSコントローラ3にリソース設定・生成を要求する(ステップS204)。その後、IaaSコントローラ3は、リソース選択装置1からの該要求に基づきリソースを確保する。これにより、ステップS202で構成及び選択された計算ロジックとプロビジョニング方法が未使用のFPGAサーバで利用されることになる。
続いて、ステップS202で行う計算ロジックの具体的な構成手順について説明する。図6は、FPGAサーバに対する計算ロジックの構成処理フローを示す図である。
まず、ユーザの機能要件及び性能要件が、特定の計算処理用の計算ロジックを指定しているか否かを判定する(ステップS202a)。
ステップS202aの判定結果がYesの場合、指定された特定の計算ロジックを用いてFPGAサーバを構成する(ステップS202b)。一方、ステップS202aの判定結果がNoの場合、ユーザにより指定されたアプリケーションタイプに対応する計算ロジックがリソース構成システム上で利用できるか否かを判定する(ステップS202c)。
その後、ステップS202cの判定結果がYesの場合、指定されたアプリケーションタイプに対応する計算ロジックを用いてFPGAサーバを構成する(ステップS202d)。一方、ステップS202cの判定結果がNoの場合、ユーザに対して利用可能な1つ以上の計算ロジックを提示し、それに応じて指定された計算ロジックを用いてFPGAサーバを構成する(ステップS202e)。
なお、指定する構成をFPGAに反映する方法としては、例えば、FPGAを開発しているアルテラ社やザイリンクス社が提供している開発ツールを用いて反映すればよい。
ここまで、1つ目の動作パターンについて説明した。なお、この1つ目の動作パターンでは、FPGAに対して計算ロジックを新規に設定する場合について説明したが、後述するように既に設定されている計算ロジックを変更する場合でも図5及び図6の「構成」を「再構成」と読み替えることによりそのまま流用することができる。
続いて、2つ目の動作パターンについて説明する。再度説明するが、この2つ目は、ユーザのリソース運用中にFPGAの計算ロジックを再構成する動作である。図7は、FPGAサーバに対する計算ロジックの再構成処理フローを示す図である。この2つ目の動作は、例えば1つ目の動作の後に行われる。
まず、リソース利用頻度収集部75は、各FPGAサーバでユーザが利用している各種計算処理の利用頻度をそれぞれ定期的に収集する(ステップS301)。例えば、グラフ分析の回数が1時間に何回であるか、NoSQLのCRUD処理が1時間に何回であるか、等の回数をFPGAサーバ毎に収集する。
次に、リソース再構成部72は、FPGAサーバに設定されている計算ロジックの種類に基づき各FPGAサーバの得意な計算処理を検出し、検出された各FPGAサーバでの得意な計算処理の種類と該各FPGAサーバにおける各種計算処理の回数とを定期的に照合し、その照合結果に基づきFPGAサーバを再構成した方がよいかを判定する(ステップS302)。例えば、グラフ分析が得意なFPGAサーバ上で、グラフ分析回数が1時間に10回行われ、NoSQLのCRUD処理が1時間に10000回行われている場合、NoSQL処理に得意なFPGAサーバへ再構成する方が適切である。それゆえ、ステップS302では、例えば、得意な計算以外の計算回数が一定の閾値を超えた場合に、FPGAサーバの再構成が適切であると判定する。なお、グラフ分析が得意なFPGAサーバとは、グラフ分析用の計算ロジックが設定されているFPGAサーバである。
次に、再構成結果通知部73は、ステップS302でFPGAサーバの再構成が適切であると判定した場合、計算ロジックを変更すべき旨の通知をユーザ端末5へ送信する(ステップS303)。例えば、上記例の場合、該当のFPGAサーバ設定されているグラフ分析用の計算ロジックをNoSQL用の計算ロジックに変更した方が適切である旨及びその理由をユーザへ提案する。それを受けたユーザ端末5は、受信した計算ロジックの変更案を画面に表示する。ユーザ端末5のユーザは、その提案を確認し、問題なければ承認指示をリソース選択装置1に返信する。このとき、問題があれば、FPGAに設定する計算ロジックをユーザが指定して返信してもよいし、再構成を行わない指示を返信してもよい。
最後に、リソース再構成部72は、ユーザが利用しているFPGAサーバを選択し、ユーザによる承認結果に基づき、計算回数が増えた計算ロジックが高速化されるように該FPGAサーバの計算ロジックを変更する(ステップS304)。上記例の場合、グラフ分析用の計算ロジックを利用頻度が増大したNoSQL用の計算ロジックに変更する。FPGAの再構成にかかる時間は一般的に数十ms程度で可能であり、FPGAサーバの動作中に再構成しても問題はない。
これまで、FPGA内部の計算ロジックを構成及び再構成する場合について説明した。勿論、異なる計算ロジックを持つFPGAサーバ間、異なる種類の計算リソース間や記憶リソース間、異なるプロビジョニング方法同士についても、それら各間において、ユーザの変更後の性能要件及び機能要件、計算リソースに対するユーザの利用頻度に基づき変更することも可能である。
ここまで、2つ目の動作パターンについて説明した。この2つ目の動作パターンは、第1の実施の形態で用いたリソース選択装置1よりプロビジョニングされ、事前に特定の計算処理が最適化されたFPGAサーバに対して適用してもよい。
以上より、本実施の形態では、リソース再構成装置7が、ユーザの要件に応じて、特定の計算ロジックに最適化したFPGAサーバに設定を変更し、ベアメタルプロビジョニングするので、ユーザは高い処理性能を実現できる。
また、本実施の形態では、リソース再構成装置7が、FPGAサーバ上でユーザがシステム運用をしている場合、そのFPGAサーバでユーザが利用している各種計算処理の利用頻度をそれぞれ収集し、ユーザの利用方法の変化により特定の計算処理が増大してきた場合、増大した計算処理に合わせてFPGAサーバの構成を変更するので、ユーザはFPGAサーバ上でより高い処理性能を実現でき、さらに各種の計算ロジックを備えた複数のFPGAサーバを予め準備する必要性を低減することができる。
最後に、第1の実施の形態及び第2の実施の形態では、ユーザ要件に対して適切なリソース構成を提案する方法について説明したが、その一方でユーザは該提案内容で十分であるかを実際に確認する必要がある。そのような場合、提案されたリソース構成の性能を検証する性能検証装置を利用することも考えられる。例えば、非特許文献1は、サービス事業者側が提案したサーバ構成での性能を自動検証する仕組みを備えており、それらを利用することでユーザは容易に性能検証を実施可能となる。
1…リソース選択装置
11…要求受付部
12…リソース選択部
13…選択結果通知部
14…設定要求部
15…データ記憶部
3…IaaSコントローラ
31…OpenStack API
32…リソース構成構築部
33…OpenStack DB
5…ユーザ端末
7…リソース再構成装置
71…要求受付部
72…リソース再構成部
73…再構成結果通知部
74…設定要求部
75…リソース利用頻度収集部
76…データ記憶部
S101〜S104、S102a〜S102k、S201〜S204、S202a〜S202e、S301〜S304…ステップ

Claims (9)

  1. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、を備えたリソース構成システムにおいて、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する受信手段と、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する選択手段と、を備え、
    前記選択手段は、
    前記要件が前記特定の計算処理を一定以上の処理性能で処理することを要求している場合、前記計算リソースとしてFPGAを選択し、当該計算リソースのプロビジョニング方法としてベアメタルを選択することを特徴とするリソース構成システム。
  2. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、を備えたリソース構成システムにおいて、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する受信手段と、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する選択手段と、を備え、
    前記選択手段は、
    前記要件が前記画像処理又は前記並列処理を一定以上の処理性能で処理することを要求している場合、前記計算リソースとしてGPUを選択し、当該計算リソースのプロビジョニング方法として、計算リソースに対して要求されている処理性能の大きさ又はOSに対するカスタマイズの要否に基づきベアメタル又はコンテナを選択することを特徴とするリソース構成システム。
  3. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、を備えたリソース構成システムにおいて、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する受信手段と、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する選択手段と、を備え、
    前記選択手段は、
    前記要件に基づきブロック単位又はオブジェクト単位のプロビジョニング方法を選択し、動作させるアプリケーションプログラムの特性に応じて記憶リソースを選択することを特徴とするリソース構成システム。
  4. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、を備えたリソース構成システムにおいて、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する受信手段と、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する選択手段と、を備え、
    前記リソース再構成装置は、
    リソース構成後の計算リソースで前記ユーザが利用している各種計算処理の利用頻度をそれぞれ収集する収集手段と、
    前記利用頻度が増大した特定の計算処理に合わせて前記リソース構成後の計算リソースの構成を変更する再構成手段と、
    を備えることを特徴とするリソース構成システム。
  5. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、で行うリソース構成方法において、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する第1のステップと、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する第2のステップと、を行い、
    前記第2のステップでは、
    前記要件が前記特定の計算処理を一定以上の処理性能で処理することを要求している場合、前記計算リソースとしてFPGAを選択し、当該計算リソースのプロビジョニング方法としてベアメタルを選択することを特徴とするリソース構成方法。
  6. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、で行うリソース構成方法において、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する第1のステップと、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する第2のステップと、を行い、
    前記第2のステップでは、
    前記要件が前記画像処理又は前記並列処理を一定以上の処理性能で処理することを要求している場合、前記計算リソースとしてGPUを選択し、当該計算リソースのプロビジョニング方法として、計算リソースに対して要求されている処理性能の大きさ又はOSに対するカスタマイズの要否に基づきベアメタル又はコンテナを選択することを特徴とするリソース構成方法。
  7. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、で行うリソース構成方法において、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信する第1のステップと、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択する第2のステップと、を行い、
    前記第2のステップでは、
    前記要件に基づきブロック単位又はオブジェクト単位のプロビジョニング方法を選択し、動作させるアプリケーションプログラムの特性に応じて記憶リソースを選択することを特徴とするリソース構成方法。
  8. クラウド上のリソースを選択するリソース選択装置と、リソースを構成し又はそのリソース構成を再構成するリソース再構成装置と、で行うリソース構成方法において、
    前記リソース選択装置は、
    前記リソースに対するユーザの要件を受信するステップと、
    前記要件が特定の計算処理、画像処理、又は並列処理を階層的な処理性能の各判定基準のうち一定以上の処理性能で処理することを要求しているかに基づき、少なくともFPGAかGPUを含む複数の計算リソース及び複数のプロビジョニング方法から計算リソース及びプロビジョニング方法をそれぞれ選択するステップと、を行い、
    前記リソース再構成装置は、
    リソース構成後の計算リソースで前記ユーザが利用している各種計算処理の利用頻度をそれぞれ収集するステップと、
    前記利用頻度が増大した特定の計算処理に合わせて前記リソース構成後の計算リソースの構成を変更するステップと、
    行うことを特徴とするリソース構成方法。
  9. 請求項1乃至4のいずれかに記載のリソース構成システムとしてコンピュータを機能させることを特徴とするリソース構成プログラム。
JP2017535249A 2015-08-18 2016-03-14 リソース構成システム、リソース構成方法及びリソース構成プログラム Active JP6438144B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2015160784 2015-08-18
JP2015160784 2015-08-18
PCT/JP2016/057978 WO2017029826A1 (ja) 2015-08-18 2016-03-14 リソース構成システム、リソース構成方法及びリソース構成プログラム

Publications (2)

Publication Number Publication Date
JPWO2017029826A1 JPWO2017029826A1 (ja) 2018-05-10
JP6438144B2 true JP6438144B2 (ja) 2018-12-12

Family

ID=58051546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017535249A Active JP6438144B2 (ja) 2015-08-18 2016-03-14 リソース構成システム、リソース構成方法及びリソース構成プログラム

Country Status (5)

Country Link
US (1) US10628225B2 (ja)
EP (1) EP3340051A4 (ja)
JP (1) JP6438144B2 (ja)
CN (1) CN107924340A (ja)
WO (1) WO2017029826A1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10484242B2 (en) * 2017-08-23 2019-11-19 Bank Of America Corporation Dynamic cloud stack configuration
JP6992515B2 (ja) * 2018-01-05 2022-01-13 コニカミノルタ株式会社 Gpu割当プログラム、gpu割当方法、コンピュータ読取可能な記録媒体、および、gpu割当装置
US10853134B2 (en) * 2018-04-18 2020-12-01 Xilinx, Inc. Software defined multi-domain creation and isolation for a heterogeneous System-on-Chip
US11140032B2 (en) * 2018-05-04 2021-10-05 Oracle International Corporation System and method for building idempotent configuration management modules for a cloud Infrastructure Service
CN108958910B (zh) * 2018-05-21 2020-12-18 福建省数字福建云计算运营有限公司 一种基于异构环境下的任务调度方法及终端
CN108897601A (zh) * 2018-06-29 2018-11-27 郑州云海信息技术有限公司 一种基于虚拟化的fpga使用方法、系统及相关装置
US11416663B2 (en) * 2018-12-13 2022-08-16 Hamilton Sundstrand Corporation Optimized allocation of functions in hybrid motor controller implementations
US11120188B2 (en) * 2019-01-28 2021-09-14 King Fahd University Of Petroleum And Minerals FPGA virtualization
CN111309440B (zh) * 2020-02-16 2022-07-08 苏州浪潮智能科技有限公司 一种多类型gpu的管理调度的方法和设备
CN111858241B (zh) * 2020-07-10 2022-06-10 浪潮电子信息产业股份有限公司 一种fpga云平台的监控方法、装置、设备及存储介质
CN112286537A (zh) * 2020-10-23 2021-01-29 平安科技(深圳)有限公司 裸金属服务交付方法、装置、计算机设备和存储介质
US11809911B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. Resuming workload execution in composed information handling system
US11853782B2 (en) * 2020-12-09 2023-12-26 Dell Products L.P. Method and system for composing systems using resource sets
US11675625B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. Thin provisioning of resources using SCPS and a bidding system
US11604595B2 (en) 2020-12-09 2023-03-14 Dell Products L.P. Data mirroring and data migration between storage volumes using system control processors
US11693703B2 (en) 2020-12-09 2023-07-04 Dell Products L.P. Monitoring resource utilization via intercepting bare metal communications between resources
US11675665B2 (en) 2020-12-09 2023-06-13 Dell Products L.P. System and method for backup generation using composed systems
US11435814B2 (en) 2020-12-09 2022-09-06 Dell Produts L.P. System and method for identifying resources of a composed system
US11934875B2 (en) 2020-12-09 2024-03-19 Dell Products L.P. Method and system for maintaining composed systems
US11704159B2 (en) 2020-12-09 2023-07-18 Dell Products L.P. System and method for unified infrastructure architecture
US11809912B2 (en) 2020-12-09 2023-11-07 Dell Products L.P. System and method for allocating resources to perform workloads
US11928515B2 (en) 2020-12-09 2024-03-12 Dell Products L.P. System and method for managing resource allocations in composed systems
US11698821B2 (en) 2020-12-09 2023-07-11 Dell Products L.P. Composable information handling systems in an open network using access control managers
US11755433B2 (en) 2020-12-22 2023-09-12 EMC IP Holding Company LLC Method and system for health rank based virtual machine restoration using a conformal framework
US11797341B2 (en) 2021-01-28 2023-10-24 Dell Products L.P. System and method for performing remediation action during operation analysis
US11768612B2 (en) 2021-01-28 2023-09-26 Dell Products L.P. System and method for distributed deduplication in a composed system
US11675916B2 (en) 2021-01-28 2023-06-13 Dell Products L.P. Method and system for limiting data accessibility in composed systems
US11687280B2 (en) 2021-01-28 2023-06-27 Dell Products L.P. Method and system for efficient servicing of storage access requests
US11947697B2 (en) 2021-07-22 2024-04-02 Dell Products L.P. Method and system to place resources in a known state to be used in a composed information handling system
US11928506B2 (en) 2021-07-28 2024-03-12 Dell Products L.P. Managing composition service entities with complex networks
WO2023105670A1 (ja) * 2021-12-08 2023-06-15 日本電信電話株式会社 リソース管理装置及びプログラム
WO2023105671A1 (ja) * 2021-12-08 2023-06-15 日本電信電話株式会社 計算機及びプログラム
CN115499305B (zh) * 2022-07-29 2024-04-26 天翼云科技有限公司 一种分布式集群存储设备的部署方法、装置及电子设备

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6915518B1 (en) * 2000-07-24 2005-07-05 Xilinx, Inc. System and method for runtime reallocation of PLD resources
US20030069974A1 (en) * 2001-10-08 2003-04-10 Tommy Lu Method and apparatus for load balancing web servers and virtual web servers
US7437721B2 (en) * 2004-09-29 2008-10-14 Microsoft Corporation Isolating software deployment over a network from external malicious intrusion
WO2007021836A2 (en) * 2005-08-15 2007-02-22 Toutvirtual Inc. Virtual systems management
JP5420477B2 (ja) * 2010-05-25 2014-02-19 日本電信電話株式会社 情報サービスシステム
US9235442B2 (en) * 2010-10-05 2016-01-12 Accenture Global Services Limited System and method for cloud enterprise services
CN103312727A (zh) * 2012-03-06 2013-09-18 创业软件股份有限公司 一种区域医疗协同服务领域云计算部署方法
US8892945B2 (en) * 2012-04-02 2014-11-18 International Business Machines Corporation Efficient application management in a cloud with failures
US8775576B2 (en) * 2012-04-17 2014-07-08 Nimbix, Inc. Reconfigurable cloud computing
JP5951111B2 (ja) * 2012-11-09 2016-07-13 株式会社日立製作所 管理計算機、計算機システム、及びインスタンス管理方法
DE102012221355A1 (de) * 2012-11-22 2014-05-22 Siemens Aktiengesellschaft Verfahren zum Bereitstellen von Ressourcen in einer Cloud und Vorrichtung
US8677359B1 (en) * 2013-03-14 2014-03-18 Joyent, Inc. Compute-centric object stores and methods of use
US20140280964A1 (en) * 2013-03-15 2014-09-18 Gravitant, Inc. Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities
CN103297504B (zh) * 2013-05-09 2016-05-11 浙江大学 一种云数据中心中物理裸机快速部署操作系统的方法
JP5988505B2 (ja) 2013-11-26 2016-09-07 日本電信電話株式会社 仮想リソース管理装置、選択方法及び選択プログラム
JP2015132887A (ja) * 2014-01-09 2015-07-23 富士通株式会社 要求分散プログラム、要求分散方法および情報処理装置

Also Published As

Publication number Publication date
EP3340051A1 (en) 2018-06-27
WO2017029826A1 (ja) 2017-02-23
EP3340051A4 (en) 2019-04-10
US20180239642A1 (en) 2018-08-23
JPWO2017029826A1 (ja) 2018-05-10
US10628225B2 (en) 2020-04-21
CN107924340A (zh) 2018-04-17

Similar Documents

Publication Publication Date Title
JP6438144B2 (ja) リソース構成システム、リソース構成方法及びリソース構成プログラム
EP3762826B1 (en) Live migration of virtual machines in distributed computing systems
CN109791500B (zh) 虚拟机实例和客户可编程逻辑之间的中间主机集成电路
US10146563B2 (en) Predictive layer pre-provisioning in container-based virtualization
US11573714B2 (en) Compressibility instrumented dynamic volume provisioning
US10324754B2 (en) Managing virtual machine patterns
US8825863B2 (en) Virtual machine placement within a server farm
US20200234211A1 (en) Methods and systems to optimize operating system license costs in a virtual data center
US8904384B2 (en) Reducing data transfer overhead during live migration of a virtual machine
US11023267B2 (en) Composite virtual machine template for virtualized computing environment
EP3254193B1 (en) Dynamically controlled workload execution
US20180157560A1 (en) Methods and apparatus for transparent database switching using master-replica high availability setup in relational databases
US10936356B2 (en) Virtual machine management
US9800484B2 (en) Optimizing resource utilization in a networked computing environment
US20190229983A1 (en) Methods and systems that provision applications across multiple computer systems
US10936330B2 (en) Instantaneous boot of virtual machine instances via remote direct memory access
WO2019139795A1 (en) Fast instantiation of virtual machines in distributed computing systems
US10585736B2 (en) Incremental dump with fast reboot
US20160283257A1 (en) Parallelized virtual machine configuration
US11960917B2 (en) Live migration and redundancy for virtualized storage
Chen et al. Towards Fast Deploying the Coordinated Storage, Computing, and Networking Cloud Service: the Ezilla Toolkit

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180626

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180725

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: 20181113

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181115

R150 Certificate of patent or registration of utility model

Ref document number: 6438144

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150