JP6142727B2 - データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置 - Google Patents

データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置 Download PDF

Info

Publication number
JP6142727B2
JP6142727B2 JP2013167854A JP2013167854A JP6142727B2 JP 6142727 B2 JP6142727 B2 JP 6142727B2 JP 2013167854 A JP2013167854 A JP 2013167854A JP 2013167854 A JP2013167854 A JP 2013167854A JP 6142727 B2 JP6142727 B2 JP 6142727B2
Authority
JP
Japan
Prior art keywords
data
data access
analysis
access
entropy rate
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
JP2013167854A
Other languages
English (en)
Other versions
JP2015036865A (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 JP2013167854A priority Critical patent/JP6142727B2/ja
Priority to US14/176,238 priority patent/US9383944B2/en
Publication of JP2015036865A publication Critical patent/JP2015036865A/ja
Application granted granted Critical
Publication of JP6142727B2 publication Critical patent/JP6142727B2/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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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/0653Monitoring storage devices or 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/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/061Improving I/O performance
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Debugging And Monitoring (AREA)

Description

本願は、データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置に関する。
ディスク上のデータを処理する場合に、ディスクアクセスは、メモリアクセスに比べてアクセス回数やシーク時間等の影響があるため効率が悪い。そのため、データが記憶された記憶装置に対するディスクアクセスを最適化するためには、可能な限り、同時にアクセスされるデータ同士が、ディスクの同じセグメントに記憶されている状況が望ましい。
特開平7−319902号公報 国際公開第2013/114538号
例えば、アクセスのあったデータ毎に、アクセス履歴から他のデータそれぞれとのアクセスの関連性を求め、各データの関連性に基づきセグメント分割を行うことが考えられる。
しかしながら、データを集約する局所化の作業が、ディスクアクセスの効率化に寄与するかを判断する場合の算出コストが大きく、局所化が効率化に寄与しないことが判った場合の無駄が多くなる。また、複数のデータの分布に関する指標としてクラスタ係数等が知られているが、クラスタ係数と局所性の有無とは必ずしも関連していない。
一つの側面では、本発明は、データが局所性に向いているかを事前に分析することを目的とする。
一態様におけるデータアクセス分析プログラムは、データアクセスの履歴情報から遷移行列を求め、前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させる。
データが局所性に向いているかを事前に分析することができる。
ディスク配置システムの概略構成例を示す図である。 データアクセス分析装置の機能構成例を示す図である。 データ管理装置の機能構成例を示す図である。 データアクセス分析装置のハードウェア構成例を示す図である。 ディスク配置システムの処理の一例を示すフローチャートである。 データアクセス分析装置の処理の一例を示すフローチャートである。 アクセスシーケンスパターンに対応するキャッシュヒット率を説明するための図である。 マルコフ連鎖を説明するための図である。 ホップ数とエントロピー率との関係を示す図である。 本実施形態における指標と局所化の効果との関係を示す図である。 データ管理装置に対してデータ要求Rqがなされた状態を示す図である。 図11の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。 図12の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。 関連性解析部の処理の一例を示すフローチャートである。 図13に示す状態において関連性解析部がセグメントを変更する前後のセグメント配置を示す図である。 セグメント配置部により変更された後のデータとセグメントの対応付けを示す図である。 図16の状態に続き、データ管理装置に対してデータ要求Rqが複数回なされた状態を示す図である。 図17の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。 図18の状態において関連性解析部がセグメントを決定する前後のセグメント配置を示す図である。
以下、添付図面を参照しながら実施例について詳細に説明する。なお、以下の説明では、本実施形態におけるデータアクセス分析手法を用いたディスク配置システムについて説明するが、データアクセス分析手法を用いた適用例は、これに限定されるものではない。
<ディスク配置システムの概略構成例>
図1は、ディスク配置システムの概略構成例を示す図である。図1の例に示すディスク配置システム10は、クライアントコンピュータ11と、データアクセス分析装置12と、データ管理装置13とを有するよう構成されている。また、クライアントコンピュータ11と、データアクセス分析装置12と、データ管理装置13とは、例えばインターネットやLocal Area Network(LAN)等に代表される通信ネットワーク14によりデータの送受信が可能な状態で接続されている。
クライアントコンピュータ11は、データアクセス分析装置12やデータ管理装置13における処理の指示やデータの入出力等を行う。なお、クライアントコンピュータ11は、例えばPersonal Computer(PC)等であるが、これに限定されるものではない。
データアクセス分析装置12は、データ管理装置13におけるクライアントコンピュータ11等からのデータの入出力情報が記憶されたデータアクセス履歴を用いて、データの局所化を行った場合にデータアクセスの効率化が図れるか否かを分析する。例えば、データアクセス分析装置12は、データアクセス履歴からアクセスシーケンスの連続する2つのデータの関連性を集計し、マルコフ連鎖として定式化し、遷移行列(疎行列)を求める。
また、データアクセス分析装置12は、上述した遷移行列を用いて、例えば遷移回数毎のエントロピー率を算出する。また、データアクセス分析装置12は、算出したそれぞれのエントロピー率に基づき、データアクセスの相互関連度(例えば、データの局所性等)を判定する。例えば、相互関連度は、データアクセスに対し、N階(Nは自然数)のマルコフ連鎖としたときのエントロピー率をN=1から複数のNに対して求め、求めたエントロピー率のNに対する変化状況に基づいて推定することができるが、これに限定されるものではない。
また、データアクセス分析装置12は、上述した相互関連度(局所性があるかないか)に応じて、複数のデータ(データセット)がデータ管理装置13におけるディスクへのデータ配置処理を行うのに向いているか否かを分析する。
なお、データアクセス分析装置12は、例えばデータ管理装置13からの指示があった場合に上述の処理を実行し、その分析結果をデータ管理装置13に送信する。
データ管理装置13は、例えばCentral Processing Unit(CPU)21と、メモリ装置22と、記憶装置23とを有する。
CPU21は、例えばプログラムカウンタや命令デコーダ、各種演算器、Load Store Unit(LSU)、汎用レジスタ等を有する演算処理装置としてのプロセッサである。例えば、CPU21が実行するプログラムは、通信ネットワーク14を介して取得されてもよいし、可搬型メモリがデータ管理装置13に装着されることにより取得されてもよい。
メモリ装置22は、記憶装置23に比して高速にアクセス可能な記憶装置(キャッシュメモリ)である。記憶装置23は、データ管理装置13が提供するデータがセグメント単位で記憶されている。セグメントとは、データ要求の履歴により関連性が認められるデータのグループであり、例えばCPU21の処理によって内容が更新される。
メモリ装置22は、例えば記憶装置23に格納されたセグメントのうち高頻度にアクセスされるセグメントが記憶装置23からコピーされる。これによって、データ管理装置13は、クライアントコンピュータ11から入力されたデータ要求に対して高速にデータを出力することができる。
なお、メモリ装置22と記憶装置23の組み合わせとしては、例えばRandom Access Memory(RAM)、フラッシュメモリ、Hard Disk Drive(HDD)等を組み合わせたものが採用され得る。例えば、メモリ装置22がRAMの場合には、記憶装置23としてHDD、フラッシュメモリ、テープ、DVD、CD、Blu−ray(登録商標) Disc等が用いられる。また、メモリ装置22がフラッシュメモリの場合には、記憶装置23としてHDD、テープ、DVD、CD、Blu−ray Disc等が用いられるが、これらの組み合わせに限定されるものではない。
また、データ管理装置13は、上述した構成だけでなく、例えばBasic Input Output System(BIOS)を格納したROM、プログラムメモリ等を有していてもよい。
上述したデータアクセス分析装置12及びデータ管理装置13は、例えばサーバやPC等であるが、これに限定されるものではない。また、データアクセス分析装置12は、例えばデータ管理装置13内に設けられていてもよい。
なお、図1に示すディスク配置システム10において、クライアントコンピュータ11、データアクセス分析装置12、及びデータ管理装置13は、それぞれ複数有していてもよい。したがって、例えば1つのデータアクセス分析装置12が、複数のデータ管理装置13のそれぞれに対してデータアクセス分析を行ってもよい。
次に、上述データアクセス分析装置12及びデータ管理装置13の機能構成例について図を用いて説明する。
<データアクセス分析装置12の機能構成例>
図2は、データアクセス分析装置の機能構成例を示す図である。図2の例に示すデータアクセス分析装置12は、関連性集計部31と、遷移行列生成部32と、行列反復処理部33、エントロピー率算出部34と、局所性解析部35とを有する。
関連性集計部31は、データ管理装置13から得られるデータアクセス履歴からアクセスシーケンスの連続する2つのデータの関連性を集計する。
遷移行列生成部32は、関連性集計部31により得られる複数の関連性に対して、例えばマルコフ連鎖等を用いて定式化し、遷移行列(疎行列)Pを求める。なお、遷移行列を求める手法については、これに限定されるものではない。
行列反復処理部33は、遷移行列生成部32で得られた遷移回数毎の疎行列を乗算し、予め設定された反復乗算処理を用いて遷移行列Pに対する定常状態μを算出する。
エントロピー率算出部34は、予め設定されたエントロピー率の算出式を用いて、遷移回数毎のエントロピー率を算出し、その結果からエントロピーのセグメントサイズの対数を超える接続ノード(連続して読み出すデータ)のホップ数を割り出す。なお、ホップ数とは、例えばアクセスするセグメントが変わる毎にカウントされる数(遷移回数)である。例えば、現在アクセスしているセグメントと同一のセグメントのデータにアクセスする場合には、ホップ数h=1であり、他のセグメントのデータにアクセスする場合には、ホップ数がカウントされてホップ数h=2となる。同様に、セグメントが変わる毎(遷移する毎)にホップ数がカウントされる。
局所性解析部35は、上述したホップ数hを用いて局所性を解析する。局所性とは、例えば一度同時にアクセスされたデータ同士は、再度同時にアクセスされやすい性質等を意味するが、これに限定されるものではない。例えば、局所性解析部35は、ホップ数hを用いてキャッシュヒット率(1−1/h)やキャッシュミス率(1/h)等を算出し、その値をデータ局所化の効果の推測値とする。キャッシュヒット率とは、キャッシュの中に連続したシーケンスデータが含まれている率であり、キャッシュミス率とは、キャッシュの中に連続したシーケンスデータが含まれていない率である。局所性解析部35は、その解析結果を、通信ネットワーク14を介してデータ管理装置13に送信する。
なお、上述したデータアクセス分析装置12の処理は、データ管理装置13からの指示により実行されていてもよく、クライアントコンピュータ11からの指示により実行されていてもよい。
<データ管理装置13の機能構成例>
図3は、データ管理装置の機能構成例を示す図である。図3の例において、データ管理装置13は、入出力管理部41と、解析要否判断部42と、関連性解析部43と、セグメント配置部44と、メモリ装置22と、記憶装置23とを有する。なお、入出力管理部41と、解析要否判断部42と、関連性解析部43と、セグメント配置部44とは、上述したCPU21がプログラムを実行することにより機能する機能部の一例である。
入出力管理部41は、クライアントコンピュータ11等の要求元から入力されたデータ要求に応じてメモリ装置22及び記憶装置23を検索し、要求されたデータを要求元に送信する。なお、データ要求は、クライアントコンピュータ11が送信するだけでなく、データ管理装置13において実行されているプロセスその他の主体がデータ要求の発行元となる場合もあり得る。また、データ管理装置13に入出力装置が接続されていれば、ユーザが入出力装置に対してデータ要求を入力することも想定される。
入出力管理部41は、データ要求が入力されると、メモリ装置22を検索し、データ要求が指定するデータがメモリ装置22上に存在する場合に、データをメモリ装置22から読み出して要求元に返信する。また、入出力管理部41は、データ要求が指定するデータがメモリ装置22上に存在しない場合には、記憶装置23を検索し、データ要求が指定するデータが記憶装置23上に存在する場合に、データを記憶装置23から読み出して要求元に返信する。この際に入出力管理部41は、読み出したデータの属するセグメントを記憶装置23からメモリ装置22のセグメント管理庫22Aにコピーする。
なお、入出力管理部41は、記憶装置23からセグメント管理庫22Aへのセグメントのコピーを、データ要求があったデータについて無条件に行ってもよいし、一定期間のアクセス頻度を取得してアクセス頻度が高いセグメントを優先的にコピーしてもよい。
解析要否判断部42は、データ要求とセグメントの関係に基づいて、関連性解析部43に関連性の解析を行わせるか否かを決定する。関連性解析部43は、メモリ装置22に格納された関連性保管庫22Bに、入出力管理部41に入力されたデータ要求を加えたデータについて関連性を解析し、解析結果に基づいてセグメントの決定を行う。セグメント配置部44は、関連性解析部43の決定に従い、セグメントの配置を更新する。
<ハードウェア構成例>
次に、データアクセス分析装置12のハードウェア構成例について、図を用いて説明する。図4は、データアクセス分析装置のハードウェア構成例を示す図である。図4の例において、データアクセス分析装置12は、入力装置51と、出力装置52と、ドライブ装置53と、補助記憶装置54と、主記憶装置55と、CPU56と、ネットワーク接続装置57とを有し、これらはシステムバスBで相互に接続されている。
入力装置51は、データアクセス分析装置12を使用するユーザ等からのプログラムの実行指示、各種操作情報、ソフトウェア等を起動するための情報等の入力を受け付ける。入力装置51は、データアクセス分析装置12のユーザ等が操作するキーボード及びマウス等のポインティングデバイスや、マイク等の音声入力デバイスを有する。
出力装置52は、本実施形態におけるデータアクセス分析装置12を操作するのに必要な各種ウィンドウやデータ等を表示するディスプレイを有し、CPU56が有する制御プログラムによりプログラムの実行経過や結果等を画面に表示することができる。
ここで、データアクセス分析装置12等のコンピュータ本体にインストールされる実行プログラムは、例えば記録媒体58等により提供される。プログラムを記録した記録媒体58は、ドライブ装置53にセット可能であり、CPU56からの制御信号に基づき、記録媒体58に含まれる実行プログラムが、記録媒体58からドライブ装置53を介して補助記憶装置54にインストールされる。
補助記憶装置54は、CPU56からの制御信号に基づき、本実施形態における実行プログラムや、コンピュータに設けられた制御プログラム等を記憶し、必要に応じて入出力を行う。補助記憶装置54は、CPU56からの制御信号等に基づいて、記憶された各情報から必要な情報を読み出したり、書き込んだりすることができる。補助記憶装置54は、例えばHDD、Solid State Drive(SSD)等のストレージ手段等である。
主記憶装置55は、CPU56に実行させるOperating System(OS)プログラムやアプリケーションプログラムの少なくとも一部を一時的に記憶する。また、主記憶装置55は、CPU56による処理に必要な各種データを記憶する。主記憶装置55は、例えばROMやRAM等である。
CPU56は、OS等の制御プログラム、及び主記憶装置55に格納されている実行プログラムに基づいて、各種演算や各ハードウェア構成部とのデータの入出力等、データアクセス分析装置12等のコンピュータ全体の処理を制御して各処理を実現する。プログラムの実行中に必要な各種情報等は、例えば補助記憶装置54から取得することができ、また実行結果等を格納することもできる。
例えば、CPU56は、例えば入力装置51から得られるプログラムの実行指示等に基づき、補助記憶装置54にインストールされたプログラム(例えば、データアクセス分析プログラム)を実行させることにより、主記憶装置55上でプログラムに対応する処理を行う。
例えば、CPU56は、データアクセス分析プログラムを実行させることで、上述した関連性集計部31におけるアクセスシーケンスの関連性の集計、遷移行列生成部32における遷移行列の生成、行列反復処理部33における行列反復算出、エントロピー率算出部34によるエントロピー率の算出、局所性解析部35による局所性の解析等の処理を行う。CPU56における処理内容はこれに限定されるものではない。CPU56により実行された内容は、必要に応じて補助記憶装置54に記憶される。
ネットワーク接続装置57は、CPU56からの制御信号に基づき、上述した通信ネットワーク14等と接続することにより、クライアントコンピュータ11やデータ管理装置13等との通信を行う。ネットワーク接続装置57は、例えばデータ管理装置13からのデータアクセス分析要求を受信することで、本実施形態におけるデータアクセス分析処理を実施することができる。
ネットワーク接続装置57は、実行プログラムやアプリケーション、ソフトウェア、設定情報等を通信ネットワーク14に接続されている外部装置等から取得することができる。また、ネットワーク接続装置57は、プログラムを実行することで得られた実行結果又は本実施形態における実行プログラム自体を外部装置等に提供することができる。
記録媒体58は、上述したように実行プログラム等が格納されたコンピュータで読み取り可能な記録媒体である。記録媒体58は、例えばフラッシュメモリ等の半導体メモリやCD−ROM、DVD等の可搬型の記録媒体であるが、これに限定されるものではない。
上述したようなハードウェア構成により、本実施形態におけるデータアクセス分析処理を実行することができる。本実施形態は、各機能をコンピュータに実行させることができる実行プログラム(データアクセス分析プログラム)を例えば汎用のPC等にインストールすることで、ハードウェア資源とソフトウェアとが協働して本実施形態におけるデータアクセス分析処理を実現することができる。なお、上述したクライアントコンピュータ11及びデータ管理装置13も同一の構成を適用することができる。
<ディスク配置システム10の処理の一例>
次に、上述したディスク配置システム10の処理の一例について、フローチャートを用いて説明する。図5は、ディスク配置システムの処理の一例を示すフローチャートである。なお、図5の例は、データ管理装置13に対してデータ要求がなされる度に実行される。
図5の例において、入出力管理部41は、クライアントコンピュータ11から、データ要求が指定するデータを、メモリ装置22又は記憶装置23から読み出して、要求元のクライアントコンピュータ11に出力する(S01)。
次に、入出力管理部41は、今回要求されたデータと前回要求されたデータとを対応付けて関連性保管庫22Bを更新する(S02)。関連性保管庫22Bが更新されると、データアクセス分析装置12において、データアクセス分析を行う(S03)。次に、S03の処理により得られた分析結果から、そのデータ(データセット)が局所化に向いているか(局所性があるか)否かを判断する(S04)。
なお、S04の処理では、例えばS03の処理により得られるキャッシュミス率又はキャッシュヒット率と、予め設定された閾値とを比較することで、局所化に向いているか否かを判断する。例えば、キャッシュミス率が、閾値a(例えば15%)以下の場合、又は、キャッシュヒット率が閾値b(例えば80%)以上の場合に、そのデータが局所化に向いていると判断することができるが、これに限定されるものではない。
S04の処理において、データが局所化に向いている場合(S04において、YES)、関連性解析部43は、データの関連性を解析する(S05)。なお、関連性解析部43は、関連性解析が必要か否かを判断して関連性解析が必要と判断された場合にS05の処理を行ってもよい。また、S04の処理において、データセットが局所化に向いていない場合(S04において、NO)、処理を終了する。
次に、セグメント配置部44は、関連性解析部43の解析結果に基づき、データとセグメントの対応付けの変更が必要か否かを判断する(S06)。データとセグメントの対応付けの変更が不要と判断された場合(S06において、NO)、処理を終了する。
また、データとセグメントの対応付けの変更が必要と判断した場合(S06において、YES)、セグメント配置部44は、データとセグメントの対応付けを変更し、データにおけるデータの再配置を行う(S07)。
<データアクセス分析装置12における処理の一例>
次に、上述したS04に相当するデータアクセス分析装置12における処理の一例について、フローチャートを用いて説明する。図6は、データアクセス分析装置の処理の一例を示すフローチャートである。
図6の例において、データアクセス分析装置12は、関連性保管庫22Bからアクセスシーケンス(アクセスされたデータの集合(履歴情報))を入力し(S11)、アクセスシーケンスの連続する2つのデータの関連性を集計する(S12)。S12の処理では、例えば2つのデータ同士がどのくらいの確率で連続してアクセスされているかを統計的に算出する。
次に、データアクセス分析装置12は、集計した関連性に対し、例えばマルコフ連鎖として定式化し、遷移行列Pを求める(S13)。
次に、データアクセス分析装置12は、遷移行列Pに対して疎行列を乗算することで、P、P、P、・・・を算出する(S14)。次に、データアクセス分析装置12は、例えばPower法等の反復乗算処理を用いて、Pに対する定常状態μを算出する(S15)。なお、Power法(べき乗法)とは、固有値と固有ベクトルの性質から、ベクトルに行列を繰り返し乗算することで絶対値最大の固有値とそれに属する固有ベクトルを求める方法である。なお、Power法は、例えばMapReduce等のフレームワーク等を用いることで実現することができる。
次に、データアクセス分析装置12は、エントロピー率の算出式(例えばΣijμijijlogij)により、遷移回数毎の遷移行列P、P、P、・・・に対応するそれぞれのエントロピー率e、e、e、・・・を算出する(S16)。
次に、データアクセス分析装置12は、S16の処理で得られたエントロピー率がセグメントサイズを超えるホップ数hを割り出す(S17)。S17の処理では、データアクセス分析装置12は、エントロピーe、e、e、・・・からホップ数とエントロピー率の関係を表す曲線f(h)を予め設定された多項式等を用いて近似により求める。また、データアクセス分析装置12は、求めた近似曲線に基づいて、ホップ数がセグメントサイズsの対数(logs)を超えるホップ数hを割り出す。すなわち、f(h)≦logsとなる最大のhを求める。
次に、データアクセス分析装置12は、そのホップ数hを用いて、データ局所化の効果の推測値を分析結果として出力する(S18)。なお、推測値としては、例えばキャッシュミス率(1/h)やキャッシュヒット率(1−1/h)等であるが、これに限定されるものではない。
上述した処理により、データが局所性に向いているかを事前に分析でき、例えば局所化におけるデータの再配置の効果がどの程度あるかわからないような大規模分散システムにおいて、実際にシステム構築する前にその効果を事前に見積もることができる。これにより、無駄な投資を避けることができる。
<データアクセスの分析について>
ここで、上述した本実施形態におけるデータアクセスの分析について具体的に説明する。近年では安価で高性能なサーバの入手が容易となり、これらのサーバを用いたデータの分散処理が可能となったことから、ビッグデータの分野に注目が集まっている。ビッグデータを処理する際、メモリに入らない大量データを扱うことが多いため、ディスクを活用する必要が生じる。ディスク上のデータを処理する際、ディスクアクセスは、メモリアクセスに比べて非常に効率が悪いため、特にディスクアクセス回数やシーク時間を削減することが重要になる。
そこで、上述したデータ管理装置13により、ディスクアクセスを最適化するため、局所性を利用したデータの再配置を行う。具体的には、大量のデータを記憶することができるデータストアにおいて、データをある塊のセグメントとして記憶し、データへのアクセス毎にアクセスパターンを解析し、アクセスパターンで関連性が高い(ほぼ同時にアクセスされる)データ同士は、同じセグメントに記憶することで、遅い記憶装置から速い記憶装置に、関連性の高いデータを一度に読み込むことが可能になり、データアクセスの効率化を向上させる。
また、事前に最適配置を決めてシミュレーションすることで効果を予測することができ、データの分割が判ればキャッシュミス率等で効果を予測することができる。なお、分割手法としては、例えばヒューリスティック等を用いることができるが、これに限定されるものではない。
ここで、ヒューリスティックによる手法としては、例えばConductance,Modularityといったグラフパーティションを最適化する手法を用いることができるが、ランダムアクセスを多用しておりディスク操作では思うような性能が出ない。また、グラフの特性を表す指標から効果を見積もる手法として、例えばクラスタ係数、Diameter、次数分布解析等があるが、これらは、局所性を表す指標として的確なものではない。
ここで、図7は、アクセスシーケンスパターンに対応するキャッシュヒット率を説明するための図である。なお、図7の例では、アクセスシーケンスのパターンを、その確率行列を視覚的にグラフで表現しており、上述したクラスタ係数を用いた指標値も示している。図7(A)は、完全グラフのシーケンスパターンを示し、図7(B)は、ランダムグラフのシーケンスパターンを示し、図7(C)は、クリーク(部分完全グラフ)のサイクルを示し、図7(D)は、サイクルグラフを示している。なお、各ノードはデータを示し、各枝は、次のデータ(連続するデータ)になり得るルートを示している。
また、図7に示すキャッシュヒット率は、所定の最適分割手法を用いて、それを元に実測して得た値である。キャッシュヒット率が高い方が、ディスクにアクセスする回数が減るため局所化の効果が高いことになる。
例えば、図7(A)に示す完全グラフでは、あるデータがアクセスされた後、次にアクセスされるデータの候補は全データとなり、アクセスシーケンスに局所性がない。したがって、キャッシュヒット率は低くなる(図7(A)の例では、0.02)。しかしながら、従来指標であるクラスタ係数の値は、これと一致せず1.00となる。
また、例えば図7(D)に示すサイクルグラフは、あるデータがアクセスされた後、次にアクセスされるデータは2つのみであり、アクセスシーケンスに局所性がある。したがって、キャッシュヒット率は高くなる(図7(D)の例では、0.88)。しかしながら、従来指標であるクラスタ係数の値は、これと一致せず0.00となる。また、図7(B)のランダムグラフについても同様にキャッシュヒット率とクラスタ係数の値とは一致しない。以上のことから、クラスタ係数のようなグラフの特性を表す指標では、局所性を表す指標して適切なものがない。
そこで、本実施形態では、上述したようにデータアクセス分析装置12において、上述したようにエントロピー率を用いることで、実際にクラスタリングせずに安価に見積もることができる。また、シーケンシャルアクセスによる処理しか行っていないため、ランダムアクセスを多用するヒューリスティック手法よりも高速に算出することができる。
<マルコフ連鎖として定式化した遷移行列について>
次に、上述したマルコフ連鎖として定式化した遷移行列について図を用いて説明する。図8は、マルコフ連鎖として定式化した遷移行列を説明するための図である。本実施形態では、アクセスシーケンスをマルコフ連鎖として定式化する。例えば、ある2つのデータが続けてアクセスされる確率を遷移行列として表現すると、図8に示すような値となる。なお、図8の例では、1つのデータセット(データ群)の中にデータ1,2,3を有するものとする。また、データセットは、1つのセッション内でアクセスされるデータ群である。
例えば、データアクセス分析装置12の関連性集計部31は、データアクセス履歴情報により、アクセスシーケンスが1,3,3,2,1,2,3・・・の順番でアクセスしていた場合、2つのデータからそれぞれのデータ同士が連続してアクセスされる確率を求める。例えば、関連性集計部31は、集計結果から図8に示すように「データ1」の次に「データ1」にアクセスされる確率1/3、「データ1」の次に「データ2」にアクセスされる確率1/6、「データ1」の次に「データ1」にアクセスされる確率1/2等を取得する。また、関連性集計部31は、これらの確率から図8に示すように遷移行列(疎行列)を生成する。
本実施形態では、例えばマルコフ連鎖における遷移回数毎(例えば、1,2,3ホップ)のエントロピー率を算出し、その変化状況(例えば、増大の様子)に基づいて局所化に向いているデータセットであるか否かの予測を行う。エントロピー率eは、遷移行列をPとして以下の(1)式で計算することができる。
Figure 0006142727
ここで、上述した(1)式において、μは定常状態、すなわちμP=μを満たす行ベクトルμを示し、例えばPower法等を用いて高速に求めることができる。また、Aは行列を示す。また、i、jは遷移行列の横(i)と縦(j)の要素を示す。
本実施形態では、エントロピー率が、セグメントサイズ(クラスタサイズ)を超えるホップ数毎にセグメント(クラスタ)が変わるためにディスクアクセスが起こると考えられる。
このとき、k−hopのエントロピー率Qは、以下の式から計測できる。
=(αI+αP+α+・・・+αk−1k−1)/(α+α+・・・+αk−1
なお、上述のα+α+・・・+αk−1は、正の実数である。また、Iは単位行列である。
例えば、あるデータセットに対して上述した図8の例に示すような遷移行列を計測した場合に、以下に示す(2)式のようになったとする。
Figure 0006142727
このとき、μ=μPを計算することで、μ=(1/3,1/3,1/3)を得る。ここで、α=1としたき、Qは、以下に示す(3)式の行列で表される。
Figure 0006142727
したがって、上述した結果Qを(1)式のAに代入し、(4)式に示すようにエントロピー率e=1/2を取得する。
Figure 0006142727
なお、同様の操作をQ,Q,・・・についても計算し、エントロピー率eがセグメントサイズの対数を超えるホップ数hを求める。更に、そのホップ数を用いてキャッシュヒット率(1−1/h)やキャッシュミス率(1/h)を求めることができる。
ここで、図9は、ホップ数とエントロピー率との関係を示す図である。図9の例において縦軸はホップ数を示し、横軸はエントロピー率を示している。また、図9の例では、上述した図7に対応するアクセスシーケンスパターン(完全グラフ、ランダムグラフ、部分完全グラフ(クリーク)、サイクルグラフ)を示している。
図9の例に示すように、それぞれのアクセスシーケンスパターン(遷移行列)に対応させてディスクアクセスが発生するまでのホップ数を取得することができ、データアクセスを局所化する必要があるか否かを、例えば所定データ毎(例えば、データセット毎)に判断することができる。例えば、エントロピー率が3.1である場合、完全グラフに対応するホップ数は0.6、ランダムグラフに対応するホップ数は0.8、部分完全グラフに対応するホップ数は3.4、サイクルグラフに対応するホップ数は8.0となる。
図10は、本実施形態における指標と局所化の効果との関係を示す図である。図10の例では、上述した図7の例と同様のアクセスシーケンスパターンが存在する。図10(A)は、完全グラフのシーケンスパターンを示し、図10(B)は、ランダムグラフのシーケンスパターンを示し、図10(C)は、クリーク(部分完全グラフ)のサイクルを示し、図10(D)は、サイクルグラフを示している。
図10に示す例によれば、アクセスシーケンス毎の局所化の最大効果の指標であるキャッシュヒット率と、本実施形態のエントロピー・ベースによる指標とは各パターンで共に類似する。したがって、データアクセス分析装置12は、エントロピー・ベースによる指標を用いることで、実際にデータ再配置による局所化を行う前に、局所化に向いているデータか否かを事前に分析することができる。
<キャッシュヒット率を用いた推測について>
例えば、セグメントサイズをsとしたとき、このセグメントの特定のデータ(レコード)を予測するには、logsビットが必要となる。実際のエントロピー率eが、この数値程度に変化(増大)したとき、単一のセグメント内に保持しきれなくなる。このときのホップ数hを求める。
また、求めたホップ数hを超えて遷移すると、他のセグメントへの横断が起こると考えられる。セグメント横断は、hアクセス毎に起こるため、そのアクセス数をhとしたとき、「1−1/h」がキャッシュヒット率の推測値となる。なお、本実施形態では、これに限定されるものではなく、キャッシュミス率(1/h)を用いてもよい。
本実施形態では、上述した処理により、実際にデータの再配置を行う前に、その再配置による局所性の効果がどのくらいあるかが推測できるため、性能向上が確実に期待できるデータに対してのみデータ再配置処理を行うことができる。また、実際にデータ配置を行わず、ディスクのシーケンシャルアクセスのみで評価することができるため、高速に動作させることができる。
<データ管理装置13におけるデータ再配置の具体例>
次に、データ管理装置13におけるデータ再配置の具体例について説明する。なお、以下の説明では、セグメント管理庫22A及び関連性保管庫22Bに格納されるデータが、入出力管理部41に入力されたクライアントコンピュータ11からのデータ要求に応じてどのように変化するかについて説明する。なお、以下の説明において、データ要求Rqの一例であるRead(x,y)とは、例えばデータxを読みにいく要求と共に、データxとデータyとの間に関連性があることを入出力管理部41に通知することを意味する。
図11は、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。図11の状態では、データAを読み込む要求が入出力管理部41に対してなされ、更にその前にデータ要求がなかった場合を示している(Read(A,None))。
ここで、データ管理装置13に入力されるデータ要求Rqには、例えば同じ要求元が前回のデータ要求で要求した前回データを識別可能な情報が記述されているものとする。この前回データの情報は、例えばクライアントコンピュータ11が自ら把握してもよく、データ管理装置13側で要求元毎に把握することもできる。この場合、データ管理装置13は、例えば何れかのメモリ装置22やレジスタ等に要求元毎のデータ要求の履歴を保存しておく。
入出力管理部41は、セグメント管理庫22AからデータAを読み出して要求元に出力する。また、入出力管理部41は、前回データの情報を参照して関連性保管庫22Bを更新する。図11に示す状態では、前回データ値がNone、すなわち存在しない状態であるため、入出力管理部41は、関連性保管庫22Bを更新しない。
図12は、図11の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。図12では、図11と同じ要求元からデータBを読み込む要求がデータ管理装置13に対してなされた場合を示している。この場合、前回データはAである(Read(B,A))。
入出力管理部41は、セグメント管理庫22AからデータBを読み出して要求元に送信する。また、入出力管理部41は、前回データを参照して関連性保管庫22Bを更新する。図12に示す状態では、前回データがAであるため、入出力管理部41は関連性保管庫22Bにおける今回データ、すなわちBの欄に、データAを示す値を一回分書き込む。
なお、関連性保管庫22Bが更新されると、解析要否判断部42が、関連性解析部43による関連性解析が必要か否かを判断する。図12に示す状態では、今回データBと前回データAが同じセグメントS1に属するため、解析要否判断部42は関連性解析が不要と判断する。
図13は、図12の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。図13の例では、データCを読み込む要求がデータ管理装置13に対してなされた場合を示している。この場合、前回データはBである(Read(C,B))。
入出力管理部41は、セグメント管理庫22AからデータCを読み出して要求元に送信する。また、入出力管理部41は、前回データを参照して関連性保管庫22Bを更新する。図13に示す状態では、前回データがBであるため、入出力管理部41は関連性保管庫22Bにおける今回データ、すなわちCの欄に、データBを示す値を一回分書き込む。
なお、関連性保管庫22Bが更新されると、解析要否判断部42が、関連性解析部43による関連性解析が必要か否かを判断する。図13に示す状態では、今回データCと前回データBとが異なるセグメントに属するため、解析要否判断部42は関連性解析が必要と判断する。関連性解析部43は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。
なお、本実施形態では、上述したデータアクセス分析装置12により得られる分析結果に基づいて、再配置による局所化に向いているデータセットであるか否かが判断できる。したがって、本実施形態では、データアクセス分析装置12が、このデータセットに対して局所性の効果があると判断された場合にのみ関連性解析部43における処理を行う。これにより、無駄な処理を防止して適切なディスクの再配置処理を実現することができる。
関連性解析部43は、例えばグラフ分割の手法を用いてデータ間の関連性を解析する。図14は、関連性解析部の処理の一例を示すフローチャートである。図14の例において、関連性解析部43は、今回データの属するセグメントと、前回データの属するセグメントの双方に含まれるデータを全て読み込む(S21)。
次に、関連性解析部43は、読み込んだデータから2つのデータi、jを取り出してS22〜S24の処理を行うことを、全てのi,jの組み合わせ(i≠j)について行う。図14において、mはS21の処理において読み込んだデータの種類の数である。
関連性解析部43は、関連性保管庫22Bに格納されたデータi欄の履歴におけるデータjの数Cij*をカウントする(S22)。
次に、関連性解析部43は、関連性保管庫22Bに格納されたデータj欄の履歴におけるデータiの数Cji*をカウントする(S23)。
次に、関連性解析部43は、Cij*とCji*を加算してデータiとjの関連性を示す指標値Cijを算出する(S24)。
関連性解析部43は、全てのi,jについてS22〜S24の処理を行うと、セグメント内の最大データ数(例えば、3個)を満たす範囲内で、データ数mを分割する全てのセグメントパターンを設定する(S25)。図13の例ではデータの個数が4個であり、最大データ数が3個であるとすると、セグメントパターンは、3:1で分けた場合には4通り、2:2で分けた場合には6通りであるため、全部で10通りのセグメントパターンが設定される。
次に、関連性解析部43は、各セグメントパターンを採用した場合に、異なるセグメントに属することになったデータ同士の指標値Cijを全て抽出して合計する(S26)。そして、関連性解析部43は、異なるセグメントに属することになるデータの組についての指標値Cijの合計が最も小さいセグメントパターンを選択し、新たなセグメントを決定する(S27)。
図15は、図13に示す状態において関連性解析部がセグメントを変更する前後のセグメント配置を示す図である。図15の例において、矢印の元側が変更前のセグメントを示し、矢印の先側が変更後のセグメントを示す。また、図15の例において、データA、B等を結ぶ実線の数が指標値Cijに相当し、破線がセグメントの境界線を示している。上述した「異なるセグメントに属することになるデータの組についての指標値Cijの合計」は、指標値Cijを仮想的な結合線の数とみなしたときに、切断される結合線の数に相当する。図15の場合、セグメント{A、B、C}とセグメント{D}の境界線によって切断される実線の数はゼロであり、このセグメント分けにおける指標値Cijの合計はゼロであることが分かる。
関連性解析部43が新たなセグメントを決定すると、セグメント配置部44が、データとセグメントの対応付けを変更する。図16は、セグメント配置部により変更された後のデータとセグメントの対応付けを示す図である。
図17は、図16の状態に続き、データ管理装置に対してデータ要求Rqが複数回なされた状態を示す図である。図17に示すデータ要求Rqは、何れも今回データと前回データとが同じセグメントに属するものであるため、関連性保管庫22Bが更新されるのみであり、関連性解析及びデータとセグメントの対応付けの変更は行われない。
図18は、図17の状態に続き、データ管理装置に対してデータ要求Rqがなされた状態を示す図である。この状態において解析要否判断部42は、今回データDと前回データAとが異なるセグメントに属するため、関連性解析が必要と判断する。図18の状態では、既にデータA、B、Cの間で関連性保管庫に複数の履歴が蓄積されている。したがって、A−B間、A−C間、B−C間の指標値Cijは、比較的大きく算出され、A−D間の指標値Cijは、比較的小さく算出されることになる。この結果、関連性解析部43は、データとセグメントの対応付けを変更しない。図19は、図18の状態において関連性解析部がセグメントを決定する前後のセグメント配置を示す図である。
上述したように本実施形態によれば、データアクセスに対し、データが局所性に向いているかを事前に分析することができる。したがって、個別のデータアクセス履歴を用いた関連性計算を行うことなく、データアクセスが局所化されているかを判定し、局所化状況に応じたディスクへのデータ配置を行うことができる。
以上、実施例について詳述したが、特定の実施例に限定されるものではなく、特許請求の範囲に記載された範囲内において、種々の変形及び変更が可能である。また、上述した各実施例の一部又は全部を組み合わせることも可能である。
なお、以上の実施例に関し、更に以下の付記を開示する。
(付記1)
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させるためのデータアクセス分析プログラム。
(付記2)
前記相互関連度は、
前記データアクセスに対し、N階(Nは自然数)のマルコフ連鎖としたときのエントロピー率を、N=1から複数のNに対して求め、
前記エントロピー率のNに対する変化状況に基づいて推定することを特徴とする付記1に記載のデータアクセス分析プログラム。
(付記3)
前記相互関連度に基づいて、前記データアクセスによるデータのディスク配置を制御させることを特徴とする付記1又は2に記載のデータアクセス分析プログラム。
(付記4)
前記エントロピー率と予め設定されたアクセスパターンとに基づいて取得されたキャッシュヒット率又はキャッシュミス率に対応させてデータの局所化の効果を分析することを特徴とする付記1乃至3のうち何れか1項に記載のデータアクセス分析プログラム。
(付記5)
前記キャッシュヒット率又は前記キャッシュミス率は、前記エントロピー率が予め設定されたセグメントサイズの対数を超える前記遷移回数に基づいて算出されることを特徴とする付記4に記載のデータアクセス分析プログラム。
(付記6)
データアクセス分析装置が、
データアクセスの履歴情報から遷移行列を求め、
前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
前記相互関連度に応じてディスクへのデータ配置を行うことを特徴とするデータアクセス分析方法。
(付記7)
データアクセスの履歴情報から遷移行列を生成する遷移行列生成部と、
前記遷移行列生成部から得られる前記遷移行列を用いて、遷移回数毎のエントロピー率を算出するエントロピー率算出部と、
前記エントロピー率算出部により算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じて局所性を解析する局所性解析部とを有することを特徴とするデータアクセス分析装置。
10 ディスク配置システム
11 クライアントコンピュータ
12 データアクセス分析装置
13 データ管理装置
14 通信ネットワーク
21,56 CPU
22 メモリ装置
23 記憶装置
31 関連性集計部
32 遷移行列生成部
33 行列反復処理部
34 エントロピー率算出部
35 局所性解析部
41 入出力管理部
42 解析要否判断部
43 関連性解析部
44 セグメント配置部
51 入力装置
52 出力装置
53 ドライブ装置
54 補助記憶装置
55 主記憶装置
57 ネットワーク接続装置
58 記録媒体

Claims (6)

  1. データアクセスの履歴情報から遷移行列を求め、
    前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
    前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
    前記相互関連度に応じてディスクへのデータ配置を行う、処理をコンピュータに実行させるためのデータアクセス分析プログラム。
  2. 前記相互関連度は、
    前記データアクセスに対し、N階(Nは自然数)のマルコフ連鎖としたときのエントロピー率を、N=1から複数のNに対して求め、
    前記エントロピー率のNに対する変化状況に基づいて推定することを特徴とする請求項1に記載のデータアクセス分析プログラム。
  3. 前記相互関連度に基づいて、前記データアクセスによるデータのディスク配置を制御させることを特徴とする請求項1又は2に記載のデータアクセス分析プログラム。
  4. 前記エントロピー率と予め設定されたアクセスパターンとに基づいて取得されたキャッシュヒット率又はキャッシュミス率に対応させてデータの局所化の効果を分析することを特徴とする請求項1乃至3のうち何れか1項に記載のデータアクセス分析プログラム。
  5. データアクセス分析装置が、
    データアクセスの履歴情報から遷移行列を求め、
    前記遷移行列を用いて、遷移回数毎のエントロピー率を算出し、
    前記算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、
    前記相互関連度に応じてディスクへのデータ配置を行うことを特徴とするデータアクセス分析方法。
  6. データアクセスの履歴情報から遷移行列を生成する遷移行列生成部と、
    前記遷移行列生成部から得られる前記遷移行列を用いて、遷移回数毎のエントロピー率を算出するエントロピー率算出部と、
    前記エントロピー率算出部により算出された個々のエントロピー率に基づき、前記データアクセスの相互関連度を判定し、前記相互関連度に応じて局所性を解析する局所性解析部とを有することを特徴とするデータアクセス分析装置。
JP2013167854A 2013-08-12 2013-08-12 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置 Active JP6142727B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013167854A JP6142727B2 (ja) 2013-08-12 2013-08-12 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置
US14/176,238 US9383944B2 (en) 2013-08-12 2014-02-10 Data access analysis using entropy rate

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013167854A JP6142727B2 (ja) 2013-08-12 2013-08-12 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置

Publications (2)

Publication Number Publication Date
JP2015036865A JP2015036865A (ja) 2015-02-23
JP6142727B2 true JP6142727B2 (ja) 2017-06-07

Family

ID=52449498

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013167854A Active JP6142727B2 (ja) 2013-08-12 2013-08-12 データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置

Country Status (2)

Country Link
US (1) US9383944B2 (ja)
JP (1) JP6142727B2 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9720792B2 (en) 2012-08-28 2017-08-01 Synopsys, Inc. Information theoretic caching for dynamic problem generation in constraint solving
US11468218B2 (en) * 2012-08-28 2022-10-11 Synopsys, Inc. Information theoretic subgraph caching
CN104133836B (zh) * 2014-06-24 2015-09-09 腾讯科技(深圳)有限公司 一种实现变更数据检测的方法及装置
WO2016147279A1 (ja) * 2015-03-13 2016-09-22 富士通株式会社 データ管理制御プログラム、データ管理制御装置、及びデータ管理制御方法
WO2016157417A1 (ja) * 2015-03-31 2016-10-06 富士通株式会社 データ配置プログラム、データ配置装置、及びデータ配置方法
US10599174B2 (en) 2015-08-05 2020-03-24 Lutron Technology Company Llc Load control system responsive to the location of an occupant and/or mobile device
US10678578B2 (en) * 2016-06-30 2020-06-09 Microsoft Technology Licensing, Llc Systems and methods for live migration of a virtual machine based on heat map and access pattern
US10474588B1 (en) * 2017-04-05 2019-11-12 EMC IP Holding Company LLC Method and system for memory-based data caching
US20190346897A1 (en) * 2018-05-13 2019-11-14 Sean Joseph Rostami Introspective Power Method
JP7302178B2 (ja) 2019-01-22 2023-07-04 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、及び、ストレージシステム
JP7427896B2 (ja) * 2019-09-27 2024-02-06 日本電気株式会社 データベースの分割システム、データベースの分割方法、及びデータベースの分割プログラム
DE102021209321A1 (de) * 2021-08-25 2023-03-02 Robert Bosch Gesellschaft mit beschränkter Haftung Verfahren zum Betreiben eines Cachespeichers, Cachespeicher und Recheneinheit
CN113761034B (zh) * 2021-09-15 2022-06-17 深圳信息职业技术学院 一种数据处理方法及其装置

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07319902A (ja) 1994-05-24 1995-12-08 Hitachi Ltd 文書一覧表示方法
JPH0887432A (ja) * 1994-09-16 1996-04-02 Toshiba Corp 情報記録再生装置のデータ配置方法
US6088718A (en) * 1998-01-15 2000-07-11 Microsoft Corporation Methods and apparatus for using resource transition probability models for pre-fetching resources
US6678805B1 (en) * 2000-05-25 2004-01-13 Microsoft Corporation Structure organization for improved cache performance
JP4412676B2 (ja) * 2007-05-30 2010-02-10 インターナショナル・ビジネス・マシーンズ・コーポレーション メインメモリに書き込むデータをキャッシュする技術
US8032714B2 (en) * 2007-09-28 2011-10-04 Aggregate Knowledge Inc. Methods and systems for caching data using behavioral event correlations
WO2010025362A2 (en) * 2008-08-28 2010-03-04 Massachusetts Institute Of Technology Random linear network coding for time division duplexing
WO2012011153A1 (en) * 2010-07-22 2012-01-26 Hitachi, Ltd. Data storage apparatus and data storage control method for the same
JP2013114538A (ja) 2011-11-30 2013-06-10 Toshiba Corp 情報処理装置、情報処理方法及び制御プログラム
GB2503266A (en) * 2012-06-21 2013-12-25 Ibm Sharing aggregated cache hit and miss data in a storage area network

Also Published As

Publication number Publication date
US20150046385A1 (en) 2015-02-12
US9383944B2 (en) 2016-07-05
JP2015036865A (ja) 2015-02-23

Similar Documents

Publication Publication Date Title
JP6142727B2 (ja) データアクセス分析プログラム、データアクセス分析方法、及びデータアクセス分析装置
JP6725671B2 (ja) 拡張されたシステム性能のための適応可能な値範囲のプロファイリング
US20170372230A1 (en) Machine learning management method and machine learning management apparatus
US11262717B2 (en) Optimization device and control method of optimization device based on temperature statistical information
JP5673152B2 (ja) 検索装置およびプログラム
JP5229731B2 (ja) 更新頻度に基づくキャッシュ機構
Liu et al. A global optimization algorithm for simulation-based problems via the extended DIRECT scheme
US8229968B2 (en) Data caching for distributed execution computing
TWI433035B (zh) 按比例調整指令間隔以識別用於代表性指令追蹤的收集點
WO2017052539A1 (en) Graph database query classification
JP2016058082A (ja) 公開データ源を選択する方法およびシステム
Liao et al. Prefetching on storage servers through mining access patterns on blocks
CN104424361A (zh) 自动定义热存储和大工作负载
Yang et al. {CacheSack}: Admission Optimization for Google Datacenter Flash Caches
JP2017027296A (ja) 性能評価方法、性能評価プログラム及び情報処理装置
US20140310261A1 (en) Database index profile based weights for cost computation
CN110162272B (zh) 一种内存计算缓存管理方法及装置
WO2013114911A1 (ja) リスク評価システム、リスク評価方法、及びプログラム
Yang et al. SGDP: A stream-graph neural network based data prefetcher
Yang et al. CacheSack: Theory and experience of Google’s admission optimization for datacenter flash caches
Chang et al. Sampling-based phase classification and prediction for multi-threaded program execution on multi-core architectures
JP6005583B2 (ja) 検索装置、検索方法および検索プログラム
US20150134919A1 (en) Information processing apparatus and data access method
Niu et al. FlashWalker: An In-Storage Accelerator for Graph Random Walks
Qvick Parallel construction of variable length Markov models for DNA sequences

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160510

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170322

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170424

R150 Certificate of patent or registration of utility model

Ref document number: 6142727

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150