8 Feb 18:34
An observation regarding Lumiera's parallelism
Hi Lumi hackers, since we're discussing about advertisement, and also consider GSoC, there's an interesting observation I want to share. Mostly, wer're discussing our thread handling in the render engine along the lines of "we have isolated jobs and a scheduler, and those jobs are made to avoid blocking". While this is certainly true, it not the full story. When considered at a higher, more abstract level, what we're actually doing in our engine is some kind of "modified fork-join". The similarities are striking -- the major difference is, that fork-join is a generic handling pattern and typically implemented through general purpose libraries, while we're creating something specialised and dedicated here. Yet still - we have a "backbone level", which does "fork" new sub tasks: while playback is running, we won't schedule all conceivable jobs at once; rather we're scheduling the first chunk plus a follow-up job to schedule the next chunk. - we *do* join the results together. We just do it in a clever way, so to avoid(Continue reading)
RSS Feed