我要发布
仪器网/ 仪器社区/ 工具包/ 用R语言修改一个工具包,做并行计算上的优化应该怎么入手

用R语言修改一个工具包,做并行计算上的优化应该怎么入手

R瓢寄掷杖呛    2016-11-28    工具包    浏览 230 次

精彩问答
unicorn_1 发布日期:2016-11-29
分享内存(shared memory),使并行运算时,每个R session可以避免重复读取。包裹有bigmemory等,这样不同的R sessions可以共享内存里的数据。不用再并行运算时,每个R sessions在去读入一遍。

用MPI,避免mclapply等太高等级的关于平行运算的方程。如果用MPI,你的R sessions只会传输你规定它们可以传输的objects。据我所知,mclapply是把所有environment复制到另一个R session里,有一些根本不必要的objects也要被推送,这样毫无意义。
集成运算,比如Map-Reduce或者Storm,把个体服务器的压力变为对运算过程的压力,这个坑太大了。。。
分布储存,比如mongodb,把对内存的压力变为对数据结构的压力,这个坑也太大了。。。
用C或Fortran写底层方程,比如loop structure,基本的科学运算(BLAS)等等。

从算法上的根本优化。很多时候,程序慢,内存溢出,大多都是程序猿懒,不精益求精。再加上服务器动辄16G内存,把码农们都宠坏了,好像什么都能往内存里扔,扔完也不打扫屋子。改进算法,尽量在同一时间,只能看见部分数据的情况下,通过update结果来得到Z后答案。
最新主题
相关版块
我要评论
X您尚未登录
账号登录
X您尚未登录
手机动态密码登录
X您尚未登录
扫码登录
官方微信

仪器网微信服务号

扫码获取最新信息


仪器网官方订阅号

扫码获取最新信息

在线客服

咨询客服

在线客服
工作日:  9:00-18:00
联系客服 企业专属客服
电话客服:  400-822-6768
工作日:  9:00-18:00
订阅商机

仪采招微信公众号

采购信息一键获取海量商机轻松掌控