分散ストレージシステムにおけるDHTアルゴリズムの改善

分散ストレージシステムにおけるDHTアルゴリズムの改善

1. 概要

通常、分散ストレージ システムや分散キャッシュ システムでは、分散ハッシュ (DHT) アルゴリズムを使用してデータの分割 (ルーティング) と負荷分散を実現します。通常の分散ハッシュ アルゴリズムは、仮想ノードを追加することで物理的なホットスポットを分割し、負荷を他のノードに分散することで負荷分散を実現します。ただし、これではクラスターの負荷が完全に分散されることは保証されません。

改良されたコンシステントハッシュアルゴリズム、すなわち境界係数を備えたコンシステントハッシュアルゴリズムは、各ノードの負荷を厳密に制御し、より優れた負荷分散効果を実現できます[1][2]。

[[222256]]

2. 通常のDHTアルゴリズム

以下に示す DHT アルゴリズムを使用して、オブジェクトが 8 個あると仮定します。

オブジェクト 0,1,2 は仮想ノード vNode0 にマップされます: オブジェクト 0,1,2 --> vNode0

オブジェクト 3,4,5 は vNode1 にマップされます: オブジェクト 3,4,5 --> vNode1

オブジェクト 6 は vNode2 にマップされます: オブジェクト 6 --> vNode2

オブジェクト 7 は vNodeN にマップされます: オブジェクト 7 --> vNodeN

明らかに、Vnode0 と vNode1 には 3 つのオブジェクトがありますが、vNode2 と vNodeN には 1 つのオブジェクトしかありません。DHT アルゴリズムの負債バランス係数はあまり良くありません。

3. 負荷境界係数を用いたDHTアルゴリズム

以下に示すように、制限付き負荷アルゴリズムを使用した DHT を使用し、オブジェクトが 8 個あると仮定します。

マッピングの第 1 ラウンド:

オブジェクト 0、1、2 は仮想ノード vNode0 にマップする必要がありますが、vNode0 の重み係数は 2 であるため、オブジェクト 0、1 --> vNode0 のみが完了し、オブジェクト 2 はノード vNode0 にマップできません。

オブジェクト 3、4、5 は仮想ノード vNode1 にマップする必要があります。ただし、vNode1 の重み係数は 2 なので、オブジェクト 3、4 --> vNode1 のみが完了し、オブジェクト 5 はノード vNode1 にマップできません。

オブジェクト 6 は vNode2 にマップされます: オブジェクト 6 --> vNode2

オブジェクト 7 は vNodeN にマップされます: オブジェクト 7 --> vNodeN

マッピングの2回目のラウンド:

オブジェクト 2 は vNode1 にマッピングされていますが、vNode1 の重み係数は 0 であるため、受信できません。次のノードに移動すると、vNode2 の重み係数は 2 であり、残りの重み係数は 1 であるため、マッピングできることがわかります。したがって、オブジェクト 2 --> vNode2

オブジェクト 5 は vNode2 にマッピングされていますが、vNode2 の重み係数は 0 であるため、受信できません。次のノードに進むと、vNodeN の重み係数は 2 であることがわかります。残りの重み係数は 1 であるため、マッピングできます。したがって、オブジェクト 5 -->vNodeN

最終的なマッピング結果は

オブジェクト 0,1 は仮想ノード vNode0 にマップされます: オブジェクト 0,1 --> vNode0

オブジェクト 3,4 は vNode1 にマップされます: オブジェクト 3,4 --> vNode1

オブジェクト 2,6 は vNode2 にマップされます: オブジェクト 2,6 --> vNode2

オブジェクト 5,7 は vNodeN にマップされます: オブジェクト 5,7 --> vNodeN

明らかに、Vnode0、vNode1、vNode2、vNodeN の各ノードは 2 つのオブジェクトに分割されます。

明らかに、負荷境界係数を使用した DHT アルゴリズムの負債バランスは、通常の DHT アルゴリズムよりも優れています。

これらのノードの負荷係数は、IO、CPU、MEM、ディスク、ネットワークなどの入力係数から計算できます。

参考文献

[1] https://research.googleblog.com/2017/04/consistent-hashing-with-bounded-loads.html

[2] https://medium.com/vimeo-engineering-blog/improving-load-balancing-with-a-new-consistent-hashing-algorithm-9f1bd75709ed

<<:  最新の! 2018年中国プログラマーの給与と生活に関する調査レポート

>>:  一貫性ハッシュアルゴリズムと分散ストレージへの応用

ブログ    
ブログ    

推薦する

知能ロボットの主要技術:製造分野の知能化を推進

国家発展改革委員会から最近明らかになったところによると、インターネット、ビッグデータ、人工知能と実体...

AIGCの投資刺激策のおかげで、マイクロソフトとグーグルのクラウドコンピューティング事業は大幅に成長した

MicrosoftとGoogleはAI市場の支配を競っており、両社ともAIハードウェアに多額の投資を...

OpenAIがChatGPTをアップデート:画像と音声入力をサポート

最近、OpenAI は ChatGPT の新バージョンのリリースを発表し、音声入力と画像入力という ...

ビッグデータとアルゴリズムについて言えば、これらを知っておくことはあなたにとって大きな利益となるでしょう

この記事では、ビッグデータ アルゴリズムを理解するプロセスをまとめます。本文は、アルゴリズムに関する...

世界で最も強力なオープンソース モデルが一夜にして所有者が変わりました。 Google Gemma 7B が Llama 2 13B を圧倒、オープンソース戦争が再燃

真夜中に雷鳴が轟いた。Google は本当に LLM をオープンソース化したのか? !今回、オープン...

Ant Marketingの推奨シナリオにおける因果修正法

1. 因果修正の背景1. 逸脱の発生推奨システムは、収集されたデータに基づいて推奨モデルをトレーニン...

なぜ大国は陸上戦闘ロボットで競争しているのでしょうか?

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

...

AI+3Dカメラ:iPhone 10から見るスマートフォンの新たな変化の方向性

[[203631]]今年はiPhone発売10周年の年です。 9月13日午前1時(北京時間)、アップ...

AI プロジェクトを開始する前に尋ねるべき 4 つの重要な質問

今日、ますます多くの企業が人工知能プロジェクトを立ち上げていますが、成功しないプロジェクトもあります...

李開復氏:若者は人工知能に取って代わられない仕事を探すべきだ

AlphaGo が囲碁のゲームを解読した日、人類は自分たちの仕事が AI に置き換えられるのではない...

ディープラーニングと靴を組み合わせると、誰かがそれを使ってストレスレベルを検出しようとします。ワイヤレス操作、84%の精度

ビッグデータダイジェスト制作著者: カレブ現代人の生活プレッシャーはますます大きくなっていると言わざ...

人工知能を開発するには何が必要ですか?

独自の人工知能システムを構築するにはどうすればよいでしょうか?多くのことと同様に、答えは「それは状況...

エッジAIがIoTと自動化の分野にもたらす変化

エッジ AI は IoT および自動化分野のゲームのルールを急速に変え、業界の運営方法に革命をもたら...

インターネットの価値観を修正するガバナンスアルゴリズム

最近、中国サイバースペース管理局は「インターネット情報サービスアルゴリズム推奨管理規則(草案)」(以...