Improve data distribution: solve LP task on failure domains instead of individual OSDs

This greatly speeds up PG placement and makes it more uniform both because the LP task
becomes simpler and because the distribution of individual OSDs is optimised manually
This commit is contained in:
Vitaliy Filippov
2025-04-27 01:44:46 +03:00
parent 1393a2671c
commit a2278be84d
6 changed files with 364 additions and 14 deletions
+2
View File
@@ -98,6 +98,7 @@ async function optimize_initial({ osd_weights, combinator, pg_count, pg_size = 3
score: lp_result.score,
weights: lp_result.vars,
int_pgs,
pg_effsize,
space: eff * pg_effsize,
total_space: total_weight,
};
@@ -409,6 +410,7 @@ async function optimize_change({ prev_pgs: prev_int_pgs, osd_weights, combinator
int_pgs: new_pgs,
differs,
osd_differs,
pg_effsize,
space: pg_effsize * pg_list_space_efficiency(new_pgs, osd_weights, pg_minsize, parity_space),
total_space: total_weight,
};