JP6207342B2 - 情報処理システムおよび情報処理システムの制御方法 - Google Patents

情報処理システムおよび情報処理システムの制御方法 Download PDF

Info

Publication number
JP6207342B2
JP6207342B2 JP2013225305A JP2013225305A JP6207342B2 JP 6207342 B2 JP6207342 B2 JP 6207342B2 JP 2013225305 A JP2013225305 A JP 2013225305A JP 2013225305 A JP2013225305 A JP 2013225305A JP 6207342 B2 JP6207342 B2 JP 6207342B2
Authority
JP
Japan
Prior art keywords
information processing
data
server
storage devices
servers
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
JP2013225305A
Other languages
English (en)
Other versions
JP2015087919A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2013225305A priority Critical patent/JP6207342B2/ja
Priority to US14/477,977 priority patent/US9323475B2/en
Publication of JP2015087919A publication Critical patent/JP2015087919A/ja
Application granted granted Critical
Publication of JP6207342B2 publication Critical patent/JP6207342B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0625Power saving in storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0647Migration mechanisms
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Description

本発明は、情報処理システムおよび情報処理システムの制御方法に関する。
SAN(Storage Area Network)を介して接続される計算機とストレージ装置とを含む計算機システムにおいて、計算機の能力に応じてデータ変換バッチを実行する計算機とストレージ装置とを決定する手法が提案されている(例えば、特許文献1参照)。CPU(Central Processing Unit)が実行するプログラムの処理内容に応じてクロック周波数を変更することで、消費電力を抑制する手法が提案されている(例えば、特許文献2参照)。
切り替えスイッチを介して現用系または予備系に接続される記憶装置を含む二重化システムにおいて、現用系から予備系への切り替え時に記憶装置を介して情報を共有する手法が提案されている(例えば、特許文献3参照)。CPUを頻繁に使用するタスクとI/O(Input/Output)を頻繁に使用するタスクとを分類し、CPUおよびI/Oの使用頻度に応じてタスクを選択することで、スループットを向上する手法が提案されている(例えば、特許文献4参照)。
特開2007−328604号公報 特開2003−196083号公報 特開平5−244260号公報 特開平6−12263号公報
しかしながら、計算機により実行される処理の負荷に応じて、計算機とストレージ装置との接続を制御するとともに、計算機の電源を制御することで、消費電力を削減する手法は提案されていない。
本件開示の情報処理システムおよび情報処理システムの制御方法は、データの処理性能の低下を抑制して、消費電力を削減することを目的とする。
一つの観点によれば、情報処理システムは、データをそれぞれ記憶する複数の記憶装置と、第1の処理性能をそれぞれ有する複数の第1の情報処理装置と、第1の処理性能よりも高い第2の処理性能をそれぞれ有する複数の第2の情報処理装置と、複数の第1の情報処理装置のいずれかと複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した複数の記憶装置と複数の第2の情報処理装置のいずれかとを接続し、接続した第2の情報処理装置により配置データを処理させる切替装置とを有する。
別の観点によれば、情報処理システムの制御方法は、データをそれぞれ記憶する複数の記憶装置と、第1の処理性能をそれぞれ有する複数の第1の情報処理装置と、第1の処理性能よりも高い第2の処理性能をそれぞれ有する複数の第2の情報処理装置と、第1の情報処理装置または第2の情報処理装置と記憶装置とを接続する切替装置とを有する情報処理システムの制御方法において、切替装置が、複数の第1の情報処理装置のいずれかと複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した複数の記憶装置と複数の第2の情報処理装置のいずれかとを接続し、接続した第2の情報処理装置により配置データを処理させる。
本件開示の情報処理システムおよび情報処理システムの制御方法は、データの処理性能の低下を抑制して、消費電力を削減することができる。
情報処理システムおよび情報処理システムの制御方法の一実施形態を示す図である。 情報処理システムおよび情報処理システムの制御方法の別の実施形態を示す図である。 図2に示した情報処理システムにおける切替装置の接続状態の別の例を示す図である。 図2に示した情報処理システムの動作の例を示す図である。 図2に示した情報処理システムの動作の例(図4の続き)を示す図である。 図2に示した情報処理システムの動作の例(図5の続き)を示す図である。 図2に示した情報処理システムの動作の例(図6の続き)を示す図である。 図3に示した管理テーブルの設定例を示す図である。 図3に示した管理テーブルの設定例(図8の続き)を示す図である。 図3に示した管理テーブルの設定例(図9の続き)を示す図である。 図3に示した管理テーブルの設定例(図10の続き)を示す図である。 図3に示した管理テーブルの設定例(図11の続き)を示す図である。 図2に示した情報処理システムにおいて、図4から図7に示した動作が適用される例を示す図である。 図13に示した各処理に掛かる実行時間と消費電力の例を示す図である。
以下、図面を用いて実施形態を説明する。
図1は、情報処理システムおよび情報処理システムの制御方法の一実施形態を示す。この実施形態の情報処理システムSYS1は、複数の情報処理装置SV1と、複数の情報処理装置SV2と、複数の記憶装置STGとを有する。また、情報処理システムSYS1は、情報処理装置SV1、SV2と記憶装置STGとを接続し、情報処理装置SV1、SV2にデータを処理させる切替装置DSWとを有する。例えば、記憶装置STGは、HDD(Hard Disk Drive)またはSSD(Solid State Drive)等の外部記憶装置である。
情報処理装置SV1、SV2は、例えば、サーバ等のコンピュータ装置であり、例えば、CPU等のプロセッサと、プロセッサが実行するプログラムが格納されるメモリとを有する。情報処理装置SV1は、第1の処理性能をそれぞれ有し、情報処理装置SV2は、第1の処理性能よりも高い第2の処理性能をそれぞれ有する。
例えば、情報処理装置SV2に搭載されるプロセッサコアの数は、情報処理装置SV1に搭載されるプロセッサコアの数よりも多く、情報処理装置SV2に搭載されるプロセッサの動作周波数は、情報処理装置SV1に搭載されるプロセッサの動作周波数より高い。このため、互い同じデータを処理する場合、情報処理装置SV2の消費電力は、情報処理装置SV1の消費電力に比べて大きく、情報処理装置SV2のデータ処理時間は、情報処理装置SV1のデータ処理時間に比べて短い。
一方、情報処理装置SV1、SV2から記憶装置STGに転送されるデータの転送速度は、情報処理装置SV1、SV2に搭載されるプロセッサの処理性能に依存せず、データが転送されるバスのデータ転送速度に依存して決まる。このため、互い同じデータ量を情報処理装置SV1、SV2から記憶装置STGに転送する場合、情報処理装置SV1による転送時間は、情報処理装置SV2による転送時間と同等である。また、情報処理装置SV1による記憶装置STGへのデータ転送は、情報処理装置SV2による記憶装置STGへのデータ転送よりも、少ない消費電力で実行できる。
切替装置DSWは、予め設定された接続情報CINFに基づいて、情報処理装置SV1のいずれかまたは情報処理装置SV2のいずれかを、記憶装置STGのいずれかに接続する。また、切替装置DSWは、接続情報CINFに基づいて、記憶装置STGに接続された情報処理装置SV1のいずれかまたは情報処理装置SV2のいずれかの接続を遮断する。
例えば、初期状態では、切替装置DSWは、情報処理装置SV1、SV2と記憶装置STGとの非接続状態を維持する。初期状態から記憶装置STGにデータを分散して配置するデータ移行フェーズに切り替える前、切替装置DSWは、接続情報CINFに基づいて、情報処理装置SV1のいずれかと記憶装置STGのいずれかとを接続する。データ移行フェーズでは、データ処理に使用するデータDTは、情報処理装置SV1により複数の記憶装置STGに分散して配置される。図1では、データの流れは、破線の矢印で示される。
情報処理装置SV1による記憶装置STGへのデータの配置は、情報処理装置SV2による記憶装置STGへのデータの配置に比べて、データの転送時間を長くすることなく、消費電力を少なくすることができる。
データDTが記憶装置STGへ分散して配置された後、切替装置DSWは、接続情報CINFに基づいて、分散して配置されたデータである配置データを記憶した複数の記憶装置STGと情報処理装置SV1との接続を遮断する。例えば、情報処理装置SV1は、記憶装置STGとの接続が遮断された後、電源が遮断される。なお、情報処理装置SV1は、記憶装置STGとの接続が維持された状態で、電源が遮断されてもよい。
次に、切替装置DSWは、接続情報CINFに基づいて、分散して配置された配置データを記憶した複数の記憶装置STGと情報処理装置SV2のいずれかと接続する。すなわち、データが分散して配置された記憶装置STGは、情報処理装置SV1から情報処理装置SV2に付け替えられる。これにより、データが分散して配置された記憶装置STGを、処理性能が低い情報処理装置SV1から処理性能が高い情報処理装置SV2に引き継ぐことができる。
この後、情報処理装置SV2の各々は、記憶装置STGに記憶された配置データを処理する。情報処理装置SV2によるデータ処理は、情報処理装置SV1によるデータ処理に比べて、消費電力は大きいものの、処理時間を短くすることができる。
以上、図1に示した実施形態では、データ移行フェーズの処理を情報処理装置SV1により実行し、データ処理フェーズの処理を情報処理装置SV2により実行することで、データの処理性能の低下を抑制して、消費電力を削減することができる。また、切替装置DSWにより、情報処理装置SV1、SV2と記憶装置STGとの接続の切り替えを実行することで、新たなデータ転送を発生させることなく、データ移行フェーズからデータ処理フェーズに移行することができる。この結果、無駄なデータ転送が発生することによるデータ処理の性能の低下を抑止することができる。
図2は、情報処理システムおよび情報処理システムの制御方法の別の実施形態を示す。図1に示す実施形態で説明した要素と同一または同様の要素については、同一の符号を付し、これ等については、詳細な説明を省略する。
この実施形態の情報処理システムSYS2は、情報処理装置SV0(SV00、SV01)、SV1(SV10、SV11、SV12)、SV2(SV20、SV21、SV22)、複数の記憶装置STG、切替装置DSWおよび管理装置MNGSVを有する。複数の記憶装置STGは、記憶装置STG0、STG1、STG2、STG3、STG4、STG5、STG6、STG7、STG8、STG9、STG10、STG11を含む。例えば、記憶装置STGは、例えば、HDDまたはSSD等を有するストレージ装置等の外部記憶装置である。情報処理装置SVの符号に付した”ON”は、情報処理装置SVの電源が投入中であることを示し、情報処理装置SVの符号に付した”OFF”は、情報処理装置SVの電源が遮断中であることを示す。
例えば、情報処理装置SV0、SV1、SV2および管理装置MNGSVは、イーサネット(登録商標)等のネットワークEthを介して互いに接続される。管理装置MNGSVは、イーサネットスイッチ等のスイッチSWを介して管情報処理装置SV0、SV1、SV2に接続される。なお、スイッチSWは、インターネット等のネットワークNWに接続されてもよい。例えば、情報処理システムSYS2は、情報処理装置SV0、SV1、SV2および他の情報処理装置が配置されるサーバプールSPOOLと、記憶装置STGが配置されるディスクプールDPOOLとを有する。サーバプールSPOOLは、情報処理装置SV1、SV2として利用される複数の情報処理装置を含む情報処理装置プールの一例である。
情報処理装置SV0、SV1、SV2の各々は、例えば、サーバ等のコンピュータ装置であり、CPU(CPUaまたはCPUb)等のプロセッサと、プロセッサが実行するプログラムが格納されるメモリMEMとを有する。また、情報処理装置SV0、SV1、SV2の各々は、OS(Operating System)が格納される記憶装置STG(HDDまたはSSD)を有する。なお、情報処理装置SV0、SV1、SV2の各々は、ディスクプールDPOOLに配置される記憶装置STGに格納されたOSにより動作してもよい。以下の説明では、情報処理装置SV0、SV1、SV2は、サーバSV0、SV1、SV2またはサーバSVとも称される。
管理装置MNGSVは、接続仕様CINFが格納された管理テーブルTBLを含み、サーバSV00からの指示により書き替えられた管理テーブルTBLの接続仕様CINFに基づいて、切替装置DSWの動作を制御する。また、管理装置MNGSVは、サーバSV00からの指示により書き替えられた管理テーブルTBLの接続仕様CINFに基づいて、サーバSV10−SV12、SV20−SV22の電源の投入および遮断を制御する。なお、管理テーブルTBLは、管理装置MNGSVの外部に設けられてもよい。
切替装置DSWは、管理装置MNGSVによる制御に基づいて動作し、サーバプールSPOOLに配置されるサーバSVのいずれかと、ディスクプールDPOOLに配置される記憶装置STGのいずれかとを接続する。また、切替装置DSWは、管理装置MNGSVによる制御に基づいて、サーバSVのいずれかと記憶装置STGのいずれかとの接続を遮断する。例えば、切替装置DSWによりサーバSVに接続された記憶装置STGは、サーバSV内に設けられる内部記憶装置や、サーバSVに接続された外部記憶装置と同等のアクセス性能(例えば、6Gbps;毎秒6ギガビット)を有する。
サーバSV00は、内蔵するメモリMEMに格納された制御プログラムCNTPを実行することにより、図4から図7に示す情報処理システムSYS2の全体の動作を管理する。サーバSV00は、サーバSV1、SV2に対する処理の実行の指示および電源の遮断の指示と、接続装置DSWの切り替えの指示とを出力する制御装置の一例である。
サーバSV01は、図4から図7に示すサーバSV1、SV2の動作を管理する親ノードとして動作する。サーバSV10、SV11、SV12は、データを記憶装置STGに分散して配置するデータ移行フェーズにおいて、子ノードとして動作する。サーバSV20、SV21、SV22は、記憶装置STGに分散して配置された配置データを処理するデータ処理フェーズにおいて、子ノードとして動作する。
サーバSV10、SV11、SV12は、第1の処理性能をそれぞれ有し、サーバSV20、SV21、SV22は、第1の処理性能よりも高い第2の処理性能をそれぞれ有する。例えば、サーバSV00、SV01は、サーバSV2と同等の処理性能を有する。
例えば、各サーバSV10、SV11、SV12は、クロック周波数が2.3GHz(ギガヘルツ)の2つCPUコアが搭載されたIntel Corporation(登録商標)のXeon(登録商標)を、CPUbとして搭載する。例えば、各サーバSV20、SV21、SV22は、クロック周波数が2.9GHzの8つのCPUコアがそれぞれ搭載された2つのXeonを、CPUaとして搭載する。また、例えば、各サーバSV10、SV11、SV12は、DDR3(Double Data Rate)タイプの32GB(ギガバイト)のDIMM(Dual Inline Memory Module)を、メモリMEMとして搭載する。例えば、各サーバSV20、SV21、SV22は、DDR3タイプの96GBのDIMMを、メモリMEMとして搭載する。
図2に示す状態は、データ移行フェーズにおける切替装置DSWの状態を示す。データ移行フェーズでは、管理装置MNGSVは、管理テーブルTBLに格納された接続仕様CINFに基づいて、サーバSV10を記憶装置STG0、STG1、STG2、STG3に接続する。また、管理装置MNGSVは、接続仕様CINFに基づいて、サーバSV11を記憶装置STG4、STG5、STG6、STG7に接続し、サーバSV12を記憶装置STG8、STG9、STG10、STG11に接続する。
データ移行フェーズでは、サーバSV20、SV21、SV22は、記憶装置STGに接続されず、管理装置MNGSVの制御により電源が遮断される。なお、ディスクプールDPOOL内の破線枠は、図が煩雑になることを避けるために付したものであり、破線枠内の記憶装置STGのそれぞれが切替装置DSWを介してサーバSVに接続されることを示す。
サーバSV01に接続される記憶装置STGに関して、例えば、領域nameが割り当てられた記憶装置STGは、サーバSV01が親ノードとして動作する場合に使用される。領域tmpが割り当てられた記憶装置STGは、サーバSV01が親ノードとして動作する場合にワーク領域として使用される。領域rdataが割り当てられた記憶装置STGは、記憶装置STG0−STG11に分散して配置される前のデータ(生データ)を格納する。領域name、tmp、rdataが割り当てられた記憶装置STGは、データ移行フェーズが開始される前に、管理装置MNGSVによりサーバSV01に接続される。なお、領域name、tmp、rdataの各々が割り当てられる記憶装置STGの数は、図2に示した数に限定されない。
データ移行フェーズにおいて、サーバSV01は、サーバSV00からの指示に基づいて、領域rdataが割り当てられた記憶装置STGに格納された生データを読み出し、読み出した生データをサーバSV10、SV11、SV12に分散して出力する。サーバSV10は、受信した生データを記憶装置STG0、STG1、STG2、STG3のいずれかに書き込む。サーバSV11は、受信した生データを記憶装置STG4、STG5、STG6、STG7のいずれかに書き込む。サーバSV12は、受信した生データを記憶装置STG8、STG9、STG10、STG11のいずれかに書き込む。なお、サーバSV10、SV11、SV12は、受信したデータをレプリカデータとして複数の記憶装置STGに書き込んでもよい。例えば、レプリカデータを書き込む記憶装置STGの数は、制御プログラムCNTPに記述される。なお、レプリカデータを書き込む記憶装置STGの数は、ネットワークNWに接続されるユーザ端末を介して、データ処理をサーバSV1、SV2に実行させるユーザにより指定されてもよい。
サーバSV00により情報処理システムSYS2の全体を制御することで、例えば、サーバSV1、SV2で実行可能な既存のソフトウェアフレームワークを利用して、データ移行フェーズの処理とデータ処理フェーズの処理とを実行することができる。換言すれば、既存のソフトウェアフレームワークを利用して、データ移行フェーズの処理とデータ処理フェーズの処理とを、処理性能が互いに異なるサーバSV1、SV2によりそれぞれ実行することができる。この結果、処理の実行の性能を維持しつつ、処理の実行に掛かる消費電力を抑えることができる。
図3は、図2に示した情報処理システムSYS2における切替装置DSWの接続状態の別の例を示す。図3は、図2に示したデータ移行フェーズの処理の完了後に、データ移行フェーズから移行されるデータ処理フェーズにおける切替装置DSWの状態を示す。
データ移行フェーズの処理の完了後、データ処理フェーズに移行される前、管理装置MNGSVは、管理テーブルTBLの接続仕様CINFに基づいて、サーバSV10と記憶装置STG0、STG1、STG2、STG3との接続を遮断する。また、管理装置MNGSVは、接続仕様CINFに基づいて、サーバSV11と記憶装置STG4、STG5、STG6、STG7との接続を遮断し、サーバSV12と記憶装置STG8、STG9、STG10、STG11との接続を遮断する。
次に、管理装置MNGSVは、テーブルTBLの接続仕様CINFに基づいて、サーバSV10、SV11、SV12の電源を遮断し、サーバSV20を記憶装置STG0、STG1、STG2、STG3に接続する。さらに、管理装置MNGSVは、接続仕様CINFに基づいて、サーバSV21を記憶装置STG4、STG5、STG6、STG7に接続し、サーバSV22を記憶装置STG8、STG9、STG10、STG11に接続する。例えば、サーバSV20、SV21、SV22の電源は、データ移行フェーズの処理が完了する前に、サーバSV00によるテーブルTBLの接続仕様CINFの書き替えに基づいて、管理装置MNGSVにより投入される。
そして、図3に示す接続状態に設定された後、サーバSV00は、データ移行フェーズからデータ処理フェーズに移行し、記憶装置STG0−STG11に分散して格納されたデータの処理の実行をサーバSV01に指示する。サーバSV01は、サーバSV00からの指示に基づいて、サーバSV20、SV21、SV22にデータ処理を実行させる。
図4から図7は、図2に示した情報処理システムSYS2の動作の例を示す。図4から図7では、Apache Software Foundation(Apacheは登録商標)が開発した大規模データの分散処理を行うソフトウェアフレームワークであるHadoop(登録商標)を動作させる例について説明する。なお、図2に示した情報処理システムSYS2は、Hadoop以外のソフトウェアフレームワークや分散処理ソフトウェアを実行してもよい。
図2に示した情報処理システムSYS2でHadoopを実行する場合、サーバSV01は、ファイルシステムのデータを管理するNameNodeとして動作する。サーバSV10−SV12またはサーバSV20−SV22は、処理するデータを格納するDataNodeとして動作する。例えば、サーバSV01には、サーバSV10−SV12、SV20−SV22が実行するジョブを管理するJobTrackerが予めインストールされる。JobTrackerは、投入された1つのジョブを複数のMapTaskとReduceTaskに分割し、TaskTrackerに渡す。サーバSV20−SV22には、JobTrackerからのMapTaskとReduceTaskによるデータ解析を実行するTaskTrackerが予めインストールされる。
Hadoopを実行するためのhdfs−site.xmlやmapred−site.xml等の設定ファイルは、情報処理システムSYS2を使用するユーザ等により、図4の動作が開始される前に生成される。ここで、hdfs−site.xmlは、Hadoopで使用されるHDFS(Hadoop Distributed File System;登録商標)の設定を記述するファイルであり、例えば、利用する記憶装置STGのマウント位置が指定される。HDFSは、分散して配置される記憶装置を仮想的に1つの記憶装置として扱うファイルシステムである。
mapred−site.xmlは、Map処理およびReduce処理のための設定を記述するファイルであり、例えば、JobTrackerノードで並列に実行するMapTaskの数やReduceTaskの数が指定される。Map処理は、処理対象のデータを所定の単位毎に処理し、キー(例えば、単語)とバリュー(例えば、出現回数)の組を生成する処理である。Reduce処理は、キー毎に処理結果を合計する処理である。例えば、Hadoopは、Map処理とReduce処理とをMapReduceと称されるソフトウェアフレームワークを用いて実行する。
サーバSV00が実行する制御プログラムCNTPは、ユーザが実行するデータ処理の仕様に応じて設計される。例えば、制御プログラムCNTPは、DataNodeとして使用するサーバSVの数を指定する記述、各サーバSVに接続する記憶装置STGの数を指定する記述、あるいは、データ処理を実行する生データのサイズを指定する記述等を含む。図4から図7に示すサーバSV00の動作は、制御プログラムCNTPの実行により実現される。
図4から図7において、太い縦線は、サーバSVおよび管理装置MNGSVが動作中であることを示す。図4から図7において、矩形は、サーバSVおよび管理装置MNGSVが実行する処理を示し、横向きの矢印は、サーバSVおよび管理装置MNGSVが出力する通知または指示を示す。
まず、サーバSV00は、Hadoopで使用するサーバSV1、SV2の数と、各サーバSV1、SV2に接続する記憶装置STGの数を管理装置MNGSVに通知する(図4(a))。次に、サーバSV00は、領域rdataが割り当てられた記憶装置STGに格納された生データのサイズに基づいて、データ移行フェーズの処理が完了する完了時刻を計算する(図4(b))。すなわち、サーバSV00は、サーバSV10−SV12による記憶装置STGへのデータの配置が完了する完了時刻を求める。
例えば、サーバSV00は、式(1)を用いてデータ移行フェーズの処理の実行時間を求め、求めた実行時間を現在の時刻に加えて、完了時刻を求める。ここで、レプリカ数は、同じデータが書き込まれる記憶装置STGの数であり、バンド幅は、サーバSV01、SV10、SV11、SV12、SV20、SV21、SV22を互いに接続するネットワークEthのデータ転送レートである。
実行時間=(生データサイズ×レプリカ数)/(バンド幅) ‥‥(1)
管理装置MNGSVは、サーバSV00からの通知に基づいて、Hadoopで使用するサーバSV1、SV2を管理テーブルTBLに登録する(図4(c))。サーバSV1、SV2が登録された管理テーブルTBLの例は、図8の設定例(A)に示される。図8の設定例(A)では、サーバSV10−SV12、SV20−SV22のサーバID(IDentification)が管理テーブルTBLに登録される。
また、管理装置MNGSVは、サーバSV00からの通知に基づいて、管理テーブルTBLにおけるサーバSV1、SV2の予約状況を示す領域を、未予約状態を示す”0”から予約状態を示す”1”に設定する。すなわち、図2に示したサーバプールSPOOL内のサーバSVのうち、所定数のサーバSVが予約される。サーバSV1、SV2が予約された状態を示す管理テーブルTBLの例は、図8の設定例(B)に示される。図8の設定例(B)では、予約されたサーバSV10−SV12、SV20−SV22に対応する”予約状況”の領域に”1”が設定される。
管理装置MNGSVは、サーバSV1に接続する記憶装置STGの数を示すサーバSV00から受信した情報に基づいて、図2に示したディスクプールDPOOL内の記憶装置STGのうち、サーバSV1に接続する記憶装置STGを決定する。管理装置MNGSVは、決定した内容にしたがって管理テーブルTBLを更新し、データ移行フェーズに使用するサーバSV1と記憶装置STGとを接続する(図4(d))。
例えば、管理装置MNGSVは、切替装置DSWによるサーバSVと記憶装置STGとの接続を制御する接続制御部を有する。接続制御部は、管理テーブルTBLに設定されたサーバSVと記憶装置STGとの接続を示す接続情報に基づいて切替装置DSWを制御し、サーバSVのいずれかと記憶装置STGのいずれかを接続し、または接続を遮断する。例えば、接続制御部は、管理装置MNGSVが実行するソフトウェアにより実現されるが、ハードウェアで実現されてもよい。
サーバSV1と記憶装置STGとが接続された状態を示す管理テーブルTBLの例は、図9の設定例(C)に示され、各サーバSV10−SV12と”記憶装置の接続状況”の領域に”1”が設定された記憶装置STGとが互いに接続される。図9の設定例(C)では、図2に示したように、サーバSV10と記憶装置STG0−STG3とが接続され、サーバSV11と記憶装置STG4−STG7とが接続され、サーバSV12と記憶装置STG8−STG11とが接続される。
次に、管理装置MNGSVは、サーバSV00からの通知に基づいて、管理テーブルTBLにおけるサーバSV1の”電源”を示す領域を、電源の遮断を示す”OFF”から電源の投入を示す”ON”に設定する(図4(e))。なお、管理テーブルTBLにおける電源を示す領域は、初期状態において”OFF”に設定され、管理テーブルTBLに登録されたサーバSVの電源は遮断される。
管理装置MNGSVは、管理テーブルTBLにおけるサーバSV10、SV11、SV12の”電源”を示す領域に設定された”ON”に基づいて、サーバSV10、SV11、SV12の電源を投入する(図4(f))。サーバSV10、SV11、SV12の電源が投入された状態を示す管理テーブルTBLの例は、図9の設定例(D)に示される。管理装置MNGSVの制御により電源が投入されたサーバSV10、SV11、SV12は、OSのブート等の起動処理を実行する(図4(g))。
例えば、管理装置MNGSVは、サーバSV1、SV2の電源の投入、遮断を制御する電源制御部を有する。電源制御部は、管理テーブルTBLに設定された”電源”の領域に設定された”ON”または”OFF”に基づいてサーバSV1、SV2の電源を投入し、または電源を遮断する。例えば、電源制御部は、管理装置MNGSVが実行するソフトウェアにより実現されるが、ハードウェアで実現されてもよい。
次に、管理装置MNGSVは、管理テーブルTBLに登録したサーバSV1、SV2の数と、サーバSV1、SV2のIPアドレスとをサーバSV00に通知する(図4(h))。
管理装置MNGSVからの通知を受けたサーバSV00は、データ処理フェーズの処理を実行するサーバSV10、SV11、SV12が起動されたかどうかを管理装置MNGSVに確認する(図4(i))。管理装置MNGSVは、サーバSV10、SV11、SV12が起動済みである場合、起動済みを示す通知をサーバSV00に出力する(図4(j))。サーバSV00は、サーバSV10、SV11、SV12が起動されたことを示す管理装置MNGSVからの通知を待つ。
サーバSV1、SV2のIPアドレス等を受信したサーバSV00は、DataNodeとして使用するサーバSV1、SV2のIPアドレスを含む情報を記述したslavesファイルを生成する(図4(k))。例えば、slavesファイルには、1行あたりに1つのIPアドレスが記述される。なお、slavesファイルには、IPアドレスの代わりに、DataNodeとして使用するサーバSV1、SV2を示すホスト名が記述されてもよい。
次に、サーバSV00は、データ移行フェーズの実行の準備を管理装置MNGSVに指示する(図4(l))。管理装置MNGSVは、サーバSV00からの指示に基づいて、管理テーブルTBLにおけるサーバSV10、SV11、SV12の予約状況の領域を、予約状態を示す”1”から未予約状態を示す”0”に設定する。また、管理装置MNGSVは、サーバSV00からの指示に基づいて、管理テーブルTBLにおけるサーバSV10、SV11、SV12の利用状況を示す領域を、未利用状態を示す”0”から利用状態を示す”1”に設定する(図4(m))。これにより、サーバSV10、SV11、SV12は、データ移行フェーズの処理を実行可能な状態になる。データ移行フェーズの処理がサーバSV10、SV11、SV12により実行可能な状態を示す管理テーブルTBLの例は、図10の設定例(E)に示される。
次に、サーバSV00は、HDFSの起動を、NameNodeであるサーバSV01に指示する(図4(n))。サーバSV01は、サーバSV00からの指示に基づいて、サーバSV10、SV11、SV12の設定ファイルを参照し、サーバSV10、SV11、SV12にHDFSの起動を指示する(図4(o))。サーバSV10、SV11、SV12は、サーバSV01からの指示によりHDFSのプログラムを記憶装置STGからメモリMEMにロードし、HDFSのプログラムを開始する(図4(p))。
HDFSが起動されたサーバSV10、SV11、SV12の各々は、HDFSの起動が完了したことを示すHDFS起動完了通知をサーバSV01に出力する(図4(q))。HDFS起動完了通知は、サーバSV01を介してサーバSV00に通知される(図4(r))。なお、サーバSV10、SV11、SV12は、HDFS起動完了通知をサーバSV01とSV00にそれぞれ出力してもよく、この場合、サーバSV01からサーバSV00へのHDFS起動完了通知は出力されない。
次に、図5において、サーバSV00は、データ移行フェーズの処理の実行をサーバSV01に指示する(図5(a))。指示を受けたサーバSV01は、サーバSV10、SV11、SV12にデータ移行フェーズの処理の実行を指示する(図5(b))。サーバSV10、SV11、SV12の各々は、サーバSV01から転送される生データを記憶装置STGに分散して書き込む処理(すなわち、データ移行フェーズの処理)を実行する(図5(c))。
次に、サーバSV00は、図4(b)で計算したデータ移行フェーズの完了時刻を管理装置MNGSVに通知する(図5(d))。管理装置MNGSVは、サーバSV00から受信した完了時刻より所定時間前(例えば、5分前)の時刻を計時する(図5(e))。すなわち、管理装置MNGSVは、完了時刻から所定時間を差し引いた時刻である設定時刻を設定し、設定した設定時刻を計時する。例えば、完了時刻が10:00であり、所定時間が5分の場合、設定時刻は9:55に設定される。そして、管理装置MNGSVは、完了時刻より所定時間前の設定時刻に到達した場合に、管理テーブルTBLにおけるサーバSV20、SV21、SV22の電源を示す領域を”OFF”から”ON”に設定する(図5(f))。すなわち、サーバSV00は、記憶装置STGへのデータの配置が完了する完了時刻以前の時刻である設定時刻に、サーバSV20、SV21、SV22の電源を投入させる。
管理装置MNGSVは、管理テーブルTBLにおけるサーバSV2の電源を示す領域に設定された”ON”に基づいて、サーバSV20、SV21、SV22の電源を投入する(図5(g))。サーバSV20、SV21、SV22の電源が投入された状態を示す管理テーブルTBLの例は、図10の設定例(F)に示される。管理装置MNGSVの制御により電源が投入されたサーバSV20、SV21、SV22は、OSのブート等の起動処理を実行する(図5(h))。
この実施形態では、サーバSV10−SV12によるデータ移行フェーズの処理中に、サーバSV20−SV22の電源が投入され、サーバSV20−SV22は、起動処理を開始する。また、サーバSV10−SV12によるデータ移行フェーズの処理が完了する前に、サーバSV20−SV22の起動処理が完了する。換言すれば、データ移行フェーズの完了時刻から管理テーブルTBLにおけるサーバSV20−SV22の”電源”領域を”ON”に設定する時刻を引いた上記所定時間は、サーバSV20−SV22の電源の投入から起動処理の完了までに掛かる時間である。このため、データ移行フェーズの処理とデータ処理フェーズの処理とを実行するサーバSVが異なる場合にも、サーバSVの切り替えにより発生する無駄な時間を最小限にすることができる。この結果、データ移行フェーズ後にサーバSV20−SV22の電源を投入する場合に比べてデータ処理の性能を向上することができる。
一方、サーバSV10、SV11、SV12の各々は、記憶装置STGへのデータの配置が完了した場合に、データ移行フェーズの完了をサーバSV01に通知する(図5(i))。データ移行フェーズの完了通知は、サーバSV01を介してサーバSV00に通知される(図5(j))。なお、サーバSV10、SV11、SV12は、データ移行フェーズの完了通知をサーバSV01とSV00にそれぞれ出力してもよく、この場合、サーバSV01からサーバSV00へのデータ移行フェーズの完了通知は出力されない。
データ移行フェーズの完了通知を受けたサーバSV00は、データ処理フェーズの処理を実行するサーバSV20、SV21、SV22が起動されたかどうかを管理装置MNGSVに確認する(図5(k))。管理装置MNGSVは、サーバSV20、SV21、SV22が起動済みである場合、起動済みを示す通知をサーバSV00に出力する(図5(l))。サーバSV00は、サーバSV20、SV21、SV22が起動されたことを示す管理装置MNGSVからの通知を待つ。
次に、サーバSV00は、データ処理フェーズの実行の準備を管理装置MNGSVに指示する(図5(m))。管理装置MNGSVは、サーバSV00からの指示に基づいて、管理テーブルTBLにおけるサーバSV20、SV21、SV22の利用状況を示す領域を、未利用状態を示す”0”から利用状態を示す”1”に設定する(図5(n))。これにより、サーバSV20、SV21、SV22は、データ処理フェーズの処理を実行可能な状態になる。サーバSV20、SV21、SV22が実行可能な状態を示す管理テーブルTBLの例は、図11の設定例(G)に示される。
次に、サーバSV00は、サーバSV10、SV11、SV12により実行中のHDFSの停止をサーバSV01に指示する(図5(o))。サーバSV01は、サーバSV00からの指示に基づいて、サーバSV10、SV11、SV12により実行中のHDFSの停止を指示する(図5(p))。サーバSV10、SV11、SV12の各々は、サーバSV01からの指示に基づいて、HDFSのプログラムの実行を停止する(図5(q))。
HDFSの実行を停止したサーバSV10、SV11、SV12の各々は、HDFSを停止したことを示すHDFS停止完了通知をサーバSV01に出力する(図5(r))。HDFS停止完了通知は、サーバSV01を介してサーバSV00に通知される(図5(s))。なお、サーバSV10、SV11、SV12は、HDFS停止完了通知をサーバSV01とSV00にそれぞれ出力してもよく、この場合、サーバSV01からサーバSV00へのHDFS停止完了通知は出力されない。
次に、図6において、HDFS停止完了通知を受けたサーバSV00は、サーバSV10、SV11、SV12に接続中の記憶装置STG0−STG11をサーバSV20、SV21、SV22に付け替える指示を管理装置MNGSVに出力する(図6(a))。管理装置MNGSVは、サーバSV00からの指示に基づいて、管理テーブルTBLを更新し、サーバSV10、SV11、SV12と記憶装置STGとを切り離し、切り離した記憶装置STGをサーバSV20、SV21、SV22に接続する(図6(b))。サーバSV20、SV21、SV22と記憶装置STGとが接続された状態を示す管理テーブルTBLの例は、図11の設定例(H)に示される。図11の設定例(H)では、各サーバSV10−SV12と”記憶装置の接続状況”の領域に設定された”1”が”0”に書き替えられ、各サーバSV10−SV12と記憶装置STGとの接続が解除される。また、各サーバSV20−SV22と”記憶装置の接続状況”の領域に”1”が設定された記憶装置STGとが互いに接続される。図11の設定例(H)では、図3に示したように、サーバSV20と記憶装置STG0−STG3とが接続され、サーバSV21と記憶装置STG4−STG7とが接続され、サーバSV22と記憶装置STG8−STG11とが接続される。
管理装置MNGSVは、記憶装置STGをサーバSV10、SV11、SV12からサーバSV20、SV21、SV22に付け替えたことを示す付け替え完了通知をサーバSV00に出力する(図6(c))。付け替え完了通知を受けたサーバSV00は、サーバSV10、SV11、SV12の停止を管理装置MNGSVに指示する(図6(d))。ここで、サーバSV10、SV11、SV12の停止の指示は、OSのシャットダウン処理の指示と電源の遮断の指示とを含む。
管理装置MNGSVは、サーバSV00からの指示に基づいて、サーバSV10、SV11、SV12に停止を指示する(図6(e))。管理装置MNGSVから停止を指示されたサーバSV10、SV11、SV12は、OSのシャットダウン処理等の停止処理を実行する(図6(f))。
管理装置MNGSVは、管理テーブルTBLにおけるサーバSV10、SV11、SV12の電源を示す領域を、”ON”から”OFF”に設定する。また、管理装置MNGSVは、管理テーブルTBLにおけるサーバSV10、SV11、SV12の利用状況を示す領域を、利用状態を示す”1”から未利用状態を示す”0”に設定する(図6(g))。
管理装置MNGSVは、管理テーブルTBLにおけるサーバSV1の電源を示す領域に設定された”OFF”に基づいて、サーバSV10、SV11、SV12の電源を遮断する(図6(h))。なお、管理装置MNGSVは、サーバSV10、SV11、SV12の電源の遮断を、サーバSV10、SV11、SV12によるOSのシャットダウン処理等の停止処理の完了後に実行する。サーバSV10、SV11、SV12の電源が遮断された状態を示す管理テーブルTBLの例は、図12の設定例(I)に示される。
管理テーブルTBLにおけるサーバSV10−SV12の予約状況を示す領域は、図5(n)により”0”に設定済みである。このため、利用状況を示す領域を”0”に設定することで、電源が遮断されたサーバSV10−SV12は、サーバプールSPOOLに返却される。サーバプールSPOOLに返却されたサーバSV10−SV12は、他のユーザ等に貸し出し可能である。すなわち、データ移行フェーズを完了したサーバSV10−SV12をサーバプールSPOOLに返却することで、情報処理システムSYS2の利用効率を、サーバSV10−SV12をサーバプールSPOOLに返却しない場合に比べて向上することができる。
一方、サーバSV00は、データ処理フェーズにおいてDataNodeとして使用するサーバSV20、SV21、SV22のIPアドレスを含む情報を記述したslavesファイルを生成する(図6(i))。IPアドレスを含む情報は、図4(h)においてslavesファイルを生成する前に管理装置MNGSVから通知された情報が使用される。
次に、サーバSV00は、HDFSの起動をサーバSV01に指示する(図6(j))。サーバSV01は、サーバSV00からの指示に基づいて、サーバSV20、SV21、SV22の設定ファイルを参照し、サーバSV20、SV21、SV22にHDFSの起動を指示する(図6(k))。サーバSV20、SV21、SV22は、サーバSV01からの指示によりHDFSのプログラムを記憶装置STGからメモリMEMにロードし、HDFSのプログラムを開始する(図6(l))。
HDFSが起動されたサーバSV20、SV21、SV22の各々は、HDFSの起動が完了したことを示すHDFS起動完了通知をサーバSV01に出力する(図6(m))。HDFS起動完了通知は、サーバSV01を介してサーバSV00に通知される(図6(n))。
次に、サーバSV00は、データ処理フェーズの処理の実行をサーバSV01に指示する(図6(o))。指示を受けたサーバSV01は、サーバSV20、SV21、SV22にデータ処理フェーズの処理の実行を指示する(図6(p))。サーバSV20、SV21、SV22の各々は、データ移行フェーズにより記憶装置STGに分散して配置されたデータの処理(すなわち、データ処理フェーズの処理)を実行する(図6(q))。なお、データ処理フェーズの処理は、HadoopのMap処理とReduce処理とを含む。
次に、図7において、サーバSV20、SV21、SV22の各々は、記憶装置STGに分散して配置されたデータ処理の実行が完了した場合に、データ処理フェーズの完了をサーバSV01に通知する(図7(a))。データ処理フェーズの完了通知は、サーバSV01を介してサーバSV00に通知される(図7(b))。
次に、サーバSV00は、サーバSV20、SV21、SV22により実行中のHDFSの停止をサーバSV01に指示する(図7(c))。サーバSV01は、サーバSV00からの指示に基づいて、サーバSV20、SV21、SV22により実行中のHDFSの停止を指示する(図7(d))。サーバSV20、SV21、SV22の各々は、サーバSV01からの指示によりHDFSのプログラムの実行を停止する(図7(e))。
HDFSの実行を停止したサーバSV20、SV21、SV22の各々は、HDFSを停止したことを示すHDFS停止完了通知をサーバSV01に出力する(図7(f))。HDFS停止完了通知は、サーバSV01を介してサーバSV00に通知される(図7(g))。
次に、サーバSV00は、サーバSV20、SV21、SV22の停止を管理装置MNGSVに指示する(図7(h))。ここで、サーバSV20、SV21、SV22の停止の指示は、OSのシャットダウン処理の指示と電源の遮断の指示とを含む。管理装置MNGSVは、サーバSV00からの指示に基づいて、サーバSV20、SV21、SV22に停止を指示する(図7(i))。管理装置MNGSVから停止を指示されたサーバSV20、SV21、SV22は、OSのシャットダウン処理等の停止処理を実行する(図7(j))。
次に、管理装置MNGSVは、管理テーブルTBLにおけるサーバSV20、SV21、SV22の電源を示す領域を、”ON”から”OFF”に設定する。また、管理装置MNGSVは、管理テーブルTBLにおけるサーバSV20、SV21、SV22の利用状況を示す領域を、利用状態を示す”1”から未利用状態を示す”0”に設定する(図7(k))。
管理装置MNGSVは、管理テーブルTBLにおけるサーバSV2の電源を示す領域に設定された”OFF”に基づいて、サーバSV20、SV21、SV22の電源を遮断する(図7(l))。なお、管理装置MNGSVは、サーバSV20、SV21、SV22の電源の遮断を、サーバSV20、SV21、SV22によるOSのシャットダウン処理等の完了後に実行する。さらに、管理装置MNGSVは、管理テーブルTBLを更新し、記憶装置STGをサーバSV20、SV21、SV22から切り離す(図7(m))。これにより、管理テーブルTBLは、図8の設定例(A)に示した状態に戻る。
なお、データ移行フェーズの処理とデータ処理フェーズの処理が繰り返し実行される場合、管理装置MNGSVは、サーバSV00からのサーバSVの停止の指示に基づいて、サーバSVをスリープモード等の低消費電力モードに設定してもよい。この場合、例えば、図8から図12に示す管理テーブルTBLは、電源を示す領域に加えて、スリープを示す領域を有する。そして、管理装置MNGSVは、管理テーブルTBLにおけるスリープを示す領域に設定された”スリープ”に基づいて、サーバSVをスリープモードに設定する。また、図6(f)および図7(j)の停止処理でサーバSVがスリープモードに設定された場合、管理装置MNGSVは、2回目以降の図4(e)および図5(f)の処理では、スリープを示す領域を、スリープモードの解除を示す”スリープ解除”に設定する。2回目以降の図4(e)および図5(f)の処理では、”電源”は”ON”状態に維持される。そして、管理装置MNGSVは、2回目以降の図4(f)および図5(g)の指示では、電源の投入の代わりに、サーバSVのスリープを解除する。
図8から図12は、図3に示した管理テーブルTBLの設定例を示す。管理テーブルTBLは、図4から図7に示した動作の進行に伴い、図8から図12に示した状態(設定例(A)から設定例(I))に順に変化する。図8から図12に網掛けで示した領域は、1つの前の設定例に対して設定値が変化したことを示す。
管理テーブルTBLは、登録されたサーバSVのIDであるサーバID毎に、”電源”、”予約状況”、”利用状況”および”記憶装置の接続状況”の領域を有する。”電源”、”予約状況”、”利用状況”および”記憶装置の接続状況”の領域に格納される情報は、図2に示した接続情報CINFの一例である。
”電源”は、サーバSVの電源を投入する場合に”ON”に設定され、サーバSVの電源を遮断する場合に”OFF”に設定される。”予約状況”は、サーバプールSPOOL内のサーバSVを予約(確保)する場合に”1”に設定され、サーバプールSPOOL内のサーバSVを予約しない(確保しない)場合に”0”に設定される。”利用状況”は、”予約状況”が”1”に設定されたサーバSVを動作させる場合に”1”に設定され、サーバSVの動作が完了した場合に”0”に設定される。なお、”利用状況”が”1”に設定される場合、”1”に設定中の”予約状況”は、”0”に戻される。すなわち、”予約状況”と”利用状況”とが重複して”1”に設定されることはない。
”記憶装置の接続状況”の領域は、各サーバSVに接続可能な記憶装置STG毎に設けられ、記憶装置STGをサーバSVに接続する場合に”1”に設定され、記憶装置STGをサーバSVから切り離す場合に”0”に設定される。なお、図8から図12では、”記憶装置の接続状況”の領域は、図2に示した12台の記憶装置STG0−STG11に対応して設けられるが、サーバSVに接続可能なディスクプールDPOOL内の12台を超える記憶装置STGに対応して設けられてもよい。
図8から図12に示した管理テーブルTBLの変化は、図4から図7に示した動作の例で説明したため、ここでの説明は省略する。なお、図11の設定例(H)では、サーバSV10−SV12と記憶装置STG0−STG11の”記憶装置の接続状況”は、データ移行フェーズの処理が終了した後に”0”に設定され、記憶装置STGはサーバSV10−SV12から切り離される。しかしながら、”利用状況”が”0”に設定されたサーバSVに対応する”記憶装置の接続状況”を無効として扱うことで、データ移行フェーズが完了したサーバSV1に対応する記憶装置STGの”記憶装置の接続状況”を”1”に維持することが可能になる。換言すれば、”記憶装置の接続状況”に設定された論理と”利用状況”に設定された論理の積に基づいて、サーバSVと記憶装置STGの接続を制御することで、”記憶装置の接続状況”を”0”に戻す操作を省略することができる。
また、図10の設定例(E)、(F)および図11の設定例(G)、(H)において、サーバSV10−SV12に対応する”予約状況”は、”電源”が”ON”に設定中に”1”に維持されてもよい。すなわち、”予約状況”は、サーバSV10−SV12のサーバプールSPOOLからの貸し出し中に”1”に設定され、返却中に”0”に設定されてもよい。
図13は、図2に示した情報処理システムSYS2において、図4から図7に示した動作が適用される例を示す。例えば、図13は、Hadoop上でMahout(登録商標)を動作させて、機械学習により分類器(classifier)を生成する例を示す。Mahoutは、大量のデータの相関関係を探し出すデータマイニングのライブラリの1つである。
例えば、図13に示す機械学習により生成される分類器は、WWW(World Wide Web)のWebページに含まれるテキストに基づいて、Webページがどのカテゴリに属するかを判定する。図13おいて、太い破線で示す処理は、Mahoutで実現可能な機能を示し、角が面取りされた太い実線の矩形は、HDFSで扱うファイルを示す。
機械学習により分類器を生成する場合、まず、学習用のTrainDataがSplitterに入力される(図13(a))。Splitterは、TrainDataを、HDFSに格納されるデータの単位である複数のChunk(TrainChunk)に分割する(図13(b))。例えば、Hadoopにおいて、各Chunkのサイズは、64MB(メガバイト)である。
一方、分類器(Model)を評価するために、カテゴリが既知であるTestDataがSplitterに入力される(図13(c))。Splitterは、TestDataを、HDFSで扱う複数のChunk(TestChunk)に分割する(図13(d))。
例えば、SplitterによるTrainDataとTestDataのChunkへの分割処理は、図6(c)に示したデータ移行フェーズにより順次に実行される。すなわち、図4から図7に示した例では、Splitterにより生成された複数のTrainChunkおよび複数のTestChunkは、サーバSV10、SV11、SV12より記憶装置STGのいずれかに分散して書き込まれる。
Splitterにより得られたTrainChunkは、DataSetCreatorに入力される(図13(e))。DataSetCreatorは、複数のカテゴリが記述されたCategoryListに基づいて、分類器の入力データであるTrainInputを生成する(図13(f))。TrainInputは、TrainClassifierに入力される(図13(g))。TrainClassifierは、TrainInputを用いて分類器(Model)を生成する(図13(h))。
一方、Splitterにより得られたTestChunkは、DataSetCreatorに入力される(図13(i))。DataSetCreatorは、CategoryListに基づいて、分類器の評価用の入力データであるTestInputを生成する(図13(j))。TestInputは、TestClassifierに入力される(図13(k))。TestClassifierは、TestInputを用いて分類器(Model)を動作させ、分類器の確からしさを示す評価結果を出力する(図13(l))。
例えば、DataSetCreator、TrainClassifierおよびTestClassifierによる処理は、図6(q)に示したデータ処理フェーズにより順次に実行される。すなわち、図4から図7に示した例では、DataSetCreator、TrainClassifierおよびTestClassifierの処理は、データが分散して配置された記憶装置STGに接続されたサーバSV20、SV21、SV22より実行される。
図14は、図13に示した各処理に掛かる実行時間と消費電力の例を示す。図14に示す3つの積み上げ棒グラフは、サーバSV1(またはSV2)により実行される各処理の実行時間の積み上げを示す。各処理の実行によりサーバSV1(またはSV2)が消費する消費電力は、積み上げグラフの各要素に付加する。
図14の左側に示す積み上げ棒グラフは、図4から図7に示したように、データ移行フェーズの処理をサーバSV1(SV10−SV12)を用いて実行し、データ処理フェーズの処理をサーバSV2(SV20−SV22)を用いて実行する例を示す。
図14の中央に示す積み上げ棒グラフは、図14の左側に示す積み上げ棒グラフの比較例であり、データ移行フェーズの処理およびデータ処理フェーズの処理をサーバSV1(SV10−SV12)を用いて実行する例を示す。図14の右側に示す積み上げ棒グラフは、図14の左側に示す積み上げ棒グラフの比較例であり、データ移行フェーズの処理およびデータ処理フェーズの処理をサーバSV2(SV20−SV22)を用いて実行する例を示す。
データ移行フェーズの処理の実行時間は、式(1)に示したように、サーバSV1、SV2の処理性能に依存せず、ネットワークEthのバンド幅に依存して決まる。このため、データ移行フェーズの処理の実行時間は、サーバSV1、SV2のいずれで実行してもほぼ同じである。
一方、サーバSV2のクロック周波数は、サーバSV1のクロック周波数に比べて高く、サーバSV2の処理性能は、サーバSV1の処理性能に比べて高い。このため、データ移行フェーズの処理をサーバSV2で実行する場合の消費電力(224.1W)は、データ移行フェーズの処理をサーバSV1で実行する場合の消費電力(119.8W)より大きい。同様に、データ処理フェーズの処理をサーバSV2で実行する場合の消費電力(801.3W)は、データ処理フェーズの処理をサーバSV1で実行する場合の消費電力(195.1W)より大きい。
したがって、サーバSV1を用いてデータ移行フェーズの処理を実行し、サーバSV2を用いてデータ処理フェーズの処理を実行することで、性能を維持しつつ消費電力を抑えることができる。すなわち、サーバSV2を用いてデータ移行フェーズの処理およびデータ処理フェーズの処理を実行する場合に比べて、消費電力を削減することができる。また、サーバSV1を用いてデータ移行フェーズの処理およびデータ処理フェーズの処理を実行する場合に比べて、実行時間を短縮することができる。
以上、図2から図14に示した実施形態においても、図1に示した実施形態と同様に、データの処理性能の低下を抑制して、消費電力を削減することができる。
さらに、この実施形態では、サーバSV00により情報処理システムSYS2の全体を制御し、データ移行フェーズの処理とデータ処理フェーズの処理とを実行する。これにより、例えば、サーバSV1、SV2で実行される既存のソフトウェアフレームワークを利用して、データ移行フェーズの処理とデータ処理フェーズの処理とを、処理性能が互いに異なるサーバSV1、SV2により実行することができる。この結果、性能を維持しつつ処理の実行に掛かる消費電力を抑えることができる。
また、サーバSV10−SV12によるデータ移行フェーズの処理中に、サーバSV20−SV22の電源を投入し、起動処理を開始させることで、サーバSVの切り替えにより発生する無駄な時間を最小限にすることができる。この結果、データ移行フェーズ後にサーバSV20−SV22の電源を投入する場合に比べてデータ処理の性能を向上することができる。さらに、データ移行フェーズを完了したサーバSV10−SV12をサーバプールSPOOLに返却することで、情報処理システムSYS2の利用効率を、サーバSV10−SV12をサーバプールSPOOLに返却しない場合に比べて向上することができる。
以上の実施形態において説明した発明を整理して、付記として開示する。
(付記1)
データをそれぞれ記憶する複数の記憶装置と、
第1の処理性能をそれぞれ有する複数の第1の情報処理装置と、
前記第1の処理性能よりも高い第2の処理性能をそれぞれ有する複数の第2の情報処理装置と、
前記複数の第1の情報処理装置のいずれかと前記複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、前記複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを前記複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した前記複数の記憶装置と前記複数の第2の情報処理装置のいずれかとを接続し、接続した前記第2の情報処理装置により前記配置データを処理させる切替装置と
を有することを特徴とする情報処理システム。
(付記2)
前記情報処理システムは、さらに、
前記処理対象のデータを前記複数の記憶装置にそれぞれ配置させる指示を、前記記憶装置に接続された第1の情報処理装置に対して出力し、データの配置の完了後、前記第1の情報処理装置と前記記憶装置との接続を解除させる指示と、前記第2の情報処理装置と前記記憶装置とを接続させる指示とを前記切替装置に対して出力し、前記第2の情報処理装置と前記記憶装置との接続後、前記配置データを処理させる指示を前記記憶装置に接続された第2の情報処理装置に対して出力する制御装置を有すること
を特徴とする付記1記載の情報処理システム。
(付記3)
前記制御装置は、データの配置の完了後、前記複数の記憶装置との接続を解除した第1の情報処理装置の電源を遮断させる指示を出力すること
を特徴とする付記2記載の情報処理システム。
(付記4)
前記制御装置は、前記処理対象のデータに基づいて、前記第2の情報処理装置による前記記憶装置へのデータの配置が完了する完了時刻を求め、前記完了時刻以前に設定された設定時刻に、前記第2の情報処理装置の電源を投入させること
を特徴とする付記2または付記3記載の情報処理システム。
(付記5)
前記情報処理システムは、さらに、
前記制御装置からの指示により変更される前記接続情報に基づいて、前記第1の情報処理装置または前記第2の情報処理装置と前記記憶装置との接続を管理する管理装置を有すること
を特徴とする付記2ないし付記4のいずれか1項記載の情報処理システム。
(付記6)
前記管理装置は、前記制御装置からの指示に基づいて、前記第1の情報処理装置および前記第2の情報処理装置の電源の投入および電源の遮断を管理すること
を特徴とする付記5記載の情報処理システム。
(付記7)
前記情報処理システムは、さらに、
前記第1の情報処理装置および前記第2の情報処理装置として利用される複数の第3の情報処理装置を含む情報処理装置プールと、
前記接続情報が格納される管理テーブルとを有し、
前記管理テーブルは、前記第1の情報処理装置および前記第2の情報処理装置として利用する前記第3の情報処理装置を確保する状態を示す予約状況を格納する領域と、前記第3の情報処理装置が前記第1の情報処理装置および前記第2の情報処理装置として利用中であることを示す利用状況を格納する領域とを有すること
を特徴とする付記1ないし付記6のいずれか1項記載の情報処理システム。
(付記8)
データをそれぞれ記憶する複数の記憶装置と、第1の処理性能をそれぞれ有する複数の第1の情報処理装置と、前記第1の処理性能よりも高い第2の処理性能をそれぞれ有する複数の第2の情報処理装置と、前記第1の情報処理装置または前記第2の情報処理装置と前記記憶装置とを接続する切替装置とを有する情報処理システムの制御方法において、
前記切替装置が、前記複数の第1の情報処理装置のいずれかと前記複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、前記複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを前記複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した前記複数の記憶装置と前記複数の第2の情報処理装置のいずれかとを接続し、接続した前記第2の情報処理装置により前記配置データを処理させること
を特徴とする情報処理システムの制御方法。
以上の詳細な説明により、実施形態の特徴点および利点は明らかになるであろう。これは、特許請求の範囲がその精神および権利範囲を逸脱しない範囲で前述のような実施形態の特徴点および利点にまで及ぶことを意図するものである。また、当該技術分野において通常の知識を有する者であれば、あらゆる改良および変更に容易に想到できるはずである。したがって、発明性を有する実施形態の範囲を前述したものに限定する意図はなく、実施形態に開示された範囲に含まれる適当な改良物および均等物に拠ることも可能である。
CINF…接続情報;DPOOL…ディスクプール;DSW…切替装置;Eth…ネットワーク;MEM…メモリ;MNGSV…管理装置;NW…ネットワーク;STG(STG0−STG11)…記憶装置;SPOOL…サーバプール;SV1(SV10、SV11、SV12)、SV2(SV20、SV21、SV22)…情報処理装置;SW…スイッチ;SYS1、SYS2…情報処理システム;TBL…管理テーブル

Claims (5)

  1. データをそれぞれ記憶する複数の記憶装置と、
    第1の処理性能をそれぞれ有し、前記複数の記憶装置に記憶されるデータをファイルシステムにより管理する複数の第1の情報処理装置と、
    前記第1の処理性能よりも高い第2の処理性能をそれぞれ有し、前記複数の記憶装置に記憶されるデータをファイルシステムにより管理する複数の第2の情報処理装置と、
    前記複数の第1の情報処理装置のいずれかと前記複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、前記複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを前記複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した前記複数の記憶装置と前記複数の第2の情報処理装置のいずれかとを接続し、接続した前記第2の情報処理装置により前記配置データを処理させる制御装置
    を有することを特徴とする情報処理システム。
  2. 前記制御装置は、
    前記複数の第1の情報処理装置および前記複数の第2の情報処理装置と、前記複数の記憶装置との接続を切り替える切替装置と、
    前記処理対象のデータを前記複数の記憶装置にそれぞれ配置させる指示を、前記記憶装置に接続された第1の情報処理装置に対して出力し、前記配置データを処理させる指示を前記記憶装置に接続された第2の情報処理装置に対して出力する第1の制御装置と、
    データの配置の完了後、前記第1の情報処理装置と前記記憶装置との接続を解除させる指示と、前記第2の情報処理装置と前記記憶装置とを接続させる指示とを前記切替装置に対して出力する第2の制御装置を有すること
    を特徴とする請求項1記載の情報処理システム。
  3. 前記第2の制御装置は、データの配置の完了後、前記複数の記憶装置との接続を解除した第1の情報処理装置の電源を遮断させる指示を出力すること
    を特徴とする請求項2記載の情報処理システム。
  4. 前記第1の制御装置は、前記処理対象のデータに基づいて、前記第の情報処理装置による前記記憶装置へのデータの配置が完了する完了時刻を求め、前記完了時刻以前に設定された設定時刻に、前記第2の情報処理装置の電源を投入させる指示を前記第2の制御装置に出力すること
    を特徴とする請求項2または請求項3記載の情報処理システム。
  5. データをそれぞれ記憶する複数の記憶装置と、第1の処理性能をそれぞれ有し、前記複数の記憶装置に記憶されるデータをファイルシステムにより管理する複数の第1の情報処理装置と、前記第1の処理性能よりも高い第2の処理性能をそれぞれ有し、前記複数の記憶装置に記憶されるデータをファイルシステムにより管理する複数の第2の情報処理装置と、前記第1の情報処理装置または前記第2の情報処理装置と前記記憶装置との接続と、前記第1の情報処理装置および前記第2の情報処理装置の動作とを制御する制御装置とを有する情報処理システムの制御方法において、
    前記制御装置が、前記複数の第1の情報処理装置のいずれかと前記複数の記憶装置のいずれかとを接続情報に基づいて接続するとともに、前記複数の記憶装置のいずれかに接続した第1の情報処理装置により、処理対象のデータを前記複数の記憶装置に配置させ、データの配置の完了後、接続情報に基づいて、配置された配置データを記憶した前記複数の記憶装置と前記複数の第2の情報処理装置のいずれかとを接続し、接続した前記第2の情報処理装置により前記配置データを処理させること
    を特徴とする情報処理システムの制御方法。
JP2013225305A 2013-10-30 2013-10-30 情報処理システムおよび情報処理システムの制御方法 Active JP6207342B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013225305A JP6207342B2 (ja) 2013-10-30 2013-10-30 情報処理システムおよび情報処理システムの制御方法
US14/477,977 US9323475B2 (en) 2013-10-30 2014-09-05 Control method and information processing system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013225305A JP6207342B2 (ja) 2013-10-30 2013-10-30 情報処理システムおよび情報処理システムの制御方法

Publications (2)

Publication Number Publication Date
JP2015087919A JP2015087919A (ja) 2015-05-07
JP6207342B2 true JP6207342B2 (ja) 2017-10-04

Family

ID=52996773

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013225305A Active JP6207342B2 (ja) 2013-10-30 2013-10-30 情報処理システムおよび情報処理システムの制御方法

Country Status (2)

Country Link
US (1) US9323475B2 (ja)
JP (1) JP6207342B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9612766B2 (en) * 2014-12-19 2017-04-04 Oracle International Corporation Systems and methods for shadow migration progress estimation
JP6974706B2 (ja) * 2017-08-14 2021-12-01 富士通株式会社 情報処理装置、ストレージシステムおよびプログラム

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05181688A (ja) * 1991-05-24 1993-07-23 Internatl Business Mach Corp <Ibm> タスクの進行を予測する方法、プログラム製品及びワークステーシヨン
JPH05244260A (ja) 1992-02-26 1993-09-21 Fujitsu Ltd 外部記憶装置切替えによる二重化運転方式
JPH0612263A (ja) 1992-06-25 1994-01-21 Hitachi Ltd 入出力スケジュール方式
JPH096706A (ja) * 1995-06-22 1997-01-10 Hitachi Ltd 疎結合計算機システム
USRE40866E1 (en) * 2000-09-27 2009-08-04 Huron Ip Llc System, method, and architecture for dynamic server power management and dynamic workload management for multiserver environment
JP3685401B2 (ja) 2001-12-26 2005-08-17 インターナショナル・ビジネス・マシーンズ・コーポレーション Cpu制御方法、これを用いたコンピュータ装置及びcpu並びにプログラム
WO2005086583A2 (en) * 2004-03-18 2005-09-22 M-Systems Flash Disk Pioneers Ltd. System, apparatus and method for sharing media
JP2007328604A (ja) 2006-06-08 2007-12-20 Hitachi Ltd 計算機システム、ストレージ管理プログラム及び計算機管理プログラム
JP5516411B2 (ja) * 2008-10-29 2014-06-11 日本電気株式会社 情報処理システム
JP5453872B2 (ja) * 2009-03-27 2014-03-26 日本電気株式会社 ディスクアレイ装置、ディスク制御装置、ディスクアレイ装置における負荷分散方法

Also Published As

Publication number Publication date
JP2015087919A (ja) 2015-05-07
US9323475B2 (en) 2016-04-26
US20150120968A1 (en) 2015-04-30

Similar Documents

Publication Publication Date Title
US10339047B2 (en) Allocating and configuring persistent memory
Rao et al. Performance issues of heterogeneous hadoop clusters in cloud computing
US9933956B2 (en) Systems and methods for implementing stretch clusters in a virtualization environment
CN102326149B (zh) 内存迁移的实现方法和装置
US10248346B2 (en) Modular architecture for extreme-scale distributed processing applications
US20110113426A1 (en) Apparatuses for switching the running of a virtual machine between multiple computer devices belonging to the same computer platform and the associated switching methods
US9904639B2 (en) Interconnection fabric switching apparatus capable of dynamically allocating resources according to workload and method therefor
JP6123626B2 (ja) 処理再開方法、処理再開プログラムおよび情報処理システム
RU2681409C1 (ru) Система и способ синхронизации памяти в многоядерной системе
JP2011227766A (ja) 記憶手段の管理方法、仮想計算機システムおよびプログラム
JP4322240B2 (ja) 再起動方法、システム及びプログラム
JP6207342B2 (ja) 情報処理システムおよび情報処理システムの制御方法
JP5147586B2 (ja) ストレージ装置及びその制御方法
US20160103714A1 (en) System, method of controlling a system including a load balancer and a plurality of apparatuses, and apparatus
US20190324868A1 (en) Backup portion of persistent memory
JP2005339300A (ja) データベース処理方法およびシステム並びにその処理プログラム
JP6089427B2 (ja) フォールトトレラントサーバ、デフラグ方法、およびプログラム
EP3479256B1 (en) Fabric encapsulated resilient storage
WO2019043815A1 (ja) ストレージシステム
US20210182102A1 (en) Coordinating distributed task execution
TWI501588B (zh) 使用輔助處理器存取本地儲存裝置之技術
JP2016173744A (ja) ブレードサーバ、ブレードシステム、bmc、チップセットおよびエンクロージャマネージャ
JP6035993B2 (ja) 情報処理装置、装置管理方法および装置管理プログラム
JP5703860B2 (ja) フォールトトレラントシステム、メモリ制御方法、及びプログラム
US20230315286A1 (en) Storage system and control method for storage system

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160705

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170518

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170606

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170801

RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7426

Effective date: 20170803

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20170803

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20170804

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170905

R150 Certificate of patent or registration of utility model

Ref document number: 6207342

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150