Opening discussion on StreamWorker

Currently, Web Workers provides a "heavy" scope for multithreaded Web Apps to handle heavy data processing.

I'd like to draw on those specs and create a new lightweight scope useful for various data processing tasks typically associated with stream processing and GPUs.

CSS/FX is looking at custom filter tags using WebGL. I think we can implement these in Workers as well. The most important constraints are that the data is opaque: no shared storage allowed.

There are many examples of using web workers to apply effects to 32bit pixel data. Those could be easily applied to CSS pixel filters just as WebGL shaders are.

River Trail and W16 are showing us ways in which tight for loops can take advantage of multiple cores.

Let's look at these use cases and consider a new lightweight worker scope. Nothing but the bare bones, designed and expected to be used for a very specific type of task.

Existing CanvasPixelArray processing scripts are a great place to start. I suspect we'll be able to handle other cases, such as stream ciphers.

I'm still trying to bikeshed a name on this... StreamWorker, OpaqueWorker, SimpleWorker, DataWorker etc.


Please join me in the discussion. I think we can make rapid progress here now that Transferable has matured and we have two moderately-parallel JS implementations.


-Charles

Received on Friday, 18 November 2011 00:53:13 UTC