amazon-ec2 - 开始使用 EC2 进行计算密集型(非 Web)并行应用程序

标签 amazon-ec2 machine-learning libsvm

我正在使用 LIBSVM 进行回归分析。像冠军一样工作。但是,用于优化模型参数的 3 参数网格搜索会最大化我的 2.66 GHz Intel 机器上的所有四个内核,而且我仍然需要等待几个小时才能生成单个模型。

这似乎是 Amazon EC2 的工作。

我看过很多有关使用 EC2 执行 Web 相关任务的教程和介绍性 Material 。

但是,如果您有一个小型计算密集型自定义 ANSI-C 程序,并且想要在 EC2 上运行其多个实例,该怎么办?任何人都可以提供有关如何执行此操作的指示(甚至只是要搜索的流行语)吗?

最佳答案

我认为您的任务与网络应用程序的任务没有太大不同。当然,您的堆栈有所不同,但无论如何 - 原则保持不变。

正如有人评论您的问题:Elastic Map Reduce可能是您正在寻找的轻松并行化您的工作等。如果这太有限,您可以查看 Cloudera 。准备就绪的 hadoop 发行版 support for EC2 as well .

如果map-reduce不符合您的喜好,那么您需要设置自己的实例。大致来说,要点如下:

  1. 您想要找到启动 EC2 实例的方法。
  2. 您想要找到一种引导和配置它们的方法。
  3. 集群/网络?

启动 EC2 实例

如果您不需要自动扩展或自定义界面之类的功能,AWS 控制台可以做得非常好。您必须选择适合您的项目的 AMI(亚马逊系统镜像)。我可能会研究 official AMI或者基于 Ubuntu 的东西(如果我没记错的话,Ubuntu 是 EC2 上最常用的 Linux)。

但这取决于您和您的喜好。 (而且我对你的项目还不够了解。)

一旦您找到适合您的设置,克隆您的工作的最简单方法就是设置您自己的 AMI 并用它启动实例,等等。

引导

引导可以使用 EC2 所谓的用户脚本。它允许您将 shell 脚本传递给实例,该实例将执行调用来设置您的堆栈等。我不确定在这种情况下需要什么,等等。所以如果您发表评论或者扩展你的答案,我可以在这里详细说明。

集群/网络

这是一个疯狂的猜测,因为我不确定你的代码是做什么的,或者它是如何工作的,等等。如果没有必要,我可能会首先使用单个实例来扩展它。您可以使用 EC2 轻松配置大量内核和 RAM。根据您的工作是否需要更多 RAM 或 CPU,请查看 high-cpu and high-memory instance types .

您可以从 t1.micro 开始,目前您可以 get for free even然后从那里开始。

请告诉我这是否有帮助!

关于amazon-ec2 - 开始使用 EC2 进行计算密集型(非 Web)并行应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7761760/

相关文章:

python - 使用 Python NLTK 对英语和俄语等语言进行词干提取和词形还原

algorithm - 如何为 B2B 创建神奇的购物车?

c++ - OpenCV 线性 SVM 未训练

java - 如何在Weka中使用SVM?

linux - 亚马逊AWS机器无法连接

python - cfnbootstrap 文件夹在哪里?

ssl - 在指向 EC2 实例的子域上使用 SSL

amazon-ec2 - 如何知道 Amazon AWS 实例的内部 DNS 名称?

python - 在强化学习中标准化奖励以产生返回

matlab - 在 LIBSVM matlab 中执行额外验证