Intel发布JavaScript扩展以支持并行运算,Intel实验室正在


JavaScript,这个支撑Web的语言,在连移动设备都拥有并行运算能力的今天,还仍然以串行执行的方式存在。Intel实验室正在研究扩展JavaScipt,以便充分利用多核系统的运算能力,他们已经发布了一个相关的FireFox插件。

这个JavaScript的并行扩展代号为River Trail,是Intel实验室的一个项目,致力于在Web应用中利用Intel多核处理器和向量扩展运算能力。 River Trail将促使更多的计算密集型应用程序——如图片处理——出现在浏览器中。

Intel实验室的Stephan Herhut认为,与现有Web技术的集成是他们主要考虑的问题:

最让我激动的是,River Trail背后所使用的技术,可以与现有Web技术无缝集成。River Trail使用了一种简洁但强大的并行编程模型。我们花了很大力气来让这个扩展看起来尽量自然。我们的目标是让用户在使用River Trail构建Web应用时,与使用标准JavaScript时一样简单。而且,由于River Trail本身就在JavaScript中,可以更好的与HTML5 API结合。我们特别保证,River Trail与WebGL结合的非常好。WebGL是近期才被引入的OpenGL接口,用于在浏览器中渲染3D图像。我们有一个demo就是模拟超过 4000个个体的物理行为,计算部分使用了Trail River,视觉图像部分则使用了WebGL。
River Trail使用确定性并行数据结构对JavaScript进行扩展,该结构在运行时会被转换为底层硬件抽象层指令。通过利用多核处理器和向量处理指令,River Trail可以大幅提升执行速度。

值得注意的是,River Trail还为JavaScript添加了ParallelArray这一数据结构。这是存储并行数组数据的只读数据结构,可以通过构造函数或调用 ParallelArray原型上的方法来实例化。它的构造函数接受JavaScript普通数组,类型化数组或者可以生成这些数组的函数。例 如,“new ParallelArray([1,2,3])”将创建一个存储1,2,3的ParallelArray实例。该数组的内容能够被 combine, filter,map,reduce等函数进行处理,而且是并行执行的。这些函数将会被编译成OpenCL,并使用JavaScript的子集。

现在就可以下载Firefox插件来体验River Trail。

原文地址: http://www.infoq.com/cn/news/2012/02/javascript-parallel-processing查看英文原文:JavaScript Extension that Adds Parallel Processing Capabilities Unveiled by Intel

相关内容