3 ms·
Disclosure: I work at AWS and played a part in building the Nitro system The Nitro system does use SR-IOV, and it can take advantage of hardware virtualization
by _msw_ 7y ago
Disclosure: I work at AWS and played a part in building the Nitro system
The Nitro system does use SR-IOV, and it can take advantage of hardware virtualization features like VT-d posted interrupts to lower interrupt virtualization overhead. But VT-d posted interrupts isn't a factor in avoiding polling. I'd go further to say that the Two Six Labs blog post has some inaccuracies, so I wouldn't depend on the information it contains much.
Polling is often more efficient, and lower latency, than interrupt driven operation. If a CPU is mostly doing IO, polling for work can be a much better approach. Jens Axboe has been working on adding polling to the I/O stack for a while [1], and has recently added a new API for submitting I/O that is very promising [2] (25-33% performance improvements on I/O heavy workloads).
[1] https://lwn.net/Articles/705315/ https://lwn.net/Articles/705315/
[2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=38e7571c07be01f9f19b355a9306a4e3d5cb0f5b https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...
- _msw_ 7y agoSee also this thread: https://news.ycombinator.com/item?id=19843464 https://news.ycombinator.com/item?id=19843464