問題タブ [parallel-python]
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.
python-2.7 - スレッドで作成された ParallelPython は
ジョブ サーバーを作成すると、次のエラーが表示されます。
並列pythonバージョン1.6.5およびPython27を使用して、スレッド(win32)で作成された場合。
トレースバックは次のとおりです。
以下のリンクと同様の問題:
python - 並列pythonをdjangoに組み込む方法
pp (Parallel Python) を django に組み込む方法はないかと考えていました。複数のコンピューターがあり、それらを使用して要求をより適切に処理したいので、これは素晴らしいことです。
python - 並列 Python ですべてのコンピューターが表示されない
Windows 10 で Python 3.5 で Parallel Python を使用しようとしています。
Python とすべての必要なパッケージを各コンピューター (ノード) にインストールし、各ノードでバッチ スクリプトを実行して、ルート コンピューターから見えるようにしました。
インターネットで見つけて編集した簡単な例を実行して問題を説明し、各ノードを見つける必要がありますが、選択された少数しか見つかりません。欠落しているのは常に同じノードです。
すべてのコンピューターは Windows 10 を実行しており、同じバージョンの Python と使用されているパッケージがあります。バッチ スクリプトが実行されています。コンピューターはすべて同じネットワーク上にあります。すべてのノードが表示されない場合、どのような理由が考えられますか?
ありがとう
python - 反復ごとに for ループの並列ジョブが遅くなる
コンテキスト: ある期間中のいくつかのポイントで橋の状態 (損傷または損傷なし) をチェックすることにより、損傷した橋の長期的な修復をシミュレートしようとしています。repair_over_horizon
そうするために、 (とりわけ) 損傷した橋のリストを取得し、リストのリストを出力するという Python 関数を作成しました。各リストには、特定のタイムステップでまだ損傷している橋が含まれています。たとえば、入力リストが次の場合:
[100、423、667、904、221、56、495、70、109、65]
3 つのタイムステップで使用repair_over_horizon
した場合、出力は次のようになると予想されます。
[[100, 423, 667, 904, 221, 56, 495, 70, 109, 65], [100, 423, 904, 56, 70, 109, 65], [423, 904]].
この関数repair_over_horizon
は、実際には一度に複数の入力リストまたは「マップ」を受け取り、それらの修復を並行して計算します。以下のコードに示すように、並列化はタイムステップごとに実装されます。内部で呼び出される関数、repair_over_horizon
つまりcompute_repairs_at_timestep
andrepair
も参照用に含めました。
問題: 関数は出力に関しては期待どおりに機能しますが、各反復 (タイムステップ) で修復にかなりの時間がかかります。この時間の増加は、タイムステップあたりのマップ数が増えると明らかになります。たとえば、タイムステップあたり 50 個のマップと 10 タイムステップがある状況では、最初の反復に ~6 秒かかり、最後の反復に ~21 秒かかります。タイムステップごとに 500 のマップと 5 つのタイムステップがある場合、最初の反復には ~36 秒かかり、5 回目の反復には ~110 秒かかります。
トラブルシューティング: コードをプロファイリングし (タイムステップごとに 500 マップと以下の 5 タイムステップの結果を参照)、メモリ使用量を確認しましたが、結果からは実装に問題があることがわかりません。
質問: イテレーション間およびマップ数の増加に伴い、この大幅な速度低下の原因は何ですか? それを修正する方法についてのアイデアは大歓迎です。
更新: メモリの問題があるかどうかをテストするために、関数の末尾に向かうさまざまなポイントに gc.collect() を挿入しました。ただし、上記の問題セクションで説明したように、反復ごとに修復に時間がかかることがわかりました。
部分プロファイリング結果:
repair_over_horizon
compute_repairs_at_timestep
repair