我希望在Windows Azure上运行C语言(用于Linux)的现有MPI科学应用程序。那可能吗?在Windows Azure上部署MPI应用程序
如果可能,如何去部署应用程序?
是否有必要将其转换为Microsoft MPI?
我需要为此购买特定种类的Azure服务吗?
是否有必要编写一个托管包装,使其工作?
任何建议/意见/参考将是非常有益的。
P.S我是Azure的新手。
我希望在Windows Azure上运行C语言(用于Linux)的现有MPI科学应用程序。那可能吗?在Windows Azure上部署MPI应用程序
如果可能,如何去部署应用程序?
是否有必要将其转换为Microsoft MPI?
我需要为此购买特定种类的Azure服务吗?
是否有必要编写一个托管包装,使其工作?
任何建议/意见/参考将是非常有益的。
P.S我是Azure的新手。
所以你不必做任何特别的事情来在Azure中运行MPI。请注意,Azure节点(与Amazon的集群计算实例不同)并不是真正为此设置的;你不一定有一个高速网络,并且这些节点不一定是网络邻近的。因此,紧密耦合的代码可能无法很好地工作,而很多人使用亚马逊或其他服务成功完成这类工作。
无论如何,HPC服务器附带的"Microsoft" MPI只是一个重新标记,可能稍微调整了MPICH2;所以这是一个标准的MPI,应该不会造成任何问题。任何符合MPI标准的MPI程序都应该没问题。对于运行单个MPI作业而言,并不比在少数(例如)桌面上首次运行MPI作业更困难;您必须确保您的hostfile设置正确,并且MPI已设置为与适当的IP块进行通信。在Technet上,他们有一个running the linpack benchmark on Azure nodes的示例(包括确定Azure workers are running HPC server所需的链接)。他们跳过了几个步骤,因为linpack是一个可以下载的预构建二进制文件,但使用MPI编译非常简单。对于部署一个应用程序,以便您可以定期运行它(或让其他人运行它),我会推迟其他人关于如何最好地做到这一点。
微软即将推出支持Linux VM's to be hosted in Azure。所以你可以设想建立一个Linux虚拟机,安装和配置你的MPI应用程序,并将它推入Azure。
但是,您应该首先考虑您想实现的目标。如果您的目标是利用Azure的某些功能(例如,多实例可用性&比例),那么您需要使用一些附加代码来扩充您的应用。由于采用了开源社区和微软的开放源代码迅速增长的支持,你可以建立在额外的功能,例如:
运行如果你最感兴趣的是羚牛
HTH。
我知道这个帖子太老了!但在任何情况下,仍然结束了这里:
Azure中已经特别高性能的情况下,支持的情况下实现高吞吐连接被同时延长。
所以,如果你看看到A8 and A9 instances,他们有,除了默认的10Gbps网络接口,MPI应用而优化的附加网络接口。
32Gbps的后端,能够RDMA:启用低延迟,高通量单个云 服务或可用性集合内的实例之间 应用的通信。仅保留用于MPI通信。
还有一些documentation的设置。
MPI是一个规范,而不是一个库。所以,虽然我不是MPI专家,但我相信您不应该将应用程序转换为Microsoft MPI,因为Microsoft和Linux MPI库遵循相同的规范。 – 2012-03-28 00:18:04
我使用win7运行我的mpi代码,因为我使用的是linux(ubuntu distribution),我看到的唯一区别就是我在这些操作系统上安装mpi库的方式。 – peaceman 2012-03-30 21:43:45