[tor-bugs] #34010 [Core Tor/Tor]: Use io_uring when available
Tor Bug Tracker & Wiki
blackhole at torproject.org
Sun Apr 26 21:11:50 UTC 2020
#34010: Use io_uring when available
-------------------------+------------------------------
Reporter: torry | Owner: (none)
Type: enhancement | Status: new
Priority: Medium | Component: Core Tor/Tor
Version: | Severity: Normal
Keywords: io_uring | Actual Points:
Parent ID: | Points:
Reviewer: | Sponsor:
-------------------------+------------------------------
Io_uring is a new subsystem for asynchronous transfers of network or
disk/storage i/o.
https://lwn.net/Articles/810414/
It has a great potential in handling concurrent connections and transfers
over multiple sockets or disk files.
Samba has implemented this on disk io as side, and ib my home / nas
setting, it almost doubled total throughput on concurrent reads.
In network situations, it is said to be able to scale to 3-5x performance.
Liburing is a library to be able to utilise this subsystem. I think that
Tor really should look at io_uring due to the massive concurrency of a
relay.
In my own experience running a relay on a low end hardware for two years
and the low end hardware was never able to fill the fiber connection. It
seems to be quite a lot of internal overhead, perhaps io_uring could
really help.
**References**
https://lwn.net/Articles/810414/
https://lwn.net/Articles/776428/
https://git.kernel.dk/cgit/liburing/
https://github.com/axboe/liburing
**Other projects using io_uring**
https://wiki.samba.org/index.php/Samba_4.12_Features_added/changed#.27io_uring.27_vfs_module
https://github.com/ceph/ceph/pull/27392
--
Ticket URL: <https://trac.torproject.org/projects/tor/ticket/34010>
Tor Bug Tracker & Wiki <https://trac.torproject.org/>
The Tor Project: anonymity online
More information about the tor-bugs
mailing list