登录 / 注册
IT168技术开发频道
IT168首页 > 技术开发 > 技术开发评论 > 正文

Milk诞生,据说比其他编程语言快四倍!

2016-09-19 00:00    it168网站原创  作者: zyy 编辑: 覃里

  【IT168 翻译】近日,Milk语言诞生于麻省理工学院,主要针对大型分散数据集数据内存管理的问题。现在,内存管理足以成为传统数据集的挑战,当大数据时代到来,这一进程似乎又变得缓慢了。麻省理工学院本周宣布了一种新的编程语言,以期解决该问题,并宣布该语言相比于其他编程语言,在效率上提升了4倍。

Milk诞生,据说比其他编程语言快四倍!

  现在的内存管理基于“局部性原理”,局部性原理是指在大多数计算机芯片中控制内存管理,这意味着如果一个程序需要在内存的某个位置存储数据块,通常假设需要相邻的数据块,然而大数据时代,并非总是如此。相反,程序经常只需要分散在大型数据集中的几个数据项。

  从主存中读取数据是目前芯片面临的主要性能瓶颈,所以必须频繁读取,这会导致执行相当缓慢。麻省理工学院电气工程和计算机科学博士Vladimir Kiriansky说,“这就好像每次你想要一勺麦片时,你都会打开冰箱,打开包装盒,取出一勺,然后封上包装盒,关上冰箱。”Kiriansky和其他来自麻省理工学院计算机科学与人工智能实验室(CSAL)的同学创造了这门新的编程语言Milk,致力于让开发人员更高效地处理大型数据集中的分散数据点。

  从本质上说,Milk对OpenMP增加了一些命令,OpenMP可以支持C语言和Fortran,这使得多核处理器编写代码更加容易。程序员可以使用Milk,在任何指令周围加入几行代码,用于遍历一个大数据系,寻找相对少量的数据项。Milk编译器,将高级语言转化成低级指令,然后搞清楚如何相应地管理内存。

Milk诞生,据说比其他编程语言快四倍!

  用Milk写程序时,如果需要一块数据,它并不会要求主存中的相邻数据过来。相反地,它会将数据项的地址添加到本地存储地址列表,当该列表变得足够长时,所有芯片的核会将彼此邻近的列表组合在一起,重新进行分配。这样,每个内核只请求它需要的数据项,方便高效检索数据项。

  麻省理工学院表示,目前测试的几种常见算法,Milk比其他已存在的编程语言效率提升了四倍,Milk编译器不仅可以追踪内存地址列表,也包括存储在这些地址的数据。它必须决定哪个地址能够被保留,因为他们必须被重新访问,哪些需要丢弃不会在进行访问,如果未来进一步优化,可能会达到更好的效果。本周,该团队也在 International Conference on Parallel Architectures and Compilation Techniques上发表了关于该项目的论文。

  原文链接;http://www.infoworld.com/article/3120689/big-data/new-programming-language-promises-a-4x-speed-boost-on-big-data.html

相关文章
  • IT168企业级IT168企业级
  • IT168文库IT168文库

扫码送文库金币

实时热点
编辑推荐
系统架构师大会
系统架构师大会
点击或扫描关注
IT168企业级微信关注送礼
IT168企业级微信关注送礼
扫描关注
首页 评论 返回顶部