Low Latency Optimization: Understanding Pages (Part 1)
hudsonrivertrading.com
Low Latency Optimization: Understanding Pages (Part 1)
1–10 of 59 posts
Re: Low Latency Optimization: Understanding Pages (Part 1)
#2Re: Low Latency Optimization: Understanding Pages (Part 1)
#3Feels a bit blogspammy. Drepper's article is linked to for good reason
Although huge pages are pretty basic table stakes for hft software nowadays, not much alpha left to high by really going into detail on them?
Re: Low Latency Optimization: Understanding Pages (Part 1)
#4Re: Low Latency Optimization: Understanding Pages (Part 1)
#5I was oblivious to this a year ago before I got interested in database internals
Something that I found interesting, there's a recent presentation by Neumann about the Umbra DBMS where he fields a question about hugepages at the end. I recall him saying they don't use it, which I found interesting.
I know Oracle and MySQL recommended Transparent Hugepages IIRC
Re: Low Latency Optimization: Understanding Pages (Part 1)
#6Re: Low Latency Optimization: Understanding Pages (Part 1)
#7Re: Low Latency Optimization: Understanding Pages (Part 1)
#8If you're doing truly low latency stuff you shouldn't be swapping at all, everything should be 100% resident in memory at all times. So "pages" are totally irrelevant to you. (You should also probably be using something like the PREEMPT_RT patchset, adjust scheduling priorities and try your best to ensure that the CPU core(s) your app is running on aren't burdened by serving interrupts. Plus likely a lot of other stu…
Re: Low Latency Optimization: Understanding Pages (Part 1)
#9If you're doing truly low latency stuff you shouldn't be swapping at all, everything should be 100% resident in memory at all times. So "pages" are totally irrelevant to you. (You should also probably be using something like the PREEMPT_RT patchset, adjust scheduling priorities and try your best to ensure that the CPU core(s) your app is running on aren't burdened by serving interrupts. Plus likely a lot of other stu…
You basically only interact with the kernel on init/shutdown or outside of the fast path, and do something like isolcpus to delegate the kernel and interrupt handling to some garbage cores and give you the rest to do what you want with.
Re: Low Latency Optimization: Understanding Pages (Part 1)
#10If you're doing truly low latency stuff you shouldn't be swapping at all, everything should be 100% resident in memory at all times. So "pages" are totally irrelevant to you. (You should also probably be using something like the PREEMPT_RT patchset, adjust scheduling priorities and try your best to ensure that the CPU core(s) your app is running on aren't burdened by serving interrupts. Plus likely a lot of other stu…
Stock / near stock Linux is pretty close to fine for HFT. You basically only interact with the kernel on init/shutdown or outside of the fast path, and do something like isolcpus to delegate the kernel and interrupt handling to some garbage cores and give you the rest to do what you want with.