Unified Concurrent Runtime for D

Dmitry Olshansky
May 3 @ 11:00

Duration: 50 minutes
Talk type: Presentation
Level: Intermediate
Slides: PDF


D happens to have a great deal of ways to do incompatible things especially when it comes to I/O and system interface in general. here is a zoo of incompatible approaches:

And it's not a difference that is easy to wrap away.

The talk is presenting experimental work being done to have C libraries respect D's Fibers, goes beyond I/O and finally discusses a unified view of D's concurrency primitives.


The talk is based on results of a joint work with Alexandru Caciulescu. The talks aims to present a simple coherent runtime via a model of light user-mode threads (UMT), where I/O and blocking system calls are handled efficiently by the runtime, which maintains an event-loop.

$(P Then we see how can implement such a model where even 3rd party C code behaves well when called from UMT. A very different approaches lead to radically different internal designs for Windows and Linux, which however (with a few considerations) are nicely fitting in our model.

The performance of the prototype is benchmarked against the baseline on a few typical applications.

The second part of the talk is focused on D itself and things like:

Speaker Bio:

Dmitry Olshansky is a young all-around researcher and software engineer. He's been a long-time D language contributor with his most notable contributions being the std.regex and std.uni modules of the standard library. Aside from everything D-related, his main interests are compilers, runtimes, text processing, parallel and concurrent programming, scalable network systems and AI.

QA Systems