<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Retrofitting Parallelism onto OCaml · HackerPapers discussions</title><link>https://hackerpaper.kaipfister.de/p/2004.11663/</link><description>Collected HN comments and submissions linking this paper.</description><language>en</language><lastBuildDate>Mon, 02 Nov 2026 11:16:22 GMT</lastBuildDate><atom:link href="https://hackerpaper.kaipfister.de/p/2004.11663/feed.xml" rel="self" type="application/rss+xml" /><item><title>Retrofitting Parallelism onto OCaml — mentioned by nequo</title><link>https://news.ycombinator.com/item?id=34015967</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:34015967</guid><pubDate>Fri, 16 Dec 2022 15:54:49 GMT</pubDate><description>&lt;p&gt;Signals and Threads had an interview with Anil Madhavapeddy last year: https://signalsandthreads.com/what-is-an-operating-system/ He talked about the work to put a multicore-ready memory model[1] and GC[2] under OCaml. [1] https://anil.recoil.org/papers/2018-pldi-memorymodel.pdf [2] https://arxiv.org/abs/2004.11663&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=29877117</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:29877117</guid><pubDate>Mon, 10 Jan 2022 16:20:21 GMT</pubDate><description>&lt;p&gt;Along with the graphs from the PR in the sibling comment, there&amp;#x27;s also the extensive benchmarking from the ICFP2020 paper: https://arxiv.org/pdf/2004.11663.pdf Work on this is on-going via the sandmark benchmarking suite: https://github.com/ocaml-bench/sandmark In short the expectation should be that single-threaded code performs roughly the same (single digit percentage changes) as on the sequential runtime. Parallel code on multicore can see close to linear speedups on 64 cores, though it depends significantly on your workload. If you&amp;#x27;re interested in parallelising existing OCaml code, I…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=29876899</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:29876899</guid><pubDate>Mon, 10 Jan 2022 16:06:27 GMT</pubDate><description>&lt;p&gt;It involved a fair amount of research and there were many technical challenges. Maintaining backwards compatibility in terms of language features and single-threaded performance puts constraints around what you can implement. Also from my personal experience, debugging segfaults in parallel programs that could be caused by GC bugs is a painstaking process. We&amp;#x27;ve written a couple of papers detailing the internals and the trade-offs involved: https://arxiv.org/abs/2004.11663 (for parallelism) and https://arxiv.org/abs/2104.00250 (for effects) Added to that is the complexity of tracking a moving…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=28377392</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:28377392</guid><pubDate>Wed, 01 Sep 2021 08:00:59 GMT</pubDate><description>&lt;p&gt;Our paper from ICFP last year has extensive benchmarks against stock OCaml: https://arxiv.org/abs/2004.11663 In short there should be very little performance difference against stock. As KC has linked in a sibling comment there&amp;#x27;s a project going to explore using effects to write high performance IO libraries and that has some early benchmarks.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=27142451</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:27142451</guid><pubDate>Thu, 13 May 2021 14:29:20 GMT</pubDate><description>&lt;p&gt;As the sibling comment mentions, the hard part is actually retrofitting multicore whilst maintaining compatibility _and_ performance. Our paper last year covers most of why this is tricky: https://arxiv.org/abs/2004.11663&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=26428203</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:26428203</guid><pubDate>Thu, 11 Mar 2021 19:47:45 GMT</pubDate><description>&lt;p&gt;Multicore is almost entirely backwards compatible with stock OCaml. One issue is C libraries that use so-called naked pointers but these are discouraged anyway and 4.12 ships a detector to find these: https://discuss.ocaml.org/t/ann-a-dynamic-checker-for-detect... There are also two functions on the Obj module which aren&amp;#x27;t supported because they&amp;#x27;re unsafe to do concurrently. These are clearly marked as &amp;quot;not for the casual user&amp;quot; so their use is relatively rare. With regards to performance, you can find a fairly detailed analysis in our ICFP 20 paper: https://arxiv.org/abs/2004.11663 In short…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=24282361</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:24282361</guid><pubDate>Wed, 26 Aug 2020 13:44:27 GMT</pubDate><description>&lt;p&gt;Just to add to this good summary, OCaml already has some support for parallelism that would be useful for scientific computation. Essentially you can already have multi-threaded OCaml programs as long as only one thread is using the OCaml runtime at any point in time. For numerical code where you might be spending the vast majority of your time in external libraries this ends up not being a major problem. It&amp;#x27;s not a dissimilar story for where Python is. What Multicore OCaml adds is the ability to run multiple threads of OCaml code at the same time (we call them Domains, to avoid confusing…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by kcsrk</title><link>https://news.ycombinator.com/item?id=23744888</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:23744888</guid><pubDate>Mon, 06 Jul 2020 05:07:56 GMT</pubDate><description>&lt;p&gt;No breaking changes with the parallel minor collector (ParMinor). This is the design which will be upstreamed. See https://arxiv.org/pdf/2004.11663.pdf for details.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by kcsrk</title><link>https://news.ycombinator.com/item?id=23744874</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:23744874</guid><pubDate>Mon, 06 Jul 2020 05:05:29 GMT</pubDate><description>&lt;p&gt;Better throughput, and almost no impact on latency overall. See https://arxiv.org/abs/2004.11663 section 6.2 for parallel performance evaluation.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=23741471</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:23741471</guid><pubDate>Sun, 05 Jul 2020 20:03:23 GMT</pubDate><description>&lt;p&gt;(Multicore OCaml hacker here - speaking for myself though) Nice to see people having a look at this. It&amp;#x27;s an early draft chapter that Sudha, one of the Multicore team, has been working on. If you have feedback or suggestions I&amp;#x27;m sure she&amp;#x27;d welcome it on the draft&amp;#x27;s PR: https://github.com/prismlab/parallel-programming-in-multicor... If you&amp;#x27;re new to Multicore OCaml the repo is at https://github.com/ocaml-multicore/ocaml-multicore . It has installation instructions near the bottom (easiest way is via OPAM). The latest June update of our progress is available at…&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — mentioned by sadiq</title><link>https://news.ycombinator.com/item?id=23384306</link><guid isPermaLink="false">urn:hackerpapers:mention:2004.11663:23384306</guid><pubDate>Mon, 01 Jun 2020 21:44:36 GMT</pubDate><description>&lt;p&gt;We have a preprint up of our paper that details the design of Multicore OCaml along with a range of performance comparisons: https://arxiv.org/abs/2004.11663 In terms of performance it varies. The benchmarks in that paper it ranges from a 20% slowdown to a 20% speedup - most macro benchmarks are &amp;lt;10%. There&amp;#x27;s also still some more performance work we can do to chip away at that further.&lt;/p&gt;&lt;p&gt;&lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and discussion history&lt;/a&gt;. A mention is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — HN submission</title><link>https://news.ycombinator.com/item?id=23046596</link><guid isPermaLink="false">urn:hackerpapers:submission:2004.11663:23046596</guid><pubDate>Fri, 01 May 2020 21:17:38 GMT</pubDate><description>&lt;p&gt;Retrofitting Parallelism onto OCaml&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;30 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — HN submission</title><link>https://news.ycombinator.com/item?id=23029711</link><guid isPermaLink="false">urn:hackerpapers:submission:2004.11663:23029711</guid><pubDate>Thu, 30 Apr 2020 11:28:17 GMT</pubDate><description>&lt;p&gt;Retrofitting Parallelism onto OCaml&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — HN submission</title><link>https://news.ycombinator.com/item?id=23009517</link><guid isPermaLink="false">urn:hackerpapers:submission:2004.11663:23009517</guid><pubDate>Tue, 28 Apr 2020 17:34:40 GMT</pubDate><description>&lt;p&gt;Retrofitting Parallelism onto OCaml&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;4 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item><item><title>Retrofitting Parallelism onto OCaml — HN submission</title><link>https://news.ycombinator.com/item?id=22995907</link><guid isPermaLink="false">urn:hackerpapers:submission:2004.11663:22995907</guid><pubDate>Mon, 27 Apr 2020 14:04:46 GMT</pubDate><description>&lt;p&gt;Retrofitting Parallelism onto OCaml&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2 points; 0 discussion replies on HN. &lt;a href="https://hackerpaper.kaipfister.de/p/2004.11663/"&gt;Paper and source history&lt;/a&gt;. A submission is not an endorsement.&lt;/p&gt;</description><category>cs.PL</category></item></channel></rss>
