GNU Makeの分散版を作成する方法 -- gnu-make フィールド 関連 問題

How to create a distributed version of GNU make?












-1
vote

問題

日本語

主なアイデアは、3つのスレーブを持っていて、それぞれがファイルを実行し、マスターが作成する必要があるため、使用するライブラリーとは何が何であるか、および計算の終わりを検出する方法を知る必要があります。各プロセスのありがとう。

英語

The main idea is that I have 3 slaves and each one execute a file and the master generate the make file , I need your help to know what are the libraries that I should use, and how can I detect the end of calculation of each process. Thanks.

</div
  
     
     

回答リスト

0
 
vote

これは学校の割り当てですので、図書館の選択にのみ忠告するつもりです。

では、リモートコマンドとデータ転送を実行する必要があります。これにより、リモート上のデーモンの起動や既に実行中のデーモンを活用する必要があります。私は後者がここでより良い選択であると思います、それであなたは libssh のようなものを使って、転送とコマンド実行

その後、ルール間の依存関係を分析し、ライブラリを介して正しい順序(および並列度の程度)を実行する必要があります。

 

Since this is a school assignment, I'm going to advise only on the choice of libraries.

So you need to execute remote commands and transfer data, this either requires starting a daemon on the remotes or leveraging an already running daemon. I think the latter is a better choice here, so you could use something like the libssh with keys for both transfer and command execution.

Then you need to analyze the dependencies between the rules, and execute the commands via the library in the right order (and degree of parallelism).

</div
 
 

関連する質問

7  Makefileでは、ロックファイルをクリーンアップする方法は?  ( In makefile how to cleanup lockfile files ) 
GNU Make 3.81では、ツールチェーンの一部にエラーが発生した場合はロックファイルを削除する必要があります。私がこれをすることができる特別なターゲットはありますか?ラッパースクリプトを書く必要がありますか? 以下の例では、file.outのルールが失...

20  メイクファイルで環境変数を「設定解除」することは可能ですか?  ( Is it possible to unset an environment variable in a makefile ) 
GNU Makeを使用しています。私は他の理由で私の環境で定義されている CFLAGS が好きです。ライブラリのビルドは別のメイクファイルから呼び出されているので、私はe.gを言う。: 3rdparty: <コード> $(MAKE) -f Make...

100  定義内の変数を含むGNU Makeのリストの目標/ターゲット  ( List goals targets in gnu make that contain variables in their definition ) 
私は、変数からの名前を計算することによって、その場で多数のターゲットを作成するかなり大きなメイクファイルを持っています。 (例:foo $(var):$(PREREQS))。これらの変数を拡大した後にGNU Makeをターゲットのリストを吐き出すことを確信させ...

62  GNUが故障のために明示的にテストする方法  ( How to have gnu make explicitly test for failure ) 
Makeを使用していない年の後、私は再びGNU版であることがわかりました。私が欲しいものをすることができるが、どのようにして考えていないか、またはGoogleなどの答えを見つけていないと確信しています。 私のプログラムを何度も実行し、結果をログファイルに保存...

2  並列メイク - サブプロジェクトは複数回呼び出されます  ( Parallel make sub projects called multiple times ) 
質問はすでにファイルレベルで答えられています。しかし、私は非常に多くのプロジェクト間依存関係を持つより大きなプロジェクトを持っています(動的に生成されたDBUSヘッダーによって引き起こされる)。 i Veは、次の例を作成しました(例ZIP としてのファイル ...

13  makefile.am.を整理するための自動車変数  ( Automake variables to tidy up makefile am ) 
Mainコマンドを実行してからすべてのバイナリを格納するための、すべてのソースファイルを含むディレクトリ/ SRCを持ちます。ディレクトリは以下のようなものです。 <事前> <コード> /BuildDirectory - - /src - - /bin - ...

1  スクリプトをMakeFileの先頭で実行するように強制して、その出力を表示する  ( Force a script to run at the beginning of a makefile and display its output ) 
特定のビルドに関するさまざまな詳細を持つ version.h ファイルを生成するスクリプトがあります。 スクリプトは、次のようなさまざまなコマンドを実行します。 <事前> <コード> readonly VERSION=$(git describe --alwa...

0  シンプルヘッダーのテストを最小限に抑える  ( Minimalistically building a test for a simple header using cmake ) 
私は以下のような方法のクラスを含むC ++ヘッダーを持っています。私が持っているヘッダーのみのライブラリーについて言うことができます。 <事前> <コード> // MyHeader.hpp #pragma once #include <string> na...

2  Makefile汎用パターンルール - xyzzy-en_us.ext2 xyzzy.ext0から  ( Makefile generic pattern rule xyzzy en us ext2 from xyzzy ext0 ) 
Makeを使用して以下の種類の生産のための一般的なパターンルールを定義する方法を理解することはできません: xyzzy.ext0 から xyzzy.ext0 から<コード> xyzzy.ext0 。 これは機能します: <事前> <コード> all: x...

2  Makefileのマルチラインリスト内のコメント  ( Comments inside a multi line list in makefile ) 
私はのようなものを持っていたいと思います <事前> <コード> BROKEN_THINGS = thing1 # thing1 is completely broken thing2 # thing2 is broken too, see BU...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有