我可以购买远程MATLAB处理时间吗?

时间:2011-06-28 18:45:24

标签: matlab cloud

我是Matlab的常客。对于CPU密集型任务,我需要让我的PC运行几个小时(或几天)模拟一些东西,这是一个痛苦,因为我需要随身携带它。

您是否了解允许用户根据需要运行远程实例的公共网站/公司,然后收取相应的费用?我不关心它在哪里,或者使用了多少核心,我只想运行一些.m文件,然后检索输出变量。

我认为实施起来并不太难,但我找不到(我已经google了很多)有人向我推销这项服务。我知道有些大学有这方面的服务器,但它们都是私人的。

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

谢谢, 德语

2 个答案:

答案 0 :(得分:17)

您可以尝试使用由康奈尔大学和普渡大学联合运营的MATLAB on the Teragrid帐户。它是由NSF资助的项目,免费提供对研究人员(学术和工业)的访问。您只需填写request form即可在一两天内完成帐户设置。

我已将Teragrid用于我的项目,我对它完全满意。它们拥有良好的基础架构,64个服务器,每个服务器8个核心,总​​共512个核心处理能力和16 GB RAM /服务器。

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

使用共享资源时,同样重要的是“挂锁时间”的概念,这也与您的工作停留在队列中的时间直接相关。挂起时间基本上是单个任务运行所需的时间。为了设置足够的挂壁时间,您必须错误地熟悉代码的复杂性(操作次数等),这样您就不会估计所需的时间(如果任务超过挂起时间则终止!)。另一方面,你不想太宽松并选择较长的时间,因为那时你的工作将在队列中停留更长时间。换句话说,你不能只设置7天的挂机时间只是为了安全,因为调度程序会让你等到资源可以被释放7天(一旦你访问核心,它只是你自己和你的) ,这是绝对的。

答案 1 :(得分:10)

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

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

相反,它会将您的程序编译为独立的可执行文件(这需要您现有平台上的MATLAB Compiler)。此可执行文件以及可免费使用的MCR运行时是唯一传输到云的内容。

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

客户端(您身边的MATLAB脚本)连接到服务器,并发送命令以与所需的序列化数据一起运行。这本身就是可扩展的,因为您可以根据需要在尽可能多的实例上运行服务器(实际上可以承受的数量),并简单地将工作分开。显然,将程序重写为可破坏的任务需要一些工作。

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