QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

Intel 发布 JavaScript 扩展以支持并行运算

  • 2012-02-11
  • 本文字数:912 字

    阅读完需:约 3 分钟

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

查看英文原文: JavaScript Extension that Adds Parallel Processing Capabilities Unveiled by Intel

2012-02-11 19:003202
用户头像

发布了 63 篇内容, 共 24.9 次阅读, 收获喜欢 1 次。

关注

评论

发布
暂无评论
发现更多内容

[架构实战] 课后作业二

爱学习的麦子

【从0到1学算法】2.递归

Geek_65222d

10月月更

Linux操作系统——定时任务调度、磁盘分区与挂载、网络配置

胖虎不秃头

Linux 操作系统 10月月更

用30分钟相中10倍工程师

愚夫一得

面试 技术管理 招聘 文化 & 方法

Docker下,两分钟极速体验Nacos

程序员欣宸

Docker Spring Cloud 10月月更

Qt中读取json文件以及总结

中国好公民st

c++ qt 10月月更

MyBatis 学习笔记之配置文件

薛定谔的猫

mybatis 10月月更 mybatis配置文件

写过自定义指令吗,原理是什么?

bb_xiaxia1998

Vue

Python基础(七) | 文件、异常以及模块详解

timerring

异常 模块 10月月更

Vue3入门指北(六)列表渲染

Augus

Vue3 10月月更

react的jsx和React.createElement是什么关系?面试常问

beifeng1996

React

架构师的十八般武艺:变更管理

agnostic

需求变更

【愚公系列】2022年10月 Go教学课程 016-运算符之逻辑运算符和其他运算符

愚公搬代码

10月月更

Taurus: 面向机器学习的数据面架构

俞凡

人工智能 网络 自智网络

Python应用之计算阶乘

芯动大师

函数 10月月更 阶乘计算

js事件循环与macro&micro任务队列-前端面试进阶

loveX001

JavaScript

怎样对react,hooks进行性能优化?

beifeng1996

React

Linux操作系统——进程管理、RPM与YUM

胖虎不秃头

操作系统 Linux tar 10月月更

【SSM】Spring系列——IoC 控制反转

胖虎不秃头

spring ssm 10月月更

【一Go到底】第二天---你好,Go and GOROOT&GOPATH

指剑

golang Go入门 10月月更

Linux操作系统——用户管理、实用指令

胖虎不秃头

Linux 10月月更

面试官:vue2和vue3的区别有哪些?

bb_xiaxia1998

Vue

架构师的十八般武艺:风险管理

agnostic

风险管理

Linux操作系统——组管理和权限管理

胖虎不秃头

Linux 操作系统 10月月更

大数据ELK(十一):Elasticsearch架构原理

Lansonli

elasticsearch 10月月更

匿名网络追踪溯源机制及方法

郑州埃文科技

IP地址 追踪溯源 匿名网络

如何在 Linux 中删除超过 30 天的文件

wljslmz

Linux 10月月更

2022-10-02:以下go语言代码能否通过编译?A: 能;B: 不能;C: 不知道。 package main import ( “fmt“ ) type worker interfa

福大大架构师每日一题

golang 福大大 选择题

业务实时监控服务

穿过生命散发芬芳

10月月更 业务监控

Linux操作系统——日志管理

胖虎不秃头

Linux 操作系统 10月月更

MyBatis 学习笔记之MyBatis入门开发

薛定谔的猫

mybatis 10月月更 mybatis入门

Intel发布JavaScript扩展以支持并行运算_JavaScript_Dio Synodinos_InfoQ精选文章