2009-03-03 5 views
0

私はアルゴリズムのようなRAID(ディスク)を使用するプログラムを構築することを考えていました。 1台のコンピュータが死亡した場合。次はその場所に入ります。そして、それは1台から1000台のコンピュータまで拡張する必要があります。ネット上の複数のコンピュータに分散した堅牢なリンクリストを構築するにはどうすればよいですか?

私はいくつかのアドバイスが必要です。

私は学ぶ必要があるアルゴリズムの名前は何ですか?

ある時点では、gitの上に構築することが可能だと思いました。

答えて

-1

BitTorrent? :)

+0

笑。それはとても明白でしたか? – Flinkman

+0

スマイリーを削除するのは少し上にあるようです... –

+0

実際には、BitTorrent上に分散ストレージシステムを構築する可能性があります。 –

5

Googleファイルシステムのpaperをお読みください。概要:

大規模な分散データ集約型アプリケーション用のスケーラブルな分散ファイルシステムであるGoogle File Systemを設計して実装しました。安価なコモディティハードウェアで実行しながらフォールトトレランスを提供し、多数のクライアントに高い総合パフォーマンスを提供します。

-1

memcachedのようなものを作成できます。各ハッシュエントリは、ファイルブロック(例えば、ブロックからコンテンツへのSHAハッシュ)であってもよい。私の心の中へ

0

MapReduceアルゴリズムをチェックしてください。それは、アルゴリズム設計者にロックや通信などについて考えるような高いスケーラビリティを得るための比較的簡単な方法です。例えば、オープンソースのApache基盤のオープンソースHadoopがあります。

3

お試しHazelcast Set、Listなどの実装を分散しています。 Hazelcastは、キュー、トピック、マップ、セット、リスト、ロック、およびExecutorサービスのオープンソースのトランザクション、分散/パーティション化された実装です。それは非常に扱いやすいです。 hazelcast.jarをクラスパスに追加してコーディングを開始するだけです。ほとんど設定が必要ありません。

HazelcastはApacheライセンスでリリースされ、エンタープライズグレードのサポートも利用できます。コードはGoogle Codeでホストされています。

+0

リンクを提供できますか? List(http://docs.hazelcast.org/docs/latest/manual/html/list.html)が見つかりましたが、 "Hazelcast Listは単一のマシンの容量を超えて拡大縮小できません。"それとも別の話をしているのですか? – nha

1

私はHadoopとGoogle File Systemの両方を見てきましたが、誰も具体的にはHDFS - Hadoopに付属している分散ファイルシステムについて言及していません。必要な冗長性レベルを設定し、データを失うことなく時折ノードを失うことがあります。

警告:「namenode」(マスターマシンとHDFSクラスタの単一障害点)を保持しているマシンの1つが、ソリッドRAIDミラーリング、バックアップ、および動作であることを確認する必要があります。あなたはnamenodeを失う、あなたはクラスターを失う。

-1

Appistry EAFをチェックしてください。その分散実行プラットフォームです。それはあなたのためのタスクのすべてのフェールオーバーを処理するので、あなたのコードにそれを構築する必要はありません。 1つのノードに障害が発生すると、別のノードが自動的に引き継ぎます。 Gridとは異なり、集中型コントローラはありません。これらのソリューションの単一障害点/ボトルネックを排除することができます。

5台まで無料でダウンロードできます。

0

1)あなたのように、分散ロック/ミューテックスを使用することができます。

SQRT(N)アルゴリズムは、分散システムにおける相互排除のために、前川によって:http://portal.acm.org/citation.cfm?id=214445

分散ロックベースの同期のパフォーマンスに、LubowichとTaubenfeldによって:Fomitchevにより、

ロックフリーリンクリストとリストをスキップ:http://portal.acm.org/citation.cfm?id=1946155

2)それとも、のようにロックフリーリンクリストを使用することができますとルパート:ヴァロワにより、比較交換を使用してhttp://www.cse.yorku.ca/~ruppert/papers/lfll.pdf

ロックフリーリンクリスト:http://portal.acm.org/citation.cfm?id=224988

関連する問題