Print

Print


@vepadulano : I will double check the thread count and make sure it's right :-), I think what you are really after is the `XRD_PARALLELEVTLOOP` so let me elaborate bit more about it.

Regarding the `XRD_PARALLELEVTLOOP`, it is the parallel number of event loops the client is using. In case of single event loop, all socket I/O events are processed by a single thread, in general this is good because we avoid context switching (as opposed to synchronous I/O). However in some cases this can lead to a situation where the client becomes CPU bound. For example imagine `xrdcp` is copying data between two very fast servers (say 100GE, with ramdisk or optane). In a setup like this the event-loop will be receiving new I/O events faster than it is able to process them and as a results will limit the transfer rate. If we use 2 event-loops on the other hand, the source and the destination I/O events will be handled by separate threads/event-loops which could result in 2x faster I/O event processing (we measured 2.5GB/s vs 5GB/s). Similar effect could be also observed if your applications that use XRootD client to fetch data from multiple locations.

I will post a short summary in the original root issue (https://github.com/root-project/root/issues/7709).



-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/xrootd/xrootd/issues/1495#issuecomment-910135600

########################################################################
Use REPLY-ALL to reply to list

To unsubscribe from the XROOTD-DEV list, click the following link:
https://listserv.slac.stanford.edu/cgi-bin/wa?SUBED1=XROOTD-DEV&A=1