R并行编程实战

本书特色

[

本书是一本构建大规模高效算法的综合性实用书籍,介绍各种并行技术,从R语言的并行版本lapply()的简单应用到基于Hadoop和ApacheSpark框架的高级AWS云。在本书的后,你将了解到影响并行效率的因素,包括:评估代码性能和实现负载平衡;要避免的陷阱,包括死锁和数值不稳定问题;对于你的项目,如何为适合的并行类型构建代码和数据;如何在各种计算机系统中运行R代码获取佳性能。本书针对那些想要超越单线程和内存限制的R程序员,使其从中学习如何实现高效大规模算法,这是对大数据高性能处理的必要条件。

]

作者简介

[

About the Authors 关于作者西蒙R. 查普尔(Simon R. Chapple)是一位经验丰富的解决方案架构师和首席软件工程师,从事数据分析和医疗信息系统解决方案和应用的开发超过25年。他也是超级计算机HPC和大数据处理方面的专家。
Simon是Datalytics科技有限公司的首席技术官和管理合伙人,带领一个团队建设下一代大规模数据分析平台,该平台建立在一组由高性能工具、框架和系统所构成的可定制的工具集合基础上,可以使从数据采集、分析到呈现的整个实时处理周期,轻松地部署到任何已有的IT操作环境中。
此前,他在Aridhia信息公司担任产品创新总监,为苏格兰的医疗服务供应商建立了多个新系统,包括为苏格兰18周转诊治疗和癌症患者的管理而提供的一体化病人路径跟踪系统,该系统应用了10个单独数据系统的集成(减少病人等待时间,从而提供好的服务)。他还利用公共云托管监测系统,为实时化疗患者建立了专门的移动系统,该系统在澳大利亚进行了临床试验,受到护士和病人的高度赞扬,“就像在你的起居室里有一位护士……希望所有的化疗病人每天都有天使般的安全舒适的护理环境。”
Simon也是ROpenCL开源软件包的作者之一,该添加包使得用R编写的统计程序可以应用图形加速器芯片中的并行计算能力。About the Authors 关于作者西蒙R. 查普尔(Simon R. Chapple)是一位经验丰富的解决方案架构师和首席软件工程师,从事数据分析和医疗信息系统解决方案和应用的开发超过25年。他也是超级计算机HPC和大数据处理方面的专家。
Simon是Datalytics科技有限公司的首席技术官和管理合伙人,带领一个团队建设下一代大规模数据分析平台,该平台建立在一组由高性能工具、框架和系统所构成的可定制的工具集合基础上,可以使从数据采集、分析到呈现的整个实时处理周期,轻松地部署到任何已有的IT操作环境中。
此前,他在Aridhia信息公司担任产品创新总监,为苏格兰的医疗服务供应商建立了多个新系统,包括为苏格兰18周转诊治疗和癌症患者的管理而提供的一体化病人路径跟踪系统,该系统应用了10个单独数据系统的集成(减少病人等待时间,从而提供好的服务)。他还利用公共云托管监测系统,为实时化疗患者建立了专门的移动系统,该系统在澳大利亚进行了临床试验,受到护士和病人的高度赞扬,“就像在你的起居室里有一位护士……希望所有的化疗病人每天都有天使般的安全舒适的护理环境。”
Simon也是ROpenCL开源软件包的作者之一,该添加包使得用R编写的统计程序可以应用图形加速器芯片中的并行计算能力。
对于SPRINT这一章,我特别要感谢爱丁堡并行计算中心的同事以及本书审阅者Willem Ligtenberg、Joe McKavanagh和Steven Sanderson,谢谢他们的积极反馈。我还要感谢Packt出版社的编辑团队为本书的终出版付出的辛勤劳动。感谢我的妻子和儿子的理解,他们给我珍贵的时间使我成为一名作者,谨以此书献给我爱的Heather和Adam。
伊丽·特鲁普(Eilidh Troup)是爱丁堡大学EPCC的应用顾问。她拥有Glasgow大学的遗传学学位,现在专注于为广大用户尤其是生物学家提供高性能计算。Eilidh致力于各种软件项目,包括为基于网络的科学数据存储库提供简单的并行R接口(SPRINT)和SEEK。
托斯顿·福斯特(Thorsten Forster)是爱丁堡大学的数据科学研究员。他具有统计学和计算机科学背景,并获得了生物医学科学博士学位,在这些交叉学科研究方面拥有超过10年的经验。
Thorsten利用统计学和机器学习(如微阵列和下一代测序)研究生物医学的大数据分析方法,他曾经是SPRINT项目的项目经理,该项目的目标是允许潜在用户使用R统计编程语言对大型生物数据集应用并行分析解决方案。他还是Fios Genomics公司的联合创始人,该公司是一家大学孵化的提供生物医学大数据研究的数据分析服务公司。
目前,Thorsten的工作是设计用于诊断新生儿细菌感染的基因转移分类器、分析巨噬细胞干扰素激活的转移谱、调查胆固醇对感染免疫的作用,以及研究导致儿童气喘的基因因素。
Thorsten的完整资料可以在http://tinyurl.com/ThorstenForsterUEDIN上获得。
特伦斯·斯隆(Terence Sloan)是爱丁堡大学高性能计算中心EPCC的软件开发小组经理。他在苏格兰中小企业、英国公司以及欧洲和全球合作方面拥有超过25年的管理和参与数据科学和高性能计算项目的经验。
Terry获得过Wellcome Trust(基金号086696/Z/08/Z)、BBSRC(基金号BB/J019283/1)研究基金,以及帮助开发R语言SPRINT添加包的3个EPSRC分布式计算科学基金。他在使用行为大数据进行客户行为分析方面获得过ESRC奖(获奖号RES-189-25-0066、RES-149-25-0005)。
Terry是爱丁堡大学HPC数据科学硕士项目的HPC数据分析、项目准备和论文课程的责任人。
我要感谢Alan Simpson博士,他是EPCC的技术总监、ARCHER超级计算机的计算科学和工程总监,感谢他支持SPRINT的开发及其在英国国家超级计算机上的应用。

]

目录

目录 Contents译者序前言关于作者第1章 简单的R并行性11.1 亚里士多德数谜21.1.1 求解程序的实现21.1.2 改进求解程序61.1.3 将问题分解为多个任务101.2 R的并行包141.2.1 使用mclapply()151.2.2 使用parLapply()191.2.3 并行负载均衡211.3 segue包231.3.1 安装segue241.3.2 设置AWS账户251.3.3 运行segue271.3.4 求解亚里士多德数谜321.4 总结34第2章 消息传递入门362.1 为MPI设置系统环境362.1.1 为MPI选择R包372.1.2 选择MPI子系统372.1.3 安装OpenMPI382.2 MPI标准392.2.1 MPI的世界392.2.2 安装Rmpi402.2.3 安装pbdMPI412.3 MPI API432.3.1 点对点阻塞通信442.3.2 点对点非阻塞通信562.3.3 集体通信602.4 总结65第3章 高级消息传递663.1 网格并行性663.1.1 创建网格集群683.1.2 边界数据交换703.1.3 中值滤波733.1.4 平铺分配图像743.1.5 中值滤波网格程序763.2 检查和管理通信843.3 lapply()的函数变体873.4 总结89第4章 开发SPRINT—超级计算机的基于MPI的R包904.1 关于ARCHER914.2 从R中调用MPI代码924.2.1 MPI Hello World924.2.2 从R中调用C944.3 建立一个MPI R包—SPRINT974.3.1 简单的并行R接口(SPRINT)包974.3.2 SPRINT包的体系结构994.4 将一个新函数添加到SPRINT包中1004.4.1 下载SPRINT源代码1014.4.2 在R中创建一个存根—phello.R1024.4.3 添加接口函数—phello.c1034.4.4 添加实现函数—hello.c1054.4.5 连接存根、接口和实现1064.4.6 编译并运行SPRINT代码1104.5 基因组学分析案例研究1124.5.1 基因组学1134.5.2 基因组数据1154.6 基因组学与超级计算机1164.6.1 目标1164.6.2 ARCHER超级计算机1164.6.3 随机森林1204.6.4 基因组分析案例研究的数据1224.6.5 ARCHER中的随机森林性能1224.6.6 排名产品1274.6.7 ARCHER中的排名产品性能1284.6.8 结论1314.7 总结132第5章 笔记本中的超级计算机1335.1 OpenCL1335.2 ROpenCL包1425.2.1 ROpenCL编程模型1425.2.2 距离矩阵示例1535.3 总结161第6章 并行程序设计的艺术1626.1 理解并行效率1636.1.1 加速比1636.1.2 阿姆达尔定律1646.1.3 并行或者不并行1656.2 数值逼近1676.3 随机数1706.4 死锁1726.5 减少并行开销1756.6 自适应负载均衡1786.6.1 任务场1786.6.2 有效的网格处理1796.6.3 成功并行化的3个步骤1806.6.4 未来将会怎样1816.6.5 混合并行性1846.7 总结185

封面

R并行编程实战

书名:R并行编程实战

作者:西蒙R.查普尔

页数:186

定价:¥59.0

出版社:机械工业出版社

出版日期:2018-01-01

ISBN:9787111576372

PDF电子书大小:56MB 高清扫描完整版



本文标题:《R并行编程实战》PDF下载

资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!