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

文章讲的是 Milk诞生,据说比其他编程语言快四倍近日,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上发表了关于该项目的论文。


作者:zyy

来源:IT168

原文链接:Milk诞生,据说比其他编程语言快四倍!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值