JP7476715B2 - 情報処理装置及び重複率見積もりプログラム - Google Patents

情報処理装置及び重複率見積もりプログラム Download PDF

Info

Publication number
JP7476715B2
JP7476715B2 JP2020134377A JP2020134377A JP7476715B2 JP 7476715 B2 JP7476715 B2 JP 7476715B2 JP 2020134377 A JP2020134377 A JP 2020134377A JP 2020134377 A JP2020134377 A JP 2020134377A JP 7476715 B2 JP7476715 B2 JP 7476715B2
Authority
JP
Japan
Prior art keywords
data
group
duplication
rate
sample data
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
JP2020134377A
Other languages
English (en)
Other versions
JP2022030385A (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 JP2020134377A priority Critical patent/JP7476715B2/ja
Priority to EP21182374.5A priority patent/EP3951583A1/en
Priority to US17/370,003 priority patent/US20220043592A1/en
Publication of JP2022030385A publication Critical patent/JP2022030385A/ja
Application granted granted Critical
Publication of JP7476715B2 publication Critical patent/JP7476715B2/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/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • G06F3/0641De-duplication techniques
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0605Improving or facilitating administration, e.g. storage management by facilitating the interaction with a user or administrator
    • 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/0604Improving or facilitating administration, e.g. storage management
    • 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/0608Saving storage space on 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/0638Organizing or formatting or addressing of data
    • G06F3/0644Management of space entities, e.g. partitions, extents, pools
    • 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]

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)

Description

本発明は、情報処理装置及び重複率見積もりプログラムに関する。
クラウドストレージなどの有料なストレージを利用する場合、利用コストは、データのサイズに基づいて決定される。このため、利用コストは、重複排除によるデータの重複排除率に依存する。重複排除率が大きければ、重複排除によりデータのサイズを小さくすることができ、利用コストを小さくすることができる。例えば、1PB(Peta Byte)のデータの場合、削減率が10%違うと、100TB(Tera Byte)のストレージが不要になる。このため、有料なストレージを利用する場合には、重複排除率の見積もりが重要となる。
なお、従来技術として、統合後に必要となる物理領域の大きさをユーザが予め見積もるために、複数のプールを統合した場合の重複除去率を算出する情報処理装置がある。この情報処理装置は重複数算出部と重複除去率算出部とを有する。重複数算出部は、2つのプールの単位データの重複数と2つのプールのリファレンスカウントの総数を算出する。重複除去率算出部は、重複数、リファレンスカウントの総数を用いて重複除去率を算出する。
また、従来技術として、データ削減効果の低下を軽減することと重複排除のパフォーマンスを向上することの両方を実現するストレージシステムがある。このストレージシステムは、重複排除処理において、データを複数のチャンクデータに分割し、平均してチャンクデータN個につき1個のチャンクデータの選択を意味するサンプリング周期にしたがい、複数のチャンクデータから1以上のチャンクデータを選択する。そして、このストレージシステムは、選択された1以上のチャンクデータである1以上の特徴チャンクデータの各々について、ハッシュ値のようなフィンガープリントを算出しその特徴チャンクデータを含むデータが重複か否かを判定する。また、ストレージシステムは、過去の重複排除処理の結果を基に、サンプリング周期を変更する。
特開2019-16293号公報 国際公開第2016/181479号
重複排除率を見積もるために、実際に重複排除を行うことが考えられる。しかしながら、実際に重複排除を行うと時間がかかるという問題がある。例えば、1PBのデータを重複排除する場合、100MB(Mega Byte)/秒でデータを読み込むと、データの読み込みだけでも概算で1015/108秒=107秒=107/(60×60×24)日=105/(36×24)日すなわち100日以上かかる。
本発明は、1つの側面では、重複排除率を短時間で精度よく推定することを目的とする。
1つの態様では、情報処理装置は、管理部と分類部と第1計算部と第2計算部と合成部とを有する。前記管理部は、見積もり対象データから一部のデータを複数のサンプルデータとして抽出し、抽出した複数のサンプルデータの重複数を管理する。前記分類部は、前記管理部により管理される重複数に基づいて前記複数のサンプルデータを重複数が所定数以下の第1グループと重複数が所定数より多い第2グループに分類する。前記第1計算部は、前記第1グループに分類されたサンプルデータについて第1重複排除率を計算する。前記第2計算部は、前記第2グループに分類されたサンプルデータについて第2重複排除率を計算する。前記合成部は、前記第1重複排除率と前記第2重複排除率に基づいて前記見積もり対象データの重複排除率を計算する。
1つの側面では、本発明は、重複排除率を短時間で精度よく推定することができる。
図1は、m多重モデルに基づく重複排除率の推定を説明するための第1の図である。 図2は、m多重モデルに基づく重複排除率の推定を説明するための第2の図である。 図3は、U&Zモデルを説明するための図である。 図4は、複雑なモデルの一例を示す図である。 図5は、n=1,2,・・・,Mについて期待値E(n,x)を示す図である。 図6は、実施例に係る重複率見積もり装置による重複排除率の見積もり方法を説明するための図である。 図7は、実施例に係る重複率見積もり装置の機能構成を示す図である。 図8は、グローバルチャンクテーブル及び少数チャンクテーブルにそれぞれ含まれるレコードの一例を示す図である。 図9Aは、重複率見積もり装置による処理のフローを示す第1のフローチャートである。 図9Bは、重複率見積もり装置による処理のフローを示す第2のフローチャートである。 図9Cは、重複率見積もり装置による処理のフローを示す第3のフローチャートである。 図10は、実施例に係る重複率見積もりプログラムを実行するコンピュータのハードウェア構成を示す図である。
以下に、本願の開示する情報処理装置及び重複率見積もりプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
まず、単純なモデルに基づいて重複排除率を推定した場合の精度について図1~図3を用いて説明する。図1及び図2は、m多重モデルに基づく重複排除率の推定を説明するための図である。ここで、m多重モデルとは、図1(a)に示すように、重複排除前の元データにm個の同じデータAが含まれるモデルである。m多重モデルでは、重複排除によりm個のデータは1個になる。重複排除率r=1/mである。
元データのうちスキャンされたデータの割合をxとする。ここで、スキャンとは、重複排除率を推定するために元データからデータを読み出すことである。スキャンはチャンク単位で行われる。チャンクの大きさは可変である。xは、例えば0.01である。各チャンクについてみると、スキャンされている確率はxである。
各チャンクは、図1(b)に示すように、スキャンされていないので重複検出されないか、スキャンされているが同一データがスキャンされていないので重複検出されないか、又は、同一データがスキャンされているので重複検出される、のいずれかである。
チャンクがスキャンされず重複検出されない確率は、スキャンされない確率が1-xであるので、(1-x)^mである。「^」は、べき乗演算を表す。チャンクがスキャンされて同一データが重複検出されない確率は、m・x・(1-x)^(m-1)である。「・」は乗算を表す。チャンクがスキャンされて同一データが重複検出される確率は、1から上記2つの確率を引いて、1-(1-x)^m-m・x・(1-x)^(m-1)である。
実際のスキャンにおいて重複検出された率をDとすると、
1-(1-x)^m-m・x・(1-x)^(m-1)=D ・・・(1)
である。式(1)において、Dに実測値を代入し、xに0.01などの固定値を代入すると、式(1)はmに関する方程式であり、この方程式を解くことでmを計算することができる。
式(1)の左辺はmについての単調関数なので、式(1)の方程式を解くことなく、mをパラメータとして近似探索することで、mを計算することができる。また、r=1/mであるので、mからrを計算することができる。図2は、x=0.01の場合のDとrの関係を示すグラフである。図2から、D=0.0001のとき、重複排除率rは0.5である。
図3は、U&Zモデルを説明するための図である。図3に示すように、U&Zモデルは、元データのうちユニークな割合がu(0≦u≦1)であり、残りの割合(1-u)のデータが全く同一(例えば全て0)であるモデルである。図3では、Uはユニークデータの集合であり、Zは同一データの集合である。元データのモデルがU&Zモデルであると、同一データは重複排除され、重複排除率r=uである。また、ピックアップされたデータがZに含まれる確率=重複検出される確率D=1-uである。したがって、重複排除率r=1-Dであり、D=0.0001のとき、重複排除率r=0.9999である。
このように、元データのモデルが異なると、重複排除率の予測値は大きく異なる。すなわち、元データのモデルを単純なモデルとし、部分スキャンによって重複排除率を予測すると、予測値の精度が悪い。そこで、元データのモデルを複雑にして予測値の精度を向上することが考えられる。
図4は、複雑なモデルの一例を示す図である。図4に示すように、ユニークデータのデータ量をD(1)、2多重データのデータ量をD(2)、・・・、最多多重データのデータ量をD(M)とすると、元データのデータ量はΣD(m)(m=1..M)である。ここで、「1..M」は「1からMまで」を表す。元データから重複排除が行われた後のデータ量はΣ(1/m)D(m)(m=1..M)である。したがって、部分スキャンを行いながら重複度ごとのデータ量D(m)(m=1..M)を予測することで、重複排除率rを予測することができる。r={Σ(1/m)D(m)}/{ΣD(m)}である。なお、このrの式では、(m=1..M)は省略されている。
データ量D(m)(m=1..M)は以下のように予測される。重複度mのデータが割合xの部分スキャンで、n多重に重複検出される確率はC(m,n)・x^n・(1-x)^(m-n)である。ここで、C(m,n)は、m!/{(m-n)!n!}である。
したがって、割合xの部分スキャンで、n多重検出されるデータ量の期待値E(n,x)は、E(n,x)=Σ_{m=n..M}D(m)C(m,n)・x^n・(1-x)^(m-n)である。ここで、Σ_{m=n..M}は、mをnからNまで変化させた和を表す。図5は、n=1,2,・・・,Mについて期待値E(n,x)を示す図である。図5に示すように、式(2-1)~(2-M)は、変数D(m)(m=1..M)についての連立一次方程式であり、この連立方程式を解くことにより重複排除率rを計算することができる。
式(2-1)~(2-M)において、C(m,n)については正規曲線近似を行い、xや(1-x)のべき乗計算については対数を取ってから計算すれば、各項の計算は、m、nによらず、3回のexp計算、10回程度の四則演算で可能である。また、この連立方程式は、係数行列が三角行列なので、比較的容易に解くことができる。
しかしながら、例えば1PBの総データを平均32KB(Kiro Byte)のチャンク長で分割する重複排除の場合、Mの最大値は、1PB/32KB=32Gとなる。したがって、式(2-1)~(2-M)の連立方程式を解くためには、32G×32Gの超巨大なサイズの逆行列の計算が必要となり、一般的なサーバーで計算することはできない。
このように、元データのモデルを複雑にすると重複排除率rを高精度で計算することができるが、計算コストが大きくなる。そこで、実施例に係る重複率見積もり装置は、スキャンで検出されたチャンクを、「多数回重複するチャンク」と「少数回しか重複しないチャンク」に分類し、それぞれのグループで異なる見積もり手法を用いる。
式(2-1)~(2-M)の連立方程式を用いた重複排除率の見積もりを困難にしているのは、多数回重複する一部のデータである。数回しか重複しないものは、全体の期待値計算の誤差に寄与する割合は相対的に少ない。mが大きいほど係数が大きく、mは多数のnに関与する。そこで、実施例に係る重複率見積もり装置は、全データのうち割合xでスキャンして各チャンクの重複回数をカウントし、スキャンしたチャンク全体を重複回数がN以下のグループとN+1以上のグループに分ける。
図6は、実施例に係る重複率見積もり装置による重複排除率の見積もり方法を説明するための図である。図6では、一例としてN=3である。図6に示すように、実施例に係る重複率見積もり装置は、スキャンしたチャンク全体を重複回数が4以上の多数チャンクのグループと重複回数が3以下の少数チャンクのグループに分ける。
そして、実施例に係る重複率見積もり装置は、少数チャンクのグループについては、式(2-1)~(2-M)の連立方程式を解いて重複排除率を見積もり、多数チャンクのグループについては、他の手法を用いて重複排除率を見積もる。実施例に係る重複率見積もり装置は、多数チャンクのグループについては、例えば、グループ内のチャンクの種類数とグループ内のチャンクの総数の比を重複排除率とする。そして、実施例に係る重複率見積もり装置は、2つのグループの見積もり結果を合算することで、全体の重複排除率を見積もる。
このように、実施例に係る重複率見積もり装置は、少数チャンクのグループについてだけ、式(2-1)~(2-M)の連立方程式を解いて重複排除率を見積もるので、Mを小さくすることができ、計算コストを小さくすることができる。
次に、実施例に係る重複率見積もり装置の機能構成について説明する。図7は、実施例に係る重複率見積もり装置の機能構成を示す図である。図7に示すように、実施例に係る重複率見積もり装置1は、ファイル入出力部11と、見積もり部12と、結果出力部13とを有する。
ファイル入出力部11は、見積もり対象データから割合xのデータを取得する。ファイル入出力部11は、割合xのデータを複数のチャンクとして取得する。ファイル入出力部11は、例えばローカルディスクに格納されたファイルからチャンクを読み込む。ファイル入出力部11は、NFS(Network File System)、SMB(Server Message Block)などのNAS(Network Attached Storage)インタフェースを介してチャンクを読み込んでもよい。
見積もり部12は、ファイル入出力部11により読み込まれた複数のチャンクを用いて見積もり対象データの重複排除率を計算する。
結果出力部13は、見積もり部12により計算された重複排除率をディスプレイ2に表示する。結果出力部13は、重複排除率をファイルに書き込んでもよい。
見積もり部12は、記憶部21と、重複判定部22と、重複数管理部23と、チャンク管理部24と、計算部25とを有する。
記憶部21は、グローバルチャンクテーブル31と少数チャンクテーブル32を用いてチャンクに関する情報を記憶する。グローバルチャンクテーブル31は、チャンクの重複数の管理に用いられるテーブルである。少数チャンクテーブル32は、少数チャンクのグループに含まれるチャンクの種類の数の管理に用いられるテーブルである。
図8は、グローバルチャンクテーブル31及び少数チャンクテーブル32にそれぞれ含まれるレコードの一例を示す図である。図8(a)はグローバルチャンクテーブル31に含まれるレコードを示し、図8(b)は少数チャンクテーブル32に含まれるレコードを示す。
図8(a)に示すように、グローバルチャンクテーブル31に含まれるレコードには、ハッシュ値と重複数が含まれる。ハッシュ値は、チャンクからハッシュ関数を用いて計算される値である。重複数は、ハッシュ値に対応するチャンクの重複数である。グローバルチャンクテーブル31では、ハッシュ値がキーである。
図8(b)に示すように、少数チャンクテーブル32に含まれるレコードには、重複数とハッシュ値の種類数が含まれる。重複数は、少数チャンクテーブル32に含まれるチャンクの重複数である。ハッシュ値の種類数は、重複する数が重複数であるハッシュ値(チャンク)の種類の数である。
図7に戻って、重複判定部22は、ファイル入出力部11により読み込まれたチャンクのハッシュ値を計算し、計算したハッシュ値がグローバルチャンクテーブル31に登録されているか否かを判定することで、チャンクが重複するか否かを判定する。
重複数管理部23は、グローバルチャンクテーブル31を用いてチャンクごとの重複数を管理する。重複数管理部23は、計算したハッシュ値がグローバルチャンクテーブル31に登録されていると重複判定部22により判定された場合には、ハッシュ値に対応する重複数に1を加える。一方、計算したハッシュ値がグローバルチャンクテーブル31に登録されていないと重複判定部22により判定された場合には、ハッシュ値をグローバルチャンクテーブル31に登録し、対応する重複数を1とする。
チャンク管理部24は、重複数に基づいてチャンク全体を少数チャンクのグループと多数チャンクのグループに分け、チャンクの情報を管理する。チャンク管理部24は、グローバルチャンクテーブル31から1レコードずつ読み出して少数チャンクテーブル32を作成して管理する。また、チャンク管理部24は、多数グループに属するチャンクの総数、多数グループに属するチャンクの種類数を計算する。
計算部25は、チャンク管理部24が管理する情報に基づいて、見積もり対象データの重複排除率を計算する。計算部25は、第1計算部41と第2計算部42と合成部43とを有する。
第1計算部41は、少数チャンクのグループについて、重複度ごとのデータ量D(m)(m=1..N)を推定することで、重複排除率rを推定する。第1計算部41は、少数チャンクのグループについて、割合xの部分スキャンで、n多重検出されるデータ量の期待値E(n,x)を用いて、データ量D(m)(m=1..N)を推定する。
すなわち、第1計算部41は、少数チャンクのグループについて、式(2-1)~(2-M)の連立方程式を解いて重複排除率を計算する。第1計算部41は、少数チャンクテーブル32から1レコードずつ読み出して連立方程式を作成する。
第2計算部42は、多数チャンクのグループについて、グループ内のチャンクの種類数とグループ内のチャンクの総数の比を重複排除率として計算する。
合成部43は、第1計算部41により計算された重複排除率と第2計算部42により計算された重複排除率のチャンク数に基づく重み付き平均を計算することにより見積もり対象データの重複排除率を計算する。
次に、重複率見積もり装置1による処理のフローについて図9A~図9Cを用いて説明する。図9A~図9Cは、重複率見積もり装置1による処理のフローを示すフローチャートである。図9Aに示すように、重複率見積もり装置1は、見積もり対象データの総量Aを取得し(ステップS1)、スキャン量の割合xを定義する(ステップS2)。なお、重複率見積もり装置1は、ユーザがキーボードやマウスを用いて入力した値をxとして受け付けてもよい。
そして、重複率見積もり装置1は、グローバルチャンクテーブル31を初期化する(ステップS3)。すなわち、重複率見積もり装置1は、グローバルチャンクテーブル31をレコードなしの状態にする。そして、重複率見積もり装置1は、見積もり対象データからチャンク(サンプルデータ)をランダムサンプリングする(ステップS4)。
そして、重複率見積もり装置1は、チャンクをハッシュ化し(ステップS5)、ハッシュ化した値がグローバルチャンクテーブル31に登録済のハッシュ値か否かを判定する(ステップS6)。そして、ハッシュ化した値がグローバルチャンクテーブル31に登録済のハッシュ値である場合には、重複率見積もり装置1は、登録済のハッシュ値に対応するレコードの重複数をインクリメント(1増加)する(ステップS7)。一方、ハッシュ化した値がグローバルチャンクテーブル31に登録済のハッシュ値でない場合には、重複率見積もり装置1は、ハッシュ化した値を含むレコードをグローバルチャンクテーブル31に新規作成する(ステップS8)。その際、重複率見積もり装置1は、作成したレコードの重複数を1とする。
そして、重複率見積もり装置1は、処理したチャンクの合計サイズがA・x未満か否かを判定し(ステップS9)、A・x未満である場合には、ステップS4に戻る。一方、処理したチャンクの合計サイズがA・x未満でない場合には、重複率見積もり装置1は、図9Bに示すように、少数チャンクテーブル32を初期化する(ステップS10)。具体的には、重複率見積もり装置1は、重複数1..NのN個のレコードを作成し、各レコードのハッシュ値の種類数を0初期化する。
そして、重複率見積もり装置1は、多数チャンクの総数major_chunknumを0で初期化し(ステップS11)、多数チャンクの種類数major_entnumを0で初期化する(ステップS12)。そして、重複率見積もり装置1は、グローバルチャンクテーブル31から1レコード読み出し(ステップS13)、重複数がN以下か否かを判定する(ステップS14)。
そして、重複数がN以下でない場合には、重複率見積もり装置1は、major_chunknumに重複数を加算し(ステップS15)、major_entnumをインクリメントする(ステップS16)。一方、重複数がN以下である場合には、重複率見積もり装置1は、少数チャンクテーブル32のキーが重複数に一致するレコードのハッシュ値の種類数をインクリメントする(ステップS17)。
そして、重複率見積もり装置1は、グローバルチャンクテーブル31に読み出していないレコードが残っているか否かを判定し(ステップS18)、残っている場合には、ステップS13に戻る。一方、残っていない場合には、重複率見積もり装置1は、図9Cに示すように、見積もり対象データから生成される総チャンク数total_chunknumをA/平均チャンクサイズで計算する(ステップS19)。
そして、重複率見積もり装置1は、多数チャンクが全体に占める割合major_ratioをmajor_chunknum/total_chunknumで計算し(ステップS20)、少数チャンクが全体に占める割合minor_ratioを1-major_ratioで計算する(ステップS21)。そして、重複率見積もり装置1は、多数チャンクの重複排除率major_rをmajor_entnum/major_chunknumで計算する(ステップS22)。
そして、重複率見積もり装置1は、少数チャンクテーブル32からレコードを1つ読み出し(ステップS23)、読み出したレコードの重複数nをもとに、E(n,x)にn*ハッシュの種類数を代入する(ステップS24)。ここで、「*」は乗算を表す。そして、重複率見積もり装置1は、少数チャンクテーブル32に読み出していないレコードが残っているか否かを判定し(ステップS25)、残っている場合には、ステップS23に戻る。
一方、少数チャンクテーブル32に読み出していないレコードが残っていない場合には、重複率見積もり装置1は、E(n,x)=Σ_{m=n..M}D(m)C(m,n)・x^n・(1-x)^(m-n)をD(m)について解く(ステップS26)。そして、重複率見積もり装置1は、少数チャンクの重複排除率minor_rをminor_r={Σ(1/m)・D(m)}/{ΣD(m)}で計算する(ステップS27)。
そして、重複率見積もり装置1は、見積もり対象データ全体に対する重複排除率rをr=major_ratio*major_r+minor_ratio*minor_rで計算する(ステップS28)。そして、重複率見積もり装置1は、rを出力する(ステップS29)。
このように、重複率見積もり装置1は、多数チャンクのグループと少数チャンクのグループに分けて重複排除率を計算するので、計算コストを抑えることができる。
上述してきたように、実施例では、ファイル入出力部11が、見積もり対象データから割合xのデータを複数のチャンクとして取得する。そして、重複判定部22が、ファイル入出力部11により読み込まれたチャンクのハッシュ値を計算し、計算したハッシュ値が重複するか否かを判定する。そして、重複数管理部23が、重複判定部22の判定結果に基づいて、チャンクごとの重複数を管理する。そして、チャンク管理部24が、重複数に基づいてチャンク全体を少数チャンクのグループと多数チャンクのグループに分ける。そして、第1計算部41が、少数チャンクのグループについて、重複排除率を計算し、第2計算部42が、多数チャンクのグループについて重複排除率を計算する。そして、合成部43が、第1計算部41により計算された重複排除率と第2計算部42により計算された重複排除率に基づいて見積もり対象データの重複排除率を計算する。したがって、重複率見積もり装置1は、重複排除率を短時間で精度よく推定することができる。
また、実施例では、第1計算部41は、少数チャンクのグループについて、D(1)~D(N)を推定し、推定したD(1)~D(N)に基づいて重複排除率を計算するので、少数チャンクのグループの重複排除率を高精度で推定することができる。
また、実施例では、第1計算部41は、割合xの部分スキャンでn多重検出されるデータ量の期待値E(n,x)を用いてD(1)~D(N)を推定するので、D(1)~D(N)を高精度で推定することができる。
すなわち、実施例では、第1計算部41は、少数チャンクのグループについて、式(2-1)~(2-M)の連立方程式を解いて重複排除率を計算するので、少数チャンクのグループの重複排除率を高精度で推定することができる。
また、実施例では、第2計算部42は、多数チャンクのグループについて、グループ内のチャンクの種類数とグループ内のチャンクの総数に基づいて重複排除率を計算するので、多数チャンクのグループの重複排除率を推定することができる。
なお、実施例では、重複率見積もり装置1について説明したが、重複率見積もり装置1が有する構成をソフトウェアによって実現することで、同様の機能を有する重複率見積もりプログラムを得ることができる。そこで、重複率見積もりプログラムを実行するコンピュータについて説明する。
図10は、実施例に係る重複率見積もりプログラムを実行するコンピュータのハードウェア構成を示す図である。図10に示すように、コンピュータ50は、メインメモリ51と、プロセッサの一例であるCPU(Central Processing Unit)52と、LAN(Local Area Network)インタフェース53と、HDD(Hard Disk Drive)54とを有する。また、コンピュータ50は、スーパーIO(Input Output)55と、DVI(Digital Visual Interface)56と、ODD(Optical Disk Drive)57とを有する。
メインメモリ51は、プログラムやプログラムの実行途中結果等を記憶するメモリである。CPU52は、メインメモリ51からプログラムを読み出して実行する中央処理装置である。CPU52は、メモリコントローラを有するチップセットを含む。
LANインタフェース53は、コンピュータ50をLAN経由で他のコンピュータに接続するためのインタフェースである。HDD54は、プログラムやデータを格納するディスク装置であり、スーパーIO55は、マウスやキーボード等の入力装置を接続するためのインタフェースである。DVI56は、液晶表示装置を接続するインタフェースであり、ODD57は、DVD、CD-Rの読み書きを行う装置である。
LANインタフェース53は、PCIエクスプレス(PCIe)によりCPU52に接続され、HDD54及びODD57は、SATA(Serial Advanced Technology Attachment)によりCPU52に接続される。スーパーIO55は、LPC(Low Pin Count)によりCPU52に接続される。
そして、コンピュータ50において実行される重複率見積もりプログラムは、コンピュータ50により読み出し可能な記録媒体の一例であるCD-Rに記憶され、ODD57によってCD-Rから読み出されてコンピュータ50にインストールされる。あるいは、重複率見積もりプログラムは、LANインタフェース53を介して接続された他のコンピュータシステムのデータベース等に記憶され、これらのデータベースから読み出されてコンピュータ50にインストールされる。そして、インストールされた重複率見積もりプログラムは、HDD54に記憶され、メインメモリ51に読み出されてCPU52によって実行される。
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
(付記1)見積もり対象データから一部のデータを複数のサンプルデータとして抽出し、抽出した複数のサンプルデータの重複数を管理する管理部と、
前記管理部により管理される重複数に基づいて前記複数のサンプルデータを重複数が所定数以下の第1グループと重複数が所定数より多い第2グループに分類する分類部と、
前記第1グループに分類されたサンプルデータについて第1重複排除率を計算する第1計算部と、
前記第2グループに分類されたサンプルデータについて第2重複排除率を計算する第2計算部と、
前記第1重複排除率と前記第2重複排除率に基づいて前記見積もり対象データの重複排除率を計算する合成部と
を有することを特徴とする情報処理装置。
(付記2)前記第1計算部は、前記第1グループに分類されたサンプルデータを用いて、1から前記所定数までの各重複度についてデータ量を推定し、各重複度について推定したデータ量に基づいて前記第1重複排除率を計算することを特徴とする付記1に記載の情報処理装置。
(付記3)前記第1計算部は、前記複数のサンプルデータの重複度ごとのデータ量の期待値に基づいて、1から前記所定数までの各重複度についてデータ量を推定することを特徴とする付記2に記載の情報処理装置。
(付記4)前記第1計算部は、前記期待値に関して各重複度についてのデータ量を変数とする連立方程式を作成し、該作成した連立方程式を解くことで1から前記所定数までの各重複度についてデータ量を推定することを特徴とする付記3に記載の情報処理装置。
(付記5)前記第2計算部は、前記第2グループに分類されたサンプルデータの総数及び種類に基づいて前記第2重複排除率を計算することを特徴とする付記1~4のいずれか1つに記載の情報処理装置。
(付記6)コンピュータに、
見積もり対象データから一部のデータを複数のサンプルデータとして抽出し、抽出した複数のサンプルデータの重複数を管理し、
管理する重複数に基づいて前記複数のサンプルデータを重複数が所定数以下の第1グループと重複数が所定数より多い第2グループに分類し、
前記第1グループに分類されたサンプルデータについて第1重複排除率を計算し、
前記第2グループに分類されたサンプルデータについて第2重複排除率を計算し、
前記第1重複排除率と前記第2重複排除率に基づいて前記見積もり対象データの重複排除率を計算する
処理を実行させることを特徴とする重複率見積もりプログラム。
(付記7)前記第1重複排除率を計算する処理は、前記第1グループに分類されたサンプルデータを用いて、1から前記所定数までの各重複度についてデータ量を推定し、各重複度について推定したデータ量に基づいて前記第1重複排除率を計算することを特徴とする付記6に記載の重複率見積もりプログラム。
(付記8)前記第1重複排除率を計算する処理は、前記複数のサンプルデータの重複度ごとのデータ量の期待値に基づいて、1から前記所定数までの各重複度についてデータ量を推定することを特徴とする付記7に記載の重複率見積もりプログラム。
(付記9)前記第1重複排除率を計算する処理は、前記期待値に関して各重複度についてのデータ量を変数とする連立方程式を作成し、該作成した連立方程式を解くことで1から前記所定数までの各重複度についてデータ量を推定することを特徴とする付記8に記載の重複率見積もりプログラム。
1 重複率見積もり装置
2 ディスプレイ
11 ファイル入出力部
12 見積もり部
13 結果出力部
21 記憶部
22 重複判定部
23 重複数管理部
24 チャンク管理部
25 計算部
31 グローバルチャンクテーブル
32 少数チャンクテーブル
41 第1計算部
42 第2計算部
43 合成部
50 コンピュータ
51 メインメモリ
52 CPU
53 LANインタフェース
54 HDD
55 スーパーIO
56 DVI
57 ODD

Claims (2)

  1. 見積もり対象データから一部のデータを複数のサンプルデータとして抽出し、抽出した複数のサンプルデータの重複数を管理する管理部と、
    前記管理部により管理される重複数に基づいて前記複数のサンプルデータを重複数が所定数以下の第1グループと重複数が所定数より多い第2グループに分類する分類部と、
    前記第1グループに分類されたサンプルデータを用いて、前記複数のサンプルデータの重複数ごとのデータ量の期待値に関して各重複数についてのデータ量を変数とする連立方程式を作成し、該作成した連立方程式を解くことで1から前記所定数までの各重複数についてデータ量を推定し、各重複数について推定したデータ量に基づいて、前記第1グループに分類されたサンプルデータについての第1重複排除率を計算する第1計算部と、
    前記第2グループに分類されたサンプルデータの総数及び種類数に基づいて、前記第2グループに分類されたサンプルデータについての第2重複排除率を計算する第2計算部と、
    前記第1重複排除率と前記第2重複排除率に基づいて前記見積もり対象データの重複排除率を計算する合成部と
    を有することを特徴とする情報処理装置。
  2. コンピュータに、
    見積もり対象データから一部のデータを複数のサンプルデータとして抽出し、抽出した複数のサンプルデータの重複数を管理し、
    管理する重複数に基づいて前記複数のサンプルデータを重複数が所定数以下の第1グループと重複数が所定数より多い第2グループに分類し、
    前記第1グループに分類されたサンプルデータを用いて、前記複数のサンプルデータの重複数ごとのデータ量の期待値に関して各重複数についてのデータ量を変数とする連立方程式を作成し、該作成した連立方程式を解くことで1から前記所定数までの各重複数についてデータ量を推定し、各重複数について推定したデータ量に基づいて、前記第1グループに分類されたサンプルデータについての第1重複排除率を計算し、
    前記第2グループに分類されたサンプルデータの総数及び種類数に基づいて、前記第2グループに分類されたサンプルデータについての第2重複排除率を計算し、
    前記第1重複排除率と前記第2重複排除率に基づいて前記見積もり対象データの重複排除率を計算する
    処理を実行させることを特徴とする重複率見積もりプログラム。
JP2020134377A 2020-08-07 2020-08-07 情報処理装置及び重複率見積もりプログラム Active JP7476715B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2020134377A JP7476715B2 (ja) 2020-08-07 2020-08-07 情報処理装置及び重複率見積もりプログラム
EP21182374.5A EP3951583A1 (en) 2020-08-07 2021-06-29 Information processing device and duplication rate estimation program
US17/370,003 US20220043592A1 (en) 2020-08-07 2021-07-08 Information processing device and non-transitory computer-readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020134377A JP7476715B2 (ja) 2020-08-07 2020-08-07 情報処理装置及び重複率見積もりプログラム

Publications (2)

Publication Number Publication Date
JP2022030385A JP2022030385A (ja) 2022-02-18
JP7476715B2 true JP7476715B2 (ja) 2024-05-01

Family

ID=76744602

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020134377A Active JP7476715B2 (ja) 2020-08-07 2020-08-07 情報処理装置及び重複率見積もりプログラム

Country Status (3)

Country Link
US (1) US20220043592A1 (ja)
EP (1) EP3951583A1 (ja)
JP (1) JP7476715B2 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11921644B2 (en) * 2022-05-20 2024-03-05 Western Digital Technologies, Inc. Optimizing huge page management

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156846A (ja) 2012-01-30 2013-08-15 Fujitsu Ltd ストレージ管理方法およびストレージ管理装置
WO2016006050A1 (ja) 2014-07-09 2016-01-14 株式会社日立製作所 ストレージシステム及び記憶制御方法
WO2016181479A1 (ja) 2015-05-12 2016-11-17 株式会社日立製作所 ストレージシステムおよび記憶制御方法
US20170199895A1 (en) 2016-01-13 2017-07-13 International Business Machines Corporation Sampling-based deduplication estimation
WO2017149592A1 (ja) 2016-02-29 2017-09-08 株式会社日立製作所 ストレージ装置
JP2019016293A (ja) 2017-07-10 2019-01-31 富士通株式会社 情報処理装置、重複除去率特定方法及び重複除去率特定プログラム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8140491B2 (en) * 2009-03-26 2012-03-20 International Business Machines Corporation Storage management through adaptive deduplication
EP2414926A1 (en) * 2009-09-18 2012-02-08 Hitachi, Ltd. Storage system for eliminating duplicated data
US9542413B2 (en) * 2011-10-06 2017-01-10 Hitachi, Ltd. Stored data deduplication method, stored data deduplication apparatus, and deduplication program
WO2013124896A1 (en) * 2012-02-23 2013-08-29 Hitachi, Ltd. Chunk- based deduplication system and method thereof
RU2626334C2 (ru) * 2013-08-19 2017-07-26 Хуавей Текнолоджиз Ко., Лтд. Способ и устройство обработки объекта данных
US20160034201A1 (en) * 2014-08-04 2016-02-04 International Business Machines Corporation Managing de-duplication using estimated benefits
US10162867B2 (en) * 2016-01-13 2018-12-25 International Business Machines Corporation Low memory sampling-based estimation of distinct elements and deduplication

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2013156846A (ja) 2012-01-30 2013-08-15 Fujitsu Ltd ストレージ管理方法およびストレージ管理装置
WO2016006050A1 (ja) 2014-07-09 2016-01-14 株式会社日立製作所 ストレージシステム及び記憶制御方法
WO2016181479A1 (ja) 2015-05-12 2016-11-17 株式会社日立製作所 ストレージシステムおよび記憶制御方法
US20170199895A1 (en) 2016-01-13 2017-07-13 International Business Machines Corporation Sampling-based deduplication estimation
WO2017149592A1 (ja) 2016-02-29 2017-09-08 株式会社日立製作所 ストレージ装置
JP2019016293A (ja) 2017-07-10 2019-01-31 富士通株式会社 情報処理装置、重複除去率特定方法及び重複除去率特定プログラム

Also Published As

Publication number Publication date
US20220043592A1 (en) 2022-02-10
EP3951583A1 (en) 2022-02-09
JP2022030385A (ja) 2022-02-18

Similar Documents

Publication Publication Date Title
US20200356901A1 (en) Target variable distribution-based acceptance of machine learning test data sets
US10216558B1 (en) Predicting drive failures
US20190107955A1 (en) Storage Pool Capacity Management
US8091073B2 (en) Scaling instruction intervals to identify collection points for representative instruction traces
US9658826B2 (en) Sorting multiple records of data using ranges of key values
US10198455B2 (en) Sampling-based deduplication estimation
US20150074467A1 (en) Method and System for Predicting Storage Device Failures
JP2009519543A (ja) コンパクト類似性構造体を構築する方法及び装置並びにかかるコンパクト類似性構造体をドキュメントの関連性の解析に用いる方法
JP7038143B2 (ja) データ・オブジェクトの削除可能性を見積もる方法
US20160034201A1 (en) Managing de-duplication using estimated benefits
US9892014B1 (en) Automated identification of the source of RAID performance degradation
JP7476715B2 (ja) 情報処理装置及び重複率見積もりプログラム
WO2019084917A1 (zh) 存储***可用容量计算方法及装置
JP2020154828A (ja) データ補完プログラム、データ補完方法及びデータ補完装置
JP2011095946A (ja) 予測誤差評価装置及び予測誤差評価方法及び予測誤差評価プログラム
KR20200086548A (ko) 시계열 데이터 압축 및 복원 방법
US20220138598A1 (en) Reducing computational overhead involved with processing received service requests
US11816004B2 (en) Systems and methods for file level prioritization during multi-object data restores
CN112000955B (zh) 确定日志特征序列的方法、漏洞分析方法及***、设备
US11294775B2 (en) Systems and methods for file level prioritization during data backups
US10585933B2 (en) System and method for classification of low relevance records in a database using instance-based classifiers and machine learning
US20050204346A1 (en) Using sampling data for program phase detection
JP5379749B2 (ja) 文書分類装置、文書分類方法、そのプログラムおよび記録媒体
US9430529B2 (en) Techniques for incrementally updating aggregation of states
WO2022264237A1 (ja) 累積計算装置、累積計算方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230511

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240123

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240307

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240401

R150 Certificate of patent or registration of utility model

Ref document number: 7476715

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150