InfoQ had an exclusive interview with Stephan Herhut from Intel Labs about this work.
InfoQ: What was the motivation for the River Trail project?
Stephan: I wasn’t at Intel when the project started. So I have asked Rick Hudson who has worked on it from the very beginning how it all started. Here is what he said:
Stephan: Our decision to implement our own Firefox extension has purely historical reasons. When we started the work on RiverTrail there simply was no WebCL and by the time it became available, we already had implemented our own interface. The interface is a simplified and reduced functionality version of WebCL. There already is a fork of RiverTrail on GitHub that uses WebCL as back-end implementation instead of our Firefox extension. I am not sure whether that supports buffer sharing between WebCL and WebGL. My focus currently is on learning from web developers how well RiverTrail fits their needs and evolving the API based on their feedback. I welcome anyone to build a WebCL based version and offer my support. It would be interesting to see what optimization potential that approach offers.
InfoQ: ParallelArray is the currently the main abstraction River Trail provides. Do you have ideas for other abstractions or can all tasks be mapped to ParallelArray?
Stephan: The ParallelArray abstraction is a good fit for data-parallel workloads. Another interesting domain in parallel programming are task-parallel workloads. Divide and conquer style algorithms belong to that domain. Web workers somewhat go into that direction but they are too heavy weight and do not allow for shared state. I do not have an answer yet but task parallelism is an area worth looking into.
InfoQ With web developers being able to directly leverage GPUs and multiple CPU cores, how do you see web apps evolving in the near future?
Stephan: I am not a web developer myself and I have huge respect for their creativity. When the Chrome and Mozilla demos for WebGL came out I was sitting in front of my laptop in awe. So it is really hard to predict where things are going. Web apps will become more like native apps in terms of their capabilities but they will be totally different otherwise. A huge advantage web apps have is their connectivity. They can tap into different data sources, mash things up, add live information and present it all using stunning visuals. I expect the web to become more immersive and less of a page centered web. The only thing I know for sure is that I will be surprised and amazed by what developers came up with.
InfoQ: What's the future roadmap for the project?