On Tue, Jan 31, 2012 at 1:46 PM, David Goulet <[email protected]> wrote: > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Hi everyone, > > To help the tor project, I'll contribute some of my spare time to improve > multithreading for the Tor code base. Color me confused: This is for taking advantage of multiprocessor systems, correct? > I've speak a bit with Nick M. and it seems the crypto lib is an important part > to begin with. The wiki page > (https://trac.torproject.org/projects/tor/wiki/org/projects/Tor/MultithreadedCrypto) > indicates, basically, that a worker thread pool with a work queue to dispatch > crypto events should be the right approach and I do agree. > > Is it acceptable to link an external library to the project being a > dependence? > > The library I'm thinking about is "liburcu" which stands for user-space RCU > (http://lttng.org/urcu). It's a complete set of lockless data structure > including wait-free queue which can be very useful for our case. It support a > large variety of architecture and works on BSD and Linux. The Linux kernel use > RCU mechanism for a lot of internal data structure today so it's quite tested > and solid. One future issue I foresee is the use of batching oriented crypto operations. If we use binary Edwards curves for speed in the onion skins, then batching becomes a major timesaver. The obvious way to do this is with workers grabbing and putting back batches, but we also want to maintain responsiveness. If a router is getting low traffic it shouldn't wait forever to fill up a batch. > > The question I think is do we want lockless data structure in Tor or it's not > and will not be necessary for the type of workload ? (lockless re-sizable hash > tables, red-black tree, stack, linked-list (double also) and queue are > available > as of today). > > Waiting on your feedback guys, either way, I'll begin implementing parallel > crypto largely based on the wiki page (really good ideas there). > > Thanks a lot! > David > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (GNU/Linux) > > iQEcBAEBAgAGBQJPKET6AAoJEELoaioR9I02OO0H/2lxrvak2ItAdGsXHsyH2dgz > U3ePxZUg8Ix5UuZXA/LnP3T7/HBa47mtPMj3hwuz2Wnarf6FulumYA3A9jKsZyxQ > tf6azD+G7CbZjjYPbe8XYfOZC6+x58mF7SciM/maLoFQLzCvw7ruBBXu8j0Ghw5Q > hcm8RMIa4UyB0szSpMqkt615sYQBgy7hhEkNKqxnfdP4zIqUIK8mJqBING6r7qU+ > EhnIT5VNzKG9FZPkYNzXOvzbtH0MegNfePsi6gDYlkjR7gekiT9wYH9n5tFTPQUu > 4BwqaaHR/Wk+zfHaQOmz+KC3eefUqcd+XP82mcPTSUDj4mzG1Sio2ZHKX0IeJVw= > =r0da > -----END PGP SIGNATURE----- > _______________________________________________ > tor-dev mailing list > [email protected] > https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev Sincerely, Watson Ladd
-- "Those who would give up Essential Liberty to purchase a little Temporary Safety deserve neitherĀ Liberty nor Safety." -- Benjamin Franklin _______________________________________________ tor-dev mailing list [email protected] https://lists.torproject.org/cgi-bin/mailman/listinfo/tor-dev
