Hi Brian - I tried running two different simplified versions of your program on my laptop, using GASNET with the UDP conduit.
One version uses strings (as you had). The other version replaces
the strings with uints but is conceptually the same.
This table summarizes my results for 100 iterations:
on my laptop (GASNet UDP, qthreads):
1 locale 2 locales
string 0.000147 s 8.502195 s -> 50,000x slower
uint 0.000024 s 0.000029 s -> 1.2x slower
on a linux server (GASNet UDP, qhtreads):
1 locale 2 locales
string 0.000311 s 0.013721 s -> 44x slower
uint 0.000016 s 0.000035 s -> 2x slower
But, if I change to CHPL_TASKS=fifo, I get this table:
on my laptop (GASNet UDP, fifo):
1 locale 2 locales
string 0.000129 s 0.003669 s -> 28x slower
uint 0.000024 s 0.000032 s -> 1.3x slower
on a linux server (GASNet UDP, fifo):
1 locale 2 locales
string 0.000144 s 0.001600 s -> 11x slower
uint 0.000015 s 0.000026 s -> 1.7x slower
I'm seeing similar, but not as severe problems with
a real distributed system. Since the problem is not
nearly as severe with CHPL_TASKS=fifo, I think that
there is a problem qthreads and GASNet.
That's in addition to string problems we already
know about.
Brian, were you using CHPL_TASKS=fifo on the
ARM cluster when seeing the performance problem?
I've attached the programs I was using in these experiments.
Thanks,
-michael
>
minimal.chpl
Description: minimal.chpl
minimal-uint.chpl
Description: minimal-uint.chpl
------------------------------------------------------------------------------ One dashboard for servers and applications across Physical-Virtual-Cloud Widest out-of-the-box monitoring support with 50+ applications Performance metrics, stats and reports that give you Actionable Insights Deep dive visibility with transaction tracing using APM Insight. http://ad.doubleclick.net/ddm/clk/290420510;117567292;y
_______________________________________________ Chapel-developers mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/chapel-developers
