分散処理環境VIOSは、図1のようなシステム構成をとっており、図のようにvios_run、vios_child、vs_makemoduleの3種類のプロセスから構成されます。
図1. VIOSのシステム構成
実行フロープログラムを入力とし、並列処理で使用される計算機の指定、その各計算機上へのモジュールの実行依頼、データの分割、キャッシュの設定・受け渡しを行う。VIOSでのメインプログラム。
各計算機上で実行されるプログラム。vios_runのモジュール実行依頼に応じて、モジュールプログラムを実行します。
ユーザによって記述されたモジュールプログラムからモジュールの作成を行います。
並列処理の流れを記述したもの。
各計算機で実行されるモジュールを記述したもの。C言語でいうところの関数を記述するもののことです。また、C言語で記述することができます。
画像ファイルを扱うためにlibpnmを、スレッドにはpthreadライブラリを使用しています。