問題タブ [multiple-processes]

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.

0 投票する
3 に答える
454 参照

distributed-computing - 単純な三者多数決がビザンチンの過ちを解決しないのはなぜですか?

最近、ビザンチンのフォールト トレランスに関する多くの論文を読んでいます。m 個のビザンチン障害を処理するには 3m+1 台のコンピューターが必要であるという一般的な証拠があります。一般的な証明は次のようになります。

A、B、C の 3 人の「将軍」がいます。将軍が次のように通信するとします。ここで、C は「裏切り者」です。

したがって、アクターの大多数がコンセンサスに達することを保証することはできません。

私はその証明をある程度理解していますが、重要な点を見逃しているようです. A、B、C も、何をすべきかについて独自の内部計算を行っていませんか? ここでは A と B が「忠実な」将軍なので、「正しい」行動は攻撃することだと思われます。B は、何をすべきかを決定する際に、B 自身の計算を考慮することが許されませんか? その場合、彼は競合する A&C 入力の間の結びつきを簡単に破り、攻撃を決定することができます。次に、A と B の両方の攻撃を行い、問題を解決します。これは、古典的なビザンチン将軍の問題とは異なる問題ですか?

0 投票する
1 に答える
196 参照

python - このプログラムの一部のプロセスが他のプロセスよりも早く終了する可能性はありますか?

高度に並列化できるように設計されたプログラムがあります。一部のプロセッサは、他のプロセッサよりも早くこの Python スクリプトを終了させて​​いると思われます。これにより、このコードの上流で観察した動作が説明されます。このコードにより、一部の mpi プロセスが他のプロセスよりも早く終了する可能性はありますか?

0 投票する
1 に答える
171 参照

c - Linux のプロセス: すべての子プロセスをランダムな秒数でスリープ状態にする

新しいプロセスが開始されるたびに、(プロセスに属する) 変数に新しいランダム値を取得させたいと思います。

作成されたすべてのプロセスをランダムな秒数スリープさせるには、このランダム生成が必要です。私が使用したプログラムの最初に srand(time(NULL))、およびプロセスが実行する関数で使用しました

int sleeptime = rand() % 16 + 5; //that's because I need values from 5 to 20.

そのようなことを実装しようとしましたが、すべてのプロセスで変数の値が同じであることがわかりました。

srand(..) の引数としてミリ秒単位の現在の時刻 (それぞれのプロセスが開始される時刻) を取得すると、ランダムな値が得られると思います。問題は、これに関する情報が見つからなかったことです。別のページで提案されている唯一のことは、よく知られているものです: srand(time(NULL));(ここで、time(NULL) は現在の時刻を秒単位で返します)。

これを実装する方法を教えてください。前もって感謝します。

0 投票する
1 に答える
779 参照

django - mod_wsgi のスレッドとプロセスの最も効率的な数を知るにはどうすればよいですか?

私は通常、AWS Elastic Beanstalk、Heroku、および Microsoft Asure を使用して、Django プロジェクトをホストしています。また、私は通常MySQLを使用しています。ただし、mod_wsgi 設定の効率的なスレッド数とプロセス数を特定するのは困難です。事前に情報をありがとうございます。

0 投票する
1 に答える
2308 参照

javascript - node.js で新しい独立したプロセスを生成する

現在実行中のスクリプトから新しい独立したプロセスを生成する方法はありますか?

既に実行中のスクリプトから新しいスクリプトを実行しようとしています。新しいスクリプトは、それを呼び出したスクリプトから独立している必要があります。

0 投票する
1 に答える
246 参照

bash - bash で n 個のサブプロセスを開始し、すべてが完了するまで待ちます

いくつかの ffmpeg 設定をテストし、複数のコマンドを「サブプロセス」として実行したいと思います。ただし、一度に 4 つ以上のプロセスを起動したくありません。これを行う良い方法は何ですか?bgでプロセスを実行する前にプロセスIDをトラップし、プロセスリストになくなるまで待つようなものでしょうか?またはxargs?

「キューイング」のないスクリプトは次のとおりです。

0 投票する
0 に答える
359 参照

node.js - ノード child_process が早期に終了するのはなぜですか?

docker コンテナーを実行する非同期ノード child_process を実行しようとしています。

temp.js にはfor loop. ループの半分を実行することもあれば、3 分の 1 を実行することもあり、その後終了します。

私はそれを使用して動作させることができますchild_process.execSyncが、それは少し不快です. なぜそのように終了し、どうすれば生き続けることができますか?

0 投票する
0 に答える
1273 参照

python-3.x - 同時読み取りに複数のプロセスを使用する Python SQLite3: 大きなデータセットでエラーが発生せずにハングすることがよくあります

概要:
財務データ分析プロジェクト用に多数の変数 (幅広いデータセット) を作成しようとしています。140,000 行の pandas データフレーム「position_history」があり、それぞれに株と売買の日付/価格が含まれています。

入力 (stock、buy_date、sell_date) を受け取る関数 create_domain があります。

  1. 私のSQLite3データベースにクエリを作成して、それらの日付を指定してその株の時系列を抽出します。
  2. 時系列を使用して変数を構築します

df.apply を使用して、関数 create_domain を position_history に適用します

コードを順番に実行すると、変数を構築するのに約 4 時間かかります。これを何度も行う必要があり、より広いデータセットが必要になる可能性があるため、複数のプロセスを使用してこれを高速化したいと考えています。

複数のプロセスの場合、position_history を縦にチャンクに分割し、データフレームのリストを作成します。このリストを joblib (マルチプロセッシング) に渡します。私のコードはほとんどの場合、エラーをスローすることなく無期限にハングします (ただし、小さなサンプルで実行される場合もあります)。

ワーカー プロセスが同じ SQL テーブルを同時に読み込もうとしているために問題が発生しているのではないかと疑っています。

私は次の救済策を試しました

関連するスタックオーバーフロー エントリ:

(擬似) コード スニペット
joblib への私の呼び出し:

私の create_domain 関数:

概要: コードが永久にハングアップし、カーネルがクラッシュし、エラーは発生しません。以下に関する洞察をいただければ幸いです。

  • なぜこれが起こっているのですか?
  • どうすれば修正できますか?
  • 私がやろうとしていることを行うためのより良い方法はありますか? SQL クエリのベクトル化と最適化に最善を尽くしました。
  • これは SQLite3 の問題ですか? MySQL のようなものがうまく機能しますか?
  • 任意のヒント; コーディング/Python/データ サイエンスは初めてです。

詳細: 私はスーパー コンピューター クラスターで Linux を実行し、Python 3.4.3 で iPython を使用しています。

これは私の最初のスタック オーバーフローの質問です。

0 投票する
1 に答える
2295 参照

python - Python マルチプロセッシング スクリプトが終了しない

私は、python2.7 マルチプロセッシング モジュールでもう少し快適にしようとしています。そのため、ファイル名と必要な数のプロセスを入力として受け取り、複数のプロセスを開始して、キュー内の各ファイル名に関数を適用する小さなスクリプトを作成しました。次のようになります。

スクリプトは問題なく動作し、キュー内のすべてのオブジェクトが使い果たされるまで、古いプロセスが終了するたびに新しいプロセスを開始します (それがそのように機能すると思いますか?)。ただし、スクリプトはキューを完了した後も終了せず、アイドル状態のままであり、を使用して強制終了する必要がありますCtrl+C。ここで何が問題なのですか?

回答ありがとうございます。