22

Javascript 分散コンピューティング フレームワーク/プロジェクトがないのはなぜですか? このアイデアは、次の理由から、私には絶対に素晴らしいと思われます。

  • クライアントはブラウザ
  • 繰り返しはAJAXで行うことができます
  • ウェブマスターは、それぞれの Javascript をリンクすることでプロジェクトを支援できます
  • 数百万、さらには数十億のユーザーが、気付かないうちに DC プロジェクトを支援する

この件についてあなたの意見を共有してください。

編集: また、JSDC にはどのような問題が適していると思いますか?

たとえば、GIMPSを実装することは不可能です。

4

9 に答える 9

7

Webワーカーはまもなく分散コンピューティングフレームワークの作成に使用されると思います。この概念には初期の試みがいくつかあります。ノンブロッキングコードの実行は、setTimeoutを使用する前に実行できた可能性がありますが、ほとんどのブラウザーベンダーが最近、JSエンジンの最適化に焦点を合わせているため、少し意味があります。これで、コードの実行が高速になり、新機能が追加されたため、Webを閲覧するときにバックグラウンドで無意識のうちにいくつかのタスクを実行するのは、おそらく数か月の問題です;)

于 2009-08-11T00:07:11.513 に答える
5

ここで「ユーザーの権利」について述べるべきことがあります。Foo.com のウェブマスターが、たとえば、Folding@Home のスクリプトをサイトに組み込んでいる状況について説明しているようですね。その結果、Foo.com へのすべての訪問者は、Foo.com から移動するまで、CPU の一部を Folder@Home に「寄付」されます。なんらかの免責事項やオプトインがなければ、私はそれを一種のマルウェアと見なし、それを行ったサイトにアクセスすることを避けます.

確認や許可を求めるシステムを構築できなかったわけではありませんが、悪用される可能性は確実にあります。

于 2009-08-10T23:57:52.953 に答える
4

私はアイテムの推薦の文脈でこれを自分で考えました。

まず、速度は問題ありません!JIT コンパイルされた JavaScript は、特に数値コードの場合、最適化されていない C と同じくらい高速です。

より大きな問題は、バックグラウンドで JavaScript を実行するとブラウザの速度が低下することです。したがって、Web サイトの実行速度が遅いため、ユーザーは Web サイトを気に入らない可能性があります。

明らかにセキュリティの問題がありますが、どのように結果を確認できますか?

プライバシーについても、機密データが危険にさらされていないことを確認できますか?

その上、なかなか大変なことです。あなたが受ける訪問の数は、あなたがそれに費やさなければならない努力を正当化することができますか? サーバー側またはクライアント側のいずれかでコードを透過的に実行できるとよいでしょう。他の言語を JavaScript にコンパイルすると、ここで役立ちます。

要約すると、それが普及していない理由は、開発者の時間はサーバー時間よりも価値があるためです。ユーザーデータを失うリスクとユーザーへの不便は、潜在的な利益を上回ります。

于 2010-11-08T13:15:03.647 に答える
3

私が最初に思いつくのはセキュリティです。私が知っているほとんどすべての分散プロトコルは暗号化されているため、セキュリティ リスクを防ぐことができます。このテーマはそれほど革新的ではありませんが..

http://www.igvita.com/2009/03/03/collaborative-map-reduce-in-the-browser/

また、 Wualaは Java アプレットを使用して実装される分散システムです。

于 2009-08-10T23:43:32.780 に答える
1

pluraprocessing.com が同様のことを行っていることは知っていますが、正確に javascript かどうかはわかりませんが、ブラウザーを介して Java を実行し、厳密なセキュリティで完全にメモリ内で実行されます。

50,000 台のコンピュータ グリッドがあり、Web クロール (80 レッグ) のようなアプリケーションを正常に実行しています。

于 2011-01-10T10:58:42.813 に答える
1

何らかの問題で結果を検証できると思います。

n個のアイテムがあり、それをソートする必要があるとしましょう。これを worker-1 に渡すと、worker-1 が結果を返します。O(n)回検証できます。結果が生成されるまでに少なくとも O(n*log(n)) の時間がかかることを考慮してください。さらに、n個のアイテムの大きさを考慮する必要がありますか? (通信速度が気になる)

別の例、f(x)=12345、および関数が与えられます。目的は、x の値を見つけることです。x をワーカーの結果に置き換えることでテストできます。検証できない問題の中には、誰かに与えるのが難しいものもあると思います。

于 2011-10-21T02:12:49.747 に答える
-1

一番の問題は、コンピューティングにおける JavaScript の非効率性だと思います。純粋な c/c++ のアプリケーションは 100 倍高速になるため、それだけの価値はありません。

于 2009-08-10T23:46:09.233 に答える