JP5229731B2 - 更新頻度に基づくキャッシュ機構 - Google Patents
更新頻度に基づくキャッシュ機構 Download PDFInfo
- Publication number
- JP5229731B2 JP5229731B2 JP2008260892A JP2008260892A JP5229731B2 JP 5229731 B2 JP5229731 B2 JP 5229731B2 JP 2008260892 A JP2008260892 A JP 2008260892A JP 2008260892 A JP2008260892 A JP 2008260892A JP 5229731 B2 JP5229731 B2 JP 5229731B2
- Authority
- JP
- Japan
- Prior art keywords
- reduce
- map
- result
- update frequency
- partial
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
S20:Mapワーカーは、ステップS10にて分けたグループ毎のグループ更新頻度を計算する。
S40:Reduceワーカーは、1以上のMap結果に対し、Reduce関数を適用し、Reduce結果を生成する。ただし、複数のReduceワーカーによって、全Map結果、つまり全グループからReduce結果が生成される。
S60:ReduceMergeワーカーは、複数のReduceワーカーが生成したReduce結果に対し、ReduceMerge関数を適用し、新たなReduce結果を生成する。
上記実施形態では、MapワーカーまたはReduceワーカーを行うサーバは任意でよく、あるサーバのMapワーカーにて作成されたMap結果を、同一サーバのReduceワーカーが処理しても、別のサーバのReduceワーカーが処理してもよい。しかし、あるMapワーカーにて作成されたMap結果を同一サーバのReduceワーカーが処理するほうが効率がよい。なぜならMap結果の受け渡しが発生しないからである。そこで、MapワーカーとReduceワーカーの物理的な配置を最適化することにより、より効率のよいMap−Reduce−ReduceMerge処理が実現可能となる。
上記実施形態では、全てのReduce結果を更新頻度に関わらず、キャッシュに保存している。しかし、更新頻度の高いReduce結果のキャッシュが利用できる回数は、更新頻度の低いReduce結果のキャッシュに比べ少ないので、更新頻度が高いReduce結果を、キャッシュ対象外としてもよい。それにより、更新頻度の高いReduce結果をキャッシュする処理、キャッシュを無効化する処理を省略することができ、より効率のよいMap−Reduce−ReduceMerge処理を実現可能となる。
上記実施形態では、Reduce結果をキャッシュに保存したが、Reduce結果同様にMap結果をキャッシュに保存してもよい。Map結果は、それを生成したMapワーカーのキャッシュに保存される。更に、このとき、更新頻度の高いMap結果を対象外としてもよい。これにより、Reduce結果のキャッシュを利用できない場合であっても、Map結果のキャッシュを利用できるので、より効率のよいMap−Reduce−ReduceMerge処理を実現可能となる。
上記実施形態にて、キャッシュされていないグループの特定は、全てのキャッシュのグループを確認して行うが、キャッシュ位置を格納するインデックスを1サーバに配置することにより、キャッシュされていないグループの特定を低レイテンシで実現することができる。その結果、より効率のよいMap−Reduce−ReduceMerge処理を実現可能となる。
上記実施形態にて、ファイル更新頻度によるグループ分けは、ファイル更新頻度の高いグループ(High)とファイル更新頻度の低いグループ(Low)との2つのグループに分割する以外にも、任意の数に分割可能してもよい。ファイルをファイル更新頻度毎に細かくグループ分けすることにより、有効であるキャッシュを増やすことができ、より効率のよいMap−Reduce−ReduceMerge処理を実現可能となる。
上記実施形態にて、Reduce(ReduceMerge)する組み合わせについては任意であったが、有効であるキャッシュをより多くするために、Reduce(ReduceMerge)する組み合わせを最適化する処理を付け加えてもよい。
S300:マスタは、Reduce(ReduceMerge)処理により生成されるReduce結果の更新頻度の閾値αを取得する。更新頻度の閾値は任意でよく、人間が決定してもよい。但し、閾値は1に近すぎないほうがよい。なぜならば、閾値が1に近いと、Reduce結果は多くのグループに対する結果となるため、Reduce結果のキャッシュが無効化される確率が上がり、キャッシュを有効に利用できないからである。
S360:マスタは、ステップS310にて選択されたReduce(ReduceMerge)ワーカーはグループ集合G内の全グループをReduce(ReduceMerge)対象とする。
S400:マスタは、閾値γとΔとを取得する。ここで、マスタは、ReduceMerge処理により生成されるReduce結果の更新頻度α=γとする。なお、γとΔとは任意でよく、人間が決定してもよい。
S410:マスタは、更新頻度αを入力して、図13に示したReduceする組み合わせを最適化する処理を行う。
S420:ステップS410にて決定された処理対象であるグループを入力として、それぞれのReduceワーカーは、Reduce処理を行う。
S450:マスタは、更新頻度αを入力して、図13に示したReduceMergeする組み合わせを最適化する処理を行う。
S460:ステップS450にて2つ以上のグループをReduceMerge処理対象としたReduceMergeワーカーは、ReduceMerge処理を行い、ステップS430へ処理を戻す。
Claims (13)
- Map処理とReduce処理とを実行し、複数のデータを分散処理するMap−Reduce処理システムにおいて、前記Reduce処理のためのキャッシュ機構を構築する方法であって、
前記Map処理の結果に対して前記Reduce処理を部分的に実行し、部分的に処理した結果を段階的に処理するReduceMerge処理を追加した、Map−Reduce−ReduceMerge処理システムにおいて、
前記複数のデータを、前記複数のデータそれぞれの更新頻度であるデータ更新頻度に基づいて、複数のグループに分類するステップと、
前記複数のグループそれぞれを構成するデータの前記データ更新頻度に基づいて、前記複数のグループそれぞれの更新頻度であるグループ更新頻度を計算するステップと、
前記複数のグループのうち、前記グループ更新頻度が予め設定された前記グループ更新頻度の閾値以下であるグループそれぞれに対して前記Map処理を実行して複数のMap結果を生成するステップと、
前記複数のMap結果に対して部分的に前記Reduce処理を実行して、複数の部分的Reduce結果を生成するステップと、
前記複数の部分的Reduce結果に対して前記ReduceMerge処理を段階的に実行し、新たな部分的Reduce結果を生成するステップと、
前記部分的Reduce結果をキャッシュに保存するステップと、
を含む方法。 - 更に、前記部分的Reduce結果が、キャッシュに保存される際に、前記部分的Reduce結果に対応するグループを特定する情報を合わせてキャッシュに保存する、請求項1に記載の方法。
- 更に、前記部分的Reduce結果に対応するグループの前記グループ更新頻度に基づいて、前記部分的Reduce結果の更新頻度である部分更新頻度を計算するステップを含み、
前記部分的Reduce結果が、キャッシュに保存される際に、前記部分更新頻度を合わせてキャッシュに保存する、請求項1に記載の方法。 - 前記部分的Reduce結果を生成するステップは更に、
前記部分的Reduce結果を、前記部分更新頻度に基づいて組み合わせ、それぞれに対して前記部分的Reduce結果を新たに生成するステップと、
前記部分的Reduce結果を新たに生成するステップを、前記部分的Reduce結果の組み合わせを作成することができなくなるまで、繰り返すステップと、
を含む請求項3に記載の方法。 - 新たな前記部分的Reduce結果を生成するステップは、
組み合わせる前記部分的Reduce結果の部分更新頻度の和が、予め設定された前記部分更新頻度の閾値以下になるようにし、
前記繰り返すステップは、
前記部分更新頻度の閾値を段階的に高くすることにより、前記部分的Reduce結果を新たに生成するステップを繰り返す、請求項4に記載の方法。 - 更に、前記複数のデータのうち少なくとも1つのデータが更新されたことに応じて、更新されたデータを含む前記グループを特定するステップと、
特定された前記グループに対応する前記部分的Reduce結果のキャッシュを無効化するステップと、
を含む請求項1に記載の方法。 - 更に、前記複数のデータのうち少なくとも1つのデータの前記データ更新頻度が、前記複数のデータを前記複数のグループに分けた時と比較して著しく変化したことに応じて、前記データ更新頻度が著しく変化したデータが属するグループを変更するステップと、
前記データ更新頻度が著しく変化したデータが、変更前に含まれていたグループと変更後に含まれていたグループとに対応する前記部分的Reduce結果のキャッシュを無効化するステップと、
を含む請求項1に記載の方法。 - 更に、前記部分的Reduce結果のキャッシュ位置について、インデックスを作成するステップと、
作成された前記インデックスを、前記Map−Reduce処理システムを構成するコンピュータのいずれか1つに保存するステップと、
を含む請求項1に記載の方法。 - 前記Map結果を生成するステップが、前記複数のグループのうち、前記グループ更新頻度が前記グループ更新頻度の閾値を越えているグループそれぞれに対して前記Map処理を実行して複数のMap結果を生成する請求項1に記載の方法。
- 更に、前記複数のMap結果をキャッシュに保存するステップを含む請求項1に記載の方法。
- Map処理とReduce処理とを実行し、複数のデータを分散処理するMap−Reduce処理システムにおいて、前記Reduce処理のためのキャッシュ機構を構築する方法であって、
前記Map処理の結果に対して前記Reduce処理を部分的に実行し、部分的に処理した結果を段階的に処理するReduceMerge処理を追加した、Map−Reduce−ReduceMerge処理システムにおいて、
前記複数のデータを、前記複数のデータそれぞれの更新頻度であるデータ更新頻度に基づいて、複数のグループに分けるステップと、
前記複数のグループそれぞれを構成するデータの前記データ更新頻度に基づいて、前記複数のグループそれぞれの更新頻度であるグループ更新頻度を計算するステップと、
前記複数のグループのうち、前記グループ更新頻度が予め設定された前記グループ更新頻度の閾値以下であるグループそれぞれに対して前記Map処理を実行して複数のMap結果を生成するステップと、
前記複数のMap結果に対して部分的に前記Reduce処理を実行して、複数の部分的Reduce結果を生成するステップと、
前記複数の部分的Reduce結果に対して前記ReduceMerge処理を段階的に実行し、新たな部分的Reduce結果を生成するステップと、
前記部分的Reduce結果に対応するグループの前記グループ更新頻度に基づいて、前記部分的Reduce結果の更新頻度である部分更新頻度を計算するステップと、
前記部分的Reduce結果と、前記部分的Reduce結果に対応するグループを特定する情報と、前記部分的Reduce結果の更新頻度とをキャッシュに保存するステップと、
を含み、
更に、
前記部分的Reduce結果と、前記部分的Reduce結果に対応するグループを特定する情報と、前記部分的Reduce結果の更新頻度とがキャッシュに保存されている際に、
前記複数のデータのうち少なくとも1つのデータが更新されたことに応じて、更新されたデータを含む前記グループを特定するステップと、
特定された前記グループに対応する前記部分的Reduce結果のキャッシュを無効化するステップと、
前記複数のデータのうち少なくとも1つのデータの前記データ更新頻度が、前記複数のデータを前記複数のグループに分けた時と比較して著しく変化したことに応じて、前記データ更新頻度が著しく変化したデータが属するグループを変更するステップと、
前記データ更新頻度が著しく変化したデータが、変更前に含まれていたグループと変更後に含まれていたグループとに対応する前記部分的Reduce結果のキャッシュを無効化するステップと
を含む方法。 - Map処理とReduce処理とを実行し、複数のデータを分散処理するMap−Reduce処理システムにおいて、前記Reduce処理のためのキャッシュ機構を構築するプログラムであって、
前記Map処理の結果に対して前記Reduce処理を部分的に実行し、部分的に処理した結果を段階的に処理するReduceMerge処理を追加した、Map−Reduce−ReduceMerge処理システムにおいて、
前記Map−Reduce−ReduceMerge処理システムを構成するコンピュータに、
前記複数のデータを、前記複数のデータそれぞれの更新頻度であるデータ更新頻度に基づいて、複数のグループに分けるステップと、
前記複数のグループそれぞれを構成するデータの前記データ更新頻度に基づいて、前記複数のグループそれぞれの更新頻度であるグループ更新頻度を計算するステップと、
前記複数のグループのうち、前記グループ更新頻度が予め設定された前記グループ更新頻度の閾値以下であるグループそれぞれに対して前記Map処理を実行して複数のMap結果を生成するステップと、
前記複数のMap結果に対して部分的に前記Reduce処理を実行して、複数の部分的Reduce結果を生成するステップと、
前記複数の部分的Reduce結果に対して前記ReduceMerge処理を段階的に実行し、新たな部分的Reduce結果を生成するステップと、
前記部分的Reduce結果をキャッシュに保存するステップと、
を実行させる、プログラム。 - Map処理とReduce処理とを実行し、複数のデータを分散処理するMap−Reduce処理システムにおいて、前記Reduce処理のためのキャッシュ機構を構築するシステムであって、
前記Map処理の結果に対して前記Reduce処理を部分的に実行し、部分的に処理した結果を段階的に処理するReduceMerge処理を追加した、Map−Reduce−ReduceMerge処理システムにおいて、
前記複数のデータを、前記複数のデータそれぞれの更新頻度であるデータ更新頻度に基づいて、複数のグループに分ける分類手段と、
前記複数のグループそれぞれを構成するデータの前記データ更新頻度に基づいて、前記複数のグループそれぞれの更新頻度であるグループ更新頻度を計算する頻度計算手段と、
前記複数のグループのうち、前記グループ更新頻度が予め設定された前記グループ更新頻度の閾値以下であるグループそれぞれに対して前記Map処理を実行して複数のMap結果を生成するMap処理手段と、
前記複数のMap結果に対して部分的に前記Reduce処理を実行して、複数の部分的Reduce結果を生成するReduce処理手段と、
前記複数の部分的Reduce結果に対して前記ReduceMerge処理を段階的に実行し、新たな部分的Reduce結果を生成するReduceMerge処理手段と、
前記部分的Reduce結果をキャッシュに保存するキャッシュ手段と、
を備えるシステム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008260892A JP5229731B2 (ja) | 2008-10-07 | 2008-10-07 | 更新頻度に基づくキャッシュ機構 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2008260892A JP5229731B2 (ja) | 2008-10-07 | 2008-10-07 | 更新頻度に基づくキャッシュ機構 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2010092222A JP2010092222A (ja) | 2010-04-22 |
JP5229731B2 true JP5229731B2 (ja) | 2013-07-03 |
Family
ID=42254879
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008260892A Expired - Fee Related JP5229731B2 (ja) | 2008-10-07 | 2008-10-07 | 更新頻度に基づくキャッシュ機構 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5229731B2 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP2325762A1 (en) * | 2009-10-27 | 2011-05-25 | Exalead | Method and system for processing information of a stream of information |
US11726955B2 (en) | 2010-06-19 | 2023-08-15 | Hewlett Packard Enterprise Development Lp | Methods and apparatus for efficient container location database snapshot operation |
US9323775B2 (en) | 2010-06-19 | 2016-04-26 | Mapr Technologies, Inc. | Map-reduce ready distributed file system |
JP5567967B2 (ja) * | 2010-09-30 | 2014-08-06 | インターナショナル・ビジネス・マシーンズ・コーポレーション | データベースにおけるキャッシュ制御方法、システム及びプログラム |
CN101976534B (zh) * | 2010-11-01 | 2012-02-15 | 北京百度网讯科技有限公司 | 电子地图生成的方法及装置 |
JP5552449B2 (ja) * | 2011-01-31 | 2014-07-16 | 日本電信電話株式会社 | データ分析及び機械学習処理装置及び方法及びプログラム |
WO2012119290A1 (zh) * | 2011-03-04 | 2012-09-13 | 富士通株式会社 | 分布式计算方法和分布式计算*** |
JP5659880B2 (ja) * | 2011-03-08 | 2015-01-28 | 富士通株式会社 | 処理装置、分散処理システム、及び処理プログラム |
JP5342087B2 (ja) * | 2011-03-30 | 2013-11-13 | 株式会社日立製作所 | 計算機システム及びデータ管理方法 |
JP2012242975A (ja) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | 分散並列処理キャッシュ装置及び方法及び資源管理ノード及びプログラム |
JP2012242972A (ja) * | 2011-05-17 | 2012-12-10 | Nippon Telegr & Teleph Corp <Ntt> | 集約システム及び方法及び資源管理ノード及び計算ノード及び集約処理プログラム |
JP5637071B2 (ja) * | 2011-05-27 | 2014-12-10 | 富士通株式会社 | 処理プログラム、処理方法及び処理装置 |
WO2013051131A1 (ja) * | 2011-10-06 | 2013-04-11 | 富士通株式会社 | データ処理方法、分散処理システムおよびプログラム |
JP5919825B2 (ja) * | 2012-01-05 | 2016-05-18 | 富士通株式会社 | データ処理方法、分散処理システムおよびプログラム |
EP2857975A4 (en) | 2012-05-31 | 2016-03-02 | Univ Tokyo | PARALLEL DATA PROCESSING SYSTEM, COMPUTER, AND METHOD FOR PARALLEL DATA PROCESSING |
JP6069913B2 (ja) * | 2012-07-06 | 2017-02-01 | 富士通株式会社 | 情報処理システム、情報処理システムの制御方法及び制御プログラム |
WO2014020735A1 (ja) * | 2012-08-02 | 2014-02-06 | 富士通株式会社 | データ処理方法、情報処理装置およびプログラム |
US9037791B2 (en) | 2013-01-22 | 2015-05-19 | International Business Machines Corporation | Tiered caching and migration in differing granularities |
JP6090431B2 (ja) | 2013-03-27 | 2017-03-08 | 富士通株式会社 | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム |
CN106202092B (zh) | 2015-05-04 | 2020-03-06 | 阿里巴巴集团控股有限公司 | 数据处理的方法及*** |
JP6319694B2 (ja) * | 2015-08-11 | 2018-05-09 | 日本電信電話株式会社 | データキャッシュ方法、ノード装置及びプログラム |
JP6097910B2 (ja) * | 2016-01-21 | 2017-03-22 | 国立大学法人 東京大学 | 並列データ処理システム、計算機および並列データ処理方法 |
CN108334505B (zh) * | 2017-01-19 | 2022-01-07 | 阿里巴巴集团控股有限公司 | 一种数据处理方法、装置、服务器及库存*** |
JP7367365B2 (ja) | 2019-07-23 | 2023-10-24 | 富士通株式会社 | タスク実行管理装置、タスク実行管理方法、および、タスク実行管理プログラム |
CN113726845A (zh) * | 2021-07-14 | 2021-11-30 | 深圳市有为信息技术发展有限公司 | 车载终端的数据传输方法、装置、车载终端和商用车辆 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4025379B2 (ja) * | 1996-09-17 | 2007-12-19 | 株式会社ニューズウオッチ | 検索システム |
US7739314B2 (en) * | 2005-08-15 | 2010-06-15 | Google Inc. | Scalable user clustering based on set similarity |
US8190610B2 (en) * | 2006-10-05 | 2012-05-29 | Yahoo! Inc. | MapReduce for distributed database processing |
-
2008
- 2008-10-07 JP JP2008260892A patent/JP5229731B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2010092222A (ja) | 2010-04-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5229731B2 (ja) | 更新頻度に基づくキャッシュ機構 | |
JP5584914B2 (ja) | 分散計算システム | |
US10127275B2 (en) | Mapping query operations in database systems to hardware based query accelerators | |
JP6090431B2 (ja) | 分散処理のための情報処理方法、情報処理装置及びプログラム、並びに分散処理システム | |
US8229968B2 (en) | Data caching for distributed execution computing | |
US20150128150A1 (en) | Data processing method and information processing apparatus | |
CN104657260B (zh) | 控制分布式节点间访问共享资源的分布式锁的实现方法 | |
WO2020228378A1 (zh) | 一种确定数据库的配置参数的方法及装置 | |
Bai et al. | Efficient data loader for fast sampling-based GNN training on large graphs | |
CN103959275A (zh) | 动态进程/对象范围的存储器关联性调整器 | |
CN113767375A (zh) | 对ml加速器的机器学习模型更新 | |
Wang et al. | Phase-reconfigurable shuffle optimization for Hadoop MapReduce | |
JP2013218636A (ja) | クラスタリング処理装置、クラスタリング処理方法、及びプログラム | |
Arcas-Abella et al. | Hardware acceleration for query processing: leveraging FPGAs, CPUs, and memory | |
US20170017574A1 (en) | Efficient cache warm up based on user requests | |
Awasthi et al. | System-level characterization of datacenter applications | |
KR20190095489A (ko) | 그래프 처리 시스템 및 그래프 처리 시스템의 동작 방법 | |
JP6189266B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
Konishetty et al. | Implementation and evaluation of scalable data structure over hbase | |
US11934927B2 (en) | Handling system-characteristics drift in machine learning applications | |
US20180329756A1 (en) | Distributed processing system, distributed processing method, and storage medium | |
Körner et al. | Distributed model checking using ProB | |
JP2023180315A (ja) | 変換プログラムおよび変換処理方法 | |
KR20220142059A (ko) | 이미지 기반 딥 러닝 학습의 배칭 연산 가속을 위한 인 메모리 소프트웨어 디코딩 캐시 구조 및 관리 기법 | |
CN116860564B (zh) | 一种云服务器数据管理方法及其数据管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20110816 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130207 |
|
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: 20130219 |
|
RD14 | Notification of resignation of power of sub attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7434 Effective date: 20130220 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130312 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160329 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |