JP2016162247A - データ管理プログラム、データ管理装置、及びデータ管理方法 - Google Patents
データ管理プログラム、データ管理装置、及びデータ管理方法 Download PDFInfo
- Publication number
- JP2016162247A JP2016162247A JP2015040783A JP2015040783A JP2016162247A JP 2016162247 A JP2016162247 A JP 2016162247A JP 2015040783 A JP2015040783 A JP 2015040783A JP 2015040783 A JP2015040783 A JP 2015040783A JP 2016162247 A JP2016162247 A JP 2016162247A
- Authority
- JP
- Japan
- Prior art keywords
- data
- relevance
- pair
- degree
- association
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2457—Query processing with adaptation to user needs
- G06F16/24578—Query processing with adaptation to user needs using ranking
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
【課題】データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする
【解決手段】コンピュータに、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、断続的に監視された複数の前記ペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定することにより、上記課題の解決を図る。
【選択図】図4
【解決手段】コンピュータに、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、断続的に監視された複数の前記ペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定することにより、上記課題の解決を図る。
【選択図】図4
Description
本明細書は、データ管理プログラム、データ管理装置、及びデータ管理方法に関する。
データ格納システムは、大量のデータをディスク等のストレージに格納する。ディスク等の低速な記憶装置は、単位時間当たりの処理能力(スループット)が低いため(高コスト)、キャッシュ技術が利用されている。
キャッシュ技術は、処理速度の速い制御装置が低速の記憶装置からデータをより速く読み出す場合にメモリを使用して処理時間を短縮する技術である。制御装置が低速の記憶装置からデータを読み出した場合、その読み出したデータを一時的にメモリに保持しておくことで、次回からは低速の記憶装置より読み書きが早いメモリからデータを読み出せる。
ところが、メモリの容量を超えて大量データを処理する場合、ディスクへのアクセスが多発することで、データ処理性能が大きく劣化する。
そこで、キャッシュ技術の1つとして、アクセス履歴に基づき、関連性のあるデータを同一のセグメントに取りまとめ、データの再配置を行う技術(以降、データ再配置技術)がある(例えば、特許文献1)。
図1は、データ再配置技術によるデータペア毎の関連度とデータ配置について説明するための図である。データ再配置技術では、データのアクセス履歴(どういう順番でどのデータがアクセスされたかという履歴)から、データのペア毎に、それらが同時または連続してアクセスされた頻度(関連性情報)が記録される。
データのペアとは、連続してアクセスされた2つのデータをいう。今アクセスされたデータと直前にアクセスされたデータをペアとし、そのペアが出現した頻度が記録される。
例えば、図1(A)に示すように、データA,B,C,D,Eについて、A→B→C→A→B→D→E→C→Aの順でデータにアクセスされたとする。この場合のデータのペアとそのアクセス頻度(出現頻度、すなわち関連性情報)は、図1(B)に示すように、A→B(2回)、B→C(1回)、C→A(2回)、B→D(1回)、D→E(1回)、E→C(1回)である。アクセス頻度が高いペアのデータは、関連性が強いと考えられる。
データ間の関連性をグラフで表すと、データA,B,C,D,Eは、図1(C)に示すような構造になる。
これらのデータを2つのセグメントに配置しようとすると、図1(D)に示すように、データA、B、Cのグループと、データD、Eのグループに分けられる。このグループに基づいて、データA,B,C,D,Eは、セグメント毎に再配置される。2つのセグメントをまたぐ関連度が小さくなるよう、かつ各セグメントに属するデータ数がほぼ均等になるように分割される。ここで、セグメントとは、関連性が認められるデータの集合であり、ディスクに対する読み書きの最小単位である。
このように、データのペア間のある一定期間の累積の関連性の強さに基づいて、関連性のあるデータが同一のセグメントに取りまとめられ、データの再配置が行われる。
このようなアクセス履歴及び関連性情報を全て蓄積し続けるわけにはいかないので、ある一定期間の履歴が記録される。例えば、キャッシュ上にあるデータに関して、そのデータがキャッシュにある間のアクセス履歴が記録される。この場合、ある一定期間の累積の関連性の強さを見ていることになる。
上記のデータ再配置技術を用いることにより、アクセス履歴の傾向が変化しない場合は、アクセス効率の良いデータ配置が実現される。
しかしながら、アクセス履歴の傾向が定常であるとは限らない。関連性が激しく変動するデータペアが存在する場合、次のことが懸念される。アクセス履歴の傾向が変化した場合は、データ再配置もその傾向の変化に応じて行われる。しかしながら、アクセス履歴(全体)の傾向変化よりも頻繁に関連度が変化するデータのペアが存在すると、データ再配置を必要以上に頻繁に行うこととなり、非効率な作業が行われることとなる。
また、データの関連性情報を蓄積する蓄積期間の途中で関連性が大きく変化する場合、次のことが憂慮される。例えば、あるデータペア間の関連性がなくなったことを考慮せずにデータ配置を決めると、既に存在しない関連性に基づいたデータ配置、すなわち非効率なデータ配置が形成されることになる。
本発明の一側面では、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする技術を提供する。
本発明の一側面に係るデータ管理プログラムは、コンピュータに次の処理を実行させる。
コンピュータは、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。コンピュータは、断続的に監視された複数のペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。コンピュータは、判別の結果と関連度に基づいてデータをグループ化し、グループ毎の配置対象のデータを特定する。
コンピュータは、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。コンピュータは、断続的に監視された複数のペアの関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。コンピュータは、判別の結果と関連度に基づいてデータをグループ化し、グループ毎の配置対象のデータを特定する。
本発明の一側面によれば、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置を可能とする。
上述の問題について更に詳述する。まずは、関連性が激しく変動するデータペアが存在する場合について説明する。
図2は、関連性情報の蓄積期間の途中で関連性が大きく変化する場合における、(A)実際のデータ間の関連性に基づくデータ配置例と、(B)データ再配置技術によるデータ間の関連性に基づくデータ配置例とを示す。ここで、関連性情報の蓄積期間内には、データの再配置は行われない。
図2(A)は、実際のデータ間の関連性に基づくデータ配置例を示す。時間t0の時点で、データA,B,C,Dは、たまたまデータA,Cを含むセグメントと、たまたまデータB,Cを含むセグメントに配置されているとする。ここで、再配置のタイミングが時間t1であるとする。
時間t1までに、データ間の関連性が変化し、データA,B間の関連度は低下し、データC,D間の関連度が上昇している場合、再配置の実行により、データA,C、Dを含むセグメントと、データBを含むセグメントに配置される。
図2(B)は、データ再配置技術による関連性に基づくデータ配置例を示す。時間t0の時点で、データA,B,C,Dは、たまたまデータA,Cを含むセグメントと、たまたまデータB,Cを含むセグメントに配置されているとする。
データ再配置技術では、リソース浪費を防ぐため、時間t1以前の関連性情報は蓄積されていないため、時間t0〜t1間のデータ間の関連性の変動をウォッチングすることはできない。しかしながら、データ再配置技術では、その関連性のあるデータがアクセスされたアクセス数の累積値が保持されている。
したがって、図2(A)とは異なり、図2(B)では、時間t1までに、データA,B間の関連性(累積値)は上昇しているので、時間t1の時点でも、データA,Bは関連性が強いと判定される。その結果、再配置の実行により、データA,B,Cを含むセグメントと、データDを含むセグメントに配置される。
しかしながら、実際は、データC,Dは強い関連性を有するため、データCがアクセスされると、データDもアクセスされる可能性が高いが、データC,Dは同一のセグメントに配置されていない。そのため、一方のデータがメモリに存在しない可能性が高くなり、別途ディスクアクセスする必要が生じる。
このように、あるデータペア間の関連性がなくなったことを考慮せずにデータ配置を決めると、既に存在しない関連性に基づいたデータ配置になり、再配置による読み出し効率の向上の効果が出ないことがある。
次に、関連性情報の蓄積期間の途中で関連性が大きく変化する場合について説明する。
図3は、関連度の強さ(関連度)の傾向が異なるデータペアが混在する場合のデータ配置例を示す。図3(A)は、全体のアクセス履歴の傾向変化より頻繁に関連度の変化するデータペアの例を示す。図3(B)は、関連度の変動が小さいデータペアの例を示す。図3(C)は、時系列のデータペア毎の関連性情報(アクセス頻度)を示す。
図3は、関連度の強さ(関連度)の傾向が異なるデータペアが混在する場合のデータ配置例を示す。図3(A)は、全体のアクセス履歴の傾向変化より頻繁に関連度の変化するデータペアの例を示す。図3(B)は、関連度の変動が小さいデータペアの例を示す。図3(C)は、時系列のデータペア毎の関連性情報(アクセス頻度)を示す。
図3(A)において、データペアA,B間の関連度の変動が大きい。A−B間の関連度が大きいと判断される場合には、データ再配置技術では、データA,Bが同じセグメントに配置される。A−B間の関連度が小さいと判断される場合には、(他の関連度が大きいデータペアを優先し)データA,Bは別のセグメントに配置される。
関連度の変動に従って再配置を行うと頻繁にデータが入れ替わるので、再配置してもすぐに再配置による読み出し効率の向上の効果がなくなり、データ処理性能の低下を招く。したがって、図3(C)に示すように、関連度の変動が大きいデータペアの関連性情報は、再配置に無効な情報と考えられる。
図3(B)に示すように、データペアC,D間の関連度はほぼ一定で高い。高い関連度に基づいて一度データC,Dが同じセグメントに配置されると、その状態が維持されるので、キャッシュヒットしやすい。この場合、再配置は一回で済み、かつその後は再配置による読み出し効率の向上の効果が出やすい。したがって、図3(C)に示すように、関連度が大きく変動が小さいデータペアの関連性情報は、再配置に有効な情報と考えられる。
したがって、最適なデータ配置を決定する場合には、再配置に有効な情報と無効な情報とを区別するのがよい。これは、例えば無効な情報を再配置の対象から除外するためである。
そこで、データペア毎の関連度を累積値で記録するのではなく、時系列情報として記録することが考えられる。
しかしながら、データ再配置技術では、データペア毎に関連度の傾向が異なるというケースを考慮していないため、どのデータペアの関連性情報も同等に扱っている。そのため、無効な関連性情報の影響を除外することができない。
そこで、本実施形態では、関連度が変わる度にそれに基づいて配置を決定するのではなく、ある一定期間(蓄積期間)の関連度の傾向を見て配置を決める。また、ある一定期間の関連度の傾向から、配置の判断のために有効な関連性情報と無効な関連性情報を区別する。
図4は、本実施形態におけるデータ管理装置の一例を示す。データ管理装置1は、監視部2、判別部3、特定部4を含む。
監視部2は、複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。監視部2の一例として、後述する関連性抽出部22が挙げられる。
判別部3は、断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。判別部3の一例として、後述する統計処理部23が挙げられる。
特定部4は、判別の結果と関連度に基づいてデータをグループ化し、グループ毎の配置対象のデータを特定する。特定部の一例として、後述する配置決定部24が挙げられる。
このように構成することにより、データアクセス状況の傾向の変化に応じた読み出し効率のよいデータ配置が可能になる。
監視部2は、関連度の傾向を観察する期間(蓄積期間)を複数の期間に分割し、分割した期間毎に、ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する。
このように構成することにより、分割した期間毎に、ペアを形成するデータ間の関連度の傾向を断続的に監視することができる。
判別部3は、分割した期間における、断続的に監視された関連度の平均または標準偏差をペア毎に算出し、算出した平均または標準偏差が特定の条件を満たす関連度を有するペアを特定する。
このように構成することにより、定常的に、関連度が低いデータペア、関連度の変動が激しいデータペア、または関連度の傾向が変化したデータペア等の無効な関連性情報を特定することができる。
特定部4は、特定の傾向を示す関連度を有するペア以外のペアの分割した期間毎の関連度の平均に対して、直近の分割した期間から過去の分割した期間に向かって重みを減らしていく重み付けを行うことにより、ペア毎に、観察する期間における関連度を算出する。
このように構成することにより、直近のデータペアほど、関連度の比重が高くなり、現在の関連度をより一層反映することができる。
特定部4は、特定の傾向を示す関連度を有するペア以外のペアをグループ化する。
このように構成することにより、データ間の関連性に基づいて、セグメント毎のデータの配置を決定する場合に、無効な関連性情報を除外することができる。
このように構成することにより、データ間の関連性に基づいて、セグメント毎のデータの配置を決定する場合に、無効な関連性情報を除外することができる。
それでは、以下に、本実施形態の詳細について説明する。
図5は、本実施形態における情報処理システムの一例を示す。情報処理システムにおいて、サーバ装置(以下、サーバと称する)11は、通信ネットワーク(以下、単に、ネットワークと称する)16を介して、情報処理装置の一例であるクライアント15と接続されている。クライアント15は、サーバ11にデータの読み込みや書込み等のアクセス要求(以下、「リクエスト」と称する)を行う。
図5は、本実施形態における情報処理システムの一例を示す。情報処理システムにおいて、サーバ装置(以下、サーバと称する)11は、通信ネットワーク(以下、単に、ネットワークと称する)16を介して、情報処理装置の一例であるクライアント15と接続されている。クライアント15は、サーバ11にデータの読み込みや書込み等のアクセス要求(以下、「リクエスト」と称する)を行う。
サーバ11は、制御装置12、メモリ装置(以下、「メモリ」と称する)13、ストレージ装置(ディスク)14を含む。制御装置12は、中央演算処理装置(CPU)等のプロセッサである。
ストレージ装置14は、例えば、ハードディスクドライブ(HDD)等のディスク装置である。以下では、ストレージ装置14をディスク14と称する。
メモリ13は、ディスク14に比して高速にアクセス可能な記憶装置である。メモリ13としては、例えば、RAM(Random Access Memory)、フラッシュメモリ等がある。
サーバ11は、上記の構成に加えて、BIOS(Basic Input/Output System)を格納したROM、プログラムメモリ等を有する。制御装置12が実行するプログラムは、ネットワーク16を介して取得されてもよいし、可搬型メモリやCD−ROM等のコンピュータ読み取り可能な可搬型記録媒体がサーバ11に装着されることにより取得されてもよい。制御装置12が実行するプログラムには、本実施形態で説明する処理を実行するプログラムも含む。
図6は、本実施形態における蓄積期間T、サブ期間Tm、サブ−サブ期間Tsの関係を説明するための図である。関連性情報を蓄積する蓄積期間Tを予め決めておく。データアクセス頻度によって、時間当たりの関連性情報の数(データペアに対するアクセス頻度)も変わるので、ある程度関連性情報が溜まる時間(例えば、T=定数/平均アクセス頻度)を決めておく。
次に、蓄積期間Tを複数のサブ期間Tm、それをさらに複数のサブ−サブ期間Tsに分ける。サブ−サブ期間Ts内に、データペア毎に続けてアクセスされた回数を計測する。そして、サブ時間Tm内における、サブ−サブ期間Ts毎のアクセス回数の変化から、そのデータペアの関連性情報が有効か否かを判定するために、関連度の平均値、標準偏差を算出する。後述するように、有効な関連性情報を持つデータペアに対して、蓄積期間Tの平均関連度から最終的な関連度が算出される。
図7は、本実施形態におけるサーバの一例を示す。上述の通り、サーバ11は、制御装置12、メモリ13、ディスク14を含む。メモリ13は、ディスク14から読み出された複数のセグメントをキャッシングして、一時的に格納する領域(以下、「キャッシュ領域」と称する)31を含む。キャッシュ領域31の容量が不足した場合、Least Recently Used(LRU)方式や、least frequently used(LFU)方式等のアルゴリズムを用いて、キャッシュ領域31からいずれかのセグメントが抽出され、ディスク14に書き戻される。
メモリ13は、データ・セグメント対応テーブル32、関連性管理テーブル33、関連性統計管理情報34を保持する。
データ・セグメント対応テーブル32は、データと、そのデータの配置先となるセグメントとの対応関係を示す情報を格納する。
関連性管理テーブル33は、サブ期間Tm内で、サブ−サブ期間Ts毎の、データペアへのアクセス回数(関連度)、すなわち関連性情報を格納する。
関連性統計管理情報34は、関連性統計情報、関連性統計(平均)情報を含む。関連性統計情報は、Tm毎に関連性情報を統計処理した情報を格納する。関連性統計(平均)情報は、蓄積期間Tにおける平均値についての関連性統計情報をまとめた情報である。
制御装置12は、本実施形態に係るプログラムを実行することにより、入出力管理部21、関連性抽出部22、統計処理部23、配置決定部24として機能する。
入出力管理部22は、クライアント15等の要求元から入力されたリクエストに応じてメモリ13を検索し、メモリ13にリクエストで指定されたデータがなければさらにディスク14を検索し、リクエストで指定されたデータを要求元に送信する。なお、リクエストは、クライアント15が送信するだけでなく、サーバ11において実行されているプロセスその他の主体がリクエストの発行元となる場合もあり得る。また、入出力装置がサーバ11に接続されている場合、ユーザが入出力装置に対してリクエストを入力することも想定される。
リクエストが入力されると、入出力管理部22は、まずメモリ13からリクエストで指定されたデータを検索する。リクエストで指定されたデータがメモリ13上に存在する場合に、入出力管理部22は、そのデータをメモリ13から読み出して要求元に返信する。
また、入出力管理部22は、リクエストで指定されたデータがメモリ13上に存在しない場合には、ディスク14からリクエストで指定されたデータを検索する。入出力管理部22は、リクエストで指定されたデータがディスク14上に存在する場合に、データ・セグメント対応テーブル33を用いて、リクエストで指定されたデータの属するセグメントに含まれる全データをディスク14から読み出す。そして、入出力管理部22は、その読み出したセグメントに含まれる全データのうち、リクエストで指定されたデータを要求元に返信する。このとき、入出力管理部22は、その読み出したセグメントに含まれる全データをメモリ13に格納する。
なお、上記では、入出力管理部22は、ディスク14から読み出したセグメントに含まれる全データをメモリ13へ格納する処理を、リクエストがあったタイミングで行う場合について説明したが、これに限定されない。例えば、入出力管理部22は、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にディスク14から読み出してメモリ13に格納してもよい。
関連性抽出部22は、関連性抽出部22は、サブ−サブ期間Ts毎に、データペアへのアクセス頻度に基づくデータ間の関連度を監視する。より具体的には、関連性抽出部22は、サブ−サブ期間Ts毎に、アクセスシーケンスから続けてアクセスされたデータペアを抽出し、関連性管理テーブル33において、そのデータペアのアクセス頻度(関連度)に、“+1”を加算する。
統計処理部23は、サブ−サブ期間Ts毎に監視されたペアの関連度について統計処理を行い、その統計処理から得られた関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う。より具体的には、統計処理部23は、関連性管理テーブル33から、サブ期間Tm毎に、関連性情報の統計値を算出し、無効な関連性情報を無効化する。
配置決定部24は、判別の結果と関連度に基づいてデータをグループ化し、グループ(セグメント)毎の配置対象のデータを特定する。より具体的には、配置決定部24は、無効化した関連性情報を除いたデータ間の関連性情報に基づいて、蓄積期間T毎に、その蓄積時間の関連性情報から、各セグメントに配置するデータを決定する。そして、配置決定部24は、関連性管理テーブル33の内容、関連性統計管理情報34の内容をクリアする。
図8は、本実施形態におけるデータ・セグメント対応テーブルの一例を示す。データ・セグメント対応テーブル32には、メモリ13及びディスク14に格納された全データのデータ名(またはキー)と、そのデータ名に対応するセグメント名とが対応付けられて格納されている。
図9は、本実施形態における関連性管理テーブルの一例を示す。関連性管理テーブル33は、リクエストで指定されたデータ毎に、前回リクエストで指定されたデータを順次関係付けてデータペアとし、サブ期間Tm内にて、サブ−サブ期間毎の各データペアへのアクセス回数(関連性の強さ)、すなわち関連性情報を格納する。
図10は、本実施形態における関連性統計管理情報の一例を示す。関連性統計管理情報34は、関連性統計情報テーブル34a、関連性統計(平均)情報テーブル34bを含む。
関連性統計情報テーブル34aは、関連性管理テーブル33を用いて、Tm毎に、データペアの関連性情報を統計処理(平均値、標準偏差)した情報を格納する。さらに、関連性統計情報テーブル34aは、統計処理の結果が所定の条件(例えば、平均≦1または標準偏差≧1)の条件に当てはまる場合、データペアの関連性情報に無効フラグが付与される。
関連性統計(平均)情報テーブル34bは、性統計情報テーブル34aから、蓄積期間Tにおける平均値についてまとめた情報である。関連性統計情報テーブル34aをまとめる場合、無効フラグが付与されたデータペアの平均値には「0」が設定される。また、関連性統計(平均)情報テーブル34bにおいて、例えば、データペアC−Aのように、蓄積期間Tの途中から無効フラグが付与されたデータペアについても、無効フラグが付与される。
図11は、本実施形態における無効な関連性情報の例を示す。図11の各グラフは、横軸が時間を示し、軸がデータペアの関連性の強さを示す。無効な関連性情報としては、例えば、定常的に関連性が弱いデータペア(図11(A))、関連性の変動が激しいデータペア(図11(B))、関連性の傾向が変化したデータペア(図11(C))が挙げられる。
そして、蓄積期間Tの最後に、有効な関連性情報を用いて、データ再配置技術によりデータ配置が決められる。
図12は、本実施形態における関連性情報の蓄積処理のフローを示す。以下では、図9、図10を参照しながら、図12のフローについて説明する。
まず、関連性抽出部22は、アクセスシーケンスから続けてアクセスされたデータペアを抽出する。関連性抽出部22は、図9にて説明したように、関連性テーブル32に、サブ期間Tmi内にて、サブ−サブ期間Ts毎に、その抽出されたデータペアの関連性情報を記録(アクセス数を+1加算)する(S1)。
統計処理部23は、サブ期間Tmi内の関連性情報が溜まると、図10(A)に示すように各データペアの関連性情報(アクセス回数)の統計値(たとえば、平均値、標準偏差)を算出して、関連性統計情報テーブル34aを生成する(S2)。
統計処理部23は、図10(A)に示すように関連性統計情報テーブル34aの中で、アクセス回数の平均値が閾値以下か、及び標準偏差が閾値以上のうちいずれかの条件に当てはまるデータペアの情報を無効とみなし、無効フラグを立てる(S3)。なお、上述したように、図10(A)で無効フラグが立った場合、統計処理部23は、関連度の平均値を0とする。これにより、図11(A)(B)で説明したように、定常的に関連度が低いデータペアの関連性情報(条件:アクセス回数の平均値が閾値以下)または関連性の変動が大きいデータペアの関連性情報(条件:標準偏差が閾値以上)を排除することができる。
統計処理部23は、図10(B)に示すように、蓄積期間中においては関連性統計情報テーブル34aからサブ期間Tmi毎に平均値だけを残し、関連性統計(平均)情報テーブル34bを生成する(S4)。また、関連性統計(平均)情報テーブル34bにおいて、蓄積期間Tの途中から無効フラグが付与されたデータペアについても、統計処理部23は、無効フラグを付与する。これにより、図11(C)で説明したように、関連度の傾向が途中から変わり、関連度が低下したデータペアの関連性情報が排除できる。
蓄積期間T分の関連性統計情報テーブル34aの情報が溜まると、すなわち、関連性統計(平均)情報テーブル34bが生成されると、配置決定部24は、次の処理を行う。すなわち、配置決定部24は、関連性統計(平均)情報テーブル34bにおいて、無効フラグが立っていないデータペアのサブ期間毎の関連度の平均値に対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する(S5)。S5の処理については、図13を用いて説明する。
配置決定部24は、最終的な関連度を算出後、関連性統計情報34を削除する(S6)。
制御装置12は、蓄積期間毎に、S1〜S6の処理を繰り返す。なお、関連性統計情報テーブル34a、及び関連性統計(平均)情報テーブル34bにおいて、無効フラグが立っている行は適宜削除してもよいし、最適な配置を計算する際に無視してもよい。
図13は、本実施形態における最終的な関連性情報の算出処理(S5)を説明するための図である。
配置決定部24は、関連性統計(平均)情報テーブル34bから無効フラグが立っていないデータペアを抽出し、それぞれ以下の式で最終関連度を算出する。サブ期間k(=1〜N、N:サブ期間の個数)の重みは、以下のように決められる。指数加重移動平均方式を用いる場合、配置決定部24は、図13(B)に示すように、直近のサブ期間から過去のサブ期間に向かって、重みを指数関数的に減らしていく。
サブ期間kのデータペアX−Y間の関連度をPkとすると、配置決定部24は、蓄積期間TにおけるデータペアX−Y間の最終関連度RELを以下の式を用いて求める。
RELX−Y=α×(PN+(1−α)PN−1+(1−α2)PN−2+・・・)
ここで、αは、重みの減少度合いを決める平滑化係数(0〜1)であり、予め決められている。
RELX−Y=α×(PN+(1−α)PN−1+(1−α2)PN−2+・・・)
ここで、αは、重みの減少度合いを決める平滑化係数(0〜1)であり、予め決められている。
例えば、図13(A)に示すように、α=0.5の場合、データA−B間の最終関連度RELは、RELA−B=0.5*(4.7+0.5*4.5+・・・)を計算することにより得られる。
図14は、本実施形態における最終的に得られるデータペア毎の関連性情報を示す。図12のS5の処理の結果、図14に示す最終的な関連性情報が得られる。
図15は、本実施形態における関連性情報とデータ配置の決定について説明するための図である。図15では、説明の便宜上、データF,G,H,I,Jを用い、データペアF−G,F−H,G−H,G−I,H−J,I−Jを用いる。
図15の左側には、図12のS1で説明したように、データペア毎のサブ−サブ期間Ts単位でアクセス回数を計測することに得られた関連性情報が示されている。このデータペア毎の関連性情報に対して、図12のS2〜S4で説明したように、統計情報より無効な関連性情報が判定される。
すると、データペアG−Iの関連性情報については、関連度の変動が激しすぎるので、条件(標準偏差≧1)に当てはまるとする。この場合、統計処理部23は、データペアG−Iの関連性情報は無効と判定する。
また、データペアH−Jの関連性情報については、関連度の値が定常的に低すぎるので、条件(平均≦1)に当てはまるとする。この場合、統計処理部23は、データペアH−Jの関連性情報は無効と判定する。したがって、無効と判定されなかったデータペアF−G,F−H,G−H,I−Jの関係性情報は有効である。
図12のS5で説明したように、配置決定部24は、無効と判定されなかったデータペアF−G,F−H,G−H,I−Jの関連性情報に対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する。図15の例では、データペアF−Gの最終的な関連度は8.1である。データペアF−Hの最終的な関連度は10.4である。データペアG−Hの最終的な関連度は4.3である。データペアI−Jの最終的な関連度は9.8である。
有効な関連性情報をグラフ構造にすると、図15の右上のようになる。配置決定部24は、このグラフ構造における関連度から、セグメント毎のデータの配置を決定する(図15の右下)。この場合、セグメントを跨ぐアクセスは少ないと想定される。その結果、ディスクアクセスが低減する。
図16は、本実施形態におけるリクエスト到着から配置決定までのフロー例を示す。制御装置12は、本実施形態に係るプログラムを実行することにより、入出力管理部21、関連性抽出部22、統計処理部23、配置決定部24として機能する。
入出力管理部21は、要求元から入力されたリクエストが指定するデータをメモリ13またはディスク14から読み出して(アクセスして)、要求元に送信する(S11)。このとき、リクエストが指定するデータがメモリ13に存在しない場合、入出力管理部21は、データ・セグメント対応テーブル32を用いて、リクエストが指定するデータが属するセグメントの全データをディスク14から読み出す。そして、入出力管理部21は、読み出したセグメントの全データのうち、リクエストが指定するデータを要求元に送信する。
関連性抽出部22は、蓄積期間T内のサブ期間のうち、現在のサブ期間Tm_kを特定する(S12)。
関連性抽出部22は、関連性管理テーブルのサブ期間Tm_kの情報を更新する(S13)。具体的には、関連性抽出部22は、図12のS1にて説明したように、関連性テーブル32に、サブ期間Tm_k内にて、サブ−サブ期間Ts毎に、その抽出されたデータペアの関連性情報を記録(アクセス数を+1加算)する。
サブ期間Tmの間、関連性抽出部22は、S11〜S13の処理を繰り返す(S14で「YES」)。
サブ期間Tmが終わると(S14で「NO」)、統計処理部23は、サブ期間Tm_kにおける関連性情報から、関連性統計情報を算出する(S15)。具体的には、図12のS2にて説明したように、統計処理部23は、サブ期間Tm_k内の関連性情報(アクセス回数)が溜まると、図10(A)に示すように各データペアの関連性情報の統計値(平均値、標準偏差)を算出して、関連性統計情報テーブル34aを生成する。
統計処理部23は、生成した関連性統計情報のうち、無効な情報に無効フラグを付与する(S16)。具体的には、統計処理部23は、図12のS3で説明したように、関連性統計情報テーブル34a(図10(A))の中で、アクセス回数の平均値が閾値以下及び標準偏差が閾値以上のうちいずれかの条件に当てはまるデータペアの情報を無効とみなし、無効フラグを立てる。なお、上述したように、図10(A)で無効フラグが立った場合、統計処理部23は、関連度の平均値を0とする。
まだ、蓄積期間T中である場合(S17で「YES」)、S11の処理に戻り、次のサブ期間Tm_k+1について、S11〜S16の処理が行われる。
蓄積期間Tが終了すると(S17で「NO」)、統計処理部23は、関連性統計情報の無効な情報に無効フラグを付与する(S18)。具体的には、図12のS4で説明したように、統計処理部23は、蓄積期間中においては関連性統計情報テーブル34aからサブ期間Tmi毎に平均値だけを残し、関連性統計(平均)情報テーブル34bを生成する(図10(B))。また、関連性統計(平均)情報テーブル34bにおいて、蓄積期間Tの途中から無効フラグが付与されたデータペアについても、統計処理部23は、無効フラグを付与する。
配置決定部24は、最終的な関連性情報を算出する(S19)。具体的には、図12のS5及び図13で説明したように、配置決定部24は、関連性統計(平均)情報テーブル34bにおいて、無効フラグが立っていないデータペアに対して、時間経過とともに大きくなる重みをかけて、データペア毎の最終的な関連度を算出する。
次に、配置決定部24は、算出されたデータペア毎の最終的な関連度に基づいて、データ配置の変更が必要か否かを判定する(S20)。ここでは、配置決定部24は、算出されたデータペア毎の最終的な関連度に基づいて、データとセグメントの対応付けの変更が必要か否か、すなわち、セグメントの再編成をする必要があるかを判断する。図15で説明したように、配置決定部24は、データペア毎の最終的な関連度を用いて有効な関連性情報をグラフ構造化し、そのグラフ構造に基づいて、データのグループ化を行う。このグループ化においてグループ(セグメント)に含まれるデータの構成に変化がある場合、配置決定部24は、データ配置の変更が必要であると判定する。
データ配置の変更が必要ない場合、すなわちデータとセグメントの対応付けの変更が不要と判定された場合(S20で「No」)、配置決定部24は、本フローチャートの処理を終了する。
データ配置の変更が必要ある場合、すなわちデータとセグメントの対応付けの変更が必要と判定された場合(S20で「Yes」)、配置決定部24は、次の処理を行う。すなわち、配置決定部24は、S20でのセグメントの再構成の結果に基づいて、データとセグメントの対応付けを変更する(S21)。
配置決定部24は、その変更したデータとセグメントとの対応関係に基づいて、データ・セグメント対応テーブル32を更新する(S22)。
その後、配置決定部24は、関連性管理テーブル33、関連性統計情報34を削除する(S23)。
本実施形態によれば、再配置に有効な関連性情報と無効な関連性情報を区別できる。したがって、無効な関連性情報を適宜削除する場合には、最適化のために保持するデータ量を減らすことができる。配置計算時に無効な関連性情報を使わない場合には、計算処理対象を減らすことができる。また、配置計算時に無効な関連性情報を使わない場合には、見かけ上有効に見える(一時的に関連度が高い)が、実際は効果が低い(再配置してもすぐに効果がなくなる)配置になるのを避けることができる。
なお、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または実施形態を取ることができる。
1 データ管理装置
2 監視部
3 判別部
4 特定部
11 サーバ
12 制御装置
13 メモリ
14 ディスク
15 クライアント
16 ネットワーク
21 入出力管理部
22 関連性抽出部
23 統計処理部
24 配置決定部
31 キャッシュ領域
32 データ・セグメント対応テーブル
33 関連性管理テーブル
34 関連性統計管理情報
34a 関連性統計情報テーブル
34b 関連性統計(平均)情報テーブル
2 監視部
3 判別部
4 特定部
11 サーバ
12 制御装置
13 メモリ
14 ディスク
15 クライアント
16 ネットワーク
21 入出力管理部
22 関連性抽出部
23 統計処理部
24 配置決定部
31 キャッシュ領域
32 データ・セグメント対応テーブル
33 関連性管理テーブル
34 関連性統計管理情報
34a 関連性統計情報テーブル
34b 関連性統計(平均)情報テーブル
Claims (7)
- コンピュータに、
複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する
処理を実行させるデータ管理プログラム。 - 断続的な前記関連度の監視において、前記関連度の傾向を観察する期間を複数の期間に分割し、分割した期間毎に、該ペアへのアクセス頻度に基づく前記データ間の前記関連度を断続的に監視する
ことを特徴とする請求項1に記載のデータ管理プログラム。 - 前記判別において、
前記分割した期間における、断続的に監視された前記関連度の平均または標準偏差をペア毎に算出し、算出した平均または標準偏差が特定の条件を満たす前記関連度を有するペアを特定する
ことを特徴とする請求項2に記載のデータ管理プログラム。 - 前記配置対象のデータの特定において、
前記特定の傾向を示す関連度を有するペア以外のペアの前記分割した期間毎の前記関連度の平均に対して、直近の分割した期間から過去の前記分割した期間に向かって重みを減らしていく重み付けを行うことにより、前記ペア毎に、前記観察する期間における関連度を算出する
ことを特徴とする請求項3に記載のデータ管理プログラム。 - 前記配置対象のデータの特定において、
前記特定の傾向を示す関連度を有するペア以外のペアをグループ化する
ことを特徴とする請求項1に記載のデータ管理プログラム。 - 複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視する監視部と、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行う判別部と、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する特定部と、
を備えることを特徴とするデータ管理装置。 - コンピュータが、
複数のデータを格納する記憶装置に対するアクセス要求により連続してアクセスされたデータのペア毎に、該ペアへのアクセス頻度に基づくデータ間の関連度を断続的に監視し、
断続的に監視された複数の前記ペアの前記関連度の傾向に基づいて、特定の傾向を示す関連度を有するペアであるか否かの判別を行い、
前記判別の結果と前記関連度に基づいて前記データをグループ化し、グループ毎の配置対象のデータを特定する
ことを特徴とするデータ管理方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015040783A JP2016162247A (ja) | 2015-03-02 | 2015-03-02 | データ管理プログラム、データ管理装置、及びデータ管理方法 |
| US15/052,060 US20160259843A1 (en) | 2015-03-02 | 2016-02-24 | Recording medium having stored therein data management program, data management device, and data management method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2015040783A JP2016162247A (ja) | 2015-03-02 | 2015-03-02 | データ管理プログラム、データ管理装置、及びデータ管理方法 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016162247A true JP2016162247A (ja) | 2016-09-05 |
Family
ID=56846963
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2015040783A Pending JP2016162247A (ja) | 2015-03-02 | 2015-03-02 | データ管理プログラム、データ管理装置、及びデータ管理方法 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US20160259843A1 (ja) |
| JP (1) | JP2016162247A (ja) |
Family Cites Families (9)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1993008006A1 (en) * | 1991-10-15 | 1993-04-29 | Ppg Industries, Inc. | Stable aqueous solutions containing siloxanes for treating cellulosic substrates |
| US5864679A (en) * | 1993-09-06 | 1999-01-26 | Kabushiki Kaisha Toshiba | Transaction routing in a multiple processor system using an extracted transaction feature parameter and transaction historical data |
| US6725252B1 (en) * | 1999-06-03 | 2004-04-20 | International Business Machines Corporation | Method and apparatus for detecting and processing multiple additional requests from a single user at a server in a distributed data processing system |
| JP4116413B2 (ja) * | 2002-12-11 | 2008-07-09 | 株式会社日立製作所 | プリフェッチアプライアンスサーバ |
| JP4859595B2 (ja) * | 2006-09-01 | 2012-01-25 | 株式会社日立製作所 | 記憶システム、そのデータ再配置方法、データ再配置プログラム |
| US8331328B2 (en) * | 2007-06-08 | 2012-12-11 | Samsung Electronic Co., Ltd | Control and data signaling in SC-FDMA communication systems |
| JP5284685B2 (ja) * | 2008-05-16 | 2013-09-11 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ファイルの再配置装置、再配置方法、及び再配置プログラム |
| EP2811408A4 (en) * | 2012-01-30 | 2015-01-21 | Fujitsu Ltd | DATA MANAGEMENT DEVICE, DATA MANAGEMENT PROCESS, DATA MANAGEMENT PROGRAM, AND DATA PROCESSING DEVICE |
| US9007799B2 (en) * | 2012-04-25 | 2015-04-14 | Intel Corporation | Low power content addressable memory system |
-
2015
- 2015-03-02 JP JP2015040783A patent/JP2016162247A/ja active Pending
-
2016
- 2016-02-24 US US15/052,060 patent/US20160259843A1/en not_active Abandoned
Also Published As
| Publication number | Publication date |
|---|---|
| US20160259843A1 (en) | 2016-09-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8214599B2 (en) | Storage device prefetch system using directed graph clusters | |
| CN104081364B (zh) | 合作高速缓存 | |
| JP6166616B2 (ja) | 情報処理方法、情報処理装置及びプログラム | |
| CN102439577B (zh) | 一种构建内存访问模型的方法及装置 | |
| JP6402647B2 (ja) | データ配置プログラム、データ配置装置およびデータ配置方法 | |
| CN106372007B (zh) | 缓存使用率估计 | |
| CN112286459A (zh) | 一种数据处理方法、装置、设备及介质 | |
| US20140351188A1 (en) | Prefetch system and method | |
| CN115129230A (zh) | 一种缓存管理方法及存储设备 | |
| JP2014164769A (ja) | ホストのサービス品質インジケータに重みを割り当てるための装置および方法ならびに記憶媒体 | |
| CN104077242A (zh) | 一种缓存管理方法和装置 | |
| CN104077241B (zh) | 缓存淘汰算法切换处理方法及装置 | |
| US9851925B2 (en) | Data allocation control apparatus and data allocation control method | |
| WO2016147279A1 (ja) | データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法 | |
| US8868841B2 (en) | Statistical cache promotion | |
| JP2016162247A (ja) | データ管理プログラム、データ管理装置、及びデータ管理方法 | |
| CN111221749A (zh) | 数据块写入方法、装置、处理器芯片及Cache | |
| EP3153972A1 (en) | Data management program, data management device, and data management method | |
| WO2016157417A1 (ja) | データ配置プログラム、データ配置装置、及びデータ配置方法 | |
| JP2016126619A (ja) | データ配置装置、データ配置プログラム及びデータ配置方法 | |
| JP7640423B2 (ja) | ストレージ装置及びキャッシュ制御方法 | |
| CN107819804B (zh) | 云端储存设备系统及决定其架构的高速缓存中数据的方法 | |
| CN117370227B (zh) | 内存页面的确定方法及计算设备 | |
| CN115185861A (zh) | 一种数据访问方法、装置及计算机设备 | |
| JP2017033262A (ja) | 情報処理装置、アクセス情報管理プログラム、及びアクセス情報管理方法 |