How to set asynchronous communication in DSLite

Dear all,

I was testing the time consumption of a method running with 1~10 servers with DSLite. Since DataSHIELD client received the replies in an asynchronous way, so I imagine the time spent is “log shape”. However, it is very linear. see below


After checking, the number of network access for a given number of servers is constant, this implied that DataSHIELD received the replies in order, not really asynchronous…

Does this mean DSLite does not have the ability to simulate the real network latency? How can I use the asynchronous option in DSLite?

Regards, hank


DSLite is the only DS backend that does not support async execution, because plain R is single threaded. Whether a DS backend supports async is implementation specific and higher level DSI functions (datashield.aggregate and datashield.assign) will adapt their behavior to this.