原文链接:http://tecdat.cn/?p=6339

我最近一直致力于R中的一些模拟研究,涉及计算机密集型MCMC采样。通常我会使用我所在机构的计算集群来做这些,利用大量的计算机核心,但暂时缺乏这种可用性导致我调查使用亚马逊的Web服务(AWS)系统。在这篇文章中,我将描述我在R中进行模拟的步骤。

使用Amazon Web Services进行初始设置

首先注册https://aws.amazon.com上的免费帐户。

接下来,您需要完成此处描述的所有步骤。EC2是我们将使用的亚马逊服务。请

第1步 - 注册AWS

步骤2 - 创建IAM用户

步骤3 - 创建密钥对

步骤4 - 创建虚拟私有云(VPC)

步骤5 - 创建安全组

我们将在一分钟内启动我们可以连接的云计算机。

开始第一个实例

我们现在将设置我们的第一台云计算机。亚马逊将其中一个称为实例。首先,使用您之前设置的IAM凭据登录,访问:https://your_aws_account_id.signin.aws.amazon.com/console/,替换前一地址中的AWS账户ID。然后单击主页左上角的EC2。这会将您带到EC2仪表板。

要启动实例,请按照此处说明的步骤1进行操作。

完成实例操作后,请确保通过右键单击实例并选择终止,从EC2仪表板终止。

在实例上安装R

上面提到的入门说明描述了如何设置运行Amazon Linux AMI的实例,据我所知,这是他们创建的亚马逊自己的Linux风格。为了运行R,我改为使用普通的Ubuntu安装。Ubuntu是Linux操作系统最受欢迎的版本之一。

启动一个新实例,运行主列表中显示的Ubuntu AMI。然后使用Putty通过SSH连接到它。请注意,对于Amazon AMI,用户名是ec2-user,对于Ubuntu,您需要连接的用户名是ubuntu。

接下来我们可以安装R。首先,在Putty类型:

sudo nano /etc/apt/sources.list

将sources.list文件加载到nano文本编辑器中。我们需要添加一行来指向可以下载R的位置。在文件底部添加如下行:

deb http://cran.rstudio.com/bin/linux/ubuntu trusty/

然后按Ctrl + X,键入Y,然后输入,以保存文件。接下来,依次键入以下三个命令,在需要时选择Y为yes:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9sudo apt-get install r-base

如果成功,您现在应该安装R。应该看到:

R version 3.2.2 (2015-08-14) -- "Fire Safety"
Copyright (C) 2015 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.Natural language support but running in an English localeR is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

您现在可以从命令行在R中工作。

如果运行模拟,我会在桌面上准备一个R脚本文件,然后将其复制到AWS以运行它。如果您确实想在AWS上运行RStudio,请参阅Louis Aslett关于在AWS上运行R和RStudio 。

运行并行仿真

我尝试让AWS 运行的最初原因是在R中运行计算机仿真。我这样做的方法是首先启动一个具有多个核心的实例类型(36),特别是c4.8xlarge类型。为了并行运行模拟,我使用脚本文件调用R,该脚本文件启动R的多个实例。要编写此脚本文件,请myscript.sh在命令行键入:nano 。这将打开纳米文本编辑器程序。输入以下行:

#!/bin/bash
for set in {1..36}
do
nohup Rscript myrprog.R $set > ~/outputs/myprogoutputs_$set 2>&1 &
done

接下来,我们必须更改我们刚刚创建的脚本文件的权限,以使其能够被执行。为此,请在Putty命令提示符下键入以下内容:

chmod +x myscript.sh

在运行我们的脚本文件之前,我们需要编辑我们的R程序以利用我们传递给它的参数。在我的R程序的顶部,我添加了以下行:

args=(commandArgs(TRUE))
set <- as.numeric(args[[1]])

我们假设我们想要执行3600次模拟。如果我们使用36核心实例,我们可以在每次调用R时运行100次模拟。然后,每次调用都会保存一个包含100次模拟结果的数据集。然后,我们可以将36个数据集组合在一起,形成所需3600个模拟结果的数据集。

为了保存结果,在我的R程序结束时如下:

results <- list(estimates=estimates, ciLower=ciLower, ciUpper=ciUpper) setwd("outputs") save(results, file=paste("results_",set,".RData",sep=""))

这将一个名为results_set的R数据文件保存到outputs文件夹,其中set是我们的set变量。

拓端tecdat|在Amazon Web Services中使用R语言运行模拟相关推荐

  1. Spring和Amazon Web Services

    如今, Amazon Web Services (或AWS)是要使用和部署到的基础架构和硬件提供商的最常见选择之一. 许多Spring应用程序已经解决了集成应用程序基础结构和底层的挑战. 这些内部解决 ...

  2. 亚马逊标题自动抓取_15分钟内开始使用Amazon Web Services和全自动资源调配

    亚马逊标题自动抓取 在等待一个新项目时,我想学习一些有用的东西. 而且由于在许多项目中我们需要评估和测试正在开发的应用程序的性能,而很少有足够的硬件来生成实际负载,因此我决定学习更多有关按需在云中按需 ...

  3. 使用Amazon Web Services(EC2)

    正如我上周参加技术动手AWS培训之前所发布的. 这些天的课程当然是我以前使用过的标准EC2和S3服务. 除此之外,我们还使用了RDS , Elastic Load Balancing , SNS和VP ...

  4. 15分钟内开始使用Amazon Web Services和全自动资源调配

    在等待一个新项目时,我想学习一些有用的东西. 而且由于在许多项目中我们需要评估和测试正在开发的应用程序的性能,而很少有足够的硬件来生成实际负载,因此我决定学习更多有关按需在云中按需配置虚拟机的知识,即 ...

  5. 零基础 Amazon Web Services (AWS) 入门教程图文版(三)

    原则上WDCP安装好了,就可以直接使用了,FTP.MySQL什么的应有尽有.但是本站Amazon AWS -- 免费的午餐不好吃一文中说到过这个问题,直接用WDCP的MySQL会导致EBS的I/O急剧 ...

  6. 零基础 Amazon Web Services (AWS) 入门教程图文版(四)

    自上一篇之后,5天过去了,这篇文章总算是挤出来了... 其实看不看无所谓啦,都说了WDCP非常适合小白,随便折腾.要是折腾的时候遇到什么问题,欢迎留言探讨~ 五.新建站点 登录WDCP后台,首次登录会 ...

  7. 零基础 Amazon Web Services (AWS) 入门教程图文版(二)

    上一篇讲到,主机正常运转了.但是此时如果直接访问公网IP是打不开网页的,因为主机上没有搭建Web服务器环境,防火墙也没有开放80端口,并且我们没有上传任何网页文件.所以这一篇主要介绍服务器环境的搭建. ...

  8. 零基础 Amazon Web Services (AWS) 入门教程图文版(一)

    现在小站唯一的流量都靠AWS这个关键词了,刚好要用AWS重新建站,所以从头开始记录一遍吧. 所谓零基础,就是你可以没有任何AWS使用经历,仍然能够按照教程操作下去.所谓图文版,就是建议手机用户在没有连 ...

  9. Amazon Web Services: Networking AWS:网络 Lynda课程中文字幕

    Amazon Web Services: Networking 中文字幕 AWS:网络 中文字幕Amazon Web Services: Networking 采用云基础架构战略包括配置满足组织需求的 ...

  10. aws部署web_运营酿酒厂解释了Amazon Web Services(AWS)

    aws部署web by Kevin Kononenko 凯文·科诺年科(Kevin Kononenko) 运营酿酒厂解释了Amazon Web Services(AWS) (Amazon Web Se ...

最新文章

  1. JS 函数 函数递归
  2. RabbitMQ消息路由失败的处理方案(回调与备份交换机AE)
  3. 从数据类型 nvarchar 转换为 bigint 时出错_JavaScript数据类型的一些细节点
  4. 将EXE安装包重新封装成MSI格式
  5. exfat最佳单元大小_047|仓储物流自动化系统中的物料单元
  6. HDU - 1584 蜘蛛牌(dfs+最优性剪枝)
  7. Linux 命令 ——less命令
  8. Struts2的通配符配置方式
  9. gensim读取已训练模型LDA模型的模型与dictionary
  10. 51nod 1294 修改数组
  11. imx8qm HDMI-TX调试
  12. 5. DICOM图像层级分类-DCMTK-压缩图像PixelData读取
  13. vscode 下载加速方法
  14. 计算机硬盘通过usb接口,并口硬盘转usb接口的方法介绍【详解】
  15. oracle怎么查询临时表空间大小,如何查看oracle临时表空间当前使用了多少空间的大小...
  16. 我的四轴飞行器经验总结(一)
  17. 彻底解密C++宽字符
  18. 通往大国之路 中国的知识重建和文明复兴
  19. 从王者荣耀这款游戏分析unity3d开发游戏需要的资源
  20. PostgreSQL权限修改 : ALTER DEFAULT PRIVILEGES

热门文章

  1. CORE网络数据包接收传递过程分析
  2. PHP用户名和密码登陆验证代码
  3. 演示:取证分析IPV6组播地址的构成原理
  4. [轉]PHP命名空间规则解析及高级功能
  5. 自己写的一个简单的php快速开发框架(JPrass)
  6. SVN MKACTIVITY
  7. 不要老谈“设计模式”
  8. 推理框架runtime的动态输入、输出思路
  9. 剑指offer题解 带讲解 python版 第一部分
  10. pytorch可视化