リモートホスト上での実行

ローカルマシンとホスト間の自動ファイル転送を使用して、Fekoをリモート実行します。

リモート起動を使用すると、たとえば、FekoのGUIをローカルのWindows PC上から実行できるほか、リモートワークステーションまたはクラスターのターミナルまたはいずれかのGUIコンポーネントからは、Fekoのシーケンシャルジョブまたは並列ジョブを直接開始できます。リモート起動の2つの主なメカニズムとして、SSH/RSHによる方法とMPIによる方法があります。

SSH/RSHによる方法
このリモート起動方法は、クロスプラットフォームに対応しています。たとえば、Windows PCからUNIXワークステーション上でリモートジョブを開始でき、UNIXワークステーションからWindows PC上でリモートジョブを開始できます。リモート起動機能を使用するには、公開鍵認証によるSSHを使用できる必要があります。
MPIによる方法
現在のところ、この方法はWindowsホスト間でのみ使用できます。この方法は、全面的にWindowsのコマンドに基づいていて、ファイルのコピーではネットワーク共有を使用し、リモートプロセスの開始ではMPIデーモン(Fekoに付属)を使用します。また、この方法が適切に機能するためには、リモートマシンにFekoをインストールするときに、関連するオプションを選択しておく必要があります。このオプションとして、共有ネットワークディレクトリの作成などがあります。

どちらかの方法を使用したリモート起動の設定要件の詳細については、Feko Installation Guideでインストールと設定に関する詳しい手順を参照してください。

一般的な設定と使用方法

WindowsとLinuxでは、GUIコンポーネント、CADFEKOEDITFEKO、またはPOSTFEKOからこのリモート起動機能を直接使用できます。並列起動の説明にあるようにComponent launch optionsダイアログを開きます。このダイアログはFigure 2に示したものです。Remote executionで、Remote host入力欄にリモートホストのホスト名またはIPアドレスを入力し、Remote execution methodで適切な実行方法を選択します。設定したリモート起動を使用するには、Solve/RunタブのRun/Launchグループで、 Remoteアイコンをクリックします。メニューオプションの横にチェックマークが表示されます。このオプションをオンにした状態でFekoソルバーを実行すると(シーケンシャル実行、またはParallelもオンにしている場合は並列実行)、リモートホスト上でFekoのリモート実行が使用されます。

コマンドラインからリモート起動機能を使用するには、次のコマンドを使用します。
runfeko example1 --remote-host h

--remote-hostに続くhパラメータでは、リモートホストのホスト名またはIPアドレスを指定します。これにより、SSHによるリモート起動方法が自動的に使用されます。

MPIによる方法を使用するには、次のコマンドを使用します。
runfeko example1 --remote-host h --remote-use-mpi
RUNFEKOのこのコマンドラインオプションは、他のオプションと組み合わせることができます。たとえば、次のコマンドを使用できます。
runfeko example1 --remote-host h -np 4 --machines-file m

このコマンドを実行すると、マシンファイルに記述されているノードmを使用して、4つのプロセスの並列ジョブが開始され、つづいてリモートホストh(通常はクラスターの制御ノード)からその並列ジョブが開始されます。

前述のとおり、リモート起動機能には自動ファイル転送機能が用意されているので、共有ネットワークドライブ上での作業は不要です。Fekoによって、リモートホスト上でユーザーのホームディレクトリに一時サブディレクトリremote_FEKO_job_xxxxxxは固有の数字)が作成されます。Fekoの解析中は、すべてのFekoファイルがこの一時サブディレクトリに保存されます。リモート実行が完了すると、すべてのファイルはクライアントに戻してコピーされ、リモートマシン上の一時サブディレクトリは削除されます。

Fekoの並列ジョブのリモート起動に関する重要な注意事項

  • ジョブがローカルで起動しているときにマシンファイルを指定すると、そのファイルがリモートホストでも使用されます(ファイルがリモートホストにコピーされます)。このように並列ジョブをローカルクライアント上で設定できますが(たとえば、2つのホストであるnode1とnode2上で設定)、Fekoの解析は、別のコンピューター上でリモート起動できます(その場合は、そのコンピューターが並列解析の制御ノードになります)。この動作が意味を持つのは、Linuxクラスター上のWindows PCからFekoの並列ジョブを起動する場合です。
  • リモート解析を起動するときにローカルマシンファイルを指定していない場合は、リモートホスト側に設定しているデフォルトのオプションが使用される点に留意することが重要です。したがって、Fekoは、ジョブの起動場所であるローカルホスト上ではなく、リモートホスト上のmachines.fekoファイルを読み取ります。

    別の留意事項として、GUIからリモートジョブを起動する場合はマシンファイルが必ず存在しますが、コマンドラインからリモートジョブを起動する場合は、マシンファイルをコマンドで明示的に指定した場合を除き、マシンファイルが存在するとは限らないという点があります。マシンファイルの指定を省略した場合は、デフォルトのメカニズムを使用して、(環境変数FEKO_MACHFILEやmachines.fekoファイルのデフォルトの場所などから)リモート並列ホストが検出されます。詳細については並列バージョンの実行を参照してください。