阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

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:003029
用户头像

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

关注

评论

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

​区块链技术的重要性

CECBC

字节跳动面试经验分享,已拿 Offer!

伍陆柒

Java 面试 大厂

Node.js与二进制数据流

自然醒

Java node.js 大前端 二进制

typora设置图片自动上传,实现快速发文章

诸葛小猿

Typora PicGo gitee 上传图片

关于计划的思考

zhongzhq

Python中的@staticmethod和@classmethod的区别

BigYoung

Python classmethod staticmethod

聊聊Spring的IOC以及JVM的类加载

小隐乐乐

JVM中栈的frames详解

程序那些事

JVM 堆栈 性能调优 JIT GC

Redis进阶篇三——主从复制

多选参数

redis redis高可用 redis6.0.0 Redis项目

Rust是如何保障内存安全的

博文视点Broadview

读书笔记 rust

分布式缓存与消息队列

紫极

Newbe.Claptrap 框架入门,第一步 —— 创建项目,实现简易购物车

newbe36524

Docker Reactive ASP.NET Core

阿里四面你都知道吗?

java金融

Java 程序员 互联网 阿里 简历

带你解析MySQL binlog

Simon

MySQL Binlog

一些思考

张健

这样的二维码,你见过吗?

诸葛小猿

Java Python 后端 二维码 myqr

redis系列之——分布式锁

诸葛小猿

Java redis 分布式 分布式锁

ArrayList源码阅读

慌张而黑糖

ArrayList 源码阅读

浅析 VO、DTO、DO、PO 的概念、区别和用处!

Java小咖秀

学习 设计模式 模型 经验分享

推荐一款Python开源库,技术人必备的造数据神器!

狂师

Python 开源 自动化 开发工具 开发数据

kubernetes集群安装(二进制)

小小文

Kubernetes 容器

Tomcat8.5源码构建

知春秋

tomcat tomcat构建 tomcat源码解读 tomcat剖析

不是完成你学习的 KPI ,而是要形成指导你行动的 OKR

非著名程序员

学习 程序员 提升认知 知识管理

猿灯塔:spring Boot Starter开发及源码刨析(二)

猿灯塔

Java 猿灯塔 源码刨析

架构师训练营第六周总结

Melo

极客大学架构师训练营

数据库分片

Axe

Scala中如何优雅地实现break操作

吴慧民

scala

Python类中的__new__和__init__的区别

BigYoung

Python __init__ __new__

重学 Java 设计模式:实战访问者模式「模拟家长与校长,对学生和老师的不同视角信息的访问场景」

小傅哥

设计模式 小傅哥 重构 代码优化 访问者模式

工厂方法模式

Leetao

Python 设计模式 工厂方法模式

Linux 进程必知必会

cxuan

Linux 操作系统

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