Takuya71 のぶろぐ

外資系ソフトウェア会社で働いてます、認定スクラムマスター

Outrun

気になる Hacker news 2021-03-19

https://www.daemonology.net/hn-daily/ からの気になったニュース

Outrun

今日の気になったニュースは Outrun

github.com

こちらも 知らなかった ツールですが 外部の Linux マシン上でローカルのコマンドを実行できるツールのようです。

Outrun lets you execute a local command using the processing power of another Linux machine.

特徴

  • 相手のマシンにコマンドをインストールする必要なし。
  • 通常の方法でローカルファイルやパスを参照可能。
  • Ubuntu と Alpine のように、全く異なる Linux ディストリビューションでも動作。

という特徴がある。

必要なもの

Python 3.7, RUSE 3.x Library

サンプルで記載されているのは ffmpeg の例

通常

ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

と実行するものを

outrun user@host ffmpeg -i input.mp4 -vcodec libx265 -crf 28 output.mp4

と outrun を使って実行する

Limitations も記載されている。

There are a couple of things to keep in mind while using outrun:

- File system performance remains a bottleneck, so the most suitable    workloads are computationally constrained tasks like ray tracing and video encoding. Using outrun for something like git status works, but is not recommended.
- Since the software to be executed is copied from your own machine to the remote machine, it must be binary compatible. It’s not possible to set up a session from an x86 machine to an ARM machine, for example.
- The command will use the network and date/time of the remote machine.
If you want to access local endpoints, then they must be explicitly forwarded by using the SSH flags parameter to set up remote forwarding.
  • ファイルシステムのパフォーマンスは依然としてボトルネックとなっているため、レイトレーシングやビデオエンコーディングのような 計算量に制約のあるタスクが最適なワークロード となります。git status のようなものに outrun を使用することは可能ですが、お勧めできません。
  • 実行されるソフトウェアは自分のマシンからリモートマシンにコピーされるので、バイナリ互換性 がなければなりません。例えば、x86 マシンから ARM マシンへのセッションを設定することはできません。
  • コマンドには、リモートマシンのネットワークと日時が使用されます。ローカルのエンドポイントにアクセスしたい場合は、SSH フラグパラメータを使ってリモート転送を設定することで、明示的に転送する必要があります。