feat(1.1): supervise cpu group with ProcessPoolExecutor kernel offload
Hosts clusterer/campaign-clusterer/attribution/reuse-correlate in one process. The two O(n^2) connected-components kernels (cluster_observations, cluster_identities) offload to ONE shared forkserver pool via decnet.offload .run_kernel, so they run in parallel instead of serialising under the GIL. - offload.run_kernel: pool when installed + offload_if holds, else inline. Standalone workers and all tests run inline => behaviour unchanged (424 clustering/correlation tests green). - offload_if gates on input size (>=256) to skip pickle cost on small passes. - forkserver (not fork): supervisor is multithreaded via bus clients. - attribution/reuse co-located but not offloaded yet (lighter; same run_kernel path extends to them if profiling shows contention). - systemd unit Conflicts= the 4 units it replaces; no docker/raw-socket priv.
This commit is contained in:
@@ -22,5 +22,6 @@ def test_unknown_group_exits_2():
|
||||
assert "unknown group" in result.stdout
|
||||
|
||||
|
||||
def test_batch_group_is_known():
|
||||
def test_known_groups():
|
||||
assert "batch" in _GROUPS
|
||||
assert "cpu" in _GROUPS
|
||||
|
||||
Reference in New Issue
Block a user