質問編集履歴

4

2021/11/30 11:59

投稿

Luna_rab
Luna_rab

スコア17

test CHANGED
@@ -1 +1 @@
1
- [Python]並列処理でBrokenProcessPoolエラーが発生する
1
+ [Python]並列処理でプロセス数を増やすとエラーが発生する
test CHANGED
File without changes

3

題名の更新

2021/11/30 11:59

投稿

Luna_rab
Luna_rab

スコア17

test CHANGED
@@ -1 +1 @@
1
- [Python]ProcessPoolExecutorでBrokenProcessPoolが発生する
1
+ [Python]並列処理でBrokenProcessPoolエラーが発生する
test CHANGED
@@ -1,6 +1,6 @@
1
1
  # 状況
2
2
 
3
- 自作のモジュール内で並列処理を実装したいと考えています。
3
+ 自作のモジュール内で`coucurrent.futures.ProcessPoolExecutor`を用いて並列処理を実装したいと考えています。
4
4
 
5
5
  下記のコードで`MAX_WORKERS = 16`として実行したところ、`BrokenProcessPool`が発生しました。
6
6
 

2

文法修正

2021/11/29 02:43

投稿

Luna_rab
Luna_rab

スコア17

test CHANGED
File without changes
test CHANGED
@@ -108,6 +108,8 @@
108
108
 
109
109
  仮想化: 有効
110
110
 
111
+
112
+
111
113
  **OS**
112
114
 
113
115
  Windows10

1

初心者マークを外した。不要な情報を削除した。

2021/11/28 15:07

投稿

Luna_rab
Luna_rab

スコア17

test CHANGED
File without changes
test CHANGED
@@ -1,8 +1,8 @@
1
1
  # 状況
2
2
 
3
- 自作のモジュール内で並列処理を実装したいと考えています。
3
+ 自作のモジュール内で並列処理を実装したいと考えています。
4
4
 
5
- 下記のコードで`MAX_WORKERS = 16`として実行したところ、`ProcessPoolExecutor.map()`を使用すると`BrokenProcessPool`が発生しました。
5
+ 下記のコードで`MAX_WORKERS = 16`として実行したところ、`BrokenProcessPool`が発生しました。
6
6
 
7
7
 
8
8
 
@@ -38,7 +38,7 @@
38
38
 
39
39
  # 試したこと
40
40
 
41
- 自分で原因を探ったところ、OSがプロセスをkillしている可能性があるとのことで、`MAX_WORKERS = 8`とした場合には`BrokenProcessPool`は発生しませんでした。
41
+ 自分で原因を探ったところ、OSがプロセスをkillしている可能性があるとのことで、プロセス数を減らせばエラーが発生しないと考え`MAX_WORKERS = 8`とした場合には`BrokenProcessPool`は発生しませんでした。
42
42
 
43
43
  また、公式のドキュメントを読んだところ、ProcessPoolExecutorの項で「If max_workers is None or not given, it will default to the number of processors on the machine.」とあったため`MAX_WORKERS = None`としたところ、`BrokenProcessPool`が発生しました。
44
44
 
@@ -80,6 +80,10 @@
80
80
 
81
81
 
82
82
 
83
+ また、「使用しているCPUは8コア16スレッドなので、`MAX_WORKERS`を増加させると`MAX_WORKERS = 16`まではタスクが高速になる可能性がある。」という認識は正しいでしょうか。
84
+
85
+
86
+
83
87
  並列処理にはあまり詳しくないため、前提知識などが抜け落ちていた場合はご教示いただければ幸いです。
84
88
 
85
89
  よろしくおねがいします。
@@ -104,14 +108,6 @@
104
108
 
105
109
  仮想化: 有効
106
110
 
107
- L1 キャッシュ: 512 KB
108
-
109
- L2 キャッシュ: 2.0 MB
110
-
111
- L3 キャッシュ: 16.0 MB
112
-
113
-
114
-
115
111
  **OS**
116
112
 
117
113
  Windows10