all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] [PATCH proxmox-resource-scheduling] pve static: add one to avoid boosting tiny relative differences
@ 2023-03-21 16:44 Fiona Ebner
  2023-03-21 16:44 ` [pve-devel] [PATCH proxmox-perl-rs 1/2] pve: test: resource scheduling: add test where memory is secondary to CPU Fiona Ebner
                   ` (2 more replies)
  0 siblings, 3 replies; 6+ messages in thread
From: Fiona Ebner @ 2023-03-21 16:44 UTC (permalink / raw)
  To: pve-devel

Only the relative difference for values between different alternatives
is relevant, meaning 0.002 vs 0.004 and 0.2 vs 0.4 will influence the
scoring in the same way. This is not really desirable, because values
closer to 1.0 indicate higher load and thus should influence the
scoring more than differences that are actually tiny, but big when
viewed as a relative difference.

To avoid the issue, simply add 1.0 to all values. Like that, 1.002 vs
1.004 will also be small when viewed as a relative difference.

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
---
 src/pve_static.rs | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/pve_static.rs b/src/pve_static.rs
index 814d44f..d39614c 100644
--- a/src/pve_static.rs
+++ b/src/pve_static.rs
@@ -104,11 +104,13 @@ pub fn score_nodes_to_start_service(
                 squares_mem += new_mem.powi(2);
             }
 
+            // Add 1.0 to avoid boosting tiny differences: e.g. 0.004 is twice as much as 0.002, but
+            // 1.004 is only slightly more than 1.002.
             PveTopsisAlternative {
-                average_cpu: (squares_cpu / len as f64).sqrt(),
-                highest_cpu,
-                average_memory: (squares_mem / len as f64).sqrt(),
-                highest_memory: highest_mem,
+                average_cpu: 1.0 + (squares_cpu / len as f64).sqrt(),
+                highest_cpu: 1.0 + highest_cpu,
+                average_memory: 1.0 + (squares_mem / len as f64).sqrt(),
+                highest_memory: 1.0 + highest_mem,
             }
             .into()
         })
-- 
2.30.2





^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2023-11-06 17:22 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-21 16:44 [pve-devel] [PATCH proxmox-resource-scheduling] pve static: add one to avoid boosting tiny relative differences Fiona Ebner
2023-03-21 16:44 ` [pve-devel] [PATCH proxmox-perl-rs 1/2] pve: test: resource scheduling: add test where memory is secondary to CPU Fiona Ebner
2023-03-21 16:44 ` [pve-devel] [PATCH proxmox-perl-rs 2/2] pve: test: resource scheduling: add another " Fiona Ebner
2023-03-22  8:32 ` [pve-devel] applied: [PATCH proxmox-resource-scheduling] pve static: add one to avoid boosting tiny relative differences Thomas Lamprecht
2023-10-05  9:50   ` Fiona Ebner
2023-11-06 17:21     ` [pve-devel] applied: " Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal