JP6953738B2 - データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法 - Google Patents
データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法 Download PDFInfo
- Publication number
- JP6953738B2 JP6953738B2 JP2017034854A JP2017034854A JP6953738B2 JP 6953738 B2 JP6953738 B2 JP 6953738B2 JP 2017034854 A JP2017034854 A JP 2017034854A JP 2017034854 A JP2017034854 A JP 2017034854A JP 6953738 B2 JP6953738 B2 JP 6953738B2
- Authority
- JP
- Japan
- Prior art keywords
- data center
- data
- child
- parent
- centers
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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/2455—Query execution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5066—Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/044—Network management architectures or arrangements comprising hierarchical management structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
Description
1.1つのデータセンター内のネットワーク接続は、通常同種である。データ及び処理ユニットの局所(ローカル)性(locality)を検討するとき、ネットワーク異種性は、通常、最適化方法において考慮されない。
2.全ての処理ユニット及びデータが、高速ネットワーク接続を有する単一データセンターに保持される場合、ネットワークの上りリンク及び下りリンク転送の影響もそれほど大きくない。
3.ネットワーク通信のコストは、時として、ディスクI/Oのコストと比較して高くないと考えられる。これは、単一データセンター内のネットワークの速度が、通常は、従来のハードディスクに対する読み書きの速度よりもはるかに速いという事実に起因する。したがって、ネットワークにわたるインメモリデータが、ローカルオンディスクデータと比較すると、好ましい。
1.例えばセンサといったデータ収集デバイスが普及するにつれ、データは、生成のポイントにてますます分散されるようになる。中央位置にデータを収集して、予め定義された特性に応じてデータを再分散させる代わりに、生成のポイントに応じたデータ局所性を観測することが自然になる。次いで、データ及び/又は処理ユニットのフラグメントが、性能を最適化するために再分散される。
2.現在のワールドワイドコンピュータネットワークにおける中央化(又は、時として、バックホールデータ収集及び解析と呼ばれる)アプローチの実質的なボトルネックは、光ファイバー網大洋横断(例えば、大西洋横断ケーブル及び太平洋横断ケーブル)である。コスト及び地理的な困難さは、そのような大洋横断ファイバー接続が、従来のアプローチにおけるクリティカルパスである可能性が高いことを決定づけている。
3.例えばセンサといった特殊な収集デバイスの多様性に起因して、データは、当然フラグメント化されて分散されるようになる。結果は、1つの収集方法のレジーム内のデータが、ますます同種になる一方、異なるレジームからのデータが、ますます多様になる。収集のポイントにて局所的にデータを処理すること(及び地域データに適合させること)は、システム性能全体を増大させ得る。
4.中央化−再分散アプローチは、独立国の国境にまたがってデータを移動させる場合には機能しない。安全性、プライバシー、及びセキュリティ上の理由により、多くの国は、(何らかの形の)データが国境をまたがることを防止する法律を課している。これは、グローバルな中央化された視野に基づく最適化を不可能にする。
本方法は、準備段階及び実行段階を含み、
準備段階は、
各データセンターが、親データセンター及び子データセンターの動的な階層クラスタトポロジーにおけるデータセンターの構成を可能にする、データセンターパラメータ及び/又は近接さに関する情報を提供するステップであって、各子データセンターは、クエリの個々の解析タスクにより処理されるべき、各子データセンター自身のローカルデータシーケンスを有し、子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、クラスタは、単一の親データセンターを有する、ステップ
を含み、
実行段階は、
親データセンターが、タスクを子データセンターに送信し、子データセンターが、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを、親データセンターに送信するステップ
を含み、
子データセンター及びその親データセンターの両方が、この子データセンターにより実行されたタスクと、この子データセンターにより実行されたタスクの結果のシーケンスと、をキャッシュする、
方法が提供される。
本親データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、タスクを受信し、タスクを子データセンターに送信し、各子データセンターから、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを受信するよう構成されているプロセッサ及びI/Oと、
子データセンターにより実行されたタスクと、子データセンターにより実行されたタスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、
親データセンターが提供される。
本子データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、親データセンターからタスクを受信し、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを、親データセンターに送信するよう構成されているプロセッサ及びI/Oと、
本子データセンターが実行したタスクと、本子データセンターが実行したタスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、
子データセンターが提供される。
親データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、タスクを受信し、タスクを子データセンターに送信し、各子データセンターから、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを受信するよう構成されているプロセッサ及びI/Oと、
子データセンターにより実行されたタスクと、子データセンターにより実行されたタスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有し、
子データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、親データセンターからタスクを受信し、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを、親データセンターに送信するよう構成されているプロセッサ及びI/Oと、
この子データセンターが実行したタスクと、この子データセンターが実行したタスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、
クエリを実行するためのデータセンターのネットワークが提供され得る。
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、タスクを受信し、タスクを子データセンターに送信し、各子データセンターから、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを受信するよう構成されているプロセッサ120及びI/O100と、
子により実行されたタスク及び子データセンターにより実行されたタスクの結果のシーケンスをキャッシュするよう構成されているストレージ110と、
を有する。
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、親データセンターからタスクを受信し、ローカルデータシーケンス及びタスクから導出された結果のシーケンスを、親データセンターに送信するよう構成されているプロセッサ120及びI/O100と、
この子データセンターが実行したタスク及びこの子データセンターが実行したタスクの結果のシーケンスをキャッシュするよう構成されているストレージ110と、
を有する。
以下のテキストにおいて、以下の記号が頻繁に使用される。
Di:データセンター
si:データセンターのデータサイズ。これは、典型的には、ギガバイトとして表されるが、他の広く受け入れられている単位が使用されてもよく、最終的な演算に影響を及ぼすものではない。
ri,j:j番目の(カテゴリの)演算子がデータに適用された後のデータサイズ低減比。これは、通常、パーセンテージとして表され、したがって、単位はない。
ti,j:単位サイズ(unit size)のローカルデータに対してj番目の(カテゴリの)演算子を実行する経過時間。演算のタイプに応じて、典型的な単位は、秒又はミリ秒であり得る。これは、経過した実時間である。
Ti,j:全てのローカルデータに対してj番目の(カテゴリの)演算子を実行する累積総経過時間。
:データセンターの上りリンク帯域幅であり、典型的な単位は、ビット/秒である。
:データセンターの下りリンク帯域幅であり、ここでも、典型的な単位は、ビット/秒である。
明示的には要求されないが、本文書におけるデータセンターは、潜在的により高いソフトウェア層を伴う3層設計に従うと仮定される。典型的な3層設計は、コア層、集約層、及びアクセス層からなる。コア層は、データセンターの主入口層及び主出口層とみなされる。
ローカルデータセグメントがしばしば観測されると想定される。そのようなセグメント化は、フォーマット、シンタックス、及びセマンティクスに基づき得る。ここで、セグメントは、収集された際のデータの自然分離である。例えば、ある領域から収集されたクリックストリーム(特に人の興味を評価するためにモニタリングされるような、ユーザにより行われた一連のマウスクリック)が、生成のポイント近くに記憶され、データのセグメント化を提供し、これは、全体の解析を与えるために、他の領域からの類似するデータと最終的に組み合わされる必要がある。また、センサデータが、(例えば、同じシンタックス及びセマンティクスを有する同じフォーマットで)収集されるとサーバに記憶され得る。
一般に、提案するソリューションは、以下の2つの機能的段階からなる:
1.準備段階:この段階において、不可欠なネットワーク及びタスク関連の特徴を収集して推定する。
2.実行段階:準備段階から導出されたパラメータを使用して、任意の解析タスクの実行を決定する。
1.物理的近接さ:2つのデータセンターが互いからどれだけ離れているか
2.データセンター間の、及び、データセンターとD0との間のネットワーク接続
3.地理的特徴:複数のデータセンターが同じ独立国内に配置されているかどうか
1.同種データセンターが、この論理トポロジーにおいて一緒にグループ化され得る。このグループ化は、地理的近接さ、データ同種性、タスク同種性等に基づき得る。理想的な結果は、親データセンターDpの子が、異なるデータを保持して異なるクエリ応答特性を提示し得るとしても、(特定のクエリのセットを処理するコンテキストにおいて)類似するデータ構造を共有し、タスクの共通セットについては大きく類似するように応答すべきであることである。例えば、所定のウェブサイトのクリックストリームを(グローバルスケールで)解析するとき、そのようなストリームデータを保持するデータセンターが、それらデータセンターの地理的位置に基づいてグループ化され得る。集約タスクは、ローカルで実行され得、その結果が、階層構造における複数の層を介して集約される。
2.親データセンターは、その子を管理することができる。データ及び地理的特性の類似性に起因して、子データセンターにおけるデータは、同じ安全性及びプライバシーの規制の対象になり、したがって、データが、より良いシステム性能のために移転され得る。また、親データセンターは、その子のステータスの高い認知性を有する。親データセンターは、利用可能性を推定することができ、子が利用可能でないときを補償することができる。
便益:論理構造が、データセンターネットワークに与えられる。これは、通信及びデータ割り当てをより良く管理するのを助けることができる。
本発明の実施形態は、プロセスの要件に従って、準備段階において以下のステップを含み得る:
1.各Diは、前のセクションにおいて定義されたパラメータ及びメタデータを推定する(又は、すでに知られている場合には単にこれらにアクセスする)。これらは、例えば、データサイズsi、将来の時点においてデータを推定できるようにj番目の(カテゴリの)演算子がデータに適用された後のデータサイズ低減比ri,j、現在保持されているデータに適用され得る演算及び演算特性、ti,j及びTi,j(1つの演算子について単位データブロックに対して費やされる時間及びその演算子についてデータセンターにおける全てのデータに対して費やされる時間)。
2.クラスタ階層が、(例えば、上述され、図4に提示されるように)定義される。この階層は、まず、近接さに従って作成され、次いで、データ及び/又はクエリの特徴づけ(characterisation)のために、例えば、データセンターのクラスタにローカルに保持されているデータの大部分に対してどのクエリが実行され得るかをチェックするために、調整され得る。
3.この論理トポロジーが定義された後、各データセンター(Di及びD0)は、例えば、クエリが到達しない場合、ネットワーク性能を推定及び予測するために、ネットワークを周期的に「ポークする(poke)」。このプロセスは、全てのデータセンターDiからのデータを消費すると想定される所与の演算タスクを想定している。
a.データの例となるフラグメントが、Diに典型的には保持される当該データを反映するように、生成される(又は、適切な場合にはサンプリングされる)。理想的には、これは、n重の単位ブロック(n-fold of a unit block)と同じサイズであるべきである(ここで、nは整数である)。したがって、比較のためのこの代表的データセットを使用して、ネットワーク全体の性能を測定することができる。
b.Diは、そのような例となるデータを、そのタイムスタンプとともに、D0に周期的に送信する。
c.D0は、このデータを受信し、Diの上りリンク帯域幅(
)を推定する。
d.D0は、Diの下りリンク帯域幅(
)を推定するために、テスト(ハンドシェーキング)データセグメントを、全てのDiに周期的にブロードキャストする。
e.階層構造が存在する場合、上りリンク帯域幅及び下りリンク帯域幅は、親−子データセンターのペアごとに推定されるべきである。
準備段階は、必ずしも連続的であるとは限らない。各Diは、データを生成し、階層に沿って、そのデータを当該Diの親に転送し、これが、タスク再割り当て/再分散を担当する。タスク再割り当て/再分散は、フレームワーク全体が予備能力を有するときにはいつでも(例えば、2つのクエリ間の間隔中に動的に)実行され得る。
4.データ局所性クラスタ内調整が、クエリ間で実行され得る、以下で説明されるプロセスである。これは、上述された上りリンク帯域幅推定及び下りリンク帯域幅推定を利用する。
、
、ローカルで(すなわち、所定のデータセンターで)処理するためにダウンロードされる(すなわち、別のデータセンターから移動される)データのサイズであるαi、及び、リモートで処理されるデータのサイズであるβiに基づき得る。また、(前述のように)siは、ローカルデータのサイズとして定義される。対象は、
に向けられる。本質的に、この式は、以下のように機能する。
最初の部分において、
は、どれくらいの長さの追加データがDiにダウンロードされる必要があるかを与え、
は、他のデータセンターからのデータのダウンロード及び他のデータセンターへのデータのアップロードの後、且つ、何らかのデータ演算(ri,j)の後、どれくらいの長さの結果がアップロードされるべきかを与える;これら2つの項が合わさると、データがDiに転送されDiから転送されるのにどれくらいの時間を要するかを伝える。
1.データ局所性は、全ての子データセンターに対して均等であり、αi及びβiは、実際上同等である。
2.ネットワーク通信時間と比較すると、ローカル処理時間はほとんど無視できる。
3.演算子は独立している、すなわち、演算子jと演算子kとは、互いに依存しない。
ここで、
、M、及びNは、定数である:
は、平均データ低減比であり、Nは、子の数であり、Mは、データセンターにより保持されているデータに対して適用される演算子の数である。上記の最適化の対象を容易に解決して、同じ親グループに属する他のデータセンターにおいて再割り当てされる又は複製されるデータを推定することができる。
実行段階において、論理/仮想階層構造に基づいて、ルートデータセンターは、ユーザクエリを受信し、階層の下方にクエリを分散させ、結果全体を集約し、ユーザに返すように配信する役割を担う。
サブセット選択
プッシュ更新
プル推定
(必要とされる場合には)所与のクエリのためのさらなるデータセンターの選択に関して、次の方策が適用され得る:Cが、親データセンター(ルートデータセンターが、階層のルートを形成するので、ルートデータセンターが、全体の親と解釈される)の全ての子のセットであり、σiが、この選択方策を調整するために使用され得る定数係数であり、γが、ゼロの分母を避けるための定数であるとした場合、
基本的に、この選択により、全ての子データセンターのうち、子と親との間の見込まれる上りリンク通信量を最小化することができるサブセットθが見出される。この目的関数を単純化するために、σi=1に設定し、γを十分小さな数に設定することができる。また、θのサイズは、閾値(ユーザにより予め定められるか、又は、子の総数のパーセンテージとして設定されるかのいずれかである)よりも大きいべきである。サブセットθのこのサイズは、タスクの実行を可能にする最小値以上であるべきなので、閾値より大きい。θ∈2Cは、単に、θがCのサブセットであることを要求する。
このプロセスにおいて、親データセンター(Dp)の観点から見ると、データは、明示的要求なく、したがって、指定なく、これにプッシュされる。上記論理トポロジーにおいて、初期解析タスク(したがって、割り当てられたタスク全体の一部)の実行の後、初期通信が成功裡に確立され得ると仮定して、Di及びその親データセンターDpの両方が、実行されたタスク/演算子に加えて、そのようなタスクを実行した結果(
)をキャッシュする。
1.このような変化が解析タスクの結果に影響を及ぼすかどうかをテストする。(通常、データ変化は、例えば、2部グラフを示す図5で説明されるように、非サイズ維持タスク又は射影タスク(projection tasks)に影響を及ぼすことになる。)いくつかのデータ変化は、結果に影響を及ぼさない。これらは、出力が、入力と同じデータセマンティクスを共有する演算、例えば、データフォーマット変更又はデータ射影である。
2.影響を及ぼす場合、解析タスクを再実行して、結果(
)が変わったかどうかを確認する。
3.結果が変わった場合、前の結果からの変化(
)を特定する。
4.Dpにおいてローカルにキャッシュされている解析結果を使用して、DpにおいてΔを再現することができる変換計画pj(Δ)を生成する。
Dpが、その子からのプッシュされた更新に基づいて、更新を実行している(結果を処理している)とき、Dpは、先着順(first come first serve)方策に基づいて、更新を実行する。Diからの更新がコミットされたとき、Dpは、(その子のデータ及びタスクの認知性を用いて)そのレベルで割り当てられたデータ変換を実行し、結果をその親(1つ存在する場合)にリレーする。
を用いて、そのローカルにキャッシュされている
を処理する。上記時間閾値は、DiとDpとの間の過去の通信パターンから学習されることもあるし、又は、他の子データセンターからの更新の完了に比例して設定されることもある。
を導出する。ここでの重要な仮定は、Dpの全ての子が、クエリ/アプリケーションに関して(所与の更新エピソード(update episode)における)類似するデータ更新頻度及びデータ構造を共有することである。この仮定は、データセンターが、同じ種類のデータを処理することに基づく。したがって、子が、同種データを有し、大きく類似するデータプロセスを実行すべきであるように、階層が構成される。子の大部分が、それら子の更新を送信したとき、Dpは、pi,j(Δ)の部分的知識と、他の子データセンターからの演算命令と、に基づいて、最も類似する
を見出すことにより、Diからの更新を基本的に推定することができる。この推定は、以下のようになされ得る:
ここで、Πi,j(Δ)は、Diから受信された部分的更新演算であり、
は、2つの更新演算を一緒に連結又はマージし、
は、Diから受信された部分的更新演算に対応する最も類似する完全更新演算を選択する(s.t.maxは、「max(・・・.)であるような(so that max(・・・.))」を表す)。
を受信するだけである。Dp1が、この場合すでに受信されている情報を使用して最も類似する更新を提供するとみなされると仮定すると、
は、
として、2つの更新を一緒に結合することにより算出される。これは、別の子データセンターからの値を使用して、不完全なシーケンスを基本的に続けている。
に基づく更新が正しいとみなす。Diからの応答が受信されるまで、演算ログが保存される。次いで、Dpは、Diが利用可能でなかったときの時間ウィンドウ中になされた演算をトレースバックする(trace back)(繰り返す)かどうかを決定することができる。
本発明の実施形態のいくつかの便益は、以下として確認できる:
1.より良いデータ局所性及びクエリ処理のために類似する又は近接するデータセンターを一緒にグループ化するためのデータセンターの論理的編成
2.「オフライン」データ処理、更新のみの通信、及び、必要なときの更新の再構成を容易にするローカルキュッシングアプローチ
3.データの移転及び複製を用いてデータセンターにわたる性能を向上させるクラスタ内データ局所性スキーム
4.ボトルネックを回避するためにどのデータセンターが使用されるべきかを、子データセンターのサブセットの選択の形で選択する方策
5.クエリ処理又は特定のアプリケーションに関与する全てのデータセンターの性能プロファイルを絶えず維持するのを助けることができる、データセンター性能を測定するための機構
S200:クエリが、リーフデータセンターのサブセットを選択するために各子データセンターの上りリンク及び下りリンクを潜在的に考慮して、分散される。このサブセット選択は、全ての子が使用されるわけではない場合である。全ての子が関与する必要がある場合には、これは適切でない。
S210:完全な結果が受信されたかどうかのクエリがある。
S220:完全な結果が、子データセンターから受信された場合、それらの結果が、子データセンター及び親データセンターの両方にキャッシュされる。システムは、次のクエリに進む。
S230:完全な結果が受信されなかった場合:
S240:前の実行からのキャッシュされている結果及びキャッシュされているタスクが存在する場合、プロセスは、前述されたプッシュ更新若しくはプル推定又はこれらの両方を用いて、結果を近似する。
S250:キャッシュされている結果及びキャッシュされているタスクが存在しない場合、この子に基づいて、中間結果をトラックバックする。すなわち、他の子からの結果に基づいてさえも、Diからの結果を近似する方法がない場合、Diは、永久的にデッド状態とみなされ、将来の処理から除去されるべきである。
S260:どちらの場合でも、
i.閾値に達し、子が永久的に利用可能でないとみなされ得るまで、又は
ii.結果が到達し、処理が続くまで、
プルするのを続ける。
クエリがもはや存在しなくなると、クエリ処理は終了する。
1.(データが生成された)エッジにおいて当該データを記憶すること。ここで、「エッジ」という用語は、データがシステム/ネットワークに入っているエントリポイントを意味し、したがって、データは、記憶のために転送される必要がなく、代わりに、データの生成源において記憶されるべきである。
2.データが生成された場所とは異なるデータセンターであって、(異なるクラスタが配置される)異なる地理的領域にわたるデータセンターにおいて解析タスクを実行するコストを推定すること。これは、局所性が、1つの管轄区域又は地理的領域内に編成される1つの「親−子」サブツリー内でのみ調整されるためである。
3.解析タスクを実行するための最良の方策を計画すること。これは、データを調整し、集約(タスク)がどこで実行されるべきかを決定するための、上りリンク及び下りリンクに基づく最適化を指す。
4.プッシュ更新及びプル推定のセクションにおいて説明されたように、最も効率的なタスク実行を容易にするために、結果を転送及び/又は更新すること。
1.本発明の実施形態におけるプロセスのダイナミズム:システム性能の推定が、最新の変化を反映するように継続的に更新される。この特徴は、全ての関与するデータセンターの上りリンク及び下りリンクの継続的なモニタリング及び推定、並びに/又は、データに影響する(クエリを満たすプロセスの一部としての)データ演算の継続的な推定を指す。
2.インクリメンタル性:リソース要件を最小化するために、データ解析がインクリメンタルに実行される。
3.データ安全性:提案するソリューションは、規制上の制約及び安全性制約を順守することができる。
データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法であって、
当該方法は、準備段階及び実行段階を含み、
前記準備段階は、
各データセンターが、親データセンター及び子データセンターの動的な階層クラスタトポロジーにおけるデータセンターの構成を可能にする、データセンターパラメータ及び/又は近接さに関する情報を提供するステップであって、各子データセンターは、前記クエリの個々の解析タスクにより処理されるべき、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、前記クラスタは、単一の親データセンターを有する、ステップ
を含み、
前記実行段階は、
前記親データセンターが、タスクを前記子データセンターに送信し、前記子データセンターが、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを、前記親データセンターに送信するステップ
を含み、
子データセンター及び該子データセンターの親データセンターの両方が、該子データセンターにより実行されたタスクと、該子データセンターにより実行された該タスクの結果のシーケンスと、をキャッシュする、方法。
前記実行段階において、前記子データセンターが、新たな受信データに関連付けられる結果の変化を特定した場合、前記子データセンターは、キャッシュされている結果からの前記変化を再現するための変換を提供し、前記変換を前記親データセンターに送信する、付記1に記載の方法。
前記実行段階において、前記親データセンターと前記子データセンターとの間の通信が遮断された場合、前記親データセンターは、同じクラスタにおける前記子データセンターのうちの別の子データセンターからの結果を使用して、前記結果のシーケンスを続ける、付記1又は2に記載の方法。
前記子データセンターのクラスタは、データサイズ、予期されるタスク、及びデータセンター許容可能な演算、のうちの任意のものを含むデータセンターパラメータと、物理的近接さ、ネットワーク接続、及び地理的位置、のうちの任意のものを含むデータセンター近接ファクタと、に基づいて形成される、付記1乃至3いずれかに記載の方法。
前記準備段階は、
データセンターDiに関して、前記親データセンターに向かう、前記子データセンターの上りリンク帯域幅
と、前記子データセンターに向かう、前記親データセンターからの下りリンク帯域幅
と、前記子データセンターのサイズsiと、を提供するステップ
を含む、付記1乃至4いずれかに記載の方法。
規定された条件下でのデータ及びタスクの移転であって、前記移転は、元の子データセンターから送信先の子データセンターにデータを転送することと、前記送信先の子データセンターにおいてタスクを実行することと、を含む、移転
をさらに含む、付記1乃至5いずれかに記載の方法。
前記規定された条件は、転送される前記データを転送するのに要する時間を考慮する、付記6に記載の方法。
前記規定された条件は、前記親データセンターに向かう、前記子データセンターの上りリンク帯域幅
と、前記子データセンターに向かう、前記親データセンターからの下りリンク帯域幅
と、前記子データセンターのサイズsiと、に基づいて規定され、データ移転中に子データセンターから移動されるデータに対する、前記データ移転中に該子データセンターに移動されるデータの比を計算する、付記6又は7に記載の方法。
前記クエリは、階層の全体の親であるルートデータセンターにおいて、前記データセンターのネットワークに入力され、前記ルートデータセンターは、中間親データセンターを介して、前記階層の最下レベルを形成するリーフデータセンターである子データセンターに、タスクを送信する、付記1乃至8いずれかに記載の方法。
前記クラスタにおける各子データセンターについて、前記親データセンターに向かう、該子データセンターの上りリンク帯域幅
と、該子データセンターのサイズsiと、を使用して、前記解析タスクを実行するためのデータセンターのサブセットθの選択を決定するステップ
をさらに含み、
前記サブセットθのサイズは、閾値よりも大きいように予め設定され、前記選択は、見込まれる上りリンク通信量を最小化することである、付記1乃至9いずれかに記載の方法。
クエリを実行するためのデータセンターのネットワークにおける親データセンターであって、
前記データセンターは、当該親データセンター及び子データセンターの動的な階層クラスタトポロジーにおいて構成され、各子データセンターは、前記クエリの個々の解析タスクにより処理されるべき、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、当該親データセンターは、前記クラスタについての唯一の親であり、
当該親データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、タスクを受信し、前記タスクを前記子データセンターに送信し、各子データセンターから、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを受信するよう構成されているプロセッサ及び入力/出力コンポーネント(I/O)と、
前記子データセンターにより実行されたタスクと、前記子データセンターにより実行された該タスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、親データセンター。
前記プロセッサ及び前記I/Oは、ユーザクエリを受信し、前記階層クラスタトポロジーを形成するよう構成されている、付記11に記載の親データセンター。
クエリを実行するためのデータセンターのネットワークにおける子データセンターであって、
前記データセンターは、親データセンター及び子データセンターの動的な階層クラスタトポロジーにおいて構成され、各子データセンターは、前記クエリの個々の解析タスクにより処理されるべき、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、前記親データセンターは、前記クラスタについての唯一の親であり、
当該子データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、前記親データセンターからタスクを受信し、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを、前記親データセンターに送信するよう構成されているプロセッサ及び入力/出力コンポーネント(I/O)と、
当該子データセンターが実行したタスクと、当該子データセンターが実行した該タスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、子データセンター。
付記11に記載の親データセンターと、複数の、付記13に記載の子データセンターと、を含む、クエリを実行するためのデータセンターのネットワーク。
20 処理ユニット群
30 DCストレージ
40 DC内入力/出力コンポーネント(I/O)
50 DC間I/O
60 上りリンク帯域幅
70 下りリンク帯域幅
100 I/O
110 ストレージ
120 プロセッサ
Claims (14)
- データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法であって、
当該方法は、準備段階及び実行段階を含み、
前記準備段階は、
各データセンターによって提供される、データセンターパラメータ及び/又は近接さに関する情報に基づいて、データセンターを親データセンター及び子データセンターの動的な階層クラスタトポロジーに構成するステップであって、各子データセンターは、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、前記クラスタは、単一の親データセンターを有する、ステップ
を含み、
前記実行段階は、
前記親データセンターが、タスクを前記子データセンターに送信し、前記子データセンターが、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを、前記親データセンターに送信するステップ
を含み、
子データセンター及び該子データセンターの親データセンターの両方が、該子データセンターにより実行されたタスクと、該子データセンターにより実行された該タスクの結果のシーケンスと、をキャッシュする、方法。 - 前記実行段階において、前記子データセンターが、新たな受信データに関連付けられる結果の変化を特定した場合、前記子データセンターは、キャッシュされている結果からの前記変化を再現するための変換を提供し、前記変換を前記親データセンターに送信する、請求項1に記載の方法。
- 前記実行段階において、前記親データセンターと前記子データセンターとの間の通信が遮断された場合、前記親データセンターは、同じクラスタにおける前記子データセンターのうちの別の子データセンターからの結果を使用して、前記結果のシーケンスを続ける、請求項1又は2に記載の方法。
- 前記子データセンターのクラスタは、データサイズ、予期されるタスク、及びデータセンター許容可能な演算、のうちの任意のものを含むデータセンターパラメータと、物理的近接さ、ネットワーク接続、及び地理的位置、のうちの任意のものを含むデータセンター近接ファクタと、に基づいて形成される、請求項1乃至3いずれか一項に記載の方法。
- 規定された条件下でのデータ及びタスクの移転であって、前記移転は、元の子データセンターから送信先の子データセンターにデータを転送することと、前記送信先の子データセンターにおいてタスクを実行することと、を含む、移転
をさらに含む、請求項1乃至5いずれか一項に記載の方法。 - 前記規定された条件は、転送される前記データを転送するのに要する時間を考慮する、請求項6に記載の方法。
- 前記クエリは、階層の全体の親であるルートデータセンターにおいて、前記データセンターのネットワークに入力され、前記ルートデータセンターは、中間親データセンターを介して、前記階層の最下レベルを形成するリーフデータセンターである子データセンターに、タスクを送信する、請求項1乃至8いずれか一項に記載の方法。
- クエリを実行するためのデータセンターのネットワークにおける親データセンターであって、
前記データセンターは、各データセンターによって提供される、データセンターパラメータ及び/又は近接さに関する情報に基づいて、当該親データセンター及び子データセンターの動的な階層クラスタトポロジーにおいて構成され、各子データセンターは、前記クエリの個々の解析タスクにより処理されるべき、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、当該親データセンターは、前記クラスタについての唯一の親であり、
当該親データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、タスクを受信し、前記タスクを前記子データセンターに送信し、各子データセンターから、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを受信するよう構成されているプロセッサ及び入力/出力コンポーネント(I/O)と、
前記子データセンターにより実行されたタスクと、前記子データセンターにより実行された該タスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、親データセンター。 - 前記プロセッサ及び前記I/Oは、ユーザクエリを受信し、前記階層クラスタトポロジーを形成するよう構成されている、請求項11に記載の親データセンター。
- クエリを実行するためのデータセンターのネットワークにおける子データセンターであって、
前記データセンターは、各データセンターによって提供される、データセンターパラメータ及び/又は近接さに関する情報に基づいて、親データセンター及び子データセンターの動的な階層クラスタトポロジーにおいて構成され、各子データセンターは、前記クエリの個々の解析タスクにより処理されるべき、該子データセンター自身のローカルデータシーケンスを有し、前記子データセンターは、類似する且つ/又は近接するデータセンターのクラスタを一緒に形成し、前記親データセンターは、前記クラスタについての唯一の親であり、
当該子データセンターは、
データセンターパラメータ及び/又は近接さに関する情報を他のデータセンターに提供するよう構成されており、さらに、前記親データセンターからタスクを受信し、前記ローカルデータシーケンス及び前記タスクから導出された結果のシーケンスを、前記親データセンターに送信するよう構成されているプロセッサ及び入力/出力コンポーネント(I/O)と、
当該子データセンターが実行したタスクと、当該子データセンターが実行した該タスクの結果のシーケンスと、をキャッシュするよう構成されているストレージと、
を有する、子データセンター。 - 請求項11に記載の親データセンターと、複数の、請求項13に記載の子データセンターと、を含む、クエリを実行するためのデータセンターのネットワーク。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102016207472 | 2016-04-29 | ||
GB1607542.6A GB2549790A (en) | 2016-04-29 | 2016-04-29 | A computer-implemented method of executing a query in a network of data centres |
DE102016207472.5 | 2016-04-29 | ||
GB1607542.6 | 2016-04-29 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017199356A JP2017199356A (ja) | 2017-11-02 |
JP6953738B2 true JP6953738B2 (ja) | 2021-10-27 |
Family
ID=58428199
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017034854A Active JP6953738B2 (ja) | 2016-04-29 | 2017-02-27 | データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10691692B2 (ja) |
EP (1) | EP3242209A1 (ja) |
JP (1) | JP6953738B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10831633B2 (en) | 2018-09-28 | 2020-11-10 | Optum Technology, Inc. | Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system |
US11755383B2 (en) * | 2019-12-31 | 2023-09-12 | Vmware, Inc. | Hybrid inventory data summarization using various input schema across hybrid cloud infrastructure |
US11776281B2 (en) | 2020-12-22 | 2023-10-03 | Toyota Research Institute, Inc. | Systems and methods for traffic light detection and classification |
US11368333B1 (en) * | 2021-01-18 | 2022-06-21 | Curvalux Uk Limited | Mobile mux |
Family Cites Families (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8145742B1 (en) * | 2000-10-31 | 2012-03-27 | Red Hat, Inc. | Method of and apparatus for network administration |
US7801944B2 (en) | 2001-05-18 | 2010-09-21 | Gary Stephen Shuster | Distributed computing using agent embedded in content unrelated to agents processing function |
US7734783B1 (en) | 2006-03-21 | 2010-06-08 | Verint Americas Inc. | Systems and methods for determining allocations for distributed multi-site contact centers |
US8793354B2 (en) | 2006-04-20 | 2014-07-29 | Cisco Technology, Inc. | System and method for optimizing maintenance of geographically distributed processing units |
US20090113323A1 (en) | 2007-10-31 | 2009-04-30 | Microsoft Corporation | Data center operation optimization |
US9184983B2 (en) | 2010-08-26 | 2015-11-10 | Futurewei Technologies, Inc. | Cross-stratum optimization protocol |
US9164806B2 (en) * | 2011-01-28 | 2015-10-20 | Oracle International Corporation | Processing pattern framework for dispatching and executing tasks in a distributed computing grid |
EP2500823A1 (de) | 2011-03-15 | 2012-09-19 | Siemens Aktiengesellschaft | Betrieb eines Datenverarbeitungsnetzes mit mehreren geografisch beabstandeten Datenzentren |
US8645957B2 (en) | 2011-08-02 | 2014-02-04 | Microsoft Corporation | Optimized datacenter management by centralized task execution through dependency inversion |
US9092566B2 (en) | 2012-04-20 | 2015-07-28 | International Drug Development Institute | Methods for central monitoring of research trials |
US9141430B2 (en) | 2012-04-30 | 2015-09-22 | Hewlett-Packard Development Company, L.P. | Scheduling mapreduce job sets |
US9164791B2 (en) * | 2012-07-02 | 2015-10-20 | International Business Machines Corporation | Hierarchical thresholds-based virtual machine configuration |
US20140149493A1 (en) | 2012-11-29 | 2014-05-29 | Utku Gunay ACER | Method for joint service placement and service routing in a distributed cloud |
US9306978B2 (en) | 2013-03-15 | 2016-04-05 | Bracket Computing, Inc. | Automatic tuning of virtual data center resource utilization policies |
US9418455B1 (en) * | 2013-04-12 | 2016-08-16 | Vmware, Inc. | Graphing parameters of a virtualized computing environment |
WO2014205585A1 (en) | 2013-06-28 | 2014-12-31 | Polyvalor, Société En Commandite | Method and system for optimizing the location of data centers or points of presence and software components in cloud computing networks using a tabu search algorithm |
US20150089203A1 (en) | 2013-09-23 | 2015-03-26 | Mitch Kline | Latency reduction in distributed computing environments |
US9471350B2 (en) * | 2013-09-26 | 2016-10-18 | Intel Corporation | Live migration of virtualized systems |
KR20150080183A (ko) | 2013-12-30 | 2015-07-09 | 주식회사 케이티 | 데이터 센터 네트워크의 동적 트래픽 분배 방법 및 장치 |
US20150319081A1 (en) | 2014-03-14 | 2015-11-05 | Avni Networks Inc. | Method and apparatus for optimized network and service processing |
CN103885829A (zh) | 2014-04-16 | 2014-06-25 | 中国科学院软件研究所 | 一种基于统计的虚拟机跨数据中心动态迁移优化方法 |
CN104158879B (zh) | 2014-08-18 | 2018-02-23 | 浪潮(北京)电子信息产业有限公司 | 一种分布式数据中心云管理平台架构系统及方法 |
CN104239141B (zh) | 2014-09-05 | 2017-07-28 | 北京邮电大学 | 数据中心中基于工作流关键路径的任务优化调度方法 |
-
2017
- 2017-02-27 JP JP2017034854A patent/JP6953738B2/ja active Active
- 2017-02-28 US US15/444,816 patent/US10691692B2/en active Active
- 2017-03-27 EP EP17163095.7A patent/EP3242209A1/en not_active Withdrawn
Also Published As
Publication number | Publication date |
---|---|
US10691692B2 (en) | 2020-06-23 |
JP2017199356A (ja) | 2017-11-02 |
EP3242209A1 (en) | 2017-11-08 |
US20170329824A1 (en) | 2017-11-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11269819B1 (en) | Managing consistency models in a distributed database | |
US11403297B2 (en) | Selecting resource configurations for query execution | |
TWI620075B (zh) | 用於雲端巨量資料運算架構之伺服器及其雲端運算資源最佳化方法 | |
Amjad et al. | A survey of dynamic replication strategies for improving data availability in data grids | |
JP6117378B2 (ja) | 分散型データベースクエリ・エンジン用のシステムおよび方法 | |
US11429609B2 (en) | Geo-scale analytics with bandwidth and regulatory constraints | |
Mahgoub et al. | {OPTIMUSCLOUD}: Heterogeneous configuration optimization for distributed databases in the cloud | |
JP6953738B2 (ja) | データセンターのネットワークにおいてクエリを実行する、コンピュータにより実施される方法 | |
CN111263938A (zh) | 基于规则的自主数据库云服务框架 | |
US11055352B1 (en) | Engine independent query plan optimization | |
US11468369B1 (en) | Automated processing of multiple prediction generation including model tuning | |
CN104050042A (zh) | Etl作业的资源分配方法及装置 | |
CN105940636B (zh) | 用于为数据中心的工作负荷生成分析模型的方法及服务器 | |
Ji et al. | Wide area analytics for geographically distributed datacenters | |
Chen et al. | Cost-effective resource provisioning for spark workloads | |
CN116057518A (zh) | 使用机器学习模型的自动查询谓词选择性预测 | |
WO2018022395A1 (en) | Artificial intelligence-based caching mechanism | |
US20230124100A1 (en) | Low-Latency Data Management And Query Processing Cross-Optimizations | |
US20230205664A1 (en) | Anomaly detection using forecasting computational workloads | |
Zhang et al. | An optimal container update method for edge‐cloud collaboration | |
Kumar et al. | Cost model for pregel on graphx | |
Nardelli | QoS-aware deployment and adaptation of data stream processing applications in geo-distributed environments | |
Cano | Optimizing distributed systems using machine learning | |
US20230244982A1 (en) | Optimization of tuning for models used for multiple prediction generation | |
US20230244720A1 (en) | Access of data and models associated with multiple prediction generation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20191112 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20200817 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20200915 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20201028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20210202 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20210402 |
|
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: 20210831 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20210913 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6953738 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |