logoalt Hacker News

Cloudflare's Gen 13 servers: trading cache for cores for 2x performance

66 pointsby wmflast Monday at 10:06 PM18 commentsview on HN

Comments

gdwatsonyesterday at 10:07 PM

I will confess to skimming by the end. But I don’t think they explained how they solved the cache issue except to say they rewrote the software in Rust, which is pretty vague.

Was all the code they rewrote originally in Lua? So was it just a matter of moving from a dynamic language with pointer-heavy data structures to a static language with value types and more control over memory layout? Or was there something else going on?

show 2 replies
alberthyesterday at 10:35 PM

It seems like the unspoken takeaway is just how shockingly performant LuaJIT is, even relative to Rust.

show 1 reply
synacktoday at 12:01 AM

Is the Linux scheduler aware of shared CPU cache hierarchies? Is there any way we could make the scheduler do better cache utilization rather than pinning processes to cores or offloading these decisions to vendor specific code?

AbuAssartoday at 12:29 AM

Epyc’s naming is beautiful and consistent

attentiveyesterday at 10:33 PM

That was annoying to read because there is no easy to see impact of each change. It's FL2 + Gen 13 combined.

I.e. what's the FL2 benchmark on Gen 12 compared to FL1?

trhwayyesterday at 10:19 PM

Reminds that time when cheap Celeron with small cache was beating expensive Pentium with large cache (if i remember correctly that Celeron's cache was running at the core frequency while Pentium's was a separate die on half-frequency, and Celeron was very overclockable)

show 2 replies
11thDwarfyesterday at 10:10 PM

[flagged]

danpalmeryesterday at 10:08 PM

The tradeoff: The opportunity: Proving it out:

Nah I'm good thanks. Slop takes more effort to read and just raises questions of accuracy. It's just disrespectful to your reader to put that work on them. And in a marketing blog post it's just a bad idea.

show 2 replies