ホームページ よくある問題 分散コンピューティングとは何ですか?

分散コンピューティングとは何ですか?

Jun 18, 2020 pm 03:50 PM
配布された

分散コンピューティングとは何ですか?

#分散コンピューティングとは何ですか?

分散コンピューティングは、集中型コンピューティングとは反対のコンピューティング手法です。分散コンピューティングでは、アプリケーションを多くの小さな部分に分解し、それらを複数のコンピューターに割り当てて処理するため、全体の計算時間が節約され、大幅に計算時間が短縮されます。計算効率。


分散コンピューティングの定義

広義の定義

膨大なコンピューティング能力を必要とするシステムを変換する方法を研究する解くべき問題は多くの小さな部分に分割され、それらの部分が多くのコンピュータに割り当てられて処理され、最後に計算結果が結合されて最終的な結果が得られます。

最近の分散コンピューティング プロジェクトでは、インターネットを介して世界中の何千台ものボランティア コンピューターのアイドル状態のコンピューティング能力を利用して、宇宙からの電気信号を分析し、隠されたブラック ホールを探索しています。地球外知的生命体の存在、1,000 万桁を超えるメルセンヌ素数を検索できるほか、HIV に対してより効果的な薬を検索して発見することもできます。これらのプロジェクトは非常に大規模で、膨大な量の計算が必要となるため、1 台のコンピューターや個人が許容できる時間内に完了することは絶対に不可能です。

中国科学院の定義

2 つ以上のソフトウェアが相互に情報を共有する場合、これらのソフトウェアは同じコンピュータ上で実行することも、ネットワークを介して接続された複数のコンピュータ上で実行することもできます。分散コンピューティングには、他のアルゴリズムに比べて次の利点があります:

1. 希少なリソースを共有できます。

2. 分散コンピューティングにより、複数のコンピューターでコンピューティングの負荷を分散できます。

3. プログラムは、その実行に最適なコンピューターに配置できます。

その中でも、希少なリソースを共有し、負荷を分散することは、コンピュータ分散コンピューティングの中核となるアイデアの 1 つです。

グリッド コンピューティング

グリッド コンピューティングは、分散コンピューティングの一種です。ある業務を分散させる場合には、それが 1 台のコンピュータではなく、コンピュータ ネットワークで行われる必要があり、この「アリが山を動かす」アプローチは、強力なデータ処理能力を備えています。

グリッド コンピューティングの本質は、リソースを組み合わせて共有し、システムのセキュリティを確保することです。

動作原理

分散コンピューティングは、インターネット上のコンピュータの中央プロセッサのアイドル処理能力を使用して、大規模なコンピューティングの問題を解決するコンピューティング サイエンスの一種です。以下で、それがどのように機能するかを見てみましょう:

まず、解決するために大量の計算能力を必要とする問題を見つけます。このような問題は一般に学際的で、非常に困難であり、人類が緊急に解決する必要がある科学研究のテーマです。より有名なものは次のとおりです。

GIMPS (最大のメルセンヌ素数を見つける) など、より複雑な数学的問題を解決します。

RC-72 (パスワード クラッキング) など、最も安全なパスワード システムを見つけるための研究。

生物病理学的研究: Folding@home (タンパク質の折り畳み、誤解、凝集、およびこれによって引き起こされる関連疾患の研究)。

United Devices (がんに対する効果的な薬の発見) など、さまざまな病気の薬物研究。

信号処理: SETI@Home (自宅で地球外文明を探索)。

かつて、これらの問題はスーパーコンピューターによって解決されると考えられていました。しかし、スーパーコンピューターの構築と維持にかかる費用は非常に高額であり、通常の科学研究機関が負担できる金額ではありません。科学の発展に伴い、安価で効率的で保守が容易なコンピューティング手法、つまり分散コンピューティングが登場しました。

コンピュータの普及により、パーソナル コンピュータが数千の家庭に普及し始めています。これに伴い、コンピュータの利用の問題も生じます。アイドル状態にあるコンピュータが増えており、たとえ電源が入っていても、中央処理装置の可能性が完全に活用されるには程遠い状態です。家庭用コンピュータはほとんどの時間を「待機」に費やしていると想像できます。ユーザーが実際にコンピュータを使用しているときでも、プロセッサは依然として多くのサイレント作業 (入力を待っているが、実際には何も行っていない) を実行しています。インターネットの出現により、限られたコンピューティング リソースでこれらすべてのコンピュータ システムを接続して呼び出すことが現実になりました。

次に、それ自体は非常に複雑ですが、多数の小さなコンピューティング部分に分割するのに適したいくつかの問題が提案され、研究機関によって多くの労力をかけてコンピューティング サーバーが開発されます。仕事もクライアントも。サーバーは、計算問題を多数の小さな計算部分に分割し、それらの部分をネットワークに参加している多数のコンピューターに割り当てて並列処理し、最後にこれらの計算結果を統合して最終結果を取得する役割を果たします。

もちろん、これは原始的で難しいように思えるかもしれませんが、計算に関与する参加者とコンピューターの数が増加し続けるにつれて、計算計画は非常に高速になり、実際に実行可能であることが証明されています。 。現在、一部の大規模分散コンピューティング プロジェクトの処理能力は、世界最速のスーパーコンピューターに達するか、それを超える可能性があります。

特定のプロジェクトに参加して CPU コアの処理時間を寄付することもできます。提供した CPU コアの処理時間がプロジェクトの貢献統計に表示されることがわかります。他の参加者と競い合って、貢献時間のランキングを取得したり、既存のコンピューティング グループに参加したり、独自のコンピューティング グループを結成したりすることができます。このアプローチは、参加者のモチベーションを高めるのに最適です。

プライベート チームの数が徐々に増加するにつれて、多くの大規模な組織 (企業、学校、さまざまな Web サイトなど) も独自のチームを結成し始めています。同時に、分散コンピューティング技術やプロジェクトのディスカッションをテーマとしたコミュニティも多数形成されており、これらのコミュニティのほとんどは、分散コンピューティング プロジェクトの使用法チュートリアルの翻訳と作成、関連する技術記事の公開、および必要な技術サポートを提供しています。

それでは、誰がこれらのプロジェクトに参加できるのでしょうか? もちろん誰でも参加できます! すでにプロジェクトに参加していて、コンピューティング グループへの参加を検討したことがある場合は、中国分散コンピューティング センターおよびフォーラムで見つけることができます。ここ。私たちのサイトが形成する分散コンピューティング グループには誰でも参加できます。中国分散本部とフォーラムを楽しんでいただければ幸いです。

分散コンピューティングに参加する - パーソナル コンピュータを最大限に活用するための最も有意義なオプションの 1 つ - 関連するプログラムをダウンロードするだけで、このプログラムは優先度が最も低いコンピュータ上で動作するようになります。コンピューターの通常の使用には影響しません。コンピュータを使って空いた時間を何か役に立つことをしたいと思っているのに、なぜ躊躇するのでしょうか?今すぐ行動を起こしてください。あなたのささやかな貢献が、人類科学の発展の歴史に大きな足跡を残すかもしれません。

BOINC 分散コンピューティング プラットフォーム

BOINC は、Berkeley Open Infrastructure for Network Computing の略称で、Berkeley Open Network Computing Platform です。

BOINC は、さまざまな分散コンピューティングで共有できる分散コンピューティング プラットフォームです。さまざまな分散コンピューティング プロジェクトは、BOINC のパブリック アップロードおよびダウンロード システム、統計システムなどを直接使用できます。これにより、さまざまな分散コンピューティング間の調整が機能するだけでなく、分散コンピューティングの管理と使用がより便利で使いやすくなります。

BOINC プロジェクトは、カリフォルニア大学バークレー校 (U.C. Berkeley) によって後援されています。

BOINC プロジェクトは、国立科学財団によって後援されています。

BOINC で実行できるプロジェクトは多岐にわたるため、BOINC には独自のポイント システムがあります。たとえば、プロジェクト A のタスク パッケージ (ワークユニット、略して WU) は、特定のマシンで完了するまでに 3 時間かかります。一方、プロジェクト B のタスク パッケージは、このマシンで完了するまでに 30 時間かかります。明らかに、WU の数によってワークロードを測定することは現実的ではありません。同様に、マシンのパフォーマンスも変化し、ワークロードを WU の数によって測定することはさらに不可能です。 CPU時間。積分系では、ユーザーが実際に計算した量を一定のアルゴリズムでしか求めることができませんが、この記事ではBOINCにおける積分計算の方法について解説します。

中国の分散コンピューティング

中国インターネット情報センター (CNNIC) の統計によると、世界の中国人ネットユーザーの数は約 12% に増加し、現在も急速に増加しています。ここで言及される中国のネットユーザーには、中国本土、香港、マカオ、台湾、および華僑の人々が含まれます。

中国におけるインターネットの急速な発展と比較して、中国の分散コンピューティングの発展は遅いです。私の考えでは、インターネット ユーザーの数に関する統計は、その国の情報化のレベルをあまり客観的に反映することはできませんが、分散コンピューティングに参加しているインターネット ユーザーの数または割合は、その国の科学普及のレベルを明確に示すことができます。この点においては、欧米諸国が非常にリードしていることは疑いの余地がありません。北欧諸国では、すべてのコンピュータのほぼ半数が分散コンピューティング プロジェクトに参加しており、これは驚くべき数です。中国とインドを見てみますと、我が国は最新の技術を多く持っており、ネットワークの普及の過程で好調に見えますが、分散コンピューティングには非常に弱いです。いくつかの例を見てみましょう:

SETI@home は世界最大の分散コンピューティング プロジェクトです。また、参加者数の点で中国で最も有名なプロジェクトでもあります。ネットワークに接続されたコンピューターを使用して、電波望遠鏡で受信した信号を分析するプログラムをダウンロードすることで、地球外生命体の痕跡を探します。

中国は分散コンピューティングで進歩し、中国の国際ランキングは 29 位から 24 位に上昇しましたが、中国のユーザーはまだ日本のユーザーが完了する作業の 10 分の 1 しか完了していません。一方、この高度に発展した国である日本は、中国よりもインターネットユーザーが少ない。インターネットユーザーの質を向上させ、科学の普及を促進することも非常に重要であると思われます。インドや一部の中東諸国も同様の問題を抱えており、この点では中欧諸国の方が明らかに優れており、多くのCIS諸国が完了したデータの量はロシア連邦の総量を上回っている。

Folding@home は、タンパク質のフォールディング、誤解、凝集、およびそれらによって引き起こされる関連疾患を研究する分散コンピューティング プロジェクトです。これは、ネットワーク化されたコンピューティングと大量の分散コンピューティング能力を使用して、タンパク質のフォールディングのプロセスをシミュレートし、フォールディングによって引き起こされる疾患に関する一連の研究を導きます。

中国でこのプロジェクトに参加する人の数は増え続けており、2011 年 3 月末現在、中国 3213 チームのユーザー数は 3,025 人に達し、アクティブ ユーザーは約 190 人です。

このプロジェクトに参加する Climateprediction プロジェクトでは、最新の気候予測モデルを使用して、家庭、学校、オフィスのコンピューターで計算を実行します。これらの計算の結果は、世界最大の気象予測モデルを形成することになります。気候は変化しており、それに対して私たちが何をすべきかは世界的な重要なテーマです。これは、人間の農業生産、水資源、生態系、エネルギー需要、保険コスト、その他人間に密接に関係する多くの側面に影響を与えるでしょう。今後数世紀にわたって地球が温暖化する可能性が高いという確かな科学的証拠はありますが、その変化がどの程度になるかを見積もる方法はありません。あなたが参加すれば、21 世紀の気候科学予測に情報を提供するのに役立ちます。

中国にはすでに多くのコンピューターがあり、その多くは非常に高度な性能を持っています。そして、そのほとんどは単に文字を入力してスライドを再生するだけです。これは資源の無駄遣いと言わざるを得ません。

別の視点から見ると、先進国と発展途上国の間のギャップを見つけるのは難しくありません。私たちはこの現象をデジタルデバイドと呼んでいます。もう 1 つの現象も同様に悲惨で、すべての分散コンピューティング プロジェクトは米国、ドイツ、英国、日本などの先進国によって開始されており、この側面でも科学的格差が深まります。スタンフォード大学化学科のゴーラム・リチャード・チェルマン教授は、分散コンピューティングは人類全体の科学プロセスを加速すると述べた。科学者は、これまで完了することを考えていなかった、または完了するまでに数十年または数百年かかったであろう計算タスクを達成することができます。確かにその通りだが、この計算は先進国の科学独占にある程度寄与している。

中国の関連部門も分散コンピューティングの重要性を認識し始めており、一部の大学教授や科学者も分散コンピューティング科学を研究し始めています。たとえば、中国科学院の CAS@HOME や清華大学の「清水プロジェクト」。

推奨チュートリアル:「PHP

以上が分散コンピューティングとは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Redis を使用して分散データ同期を実現する方法 Redis を使用して分散データ同期を実現する方法 Nov 07, 2023 pm 03:55 PM

Redis を使用して分散データ同期を実現する方法 インターネット テクノロジーの発展とアプリケーション シナリオのますます複雑化に伴い、分散システムの概念がますます広く採用されています。分散システムでは、データの同期は重要な問題です。高性能のインメモリ データベースである Redis は、データの保存に使用できるだけでなく、分散データ同期の実現にも使用できます。分散データ同期には、通常、パブリッシュ/サブスクライブ (パブリッシュ/サブスクライブ) モードとマスター/スレーブ レプリケーション (マスター/スレーブ) の 2 つの共通モードがあります。

Redis が分散セッション管理を実装する方法 Redis が分散セッション管理を実装する方法 Nov 07, 2023 am 11:10 AM

Redis が分散セッション管理を実装する方法には、特定のコード サンプルが必要です。分散セッション管理は、今日インターネット上で注目されているトピックの 1 つです。高い同時実行性と大量のデータに直面して、従来のセッション管理方法は徐々に不十分になりつつあります。 Redis は、高性能のキー/値データベースとして、分散セッション管理ソリューションを提供します。この記事では、Redis を使用して分散セッション管理を実装する方法と、具体的なコード例を紹介します。 1. 分散セッション ストレージとしての Redis の概要 従来のセッション管理方法は、セッション情報を保存することです。

MongoDB を使用して分散タスクのスケジューリングと実行を実装した経験を共有する MongoDB を使用して分散タスクのスケジューリングと実行を実装した経験を共有する Nov 02, 2023 am 09:39 AM

MongoDB は、高いパフォーマンス、スケーラビリティ、柔軟性を備えたオープンソースの NoSQL データベースです。分散システムではタスクのスケジューリングと実行が重要な課題となりますが、MongoDB の特性を活用することで、分散タスクのスケジューリングと実行ソリューションを実現できます。 1. 分散タスク スケジューリングの要件分析 分散システムでは、タスク スケジューリングは、実行のためにタスクをさまざまなノードに割り当てるプロセスです。一般的なタスク スケジューリング要件は次のとおりです。 1. タスク リクエストの分散: タスク リクエストを利用可能な実行ノードに送信します。

Swoole を使用して分散スケジュールされたタスクのスケジューリングを実装する方法 Swoole を使用して分散スケジュールされたタスクのスケジューリングを実装する方法 Nov 07, 2023 am 11:04 AM

Swoole を使用して分散スケジュールされたタスク スケジューリングを実装する方法 はじめに: 従来の PHP 開発では、スケジュールされたタスク スケジューリングを実装するために cron を使用することがよくありますが、cron は単一サーバー上でのみタスクを実行でき、同時実行性の高いシナリオには対応できません。 Swoole は、PHP をベースとした高性能の非同期同時実行フレームワークで、完全なネットワーク通信機能とマルチプロセスのサポートを提供し、分散スケジュールされたタスクのスケジューリングを簡単に実装できます。この記事では、Swooleを使用して分散スケジュールされたタスクのスケジューリングを実装する方法を紹介します。

Java開発実践体験共有:分散ログ収集機能の構築 Java開発実践体験共有:分散ログ収集機能の構築 Nov 20, 2023 pm 01:17 PM

Java開発の実践経験の共有:分散ログ収集機能の構築 はじめに: インターネットの急速な発展と大規模データの出現に伴い、分散システムの適用はますます広がっています。分散システムでは、ログの収集と分析は非常に重要な部分です。この記事では、Java 開発で分散ログ収集機能を構築した経験を共有し、読者の参考になれば幸いです。 1. 背景の紹介 分散システムでは、各ノードが大量のログ情報を生成します。これらのログ情報は、システム パフォーマンスの監視、トラブルシューティング、データ分析に役立ちます。

Redis を使用して分散キャッシュの一貫性を実現する Redis を使用して分散キャッシュの一貫性を実現する Nov 07, 2023 pm 12:05 PM

Redis を使用して分散キャッシュの一貫性を実現する 最新の分散システムでは、キャッシュが非常に重要な役割を果たします。これにより、データベースへのシステム アクセスの頻度が大幅に削減され、システムのパフォーマンスとスループットが向上します。分散システムでは、キャッシュの一貫性を確保するために、複数のノード間のデータ同期の問題を解決する必要があります。この記事では、Redis を使用して分散キャッシュの一貫性を実現する方法と、具体的なコード例を紹介します。 Redis は、永続化、レプリケーション、コレクションをサポートする高性能のキーと値のデータベースです。

Redis を使用して分散タスク スケジューリングを実装する Redis を使用して分散タスク スケジューリングを実装する Nov 07, 2023 am 08:15 AM

Redis を使用した分散タスク スケジューリングの実装 ビジネスの拡大とシステムの開発に伴い、多くの企業では、タスクを複数のノードで同時に実行できるように分散タスク スケジューリングを実装する必要があります。これにより、システムの安定性と可用性が向上します。システム。 Redis は高性能メモリ データ ストレージ製品として、分散、高可用性、高パフォーマンスの特性を備えており、分散タスク スケジューリングの実装に非常に適しています。この記事では、Redis を使用して分散タスク スケジューリングを実装する方法を紹介し、対応するコード例を示します。 1.Redisベース

Redis を使用して分散メッセージのパブリッシュとサブスクリプションを実装する方法 Redis を使用して分散メッセージのパブリッシュとサブスクリプションを実装する方法 Nov 07, 2023 am 09:39 AM

Redis を使用して分散メッセージのパブリッシュとサブスクリプションを実装する方法 はじめに: 分散システムでは、メッセージのパブリッシュとサブスクリプションは、異なるモジュール間の分離を実現できる一般的な通信モードです。高性能の Key-Value ストレージ システムとして、Redis を使用して分散メッセージのパブリッシュおよびサブスクリプション機能を実装できます。この記事では、Redis を使用してこの機能を実装する方法と、具体的なコード例を紹介します。 1. Redisのパブリッシュ・サブスクライブ機能 Redisのパブリッシュ・サブスクライブ機能は、メッセージキューをベースとした実装方法です。