Re: OpenWrt / MIPS benchmark with MGLRU

Dave Hansen
2022-08-31T15:13:26Z

On 8/30/22 21:17, Yu Zhao wrote:
> TLDR
> ====
> RAM utilization Throughput (95% CI) P99 Latency (95% CI)
> ----------------------------------------------------------
> ~90% NS NS
> ~110% +[12, 16]% -[20, 22]%

I'll give you points for thinking out of the box on this one. This is a
piece of hardware where both latency and bandwidth theoretically matter.
I've got a slightly older but similar piece of Ubiquiti hardware with
512MB of RAM. It doesn't run OpenWRT, fwiw. Maybe my firmware is a bit
outdated.

*But*, most of the heavy lifting for packet flow on these systems is
done in hardware. They have some hardware acceleration to be able to
_route_ at gigabit speeds, so they're probably not quite as sensitive to
software hiccups as lower-end routers.

That said, my system at least does not typically have *any* memory
pressure. Right now, it hasn't even filled free memory with page cache
and it's been up for over a month:

# cat /proc/meminfo
MemTotal: 491552 kB
MemFree: 160188 kB
MemAvailable: 373088 kB
Cached: 151004 kB

I think a better tl;dr would be:

MGLRU doesn't help much or cause any regressions on this
hardware. Under (atypical) synthetic memory pressure, MGLRU did
show some modest but measurable throughput and latency benefits.

In other words, this provides more of a data point that MGLRU doesn't
hurt medium-ish sized embedded systems. I think you could make an even
stronger case with even smaller hardware or something that actually sees
memory pressure on a regular basis in the wild.