Nulstein: A Work Stealing Task Scheduler

August 16th, 2010 § 0 comments

http://www.gamasutra.com/view/feature/4287/sponsored_feature_doityourself_.php
Nulstein Gamasutra article.

http://software.intel.com/en-us/articles/do-it-yourself-game-task-scheduling/
Nulstein Intel article. Seems to be the same as the Gamasutra article. Different reader comments.

Nulstein is a work-stealing task scheduler written by an ex-game dev Intel developer. In the article, the author says he wanted to write a Intel TBB-like, but more compact task scheduler that would fit inside a 64K demo. Nulstein seems to be a minimalist, but clearly written and fully functional work-stealing task scheduler, and since I don’t have any experience writing a multithreaded task scheduler, I’m going to use it in code and try to learn from it.


I integrated the Nulstein task scheduler into my DX11 smallpt code and made smallpt multithreaded. On my Intel Core2 Quad Q6600 2.4ghz with 4 CPU cores, the fps went from around 0.46 fps to around 1.76 fps. The sampling rate went from around 294400 samples/sec to around 1125561 samples/sec. Though I haven’t measured how much work stealing is helping out, the x3.82 speed-up I’m getting for going from 1 CPU core to 4 CPU cores seems pretty good.

https://www.cmpevents.com/GDCE10/a.asp?option=C&V=11&SessID=11257
The author of Nulstein is giving a talk titled “UFO Invasion: DX11 and Multicore to the Rescue” at GDC Europe 2010. The talk seems to be a follow-up of the above article. The talk summary says multicore CPU programming (Nulstein again) and DX11 deferred context multithreaded draw calls will be covered with the talk’s full source code to be made available. I am so far liking Nulstein and am looking forward to this talk’s material being made public.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

What's this?

You are currently reading Nulstein: A Work Stealing Task Scheduler at Butaman Renderer.

meta