JP2016009305A - リソースマネージャ装置、資源管理方法及び資源管理プログラム - Google Patents

リソースマネージャ装置、資源管理方法及び資源管理プログラム Download PDF

Info

Publication number
JP2016009305A
JP2016009305A JP2014129155A JP2014129155A JP2016009305A JP 2016009305 A JP2016009305 A JP 2016009305A JP 2014129155 A JP2014129155 A JP 2014129155A JP 2014129155 A JP2014129155 A JP 2014129155A JP 2016009305 A JP2016009305 A JP 2016009305A
Authority
JP
Japan
Prior art keywords
module
resource
wiring
data processing
processing system
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.)
Pending
Application number
JP2014129155A
Other languages
English (en)
Inventor
祐太 右近
Yuta Ukon
祐太 右近
悠介 関原
Yusuke Sekihara
悠介 関原
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
Priority to JP2014129155A priority Critical patent/JP2016009305A/ja
Publication of JP2016009305A publication Critical patent/JP2016009305A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】複数の再構成可能デバイスを用いたデータ処理システムにおいて、必要最低限の量を超えて配線資源が消費された場合に、余分な資源の消費を減らしてシステム資源の利用効率を改善する。【解決手段】複数の再構成可能デバイスを有するデータ処理システムの資源を管理するリソースマネージャ装置11は、データ処理システム内の構成を変更する実行部34と、モジュールごとの配線資源の使用量に応じてモジュールを選択し、選択されたモジュールの移動先を決定し、その移動先に選択されたモジュールを移動させたとしてその移動の前後でのシステム全体での配線資源の使用量を評価値として算出し、評価値の増減に応じてモジュールの移動の可否を判定する集約部36と、を有する。選択されたモジュールの移動を可と判定したときに、実行部34は、決定された移動先にそのモジュールを移動させるように、データ処理システム内の構成を変更する。【選択図】図3

Description

本発明は、複数の再構成可能デバイスを用いたシステムの資源管理を行うリソースマネージャ装置と、資源管理方法と、資源管理プログラムとに関する。
近年、与えられたデータを高速で処理することができ、かつ短時間で大量の処理要求をこなすことができるデータ処理システムに対する要望がますます高まっている。例えば、有線通信または無線通信を介してユーザ(利用者)端末がネットワーク上のサーバまたはデータセンタに接続してこれらを利用できるようにする情報通信サービスでは、ユーザ数の増大や取り扱うデータ量の増加に伴って、サーバあるいはデータセンタ側のデータ処理システムにおける処理能力の増強が求められている。このような要求に対し、一般的なデータセンタにおける既存のシステムでは、サーバコンピュータの台数を増やしたり、複数のサーバコンピュータに対し負荷を分散したりすることで、特定のサーバコンピュータに負荷が集中するのを防ぐ方法がとられている。また、この負荷分散を最適に行うためのアルゴリズムが検討されている。しかしながら、一般的なサーバコンピュータにおいて用いられている処理方法であるソフトウェアを使った処理は、ハードウェアを使った処理に比べて低速であるといった問題があり、処理量の増大に伴ってサーバコンピュータの設置に要する面積や消費電力が増加するという問題もある。このため、複数のサーバコンピュータに対して負荷の分散を行うだけでは、今後ますます増大するであろうデータ処理量に対処することは困難となっている。
このような問題点を解決してデータ処理システムが処理すべき処理量の増加に対応する方法として、専用のハードウェア構成によるアクセラレータをデータ処理システムに接続し、特定の処理をアクセラレータにオフロードすることで、データ処理システムの処理負荷を低減する方法がある(非特許文献1)。ハードウェアによるアクセラレータは、例えば特定の種類の浮動小数点演算などの特定の処理を実行するのであれば、ソフトウェア処理よりも高速かつ低消費電力である、という利点を有する。しかしながら、既存のハードウェアアクセラレータは、特定の処理の実行に特化したものであるため汎用性が低く、多種多様の処理の高速化には適してはいない。そこで、特許文献1には、再構成可能(リコンフィギュアラブル;reconfigurable)デバイスを複数組み合わせることによって、複数の異なるデータ処理要求に対して、並列に異なる処理を行うことができるようにしたアクセラレータが開示されている。再構成可能デバイスは、例えば、異なる種類の多数の回路ブロックを備え、回路ブロック間の布線接続関係を外部からの制御信号によって変更可能であって、制御信号に応じて回路ブロック間の接続を構成することによってユーザから要求された処理に適合したハードウェア機能回路として再構成できるものである。特許文献1に示されるアクセラレータでは、任意の時点において、条件を満たした再構成可能デバイスの回路構成を変更することができる。
特許文献1に示されるような再構成可能デバイスを使用し、その回路構成をユーザからの要求に合わせて変更することで、ユーザからの要求に応じて実行するアプリケーションの種類と数とを変更することができる。このようなアクセラレータによれば、様々なタイミングで多種多様なデータ処理を高速に行うことを要求されるサーバあるいはデータセンタ側のデータ処理システムの処理負荷を低減することができる。
以下、再構成可能デバイスを有するアクセラレータを備えるデータ処理システムに関し、本明細書において用いられる用語を説明する。
アプリケーションとは、ユーザがデータ処理システムに対して要求する処理単位のことである;
モジュールとは、再構成可能デバイスに回路構成が設定されることにより(すなわち実装されることにより)実現される単位処理回路のことである。アプリケーションを実行する場合には、1以上のモジュールを組み合わせて使用する。なお、1つの再構成可能デバイス上で複数のモジュールが動作することもある;
動作中のモジュールとは、実行中のアプリケーションのいずれかで使用されているモジュールのことである;
空デバイスとは、自身上に動作中のモジュールが実装されていない再構成可能デバイスのことである;
システム資源とは、データ処理システムの計算資源及び配線資源を含むものである;
計算資源とは、再構成可能デバイスが有する資源のうち、再構成可能デバイス上にモジュールを実装するために必要な資源であり、例えば、再構成可能デバイスに含まれる異なる種類の多数の回路ブロックを示す;
配線資源とは、再構成可能デバイスが有する資源のうち、再構成可能デバイス上に実装されたモジュールが通信するために必要な資源である。モジュールを組み合わせてアプリケーションを実行する場合、モジュール間の配線資源の設定が必須である。
特開2013−045219号公報
松岡 聡、「アクセラレータ,再び アクセラレータ技術の影と光」、情報処理学会誌,Vol. 50, No. 2, pp. 95-99, 2009年2月
複数の再構成可能デバイスを備えるシステムでは、ユーザからの要求に合わせて回路構成を変更することで、実行するアプリケーションの種類と数とを変更することができるが、その反面、アプリケーションの種類と数との変更を繰り返すことで、利用できないシステム資源が発生する、という課題がある。これは、システムが継続して動作する際にアプリケーションの種類と数とが繰り返し変更されると、必要最低限の量を超えて配線資源が消費され、これにより、利用できないシステム資源が発生するためである。利用できないシステム資源が発生すると、並列実行できるアプリケーション数が少なくなって、システムの利用効率が低下する。
本発明の目的は、複数の再構成可能デバイスを用いたシステムの資源管理を行うタスクマネージャ装置、資源管理方法及び資源管理プログラムであって、実行中のアプリケーションを中断することなく余分な資源の消費を減らしてシステム資源の利用効率を改善することができるリソースマネージャ装置、資源管理方法及び資源管理プログラムを提供することにある。
本発明のリソースマネージャ装置は、複数の再構成可能デバイスを備えるデータ処理システムに設けられ、再構成可能デバイス上に単位処理回路としてモジュールを実装するための計算資源と、実装されたモジュールが通信するための配線資源と、を管理するリソースマネージャ装置であって、データ処理システム内の構成を変更する実行手段と、モジュールごとの配線資源の使用量に応じてモジュールを選択し、選択されたモジュールの移動先を決定し、その移動先に選択されたモジュールを移動させたとしてその移動の前後でのデータ処理システムの全体での配線資源の使用量を評価値として算出し、評価値の増減に応じて選択されたモジュールを移動先に移動させることの可否を判定する集約手段と、を有し、選択されたモジュールを移動先に移動させることを可と判定したときに、実行手段が、選択されたモジュールを移動先に移動させるようにデータ処理システム内の構成を変更する。
本発明の資源管理方法は、複数の再構成可能デバイスを備えるデータ処理システムにおける、再構成可能デバイス上に単位処理回路としてモジュールを実装するための計算資源と、実装されたモジュールが通信するための配線資源と、を管理する資源管理方法であって、モジュールごとの配線資源の使用量に応じてモジュールを選択する段階と、選択されたモジュールの移動先を決定する段階と、移動先に選択されたモジュールを移動させたとしてその移動の前後でのデータ処理システムの全体での配線資源の使用量を評価値として算出する段階と、評価値の増減に応じて選択されたモジュールを移動先に移動させることの可否を判定する段階と、判定する段階において移動先に移動させることを可と判定したときに、選択されたモジュールを移動先に移動させるようにデータ処理システム内の構成を変更する段階と、を有する。
本発明の資源管理プログラムは、コンピュータを本発明のリソースマネージャ装置として機能させる。
本発明では、複数の再構成可能デバイスを備えるデータ処理システムにおいて、配線資源の使用状況に基づいてモジュールを選択し、例えば未使用モジュールまたは空デバイスを利用して、配線資源の使用量が減少するようにこの選択されたモジュールを集約することにより、システムが継続して動作することによって配線資源が必要最低限の量を超えて消費されたときに配線資源の余分な消費を減らすことができる。これにより、低下したシステムの利用効率を高めることができる、という効果が得られる。
本発明の実施の一形態の資源管理方法が適用されるデータ処理システムの構成の一例を示すブロック図である。 図1に示すデータ処理システムにおいて用いられるアクセラレータの構成の一例を示すブロック図である。 図1に示すデータ処理システムにおいて用いられるリソースマネージャ装置の構成の一例を示すブロック図である。 アプリケーションの追加と削除の処理の全体の手順の一例を示すフローチャートである。 アプリケーションの追加処理の一例を示すフローチャートである。 実行中のアプリケーションの削除処理の一例を示すフローチャートである。 配線資源の再割当ての手順の一例を示すフローチャートである。 リストの一例を示す図である リストの一例を示す図である。
次に、本発明の好ましい実施の形態について、図面を参照して説明する。
図1に示すデータ処理システム10は、本発明に基づく資源管理方法が適用されるものであって、例えば、ユーザ端末からのサービス要求に応じてデータ処理を行い、その処理結果をユーザ端末に返送するために用いられるものである。データ処理システム10は、同時または別々のタイミングで要求される複数の異なるデータ処理要求に対して、並列に処理を行い、結果を返すことができるようになっている。
データ処理システム10は、要求された処理への資源の割当てを行う機能、システム資源を管理する機能、処理の追加や削除などの制御機能、などの各機能を有するリソースマネージャ装置11と、ユーザから要求された処理をハードウェア回路により処理する1つ以上のアクセラレータ12と、リソースマネージャ装置11と各アクセラレータ12との間で制御信号の入出力を行うための制御信号線16と、外部機器とアクセラレータ12との間およびアクセラレータ12の相互間でデータ信号の入出力を行うためのデータ信号線17と、を備えている。
各アクセラレータ12は、いずれも、複数の再構成可能デバイスを備えるものであり、ユーザ端末からの要求が到着した時点において空デバイスとなっている再構成可能デバイスは、その回路構成を変更することができる。上述したように、再構成可能デバイスに対して回路構成を設定することで実現されるモジュールを1つ以上組み合わせることによって、ユーザが要求する処理単位となるアプリケーションとなるので、このようなアクセラレータ12を備えるデータ処理システム10は、ユーザからの要求に対してリソースマネージャ装置11がシステムを制御・管理し、アクセラレータ12を用いて、要求された処理を提供するシステムである。
アクセラレータ12について詳しく説明する。アクセラレータ12は、アクセラレータ装置として扱われるものであって、図2に示すように、再構成可能ハードウェア処理部13とアクセラレータ内接続部14と入出力部15とを備えるハードウェアである。
再構成可能ハードウェア処理部13は、その処理回路の再構成が可能なことを特徴とするものであって、1つ以上の再構成可能デバイス20を備えている。入出力部15は、データ信号線17に接続する1つ以上の入出力インターフェース(I/F)21を備えている。アクセラレータ内接続部14は、入出力部15内の各入出力インターフェース21と再構成可能ハードウェア処理部13内の各再構成可能デバイス20との間でデータの転送を可能にするものであり、固定された配線もしくは再構成可能な配線を備えるとともに、通信経路を切替えるスイッチを備えている。再構成可能ハードウェア処理部13、アクセラレータ内接続部14及び入出力部15は、いずれも制御信号線16に接続しており、リソースマネージャ装置11からの制御信号により制御することができる。特に、リソースマネージャ装置11は、制御信号により、再構成可能ハードウェア処理部13内の各再構成可能デバイス20での回路構成の設定、アクセラレータ内接続部14での再構成可能な配線の設定やスイッチの設定を行うことができる。
このようなデータ処理システム10の具体的な構造の例として、再構成可能デバイス20は、再構成可能なLSI(大規模集積回路:Large-Scale Integration)、FPGA(Field Programmable Gate Array)などによって構成することができる。再構成可能デバイス20内で実行される処理は、例えばFPGA内に実装する単位処理回路すなわち個々の処理回路によって行われる処理であり、既存のIP(Intellectual Property)コアや、事前に作成した専用の論理回路ブロックや、メモリ回路ブロックなどとして構成することができる。またアクセラレータ12は、1つ以上のFPGAを搭載した1枚のボード(ハードウェア基板)として構成することができる。これらのFPGAが再構成可能ハードウェア処理部13の再構成可能デバイス20に相当し、ボードに備えられた外部との通信用インターフェースが入出力部15の入出力インターフェース21に相当し、FPGA間を結ぶ配線と、FPGAを外部との通信用インターフェースに結ぶ配線とが、アクセラレータ内接続部14に相当することになる。アクセラレータ内接続部14に再構成可能な配線を設ける場合、そのような再構成可能な配線は、例えば、クロスバースイッチなどによって構成することができる。アクセラレータ内接続部14において通信経路を切替えるためのスイッチは、例えば、セレクタによって構成しても、あるいは、FPGAに機能ブロックとして実装してもよい。再構成可能ハードウェア処理部13内の各再構成可能デバイス20と入出力部15の各入出力インターフェース21とは、アクセラレータ内接続部14によって、それぞれを頂点とした任意のネットワークトポロジー(メッシュ結合、リング結合、バス結合、ツリー結合、全結合など)で接続することができる。
このようなアクセラレータ12を用いることにより、上述したようにこのデータ処理システム10は、ユーザ要求に応じて任意の処理を提供することができ、また、同時または別々のタイミングで要求される複数の異なるデータ処理要求に対して、並列に処理を行い、結果を返すことができる。
次に、リソースマネージャ装置11について説明する。リソースマネージャ装置11における、処理の追加や削除などの制御機能は、ユーザから受け付けたデータ処理要求に基づいてアプリケーションの追加及び削除を行う機能を含んでおり、また、システム資源を管理する機能は、余分な資源の消費を減らすようにシステム資源を管理する機能を含んでいる。図3は、リソースマネージャ装置11の構成の一例を示している。
図3に示すリソースマネージャ装置11は、ユーザからの処理要求であるユーザ要求を受付けるインタフェース30と、受付けたユーザ要求をこのデータ処理システム10において実行できるかどうかを判定する判定部31と、モジュールの配置配線情報及びモジュールの配置配線の変更手順を保持するデータベース32と、モジュールの配置配線の変更命令を発行する実行部34と、変更命令を再構成可能デバイス20が認識可能なコードを含む制御信号に変換するAPI(アプリケーションプログラミングインタフェース:Application Programming Interface)部35と、モジュールの集約計画を立てる集約部36と、を備えている。データベース32は、モジュールの配置配線情報及びモジュールの配置配線の変更手順の実際のデータを記憶する記憶装置37と、記憶装置37に記憶されたデータを管理し、要求に応じて記憶装置37にデータを格納し、記憶装置37に格納されたデータを読出すデータベース管理部38と、から構成されている。記憶装置37としては、例えば一般的なコンピュータに設けられる記憶装置と同様のものが用いられる。
インタフェース30は、ユーザ要求を解釈し、特にユーザ要求がアプリケーションの追加または削除に関するものであるかを判定し、ユーザ要求によって指定される処理内容を判定部31へと通知するとともに、集約部36に割込通知を行い、集約部36での処理を中断させる。判定部31は、ユーザ要求がアプリケーションを追加する追加要求であるかアプリケーションを削減する削減要求であるときは、その追加要求または削減要求が実行可能かどうかを判定を行い、実行可能であれば、そのアプリケーションに関連するモジュールの配置配線情報及びそのモジュールの配置配線の変更手順をデータベース32に登録する。一般的な再構成可能デバイスを用いている場合には、アプリケーションの削除は無条件に可能であると考えられるから、そのような場合には、判定部31は、削減要求が実行可能かを判定する必要はなく、追加要求が実行可能かどうかだけを判定すればよい。以下の説明では、アプリケーションの削減は無条件に可能であるものとする。
実行部34は、モジュールの配置配線の変更手順が決まったときに、データベース32からその変更手順を読出し、必要な配置配線の変更命令を順次発行する。モジュールの配置配線の変更手順は、上述したように判定部31において定められるとともに、後述するように、集約部36が実行する処理においても定められる。実行部34によって発行された命令は、API部35において、再構成可能デバイス20が認識可能なコードを含む制御信号へと変換され、制御信号線16を介して再構成可能デバイス20へと送られる。API部35からの制御信号は、アクセラレータ内接続部14や入出力部15の制御にも用いられる。集約部36は、システム資源の利用状況を最適化するために、ユーザからの要求を受け付けていない状態において、データベース32を参照してモジュールの集約計画を立てる。モジュールの集約計画も、集約されるモジュールについての配置配線情報及びそのモジュールの配置配線の変更手順を含んでおり、計画された配置配線情報及び配置配線の変更手順はデータベース32に登録される。これにより、集約計画に基づくモジュールの配置配線の変更手順に基づいて、実行部34を介して、モジュールの配置配線の変更が行われる。
図4は、リソースマネージャ装置11で実行される、アプリケーションの追加及び削除の処理の全体の手順を示している。
ユーザ端末からユーザ要求が到来すると、まずステップ101において、そのユーザ要求はインタフェース30で受け付けられ、次にステップ102において、インタフェース31は、ユーザ要求を解釈し、そのユーザ要求がアプリケーションの追加もしくはアプリケーションの削除のいずれかであるかを判定する。ユーザ要求がアプリケーションの追加であるときは処理内容を判定部31に通知し、割込を集約部36に通知する。ユーザ要求がアプリケーションの削除である場合には、ステップ103において、実行部34がアプリケーションを削除するための後述する処理フローを実行し、処理を終了する。
一方、ステップ102においてユーザ要求がアプリケーションの追加であると判断した場合は、処理内容が判定部32に通知されるので、ステップ104において、判定部31は、要求されたアプリケーションを実行するために必要なすべてのモジュールが、再構成可能ハードウェア処理部13において未使用モジュールとして存在するかどうかを判定する。未使用モジュールとは、再構成可能デバイス20に構成されたモジュールのうち、他のアプリケーションにより使用されていないモジュールのことをいう。必要な未使用モジュールがすべて存在した場合は、ステップ105に進み、必要な未使用モジュールの一部もしくは全部が存在しなかった場合は、ステップ108に進む。
ステップ105において判定部31は、追加するアプリケーションを実行するために必要なそれぞれのモジュールに配線資源を割当て、通信経路を決める。配線資源の割当て方としては、例えば、最初に最短経路となるように割当てを行い、そのような割当てに失敗したら次善の経路長となるように割当てを行う方法などがある。配線資源の割当てを行った後、ステップ106において、判定部31は、配線資源の割当ての成否(成功または失敗)を判定する。失敗であった場合、すなわち割当てることができる配線資源が存在しなかった場合は、ステップ108に進む。一方、ステップ105において配線資源の割当てに成功したと判断した場合は、ステップ107において、その割当て結果である配置配線情報及び配置配線の変更手順がデータベース32に登録され、実行部34は、データベース32に登録された配線資源情報及び配置配線の変更手順に基づいて、対象となるモジュール間で通信ができるように通信経路の切替えを行い、処理を終了する。通信経路の切替えは、実行部34が出力する命令をAPI部35がその命令を再構成可能デバイス20が認識可能なコードを含む制御信号に変換し、この制御信号によってアクセラレータ12内のアクセラレータ内接続部14のスイッチを操作し、さらにはアクセラレータ内接続部14が再構成可能配線を備える場合にはその再構成可能配線の配線構成の設定を行うことによって、実行される。
ステップ108において判定部31は、動作中のモジュールが存在しない再構成可能デバイス20すなわち空デバイスを選択し、その選択されたデバイスに計算資源を割当て、次にステップ109において、計算資源の割当てに成功したかどうかその成否を判定する。失敗であれば、それは、ユーザ要求を満たす計算資源がシステムに存在せず、ユーザ要求に応えられないことを意味するから処理を終了する。計算資源の割当てに成功した場合は、判定部31は、ステップ110において、新規に実装するモジュールに配線資源を割当て通信経路を決め、次にステップ111において、配線資源の割当ての成否を判定する。配線資源の割当てに失敗した場合にはステップ108に戻り、判定部31は計算資源の割当てをやり直す。一方、配線資源の割当てに成功したと判断した場合は、ステップ112において、その割当て結果である配置配線情報及び配置配線の変更手順がデータベース32に登録され、ステップ112において、モジュールを再構成可能デバイス20に追加するための後述する処理フローを実行部34が実行し、処理を終了する。
以上がアプリケーションを追加または削除するための処理の概要であるが、ここでステップ105,110の配線資源の割当てと、ステップ108の計算資源の割当ては、リソースマネージャ装置11がシステムの資源の利用状況を把握するための仮想的な処理である。また、ステップ103,107,112はアクセラレータ12の操作を含むステップであり、その他のステップは、ユーザからの要求にしたがってどのような操作をするかをリソースマネージャ装置11が決定するための仮想的な処理を行うステップである。ここで仮想的な処理とは、アクセラレータ12内の再構成可能デバイス20やアクセラレータ内接続部14に対して実際に回路構成や配線構成を設定することをしない処理のことを意味する。
動作中のデータ処理システムシステム10上では、いろいろなユーザが要求した種々のアプリケーションが動作している。そこに新しくアプリケーションを追加するには、この動作中のアプリケーションを中断することなく新たにアプリケーションの追加を完了することが求められる。図5は、図4のステップ112に示す追加処理フローを具体的に示したものであって、動作中のアプリケーションを中断することなく新たにアプリケーションの追加するための処理の実行部34が行う具体的な手順を示している。図3に示すステップ111までの処理が終了して、どの再構成可能デバイス20に対してどのモジュールを実装し、どのように通信経路を確保するかが決まり、それらの配置配線情報及び配置配線の変更手順がデータベース32に格納されているものとする。実行部34は、まずステップ121において、データベース32からの情報に基づいて、回路構成を変更する対象となる再構成可能デバイス20を指定し、ステップ122において、変更後にどのような回路構成にするかを指定し、次にステップ123において、指定した再構成可能デバイス20を経由する通信が存在する場合、指定した再構成可能デバイス20を迂回するように、その通信の経路を変更し、さらに、ステップ124において、指定した再構成可能デバイス20を再構成し、回路構成を変更する。最後に、ステップ125において、実行部34は、ステップ123において迂回させた通信経路を元の経路に戻す。上述したようにアクセラレータ内接続部14に対する配線構成の設定によって実行され、また、回路構成の設定は、該当する再構成可能デバイス20に対してリソースマネージャ装置11から制御信号を送ることによって実行される。このように処理フローを進めることで、動作中のアプリケーションを中断することなく新たにアプリケーションを追加することができる。ただし、経路を変更するためにスイッチを切替えるときに通信の瞬断が発生する。
図6は、図4のステップ103に示す削除処理フローを具体的に示したものであって、実行中のアプリケーションを削除するために実行部34が行う具体的な手順を示している。実行部34は、まずステップ131において、対象となるアプリケーションを停止させ、次にステップ132において、対象となるアプリケーションに含まれる1組のモジュール対を選択し、ステップ133において、選択したモジュール間の配線資源を解放する。最後にステップ134において、実行部34は、まだ配線資源が未解放である対象モジュール対が存在するかどうかを判定し、存在する場合にはその未解放配線資源の解放のためにステップ132に戻り、配線資源が未解放である対象モジュール対が存在しなければ処理を終了する。以上の削除処理フローにおいて、ステップ131は再構成可能デバイス20を実際に操作するものであるが、ステップ132〜134は、システムの利用状況を更新するための仮想的な処理である。ステップ132〜134を実行することによって解放された配線資源に関する情報は、実行部34によってデータベース32に登録される。
このように、このデータ処理システム10におけるアプリケーションの削除とは、モジュール間の配線資源を解放するだけであり、モジュール自体は再構成可能デバイス20の上に実装されたままである。再構成可能デバイス20上に実装されたままとなっているモジュールは、配線資源を再度与えることで再び利用することができる。よって、ユーザ要求によって新たにアプリケーションが必要となった時、この未使用モジュールを使ってアプリケーションを構成することができる。未使用モジュールを使ってアプリケーションを構成できた場合、再構成可能デバイス20における回路構成を再構成することでアプリケーションを構成する場合に比べ、ユーザ要求の受付けから処理開始までの時間を短くすることができる。
図4、図5及び図6で示したこれらの処理によりユーザからの要求に合わせてアプリケーションの追加及び削除を行うことが可能となるが、このような処理を用いてアプリケーションの追加と削除とを繰り返した場合、計算資源及び配線資源、特に配線資源が必要最低限の量を超えて消費される問題が発生する。そこで本実施形態では、ユーザ要求が来ていないとき、すなわち、インタフェース30から集約部36に対して割込通知が出ていないときに、集約部36によって、モジュールの集約計画を立案して配線資源の再割当てを実行する。図7は、配線資源の再割当ての処理手順を示している。
配線資源は、再構成可能デバイス上に実装されたモジュールが通信するために必要な資源であるから、個々の配線資源は、1対のモジュール間に設定されるものである。また、モジュールが外部との通信を行うためにも配線資源を必要とするから、モジュールと入出力インタフェース(I/F)21との間に配線資源が設定される。そこで集約部36は、まずステップ141において、データベース32を参照し、配線資源の消費量に基づいて、消費量が多い順にモジュール対、もしくはモジュール・入出力インタフェース対を登録したリストを作成する。図8は、このようにして作成されたリストの一例を示している。ここに示すリスト40では、配線資源を消費するモジュール対(あるいはモジュール・入出力インタフェース対)ごとに、始点となるモジュール(あるいは入出力インタフェース)の識別番号、終点となるモジュール(あるいは入出力インタフェース)の識別番号、それらのモジュール間(あるいはモジュールと入出力インタフェースとの間)のバス幅BUS、それらのモジュール間(あるいはモジュールと入出力インタフェースとの間)のステップ数STEP、及び通信コストを記述するものである。ステップ数は、当該モジュール間(あるいはモジュールと入出力インタフェースとの間)に存在する再構成可能デバイス20の数に1を加えたものである。ただし、始点となるモジュールと終点となるモジュールが同一の再構成可能デバイス20に実装されていてモジュール間の通信がその再構成可能デバイス20の内部で完結する場合には、ステップ数を0とする。通信コストは、バス幅BUSとステップ数STEPとの積である。ステップ141では、リスト40を作成するとともに、通信コストの降順でリスト40のソートも行う。ステップ142において、集約部36は、各モジュール対(及びモジュール・入出力インタフェース対)間の通信コストの総和を求め、これを後述する評価値の初期値となる値hrefとする。
次にステップ143において、集約部36は、作成したリスト40の上位より順にモジュール対もしくはモジュール・入出力インタフェース対を選択し、ステップ144において、リスト40に対象物(すなわち選択されたモジュール対あるいはモジュール・入出力インタフェース対)が存在したかを判定し、存在しなければ、処理を終了する。対象物が存在した場合、集約部36は、ステップ145において、モジュールの移動先を決定する。移動先の候補としては、未使用モジュールや空デバイスが挙げられ、モジュールの移動先を決定する探索方法には、配線資源の消費量が最小になるものから順に配置に成功するまで探索する方法などがある。次に、ステップ146において集約部36は、モジュールを移動した後の配置状況における評価値(hio)を算出する。評価値には、各モジュール間の通信コストの総和を用いる。モジュールの移動に成功した場合、選択したモジュール対間の通信コストは削減されるが、その前後のモジュールとの通信コストは増加する可能性がある。そこで、ステップ147において、集約部36は、モジュールの移動前の評価値(href)とモジュールの移動後の評価値(hio)を比較する。モジュールの移動前の評価値(href)の方が良い場合、すなわち通信コストの総和が小さい場合は、ステップ143に戻り、リスト40の次の項目(モジュール対)を選択対象に選び、上述した処理を繰り返す。逆に、モジュールの移動後の評価値(hio)の方が良い場合、すなわち通信コストの総和が小さい場合には、そのようなモジュールの移動を実際に行うこととして、ステップ148において、集約部36は、リスト40と評価値の更新を行う。リスト40の更新では、モジュールの移動後のステップ数と通信コストの書換えを行い、通信コストの降順にソートを行う。評価値の更新は、hioを新たなhrefとすることによって行われる。ステップ148の実行後、ステップ143に戻り、更新後のリスト40における最初のモジュール対(あるいはモジュール・入出力インタフェース対)を選び、上述した処理を繰り返す。
図9は、ステップ148において更新されたリスト40を示している。図8に示したリスト40を対象として上述の処理を実行したとすると、ステップ143では、モジュール対(B,D)が選択され、このモジュール対を同一の空デバイスに移動した場合、そのステップ数は0になり、通信コストも0になる。モジュールの移動前の通信コストの総和(図8での通信コストの総和)は105であり、モジュールの移動後の通信コストの総和(図9での通信コストの総和)は82であることから、ステップ147における判定により、この移動は認められる。これにより、ステップ148においてリスト40の更新が行われる。このとき、モジュール対(B,D)を移動したことで変化した各モジュール対のステップ数から通信コストを再度算出し、降順にソートしている。
ステップ141〜148の処理を実行することで、どのモジュールをどの再構成可能デバイス20に移動させるかが決定され、モジュールの集約計画が立案されたことになるから、集約部36は、立案された集約計画に基づいて、モジュールの配置配線情報及びモジュールの配置配線の変更手順をデータベース32に登録する。実行部34は、配置配線の変更手順をデータベース32から読出して、必要な配置配線の変更命令を順次発行し、これに基づいてデータ処理システム10内において、実際のモジュールの移動とそれに伴う配線資源の割当ての変更とが実行される。
以上のような処理を行うことで、複数の再構成可能デバイスを有するデータ処理システムにおいて、システムが継続して動作することで必要最低限の量を超えて配線資源が消費された場合に、現に実行中のアプリケーションを中断することなく、配線資源の余分な消費を減らすことができ、低下したシステムの利用効率を改善することができる。特に、モジュールの移動先の選定に際して空デバイスの総数が増加するように移動先を決定することにより、空デバイスの総数が増加しかつ配線資源の使用量が減少するように、複数の再構成可能デバイス上に散らばったモジュールを集約することができるので、再構成可能デバイスの利用効率を改善することができる。
以上説明した各処理は、リソースマネージャ装置11によって実行される。このような処理を実行するリソースマネージャ装置11は、上記の各処理を実行するハードウェア装置として構成することもできるが、専用のコンピュータを用い、そのコンピュータ上で、コンピュータを上述のようなリソースマネージャ装置として機能させるためのソフトウェアプログラム(リソースマネージャ用プログラム)を実行させることによって実現することができる。あるいは、サーバコンピュータにアクセラレータを組み合わせ、ユーザ要求の処理のうち演算時間上あるいは演算負荷上の制約が緩い処理をサーバコンピュータに行わせるようにしたデータ処理システムの場合であれば、サーバコンピュータ上で、リソースマネージャ用プログラムを実行させてリソースマネージャ装置11を実現してもよい。リソースマネージャ用プログラムは、記録媒体に格納されてコンピュータに提供されてもよいし、あるいは、ネットワークを介してコンピュータに提供することもできる。
10 データ処理システム
11 リソースマネージャ装置
12 アクセラレータ
13 再構成可能ハードウェア処理部
14 アクセラレータ内接続部
15 入出力部
16 制御信号線
17 データ信号線
20 再構成可能デバイス
21 入出力インターフェース(I/F)
30 インタフェース
31 判定部
32 データベース
34 実行部
35 API部
36 集約部
37 記憶装置
38 データベース管理部
40 リスト

Claims (8)

  1. 複数の再構成可能デバイスを備えるデータ処理システムに設けられ、再構成可能デバイス上に単位処理回路としてモジュールを実装するための計算資源と、実装された前記モジュールが通信するための配線資源と、を管理するリソースマネージャ装置であって、
    前記データ処理システム内の構成を変更する実行手段と、
    モジュールごとの配線資源の使用量に応じてモジュールを選択し、選択された前記モジュールの移動先を決定し、該移動先に前記選択されたモジュールを移動させたとしてその移動の前後での前記データ処理システムの全体での配線資源の使用量を評価値として算出し、前記評価値の増減に応じて前記選択されたモジュールを前記移動先に移動させることの可否を判定する集約手段と、
    を有し、
    前記選択されたモジュールを前記移動先に移動させることを可と判定したときに、前記実行手段が、前記選択されたモジュールを前記移動先に移動させるように前記データ処理システム内の構成を変更する、リソースマネージャ装置。
  2. ユーザが要求する処理単位であって1以上の前記モジュールを組み合わせて構成されるアプリケーションの追加が要求されたときに、当該アプリケーションの追加が可能であるかを判定し、追加が可能であるときに当該アプリケーションを構成するモジュールの配置及び配線を決定する判定手段をさらに備え、
    前記実行手段は、前記判定手段が前記配置及び配線を決定したときに、前記配置及び配線に基づいて前記データ処理システム内の構成を変更する、請求項1に記載のリソースマネージャ装置。
  3. 前記集約手段は、モジュール対ごとに当該モジュール対が消費する配線資源の使用量を算出し、より多くの配線資源を消費するモジュール対から順にモジュールを選択し前記評価値を算出して移動の可否を判定する、請求項1または2に記載のリソースマネージャ装置。
  4. モジュール対が使用するバス幅と、当該モジュール対間での通信が経由する再構成可能デバイスの数とに基づいて、前記配線資源の使用量を決定する、請求項3に記載のリソースマネージャ装置。
  5. 複数の再構成可能デバイスを備えるデータ処理システムにおける、再構成可能デバイス上に単位処理回路としてモジュールを実装するための計算資源と、実装された前記モジュールが通信するための配線資源と、を管理する資源管理方法であって、
    モジュールごとの配線資源の使用量に応じてモジュールを選択する段階と、
    選択された前記モジュールの移動先を決定する段階と、
    前記移動先に前記選択されたモジュールを移動させたとしてその移動の前後での前記データ処理システムの全体での配線資源の使用量を評価値として算出する段階と、
    前記評価値の増減に応じて前記選択されたモジュールを前記移動先に移動させることの可否を判定する段階と、
    前記判定する段階において前記移動先に移動させることを可と判定したときに、前記選択されたモジュールを前記移動先に移動させるように前記データ処理システム内の構成を変更する段階と、
    を有する、資源管理方法。
  6. 前記選択する段階において、モジュール対ごとに当該モジュール対が消費する配線資源の使用量を算出し、より多くの配線資源を消費するモジュール対から順にモジュールを選択する、請求項5に記載の資源管理方法。
  7. モジュール対が使用するバス幅と、当該モジュール対間での通信が経由する再構成可能デバイスの数とに基づいて、前記配線資源の使用量を決定する、請求項6に記載の資源管理方法。
  8. コンピュータを請求項1乃至4のいずれか1項に記載のリソースマネージャ装置として機能させる資源管理プログラム。
JP2014129155A 2014-06-24 2014-06-24 リソースマネージャ装置、資源管理方法及び資源管理プログラム Pending JP2016009305A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014129155A JP2016009305A (ja) 2014-06-24 2014-06-24 リソースマネージャ装置、資源管理方法及び資源管理プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014129155A JP2016009305A (ja) 2014-06-24 2014-06-24 リソースマネージャ装置、資源管理方法及び資源管理プログラム

Publications (1)

Publication Number Publication Date
JP2016009305A true JP2016009305A (ja) 2016-01-18

Family

ID=55226829

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014129155A Pending JP2016009305A (ja) 2014-06-24 2014-06-24 リソースマネージャ装置、資源管理方法及び資源管理プログラム

Country Status (1)

Country Link
JP (1) JP2016009305A (ja)

Similar Documents

Publication Publication Date Title
CN107111517B (zh) 针对归约器任务的虚拟机优化分配和/或生成
KR102273413B1 (ko) 네트워크 업데이트의 동적 스케줄링 기법
CN108431796B (zh) 分布式资源管理系统和方法
WO2015096761A1 (en) Traffic behavior driven dynamic zoning for distributed traffic engineering in sdn
US10541858B2 (en) Thin client system, management server, workplace environment setting method and workplace environment setting program
US20150128150A1 (en) Data processing method and information processing apparatus
CN106547522B (zh) 一种流应用优化的方法及装置
CN112015521A (zh) 推理服务的配置方法、装置、电子设备及存储介质
KR102028428B1 (ko) 토러스 네트워크를 이용하는 분산 파일 시스템 및 토러스 네트워크를 이용하는 분산 파일 시스템의 구성 및 운영 방법
CN104754008A (zh) 网络存储节点、网络存储系统以及用于网络存储节点的装置和方法
JPWO2018142700A1 (ja) 制御装置、制御方法、及びプログラム
JP5952214B2 (ja) 仮想マシンの動的配置方法及び仮想マシンシステム
CN108540405B (zh) 网络资源迁移方法及装置
JPWO2011142227A1 (ja) コンピュータ・システム、方法及びプログラム
CN104823418A (zh) 用于防止需求死锁并实现均衡链路利用的流量工程系统
Mershad et al. A study of the performance of a cloud datacenter server
Farzaneh et al. A novel virtual machine placement algorithm using RF element in cloud infrastructure
US9467336B2 (en) Information processing system and management method thereof
US20230275849A1 (en) Intelligent allocation of resources in a computing system
Danthuluri et al. Energy and cost optimization mechanism for workflow scheduling in the cloud
JP2016071886A (ja) スケジューラコンピューティング装置、それを含む分散コンピューティングシステムのデータノード、及びその方法
CN107454137B (zh) 一种在线业务按需服务的方法、装置与设备
WO2020246965A1 (en) Task distribution across multiple processing devices
JP2016009305A (ja) リソースマネージャ装置、資源管理方法及び資源管理プログラム
US11487585B1 (en) Dynamic load balancing and configuration management for heterogeneous compute accelerators in a data center