【问题标题】:Can I buy remote MATLAB processing time? [closed]我可以购买远程 MATLAB 处理时间吗? [关闭]
【发布时间】:2011-09-24 14:07:11
【问题描述】:

我是 Matlab 的普通用户。对于 CPU 密集型任务,我需要让我的 PC 运行数小时(或数天)来模拟东西,这很痛苦,因为我需要随身携带它。

您是否知道有一个公共网站/公司允许用户随心所欲地运行远程实例,然后收取相应的费用?我不在乎它是在哪里完成的,或者使用了多少个内核等等,我只想运行一些 .m 文件,然后检索输出变量。

我认为实施起来并不太难,但我就是找不到(我用谷歌搜索了很多)有人向我推销这项服务。我知道有些大学为此设置了服务器,但它们是私有的。

对此的任何帮助将不胜感激。

谢谢, 德语

【问题讨论】:

  • 云计算怎么样.. 这是一篇关于如何在 Amazon EC2 上配置 MATLAB 的论文:mathworks.com/programs/techkits/ec2_paper.html,虽然我没有这方面的经验
  • 是的,云计算是一个非常广泛的主题,当然也适用于这种情况(感谢您的论文)。但是,我想避免必须设置服务器(虚拟或真实)、安装 Matlab(这意味着购买许可证)等的负担,因为我不会经常运行这些模拟。
  • 我对这个问题有点晚了,但是根据@Amro 的评论 - MathWorks 自己提供了 OP 要求的服务。您可以在 Amazon EC2 上安装 MATLAB 分布式计算服务器,并按小时向 MathWorks 付费,而不是购买永久许可证。此定价选项未被广泛宣传,您需要与您的客户经理单独讨论。请注意,除非您需要一个非常大的集群,用于非常密集的任务并且很少发生,否则它可能不会比购买永久许可证便宜。
  • @SamRoberts 如果我理解正确,该解决方案仍然需要用户在本地运行 MATLAB:“您使用 Parallel Computing Toolbox™ 在多核台式计算机上开发程序或模型,然后扩展到多台计算机通过在 MATLAB 分布式计算服务器上运行它。” mathworks.com/products/distriben
  • @glarrain 没错。该模型始终是用户在本地运行 MATLAB。使用 PCT,计算可以卸载到本地机器上运行的工作进程;使用 MDCE,这些工作进程可以在远程集群上运行,或者在我之前评论中描述的云中运行。但计算总是从本地 MATLAB 开始。

标签: matlab cloud


【解决方案1】:

您可以尝试注册MATLAB on the Teragrid 的帐号,该帐号由康奈尔大学和普渡大学联合运营。这是一个 NSF 资助的项目,免费为研究人员(学术和工业)提供访问权限。您只需要填写request form,您应该会在一两天内获得一个帐户设置。

我在我的项目中使用了 Teragrid,我对此非常满意。他们有一个良好的基础设施,有 64 个服务器,每个服务器有 8 个核心,总​​共有 512 个核心的处理能力和 16 GB 的 RAM/服务器。

但是,请注意,您将不得不彻底改变工作流程并改用编写分布式作业而不是并行(或串行作业),这在最初几天可能会很痛苦(如果您不习惯的话) .他们确实为此提供了有用的资源。

在使用共享资源时,“挂墙时间”的概念也很重要,它也直接关系到您的工作在队列中的停留时间。挂壁时间基本上是单个任务运行所需的时间。为了设置足够的挂墙时间,您必须非常熟悉代码的复杂性(操作数量等),以免低估所需的时间(如果超过挂墙时间,任务将终止!)。另一方面,你不想太松懈而选择一个高壁时间,因为那样你的工作会在队列中停留更长时间。换句话说,你不能仅仅为了安全而设置 7 天的挂墙时间,因为调度程序会让你等到资源可以被释放 7 天(一旦你访问一个核心,它就是你的,只属于你的) ,几乎没有。

【讨论】:

  • 感谢您的参考,它看起来很有希望。然而,它似乎仅限于大学或那种研究。他们要求(a)课程/研究项目,(b)项目指导老师,(c)Matlab代码描述。我会试一试的。
  • 它不仅适用于大学。项目名称只是您给它的名称,以便他们可以在内部识别它;不一定是您获得赠款或其他东西的“官方名称”。如果您没有,请补上 :) 如果您没有项目顾问,则不必输入项目顾问,并且 MATLAB 代码只是对代码的简要描述......例如,“The代码中计算成本高昂的部分在循环中对 2000x2000 矩阵进行 Cholesky 分解”。这已经足够描述了。
  • 遗憾的是,这个项目不再提供免费访问,尽管它允许外部机构使用“红云”。康奈尔大学以外的学术机构的学术订阅(包括 MATLAB)为 1200 美元,包括 8585 个核心小时和 50 GB 存储空间(还有更多可用空间)。相当昂贵,但至少应该有人需要它。 cac.cornell.edu/RedCloud/start.aspx
  • 太糟糕了...我确实发现它对完成一些繁重的工作很有用(遗憾的是,我的那个项目从来没有成功过)
【解决方案2】:

正如我在评论中提到的,云计算似乎正是您所寻找的。​​p>

除了我已经链接到的 paper 之外,我还找到了另一个解决方案,它不需要购买额外的许可证来在云上安装 MATLAB。

相反,它将您的程序编译为独立的可执行文件(这需要您现有平台上的MATLAB Compiler)。这个可执行文件以及免费提供的 MCR 运行时是唯一传输到云端的东西。

确切地说,作者正在使用sockets 构建一个位于云中的服务器以侦听连接。这是编译成可执行文件的部分,只有 MCR 作为依赖项。它接受输入,EVAL-uates 它,并在完成后发回结果。

客户端(您这边的 MATLAB 脚本)连接到服务器,并向其发送要运行的命令以及所需的序列化数据。这本质上是可扩展的,因为您可以在任意数量的实例上运行服务器(尽可能多地负担得起),并且只需在它们之间划分工作。显然,将您的程序重写为可破坏的任务需要一些工作。

我认为这确实是 MATLAB 分布式计算解决方案正在做的事情,但所有血淋淋的细节都被抽象掉了……看看它是否符合您的需求:Using Amazon EC2 to speed up matlab optimisation

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-24
    • 2012-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-31
    相关资源
    最近更新 更多