From cc800a8416211670e9c7bd0e7c7051aa6c3ae86a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20Frosteg=C3=A5rd?= Date: Thu, 21 Mar 2024 17:04:26 +0100 Subject: [PATCH] bencher: add 2 threads per core entries for aquatic and opentracker Use low priority to enable skipping them --- crates/bencher/src/protocols/udp.rs | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/crates/bencher/src/protocols/udp.rs b/crates/bencher/src/protocols/udp.rs index d58c232..3c81c9c 100644 --- a/crates/bencher/src/protocols/udp.rs +++ b/crates/bencher/src/protocols/udp.rs @@ -65,13 +65,19 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(1, Priority::High), + // Allow running two workers per core for aquatic and + // opentracker. Skip this priority if testing on a + // virtual machine + AquaticUdpRunner::with_mio(2, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(1, Priority::High), + AquaticUdpRunner::with_io_uring(2, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(0, Priority::Medium), // Handle requests within event loop OpenTrackerUdpRunner::new(1, Priority::High), + OpenTrackerUdpRunner::new(2, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -89,12 +95,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(2, Priority::High), + AquaticUdpRunner::with_mio(4, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(2, Priority::High), + AquaticUdpRunner::with_io_uring(4, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(2, Priority::High), + OpenTrackerUdpRunner::new(4, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -112,12 +121,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(4, Priority::High), + AquaticUdpRunner::with_mio(8, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(4, Priority::High), + AquaticUdpRunner::with_io_uring(8, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(4, Priority::High), + OpenTrackerUdpRunner::new(8, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -135,12 +147,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(6, Priority::High), + AquaticUdpRunner::with_mio(12, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(6, Priority::High), + AquaticUdpRunner::with_io_uring(12, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(6, Priority::High), + OpenTrackerUdpRunner::new(12, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -158,12 +173,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(8, Priority::High), + AquaticUdpRunner::with_mio(16, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(8, Priority::High), + AquaticUdpRunner::with_io_uring(16, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(8, Priority::High), + OpenTrackerUdpRunner::new(16, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -181,12 +199,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(12, Priority::High), + AquaticUdpRunner::with_mio(24, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(12, Priority::High), + AquaticUdpRunner::with_io_uring(24, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(12, Priority::High), + OpenTrackerUdpRunner::new(24, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(), @@ -204,12 +225,15 @@ impl UdpCommand { implementations: indexmap! { UdpTracker::Aquatic => vec![ AquaticUdpRunner::with_mio(16, Priority::High), + AquaticUdpRunner::with_mio(32, Priority::Low), ], UdpTracker::AquaticIoUring => vec![ AquaticUdpRunner::with_io_uring(16, Priority::High), + AquaticUdpRunner::with_io_uring(32, Priority::Low), ], UdpTracker::OpenTracker => vec![ OpenTrackerUdpRunner::new(16, Priority::High), + OpenTrackerUdpRunner::new(32, Priority::Low), ], UdpTracker::Chihaya => vec![ ChihayaUdpRunner::new(),