newsfilter.io
Conference Presentation, Fireside Chat, Interview

The Saga of Multicore OCaml

  • The multi-core garbage collector is expected to be easy to maintain and adopt immediately post-2022 release, though internal adoption anticipates a two-and-a-half-year delay for feature migration.
  • Forward porting features from the sequential garbage collector to the new multi-core system requires significant effort due to the new collector being built years after those features existed.
  • The snapshot property at the beginning of collection causes floating garbage to be delayed, extending object wait time from 1.25 cycles to 1.75 cycles.
  • A mark delay patch is planned to recover previous object lifetime behavior by adding synchronization previously deemed too expensive.
  • Future garbage collector tuning aims to reduce allocation and perform collections during early program setup to avoid wasting time on transient objects.
  • Building zero-alloc systems in OCaml is essential for high-performance packet processing requiring operations under 1.2 microseconds, with tight loops avoiding heap allocation to ensure deterministic performance.
  • New parallel language features are expected to deliver significant integer speedups in simple applications without complex distributed systems, allowing users to absorb parallelism without manual data serialization.
  • The "Data Race Freedom a la Mode" type discipline, recognized as a Distinguished Paper at the 2025 POPL conference, represents the second half of the parallelism problem alongside runtime capabilities.
  • Applying this new discipline to legacy code bases is expected to reveal numerous dirty tricks, immutable state issues, and data races that require fixing.
  • Jane Street intends to continue improving OCaml for years rather than adopting languages like Rust, citing the enormous cost as a deterrent.
  • OxCamel (OCaml Oxidized) is set for release with documentation, an LSP, and a formatter, but internal iteration will involve frequent breaking changes while it matures.
  • OxCamel is currently production-ready internally but not yet stable for community use due to rapid iteration, with full public upstreaming expected to take years.
  • Jane Street anticipates hiring high-caliber technologists by leveraging the niche nature of the OCaml developer community.
  • Python is predicted to likely encounter significant data race issues and break in free-threaded environments due to a lack of rigorous handling.
  • While new parallel capabilities offer substantial power, the speaker warns that balancing this power against the increased complexity of the system is complicated.
  • The new pacing system is expected to automatically reduce allocation during program startup to mitigate slow startup times.