# やりたいこと

ゴミPC(RAMが4GB、CPUがCeleronなど)を集めて、ひとつの高性能なPCのように扱いたい。  
例えば4台のマシンを使ってPhotoshopをサクサク動かせる環境を整えたい。

# 現状

上記目標を達成するにはHPCという分野の技術が使えそうだと検討を付けたのですが、  
調べても科学技術計算関連の話題しかなく困っています。

# 教えて欲しいこと

Windowsやmacで動くような一般的なソフトウェアを、複数のPCを束ねた仮想PC上で動作させるには  
どのような手段があるのでしょうか？例えば使用するアプリの名前や、プロトコルの名前などがあれば  
先に進めるのですが。
CC BY-SA 4.0
2021-01-28T11:45:09.493
73649
2021-01-28T12:29:29.153
43717
question
linux windows macos
ゴミPCを集めて任意のプログラムを動かしたい
> Windowsやmacで動くような一般的なソフトウェアを、複数のPCを束ねた仮想PC上で動作させる

既存の分散処理に非対応なソフトに何も手を加えること無く、制約なく複数PCで分散実行させるということであれば困難だと思います。  
(例えばVirtualBoxのような仮想マシンソフトでスレッドの処理を別マシンに分散させるようなものとか、この世に無いとは断言は出来ませんが…)

ただ分散処理に対応したソフトウェアという意味であればそのようなソフトはあったと思います。画像/映像分野でレイトレーシングとか3Dモデリングとかレンダリングとかのソフトではそういう分散実行機能を持つようなものがあったような気はします。(PhotoShopはどうなのかは知りません)

以下、自分で分散実行処理を作り出すということであれば、キーワード的なものを挙げると次のようなものが思いつきました。(最近のものは挙げることが出来ていないと思います)

  * MPI(同一アーキテクチャの複数マシンの複数プロセス間でメッセージ通信するプロトコルとそのプログラム実装)
  * PVM(MPIと同様の仕組みだが、複数アーキテクチャのスペックの違うマシンをかき集めて使うことが出来る)
  * distcc(コンパイルを複数マシンで分散して行うCコンパイラのフロントエンド)
CC BY-SA 4.0
2021-01-28T12:29:29.153
73653
2021-01-28T12:29:29.153
30745
73649
answer