Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

The Wikipedia article only has a cursory overview, but I’m strongly reminded of the coordination issues I saw in software rasterizer pipelines, with respect to queuing, load-balancing, and buffering. A lot of novice engineers who approach parallel SW rasterization are surprised when they see production systems & the “buffers” between phases are “one deep” (say, 1024 samples; 128x16 vertices; etc). Explaining why this is both: 1. optimal; and, 2. the stated design goal, is always the first task when onboarding them. (Briefly: we size the phases so they’ve got soft real time guarantees, so that the pipeline is always “smooth”; in a SW rasterizer, you can never “get ahead”, so regardless of your buffering size, the buffer is always “empty” or “full”—never “in between”. Before starting work, you check if your downstream buffer is full, or if your upstream buffer is empty; if so: do something else! That sort of system can be modeled with a buffer of size==1!)


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: