問題タブ [qsub]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Grid Engine ジョブの送信時に Java ライブラリが見つからない
Java プログラムを実行するスクリプトを qsub すると、次のエラーが発生します。
スレッド「メイン」での例外 java.lang.UnsatisfiedLinkError: /usr/java/jdk1.6.0_16/jre/lib/amd64/xawt/libmawt.so: libXtst.so.6: 共有オブジェクト ファイルを開けません: そのようなファイルがないか、 java.lang.ClassLoader$NativeLibrary.load(Native Method) のディレクトリ java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1778) の java.lang.ClassLoader.loadLibrary(ClassLoader.java:1674) の java.lang. Runtime.load0(Runtime.java:770) で java.lang.System.load(System.java:1003) で java.lang.ClassLoader$NativeLibrary.load(Native Method) で java.lang.ClassLoader.loadLibrary0(ClassLoader. java:1778) で java.lang.ClassLoader.loadLibrary(ClassLoader.java:1695) で java.lang.Runtime.loadLibrary0(Runtime.java:823) で java.lang.System.loadLibrary(System.java:1028) でsun.security.action.LoadLibraryAction。run(LoadLibraryAction.java:50) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.loadLibraries(Toolkit.java:1592) at java.awt.Toolkit.(Toolkit.java:1614) at java.awt.Toolkit.loadLibraries(Toolkit.java:1592) java.awt.Font.(Font.java:210) savant.settings.BrowserSettings.(BrowserSettings.java:37) savant.util.NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) savant.data.sources.BAMDataSource (BAMDataSource.java:62) IReckon.WholeGenomeExecution.main (WholeGenomeExecution.java:208) でNetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) at savant.data.sources.BAMDataSource.(BAMDataSource.java:62) at IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)NetworkUtils.getSeekableStreamForURI(NetworkUtils.java:185) at savant.data.sources.BAMDataSource.(BAMDataSource.java:62) at IReckon.WholeGenomeExecution.main(WholeGenomeExecution.java:208)
ただし、ノードに qrsh してスクリプトを実行すると、エラーは発生しません。
次のようにqsubを実行しています:qsub -cwd -V
設定する必要がある環境変数があるかもしれませんが、 -V はそれを処理しませんか?
python - StarCluster / qsub / EC2を動的にスケーリングして、複数のノード間で並列ジョブを実行する方法
Startcluster / qsub / grid engineを使用して並列ジョブを実行するのは初めてで、同じことに関する他のいくつかの投稿を読んでみました。特定の要件に合わせてスケーラブルなソリューションを構築する方法がまだわかりません。同じことを進める前に、もう少し提案を取り入れたいと思います。
これが私の要件です:
私は巨大なtarファイルを持っています[〜40-50 GB、最大100GBになる可能性があります]----->ここでできることはあまりありません。私はその巨大な単一のtarファイルを入力として受け入れました。
tarを解凍して解凍する必要があります----->tarxvftarfilename.tar|を実行します。pbzip -dを並列にして、同じものを解凍して解凍します。
この解凍の出力は、たとえば数十万ファイル、約50万ファイルです。
この非圧縮ファイルは処理する必要があります。すべてのファイルを取り込んで処理し、5つの異なるファイルを出力できるモジュラーコードがあります。
Tarファイル-----並列非圧縮--->非圧縮ファイル-----並列処理--->処理されたファイルごとに5つの出力ファイル
私は現在、16コアで実行される並列Pythonスクリプトを持っています。16GBのメモリは、この非圧縮ファイルのリストを取り込んで、同じものを並列処理します。
問題は、どのようにシームレスにスケーリングするかです。たとえば、コードが10時間実行されていると言っていて、それに8コアマシンをもう1つ追加したい場合、プロセッサの数を事前に知っている必要があるため、並列Pythonでそれを行うことはできません。
同時に、現在のクラスターに動的にノードを追加する場合、データのアクセス可能性と読み取り/書き込み操作はどうですか?
それで、私は星団とqsubを読んで基本的な実験をしました。qsubを介して複数のジョブを送信できることはわかりますが、非圧縮の入力フォルダーから入力ファイルを取得するにはどうすればよいですか?
たとえば、forループでファイル名を1つずつ選択してqsubコマンドに送信するscript.shを作成できますか?別の効率的な解決策はありますか?
たとえば、それぞれ16個のCPUを搭載した3台のマシンがあり、48個のジョブをキューに送信した場合、qsubはクラスターの異なるCPUでそれらを自動的に起動するか、-nporteコマンドなどの並列環境パラメーターを使用して番号を設定する必要があります。それぞれのクラスター内のCPUの数。PythonスクリプトをMPIで実行可能にする必要がありますか?
要約すると、入力として数十万のファイルがあり、それらをマルチコアマシンのジョブキューに送信したいと思います。マシンを動的に追加すると、ジョブは自動的に分散されます。
もう1つの大きな課題は、500,000の奇数操作のすべての出力を最後に集約する必要があるということです。出力が書き出されるときに、並列ジョブの出力を集約する方法についての提案はありますか?
私はいくつかのシナリオをテスト実行していますが、同様のシナリオで実験した人がいるかどうか知りたいです。
Hadoopプラグインを使用した提案はありますか?http://star.mit.edu/cluster/docs/0.93.3/plugins/hadoop.html
事前にKarthickに感謝します
shell - qsub で文字列引数を渡す
dump.shという名前の次のシェルスクリプトがあります
このスクリプトは、オクターブ モジュールをロードし、次のオクターブ関数を評価します。これは、2 つの入力引数を単純に表示します。
次のようにシェルスクリプトを送信すると、機能します(引数として2つの数値を渡します)
ただし、次のように1つのナンバーワン文字列引数で送信すると:
エラーが発生する
次のことも試しましたが、同じエラーが発生します
どうすればそれを行うことができますか?
ありがとうございました
ジョルゴス
perl - Perlスクリプトを使用してPBSトルクでqsub-vコマンドを使用するにはどうすればよいですか?
「qsub-v」コマンドを使用して、変数をperlスクリプトに渡したいと思います。これは私が実行するperlスクリプトです(これは単なるテストですが、機能しない場合はこれ以上難しいことはできません)
したがって、このスクリプトを(qsubを介さずに)実行する場合は、次のように入力します。
ただし、このスクリプトは、pbsで動作するクラスターのノードで実行します。私は次のようないくつかの試みをしました:
しかし、それは機能しません。qsubを使用してパラメータをperlスクリプトに渡す方法を考えている人はいますか?どんな助けでも本当にありがたいです
動作しないということは、qsubを使用しても出力ファイルに何も出力されないのに対し、perlを使用すると出力ファイルの入力ファイルの内容が出力されることを意味します。入力に何も取らないようです
c++ - qsubからコードのブーストオプションパラメータに値を渡す方法
ユーザーから何らかの値を取得するプログラムがあります(パラメーターはブーストオプションを使用して渡されます)。./prog --my-value 32
ここまでは問題ありませんが、現在、qsubスクリプトを使用してマルチノードおよびマルチコアでプログラムを実行しており(pbsスクリプトのみを使用できます)、引数を渡したいと考えています。qsub ./xyz.sh --my-value 32 [どうすればこれを実行できますか..つまり、どうにかしてこれを実行できますか?]
bash - ssh を使用して、2 つのクラスター間で qsub スクリプトでローカル スクリプトを実行する方法は?
2 つのクラスターで操作するためのスクリプトをプログラミングしています。
私の目的は、1 つのクラスターのみに焦点を当てることです。つまり、すべてのスクリプト ソース コードはクラスターの 1 つだけにあるということです。
たとえば、クラスター AI にはすべてのスクリプトがインストールされているため、クラスター B に ssh してこれらのスクリプトを実行し、クラスター B に再度インストールする必要はありません。
ssh root@ClusterB 'bash -s' < local_ClusterA_script.sh
クラスターBがClusterAからlocal_ClusterA_script.shを実行するようなbashスクリプトで知っていました。
ここで、クラスター A からクラスター B にバッチ ジョブを送信するために ssh を使用しなければならないというさらなる課題があります。このバッチ ジョブには、クラスター A からのスクリプトが必要です。
だから私の問題は、クラスタ B がどこにあるの$CLUSTERA_BIN/runprogram.py
かということです。run.script のコードをクラスター B で正常に実行するにはどうすればよいですか?
と思っていたコマンドの1つです ssh root@ClusterB 'bash -s' < run.sh $MYARGS
が、明らかにこのようには機能しません。
perl - qsubを介して実行されるperlスクリプトにパラメーターを渡します
こんにちは、qsub を介して実行する必要がある私の perl スクリプトにパラメーターを渡したいと思います。だから私は実行します:
Test.pl では、いくつかの方法で i パラメータを呼び出そうとします:
残念ながら、perl スクリプトの出力ファイルは常に空です。
何か提案はありますか?どこが間違っていますか?助けてください
shell - qsub パス シェル スクリプト
パスについて 2 つの質問があります。
最初の質問は「qsub」に関連しています
これは私の現在のフォルダです
私が使用するこのフォルダに
それはうまくいきます。問題は、サーバーを使用するたびに、以下のシェル スクリプト (start.sh) でパスを変更する必要があることです。別のフォルダーで使用する場合、start.sh のコードの下に変更する必要があるたびに
例えば、
面倒くさいし、よくパスエラーになる。
削除できますか
「pwd」などを使用して?
つまり、「pwd」を使用して現在のパスを読み取り、この結果を変数としてシェルスクリプトに入れます。可能ですか?「pwd」の結果を変数として取得し、それをstart.shの変数に入れることができれば、その部分を削除できると思います。しかし、私はそれを行う方法はありません。
これはstart.shです
2番目の質問は、
上記のコードでは、 ${path2} があります
start.sh の場合、 ${path2} は常に rnn-generate があるフォルダーを指していると思います。
どのようにできるのか?やり方がわかれば変えたい
に
ああ、今私はサーバーを使用していて、大臣ではありません。
したがって、/etc/bashrc または /etc/environment を変更することはできないと思います。
ありがとうございました。
qsub - qsub を使用してジョブをサイレントに SGE に送信する
応答の遅い SGE キューを使用して数百のジョブを送信する bash スクリプトがありqsub
ます (各ジョブ ID が表示されるまでにかなりの時間がかかります)。
この時間のかかるプロセスをバイパスし、シェルを終了するときにスクリプトを強制終了しないようにするために、&
. これで 30 分ほど節約できることもありますが、それでもジョブ ID が表示され、コマンド プロンプトが混乱してしまいます。
ジョブ ID の表示を抑制したり、何らかの方法でサイレントにジョブをキューに送信したりできるかどうか疑問に思っていました。ただし、このリンクは議論について語っていますが、機能せず、マニュアルページ-z
にも言及されていません。qsub
ありがとう!