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

时间:2016-09-19 20:54    点击:

近日,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上发表了关于该项目的论文。

来源:未知//所属分类:编程资讯/更新时间:2016-09-19 20:54
顶一下
(0)
0%
踩一下
(0)
0%
上一篇:码农新装备:可以在VR中检查代码的神奇应用
下一篇:“解放全国程序员”,网易云或成云计算黑马
相关内容