[P2P]DHTによる分散コンピューティング(メモ)
分散コンピューティングについては全然詳しくないので、これから勉強しなければならないのだが、DHT(分散ハッシュ)を使うとどうなるか考えてみた。
手順はこんな感じかな。
1)参加するノードはNode_IDが付いている。ただし、例えば通常スペックのノードのNode_IDは1xxxxxx、ハイスペックノードのNode_IDは2xxxxxxとしよう。xは任意の数。(0~9)
2)あるノードがプログラムを分散コンピューティングできるように複数のタスクに分割する。
3)タスクについて、重み付けを考える。重い処理のノードはタスクをNode_ID=2xxxxxxに投げる。軽い処理はNode_ID=1xxxxxxに投げる。
4)タスクを受け取ったノードは自分でタスクを処理する。
5)処理したノードはタスクの結果を元のノードに返す。
この場合、充分ノードが多ければ処理を負荷分散することはある程度可能だ。ただし、実際にノードがどのくらいリソースを使っているか判断してそれによって負荷分散することはできない。
もしかすると、ノードの状態を把握するために、あるノードに管理情報を投げ、そのノードがどのノードにタスク処理をさせるか決定させた方が良いかもしれない。
また、ノードが落ちた時に、他のノードがそれをリカバリーすることを考えていない。この機能は必須かもしれない。
もうちょっと考えてみるか。。。
| 固定リンク
「パソコン・インターネット」カテゴリの記事
- iPhoneのスクリーンショットを自動的にメールに投稿するテクニック[IFTTT](2014.11.23)
- WebRTC研究会開催のお知らせ(2014年12月開催予定)(2014.08.24)
- 「Gunosyオフィスツアー」を振り返る〜世界一のニュースアプリを目指すために(2014.06.01)
- Gunosyオフィスツアーの参加者募集を開始しました!(5月9日[金]開催)(2014.04.29)
- 第4回Twitter研究会(5/18[土])の講演スケジュール(2013.05.10)
この記事へのコメントは終了しました。
コメント