Mozilla正在SpiderMonkey中测试JavaScript并行计算

Mozilla正在SpiderMonkey中测试JavaScript并行计算

Mozilla正致力于实现JavaScript“并行(parallelism)计算”,以便充分利用硬件性能。Dave Herman是Mozilla Research的首席研究员和策略总监。近日,他在一篇博文中提到,他们正在其JavaScript引擎SpiderMonkey中进行相关实验。\

他们试图通过一种底层的、渐进的方法为JavaScript添加更加灵活和强大的并行计算原语。他首先指出:\

\

我正在谈论的不是“并发(concurrency)”……JavaScript的异步并发模型很受欢迎,也取得了成功,而且promisesES6 generators和即将到来的async/await正使它变得越来越好。

\

这里要探讨的是可以释放设备(GPU、SIMD指令及多内核处理器)潜能的并行计算。Web Workers已经在多核并行计算方面做了一些工作,但其工作线程是完全隔离的,只能通过postMessage进行通信。\

还有一种方案比较激进,就是像Nashorn那样将JavaScript变成一种完全多线程的数据模型。不过,那需要宿主Java程序小心地同步脚本,否则,JavaScript应用程序无法得到“运行至完成(run-to-completion)”的保证。而且,这个过程会伴随大量的标准化和实现工作,进而会带来生态系统方面的风险。\

另一方面,Mozilla Research和Intel Labs这些年来也在确定性并行计算API(有人称为River TrailPJS)方面做了一些实验。但他们选择了一种很困难的方法,因为很难找到一种足够通用的高级模型能够适合各式各样的并行程序。\

于是,他们引入了SharedArrayBuffer类型。不同于PJS,它内置的锁定机制为工作线程带来了新的锁定形式,但同样地,部分对象也可能因此遭受数据争用。不过,与Nashorn不同的是,这种情况只会出现在选择使用共享内存作为后台存储的对象中。如果创建了一个不使用共享缓冲区的对象,那么可以确定,它永远不会出现数据争用。Dave表示,这是一种相对保守的方法,但应该能够满足许多应用场景的需求。实际上,几年前就有人探讨过这种方法。在去年的JSConf大会上,谷歌PNaCI团队的Nick Bray还演示了一个在Chrome中共享缓冲区的原型。\

目前,Dave及其团队正在SpiderMonkey中测试SharedArrayBuffer API,并且正在草拟它的规范Firefox每日构建版本中已经提供了原型实现,感兴趣的读者可以下载试用并提供反馈。


感谢郭蕾对本文的审校。

\

给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ)或者腾讯微博(@InfoQ)关注我们,并与我们的编辑和其他读者朋友交流。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/109535.html原文链接:https://javaforall.net

(0)
上一篇 2021年9月4日 上午11:00
下一篇 2021年9月4日 下午12:00


相关推荐

  • 初识CDN加速

    初识CDN加速

    2021年8月21日
    64
  • 金蝶服务器设置(金蝶系统登录服务器)

    金蝶如何登录服务器配置内容精选换一换华为云帮助中心,为用户提供产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题、视频帮助等技术文档,帮助您快速上手使用华为云服务。如何修改集群节点的NTP服务器地址?集群访问OBS上报403异常。集群Master节点NTP时间与集群外节点的NTP服务器时间不同步,时间相差超过15min,导致集群访问OBS时鉴权失败,上报403异常。cat/…

    2022年4月15日
    189
  • pycharm换行继续输入_python粘贴代码自动换行

    pycharm换行继续输入_python粘贴代码自动换行     

    2022年8月27日
    8
  • 电脑如何进行截图识别

    电脑如何进行截图识别使用电脑的时候,我们经常会用到很多快捷键,就比如说截图,当我们把需要的文字内容截图之后,如何才能顺手把截图中的文字转换成word文字呢,下面小编分享一个简单的方法,在把文字内容截图之后直接可以转换成文字的方法。使用工具:迅捷OCR文字识别软件;操作方法:第一步:大家可以通过浏览器搜索关键词“OCR文字识别软件”找到该文字识别软件;第二步:在电脑上运行文字识别软件,点击左边功能栏中的“截图识别”功…

    2022年6月5日
    79
  • 通过页码直接跳转 html

    通过页码直接跳转 html

    2021年10月20日
    55
  • phpstorm 激活码生成【最新永久激活】2022.02.28

    (phpstorm 激活码生成)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年4月2日
    295

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号