問題タブ [multiprocessing]

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 投票する
1 に答える
2807 参照

assembly - 異なるプロセッサでコードを実行する (x86 アセンブリ)

x86 のリアル モードで、マルチプロセッサ システムの別のプロセッサでコードを実行するには、どの命令を使用する必要がありますか?

(実際のオペレーティング システムが起動する前に、特定の CPU レジスタを設定し、システム内のすべての CPU でこれを行う必要がある、アセンブラーで起動前のコードをいくつか書いています。)

0 投票する
4 に答える
47033 参照

python - PythonマルチプロセッシングでPool.mapを共有メモリ配列と組み合わせる

複数のプロセスで並行して処理したいデータの非常に大きな(読み取り専用)配列があります。

私はこのPool.map関数が好きで、それを使用してそのデータの関数を並行して計算したいと思います。

ValueまたはArrayクラスを使用して、プロセス間で共有メモリデータを使用できることを確認しました。しかし、これを使おうとするとRuntimeError: 'SynchronizedString objects should only be shared between processes through inheritance、Pool.map関数を使用すると次のようになります。

これが私がやろうとしていることの簡単な例です:

誰かが私がここで間違っていることを教えてもらえますか?

したがって、私がやりたいのは、プロセスプールで作成された後、新しく作成された共有メモリに割り当てられた配列に関する情報をプロセスに渡すことです。

0 投票する
8 に答える
33083 参照

python - 私のPythonプログラムがプロセスあたり平均33%のCPUしかないのはなぜですか?Pythonに利用可能なすべてのCPUを使用させるにはどうすればよいですか?

私はPython2.5.4を使用しています。私のコンピューター:CPU AMD Phenom X3 720BE、メインボード780G、4GB RAM、Windows732ビット。

Pythonスレッドを使用していますが、すべてのpython.exeプロセスで100%のCPUを消費させることはできません。なぜ彼らは平均して約33-34%しか使用していないのですか?

可能な限り迅速に完了するために、利用可能なすべてのコンピューターリソースをこれらの大規模な計算に向けたいと思います。

編集:みんなに感謝します。現在、Parallel Pythonを使用しており、すべてが正常に機能しています。私のCPUは常に100%になっています。皆さんありがとう!

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

python - プロセス タイムアウト内のマルチプロセッシング プール

次のコードを使用すると、プールの結果は常にタイムアウトを返しますが、論理的に間違っていることはありますか?

私はこのバグを認識しており、python 2.6.4 で修正されていると思っていたでしょうか?

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

python - python multiprocessing dbアクセスが非常に遅い

psycopg2 を使用して、postgres データベースと対話する GUI があります。マルチプロセッシング プロセスで db 接続があり、マルチプロセッシング キューを介して SQL を送信し、別のキューを介して受信します。

問題は、速度が非常に遅いことです。小さなテーブル (30 行) からの単純な選択 * は、1/10 秒になることもあれば、1 秒以上かかることもあります。

なぜそんなに遅いのか、誰にも手がかりがありますか?

新しい情報: まったく同じコードの winxp で問題なく動作するため、断続的な遅延は私の Linux ボックス (ubuntu 9.10) でのみ発生します。

詳細情報: 選択をスタブ化したところ、問題はないようです。

これが db クラスの主要部分です。

そしてGUIにはこれがあります:

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

python - Python マルチプロセッシング モジュールを使用して開始されたサブプロセスを切り離す

Python で mutliprocessing モジュールを使用してプロセスを作成したいのですが、サブプロセスを作成したプロセスが終了した後もプロセスが実行され続けるようにします。

subprocess モジュールと Popen を使用して必要な機能を取得できますが、スクリプトとしてではなく、関数としてコードを実行したいと考えています。これを行う理由は、pyro (python リモート オブジェクト) オブジェクトの作成を簡素化するためです。マルチプロセッシングを使用して別のプロセスで Pyro オブジェクト リクエスト ハンドラを開始したいのですが、Pyro オブジェクトをサポートするプロセスが引き続き実行されている間、メイン プロセスを終了させたいです。

0 投票する
13 に答える
145563 参照

python - 漬け物ができないマルチプロセッシングPool.map()を使用する場合

multiprocessingPool.map()関数を使用して、作業を同時に分割しようとしています。次のコードを使用すると、正常に機能します。

ただし、よりオブジェクト指向のアプローチで使用すると、機能しません。表示されるエラーメッセージは次のとおりです。

これは、以下が私のメインプログラムである場合に発生します。

そして、以下は私のsomeClassクラスです:

問題が何であるか、またはそれを回避する簡単な方法を知っている人はいますか?

0 投票する
7 に答える
4457 参照

python - マルチプロセッシングのためにPythonで大きなファイルを分割する最良の方法は何ですか?

モジュールと並列化したい「恥ずかしいほど並列な」プロジェクトがたくさんありmultiprocessingます。ただし、多くの場合、巨大なファイル (2 GB を超える) の読み取り、行ごとの処理、基本的な計算の実行、および結果の書き込みが必要になります。ファイルを分割し、Python の multiprocessing モジュールを使用して処理する最良の方法は何ですか? 使用する必要がありますQueueか?それともモジュール自体?または、を使用してプロセスのプールに反復可能なファイルをマップする必要がありますか? これらのアプローチを試してみましたが、行ごとにデータを分散させるとオーバーヘッドが膨大になります。私は、最初のプロセスの特定の割合を通過するを使用して、軽量のパイプ フィルター設計に落ち着きました。JoinableQueuemultiprocessingQueuemultiprocessingcat file | process1 --out-file out1 --num-processes 2 | process2 --out-file out2)、しかし、Pythonに完全に含まれるソリューションが欲しい.

驚いたことに、Python のドキュメントでは、これを行う標準的な方法は提案されていません (multiprocessingドキュメントのプログラミング ガイドラインに関する長いセクションにもかかわらず)。

ありがとう、ヴィンス

追加情報: 1 行あたりの処理時間は異なります。高速で I/O バウンドがほとんどない問題もあれば、CPU バウンドの問題もあります。CPU バウンドで非依存のタスクは、並列化からポストを獲得するため、データを処理関数に割り当てる非効率的な方法であっても、ウォール クロック時間に関しては依然として有益です。

典型的な例は、行からフィールドを抽出し、さまざまなビット単位のフラグをチェックし、特定のフラグを持つ行をまったく新しい形式で新しいファイルに書き込むスクリプトです。これは I/O バウンドの問題のように思えますが、パイプを使用した安価な並行バージョンで実行したところ、約 20% 高速でした。プールとマップ、またはキューで実行すると、multiprocessing常に100%以上遅くなります。

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

sql-server-2005 - SQL Server データベースの同期

SQL Server は、多くのプロセスと互換性があるように同期されていますか? 複数のプロセスを同時に使用できるように、DataBase を使用できるようにするには同期を行う必要がありますか?