並列仮想マシンとは何ですか?
並列仮想マシンは、複数の独立したコンピューターを地理的に分散させてネットワークとして相互に接続し、システムの処理能力とメモリを1つのアプリケーションに貸し出すことができるソフトウェアアプリケーションです。
製造コストの変化と家庭用コンピューターの人気により、消費者市場における非常に強力なコンピューターの手頃な価格が向上しました。 これらのマシンは、標準のソフトウェアアプリケーションでは十分に活用されていないため、処理能力が豊富です。 並列仮想マシンソフトウェアにより、これらのリソースをプールしてアクセスし、大規模で複雑な科学的、医学的、または産業的な問題を解決できます。
パラレル仮想マシンは、1989年にAl GeistによってOak Ridge National Labsで最初に作成されました。 そこの仕事に基づいて、プロジェクトは1991年3月にテネシー大学で拡張され、それ以来着実に成長しています。
並列仮想マシンシステムには2つの部分があります。個々のマシンにあるアプリケーションと、インターフェイスルーチンのライブラリです。 ソフトウェアアプリケーションは、並列仮想マシンデーモン、pvmd3、またはpmvdと呼ばれます。 この小さなプログラムは、並列仮想マシンアプリケーションの実行が必要になるまで受動的に動作します。 ユーザーがこのタイプのプログラムを実行する場合、最初に並列仮想マシンを起動する必要があります。 これにより、他のホスト上のソフトウェアにアクセスできます。
並列仮想マシンルーチンライブラリは、個別のホストで実行されるさまざまなタスクを調整するために必要なすべてのコードの完全なリストをすべて保持しています。 このライブラリには、メッセージの受け渡し、タスクの調整、および仮想マシン自体への変更のための標準ルーチンが含まれています。
並列仮想マシンの背後にある中核となる概念は、アプリケーションには独立して実行できる複数のタスクがあることです。 このタイプのロジックは、複雑な科学計算で非常に一般的です。 並列仮想マシンで使用される2つのモデルがあります。 機能的およびデータ並列性。
機能的な並列処理により、アプリケーションは明確に定義された独立したタスクに分離されます。 これらのタスクは、個別のホストマシンで実行されます。 並列仮想マシンは、入力、ソリューション、出力、表示などの機能に基づいて調整するために使用されます。
データ並列処理または単一プログラム複数データ(SPMD)がより一般的な方法です。 この方法では、すべてのタスクは同じですが、各ホストは大きなパズルの小さな断片を解いています。 並列仮想マシン環境は両方の方法をサポートします。これは、必要な計算に応じてこれら2つの方法を組み合わせることが最も効果的である可能性があるため重要です。
C、C ++、およびFortranは、並列仮想マシンで使用されるコンピュータープログラミング言語です。 これらの言語が選択されたのは、この環境で使用されるほとんどのアプリケーションがこれらの言語で構築されたためです。 並列仮想マシンソフトウェアのソースコードはインターネットで広く利用可能であり、ftp、www、xnetlib、または自動電子メールを介してアクセスできます。