Re:Magic-trace – High-resolution traces of what a process is...
by kolbe on Friday April 22, 2022 @05:19PM
(#31128286)
Do you know this for a fact? I've done some work in the industry where I needed to make fast software, but never the like sub-microsecond tick-to-trade type fast, so I really don't know.
There was a great presentation from 2017 about some of Optiver's low latency techniques[1]. I had assumed they released it because the had obviated all of them by switching to FPGAs, but I don't know. Either way, he suggested that if you ever needed to ping main memory for anything, you already lost. So, I wouldn't have thought DDIO plays into their thinking much.
Re:Magic-trace – High-resolution traces of what a process is...
by isogon on Friday April 22, 2022 @05:32PM
(#31128442)
The idea is precisely that you want to avoid pinging main memory at all, which is possible (in the happy case) if you do things correctly with DDIO. Not everything is done in hardware where I am. I am wary of saying much because my employer frowns on it, and admittedly I work on the software more than the hardware, but DDIO is certainly important to us.
Re:Magic-trace – High-resolution traces of what a process is...
by b20000 on Friday April 22, 2022 @04:48PM
(#31127888)
how do you access this DDIO feature if you are writing a C or C++ application? intrinsics?
Re:Magic-trace – High-resolution traces of what a process is...
by tbr1 on Friday April 22, 2022 @05:09PM
(#31128168)
DDIO operates mostly transparently to software, with the I/O controller feeding DMAs into a slice of L3. Hardware can opt out by setting PCIe TLP header hints, and you have some system-wide configurability via MSRs, but it's not something a userspace application can take into its own hands.
Re:Magic-trace – High-resolution traces of what a process is...
by b20000 on Friday April 22, 2022 @06:23PM
(#31128962)
so is this taken advantage of by the OnLoad drivers of solarflare cards, for example?
Re:Magic-trace – High-resolution traces of what a process is...
by isogon on Sunday April 24, 2022 @01:18PM
(#31146057)
Noticed this just now. It is.
Re:Magic-trace – High-resolution traces of what a process is...
by medawsonjr on Monday April 25, 2022 @01:56PM
(#31158412)
It's configurable via MSR. You can also disable it system-wide or on a PCIe port basis. I detailed it all here:
[0] https://www.intel.com/content/www/us/en/io/data-direct-i-o-t...