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编写的统计程序可以应用图形加速器芯片中的并行计算能力。
对于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的开发及其在英国国家超级计算机上的应用。