https://hgpu.org/?p=2442
An events based algorithm for distributing concurrent tasks on multi-core architectures