<div dir="ltr"><div>Justin,  to be honest I think Julia parallelism is in an early stage.</div><div>I think you would be better to talk directly with the language founders.</div><div>A good place for discussions is at:<br></div><div><a href="https://discourse.julialang.org/">https://discourse.julialang.org/</a></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 18 September 2017 at 18:22, Justin Y. Shi <span dir="ltr"><<a href="mailto:shi@temple.edu" target="_blank">shi@temple.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi John:<div><br></div><div>Thanks for your quick reply. I have been working on fault tolerant computing for a long while. Given Julia's recent successes, I am curious about how it's designer had tackled the scaling challenge. </div><div><br></div><div>In other words, we knew that end-to-end computing paradigms are fundamentally unstable under the lens of extreme scale computing. I am always interested in the extremes when the envelope MTBF (mean time between failures) can be pushed.</div><span class="HOEnZb"><font color="#888888"><div><br></div><div>Justin </div></font></span></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Sep 18, 2017 at 4:22 AM, John Hearns via Beowulf <span dir="ltr"><<a href="mailto:beowulf@beowulf.org" target="_blank">beowulf@beowulf.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>Justin,  I do not know the answer to this question.</div><div>Woudl you kindly elaborate further - do you mean is it necessary to have checkpointing with Julia,</div><div>or are you working on checkpointing software?</div><div><br></div><div>Not really an answer to this question. Julia uses the LLVM compiler and something called multiple dispatch.</div><div>At first sight as a scientist/engineer you will probably throw your hands up in horror at the though of multiple dispatch,</div><div>and start wailign that it is wasteful of machine resources and CPU cycles. But no, wait and think on... computers are </div><div>pretty powerful these days and disk space (to a first approcxilmation) is plentiful. SO read on with an open mind...</div><div><br></div><div><a href="https://armchairecology.blog/2017/07/10/julia-in-ecology-why-multiple-dispatch-is-good/" target="_blank">https://armchairecology.blog/2<wbr>017/07/10/julia-in-ecology-why<wbr>-multiple-dispatch-is-good/</a><br></div><div><a href="http://www.stochasticlifestyle.com/type-dispatch-design-post-object-oriented-programming-julia/" target="_blank">http://www.stochasticlifestyle<wbr>.com/type-dispatch-design-<wbr>post-object-oriented-<wbr>programming-julia/</a></div><div><br></div><div>So for any function Julia creates separate OPTIMISED code paths for every combination of types the function can operate on.</div><div>(ie those types which do not have operators which are able to work on them are ruled out).</div><div>Read that again - instead of creating huge code blocks which work with any type which you give it,</div><div>separate code blocks with optimised code are produced. (Th is is my understanding of how it works).</div><div><br></div><div>A consequence of this is that first time through, a Julia program is slow. You are cautioned to remember this when benchmarking.</div><div>I have never shot a gun, but if I may bowrrow a term from target shooting there is a pretty tight grouping around the C bullseye here</div><div><a href="https://julialang.org/benchmarks/" target="_blank">https://julialang.org/benchmar<wbr>ks/</a></div><div><br></div><div><br></div><div><br></div><div>Before anyone throws their teddies away, it is of course perfectly possible to produce compiled Julia code. My reading of this is that this is not </div><div>a slick process at the moment, and there are efforts ongoing to make this easy.</div><div>Though this looks pretty slick to me:<br></div><div><a href="https://github.com/JuliaComputing/static-julia" target="_blank">https://github.com/JuliaComput<wbr>ing/static-julia</a></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div> </div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div><div><br></div></div><div class="m_2892925627944489831HOEnZb"><div class="m_2892925627944489831h5"><div class="gmail_extra"><br><div class="gmail_quote">On 18 September 2017 at 04:08, Justin Y. Shi <span dir="ltr"><<a href="mailto:shi@temple.edu" target="_blank">shi@temple.edu</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi John:<div><br></div><div>Do you need to add checkpoints for Julia programs?</div><div><br></div><div>Just curious.</div><div><br></div><div>Thanks!</div><div><br></div><div>Justin</div></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_2892925627944489831m_173988939910147201h5">On Wed, Sep 13, 2017 at 7:43 AM, John Hearns via Beowulf <span dir="ltr"><<a href="mailto:beowulf@beowulf.org" target="_blank">beowulf@beowulf.org</a>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid"><div><div class="m_2892925627944489831m_173988939910147201h5"><div dir="ltr"><div>I see HPCwire has an article on Julia.  I am a big fan of Julia, so though it worth pointing out.</div><div><a href="https://www.hpcwire.com/off-the-wire/julia-joins-petaflop-club/" target="_blank">https://www.hpcwire.com/off-th<wbr>e-wire/julia-joins-petaflop-cl<wbr>ub/</a></div><div>Though the source of this seems old news - it is a presentation from this year's JuliaCon</div><div><br></div><div>JuliaCon 2018 will be talking place at UCL in London so mark your diaries. Yours truly should be there.</div><div><br></div></div>
<br></div></div>______________________________<wbr>_________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf" target="_blank" rel="noreferrer">http://www.beowulf.org/mailman<wbr>/listinfo/beowulf</a><br>
<br></blockquote></div><br></div>
</blockquote></div><br></div>
</div></div><br>______________________________<wbr>_________________<br>
Beowulf mailing list, <a href="mailto:Beowulf@beowulf.org" target="_blank">Beowulf@beowulf.org</a> sponsored by Penguin Computing<br>
To change your subscription (digest mode or unsubscribe) visit <a href="http://www.beowulf.org/mailman/listinfo/beowulf" target="_blank" rel="noreferrer">http://www.beowulf.org/mailman<wbr>/listinfo/beowulf</a><br>
<br></blockquote></div><br></div>
</div></div></blockquote></div><br></div>