Skip to content
0:00 / 0:00

#ocaml#multicoreocaml#garbagecollection

OCaml 2014: Multicore OCaml, Stephen Dolan

Malcolm Wallace

884 subscribers • 15 videos on Hallway

YouTube
  • Recommended by 3 people: 3 in engineering communities.
  • Presented by Stephen Dolan

Advanced. Deep dive for people who know the field.

2.9K views12 years ago3 recommendations

Programming languagesSystems programmingOCaml and F#Concurrency and parallelismMemory management

Stephen Dolan presents the design and implementation challenges of adding multicore support and concurrent garbage collection to OCaml.

OCaml Workshop @ ICFP 2014. Gothenburg, Sweden.

Why it's here

3 people recommend this

What people say. Recommended for its clear explanation of OCaml's multicore design, tiered heaps, and concurrent garbage collection challenges.

u/fredugolonin r/ocaml • Recommends

On “OCaml Multicore support status”

this is something i was looking into recently. the ocaml labs site is a good place to get updates. as a lab, they produce annual updates with some relevant information. this year's update had a pretty good section on multicore's progress. current challenge is in creating an efficient GC. this is a pretty good talk describing the problem. they're developing a system w/ tiered heaps (shared and isolated). you can see the day to day progress on github, though it's not incredibly easy to follow. hope that helps! i have a feeling project specific mailing lists might be more helpful.

u/Drupyogin r/ocaml • Recommends

On “Any recent news about OCaml and parallelism?”

here

u/smosherin r/ocaml • Recommends

On “Multicore OCaml - Dolan, White, Madhavapeddy -- UoCambridge 2014”

Video here: link to this video

u/dalastbossin r/ocaml • Mentions

Confused about concurrency/parallelism terminology This is not *strictly* OCaml but in this talk the speaker says "fibers" which are used for concurrency are implemented using user threads whereas "domains" which are used for parallelism are implemented using system threads. I'm confused about a bunch of things here. Does that mean fibers won't be scheduled in parallel but rather just have their instructions interleaved? What is the difference between a user and system thread? If fibers are concurrent but can be run in parallel why bother with the more expensive domain abstraction? Where does the notion of process versus thread come into play? Is concurrency necessarily tied to processes…