<html><head></head><body><div style="color:#000; background-color:#fff; font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px"><div id="yui_3_16_0_ym19_1_1469142636343_9327"><span>Thanks!</span></div><div class="qtdSeparateBR" id="yui_3_16_0_ym19_1_1469142636343_9342"><br><br></div><div class="yahoo_quoted" id="yui_3_16_0_ym19_1_1469142636343_9347" style="display: block;">  <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1469142636343_9346"> <div style="font-family: HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif; font-size: 16px;" id="yui_3_16_0_ym19_1_1469142636343_9345"> <div dir="ltr" id="yui_3_16_0_ym19_1_1469142636343_9344"> <font size="2" face="Arial" id="yui_3_16_0_ym19_1_1469142636343_9343"> <hr size="1"> <b><span style="font-weight:bold;">From:</span></b> Mathieu Desnoyers <mathieu.desnoyers@efficios.com><br> <b><span style="font-weight: bold;">To:</span></b> Mark E. Dawson <medawsonjr@yahoo.com> <br><b><span style="font-weight: bold;">Cc:</span></b> lttng-dev <lttng-dev@lists.lttng.org><br> <b><span style="font-weight: bold;">Sent:</span></b> Thursday, July 21, 2016 4:58 PM<br> <b><span style="font-weight: bold;">Subject:</span></b> Re: [lttng-dev] Practical recommendation for max update rate with QSBR<br> </font> </div> <div class="y_msg_container" id="yui_3_16_0_ym19_1_1469142636343_9348"><br><div id="yiv7547042382"><div id="yui_3_16_0_ym19_1_1469142636343_9351"><div style="font-family:arial, helvetica, sans-serif;font-size:12pt;color:#000000;" id="yui_3_16_0_ym19_1_1469142636343_9350"><div class="yiv7547042382yqt6981311603" id="yiv7547042382yqt34565"><div id="yui_3_16_0_ym19_1_1469142636343_9349"><span id="yiv7547042382zwchr">----- On Jul 21, 2016, at 4:47 PM, Mark E. Dawson <medawsonjr@yahoo.com> wrote:<br clear="none"></span></div><div id="yui_3_16_0_ym19_1_1469142636343_9354"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica, Arial, sans-serif;font-size:12pt;" id="yui_3_16_0_ym19_1_1469142636343_9353"><div style="color:#000;background-color:#fff;font-family:HelveticaNeue, Helvetica Neue, Helvetica, Arial, Lucida Grande, sans-serif;font-size:16px;" id="yui_3_16_0_ym19_1_1469142636343_9352"><div id="yiv7547042382yui_3_16_0_ym19_1_1469131414329_10925">All,</div><div id="yiv7547042382yui_3_16_0_ym19_1_1469131414329_10925"><br clear="none"></div><div id="yiv7547042382yui_3_16_0_ym19_1_1469131414329_10925">I've read the documentation regarding reader throughput drop-offs with high update rates due to the pointer exchanging between readers-writers, and the general admonition of using URCU only for mostly-read workloads with relatively infrequent updates.</div><div id="yiv7547042382yui_3_16_0_ym19_1_1469131414329_10925"><br clear="none"></div><div id="yiv7547042382yui_3_16_0_ym19_1_1469131414329_10925">However, is there a general rule-of-thumb suggestion for highest recommended update rate sustainable for optimal performance with URCU (in particular, the QSBR flavor) for highly threaded applications deployed on high core count machines (Intel)? The example case would be a single updater and 20 - 30 reader threads.</div></div></blockquote><div><br clear="none"></div><div>Hi Mark,<br clear="none"></div><div><br clear="none"></div><div>We have some relevant measurements in the supplementary material of:<br clear="none"></div><div><br clear="none"></div><div>Desnoyers, Mathieu, McKenney, Paul. E., Stern, Alan S., Dagenais, Michel R. and Walpole, Jonathan, <em>User-Level Implementations of Read-Copy Update</em>. <a rel="nofollow" shape="rect" target="_blank" href="http://www.computer.org/portal/web/tpds/">IEEE Transaction on Parallel and Distributed Systems</a>, 23 (2): 375-382 (2012).</div><div><br clear="none"></div><div>A copy can be found at http://www.efficios.com/publications<br clear="none"></div><div><br clear="none"></div><div>See p. 10 of supplementary material,  Fig. 14:<br clear="none"></div><div><br clear="none"></div><div>"Comparison of Pointer Exchange and Ideal RCU Update Overhead, 8-core Intel Xeon, Logarithmic Scale"<br clear="none"></div><div><br clear="none"></div>Since you are doing pointer exchange, you will want to look at the "QSBR"</div></div><div>line, which stays at 1000M reads/s up to 100000 updates/s, and then starts</div><div>dropping.</div><div><br clear="none"></div><div>On the 64-core POWER5+ (Fig. 15), read speed starts dropping near 100000</div><div>updates/s too.<br clear="none"></div><div><br clear="none"></div><div>Thanks,</div><div><br clear="none"></div><div>Mathieu<br clear="none"><blockquote style="border-left:2px solid #1010FF;margin-left:5px;padding-left:5px;color:#000;font-weight:normal;font-style:normal;text-decoration:none;font-family:Helvetica, Arial, sans-serif;font-size:12pt;">_______________________________________________<br clear="none">lttng-dev mailing list<br clear="none">lttng-dev@lists.lttng.org<br clear="none">https://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev<br clear="none"></blockquote></div><div><br clear="none"></div><div>-- <br clear="none"></div><div>Mathieu Desnoyers<br clear="none">EfficiOS Inc.<br clear="none">http://www.efficios.com</div></div></div></div><br><br></div> </div> </div>  </div></div></body></html>