【问题标题】:Deploying MPI application on Windows Azure在 Windows Azure 上部署 MPI 应用程序
【发布时间】:2012-03-27 22:20:41
【问题描述】:

我想在 Windows Azure 上运行一个用 C(用于 linux)编写的现有 MPI 科学应用程序。这可能吗?

  1. 如果可能,如何部署应用程序?

  2. 是否需要将其转换为 Microsoft MPI?

  3. 我需要为此购买某种特定类型的 Azure 服务吗?

  4. 是否需要编写托管包装器才能使其工作?

任何建议/观点/参考都会非常有帮助。

P.S 我是 Azure 的新手。

【问题讨论】:

  • MPI 是一个规范,而不是一个库。因此,虽然我不是 MPI 专家,但我相信您不需要将应用程序转换为 Microsoft MPI,因为 Microsoft 和 Linux MPI 库都遵循相同的规范。
  • 我使用 win7 运行我的 mpi 代码,就像我使用 linux(ubuntu 发行版)一样,我看到的唯一区别是我在这些操作系统上安装 mpi 库的方式。

标签: .net c azure cloud mpi


【解决方案1】:

因此,在 Azure 中运行 MPI 无需执行任何特殊操作。请注意,Azure 节点(与 Amazon 的集群计算实例不同)并没有真正为此设置好;您不一定拥有高速网络,并且节点不一定彼此靠近网络。因此,紧密耦合的代码可能并不能很好地工作,而很多人成功地使用 Amazon 或其他服务来完成这类工作。

无论如何,HPC 服务器附带的"Microsoft" MPI 只是一个重新命名的并且可能稍作调整的MPICH2;所以这是一个沼泽标准 MPI,应该不会引起任何问题。任何符合 MPI 标准的 MPI 程序都应该没问题。

至于运行单个 MPI 作业,这并不比第一次在少数(比如说)桌面上运行 MPI 作业难;您必须确保您的主机文件设置正确,并且 MPI 设置为与适当的 IP 块通信。在 Technet 上,他们有一个 running the linpack benchmark on Azure nodes 的示例(包括一个链接到确保您的 Azure workers are running HPC server 所需的内容)。他们跳过了几个步骤,因为 linpack 是一个可以下载的预构建二进制文件,但使用 MPI 编译非常简单。

至于部署应用程序以便您可以定期运行它(或让其他人运行它),我将听从其他人的意见,了解如何最好地做到这一点。

【讨论】:

    【解决方案2】:

    Microsoft 即将推出对Linux VM's to be hosted in Azure 的支持。因此,您可以构建一个 Linux VM,安装和配置您的 MPI 应用程序并将其推送到 Azure。

    但是,您可能应该首先考虑您想要实现的目标。如果您的目标是利用 Azure 的某些功能(例如,多实例可用性和规模),那么您需要使用一些额外的代码来扩充您的应用程序。由于开源社区和 Microsoft 对开源的快速增长支持,您可以构建额外的功能,例如:

    • Node.js 在 Linux 或 Windows 上运行
    • PerlPythonRuby 和/或 PHP 都在 Linux 或 Windows 上运行
    • .NET 代码以 Windows 辅助角色或 Linux VM 中的 Mono 运行

    如果您最有兴趣利用 Azure 服务配置、动态添加/删除辅助角色、使用 azure 存储等,那么您很幸运 - 以上所有内容都可以通过 HTML/JSON 进行控制REST 接口,这意味着任何可以与 HTTP 通信的东西都可以(使用正确的凭据)配置、管理、监控您的服务以及在存储中存储/检索数据。

    HTH。

    【讨论】:

      【解决方案3】:

      我知道这个帖子很老了!但万一有人仍然在这里结束:

      Azure 同时扩展了特殊的高性能实例,支持实例之间的高吞吐量连接。

      因此,如果您查看A8 and A9 instances,除了默认的 10Gbps 网络接口外,它们还有一个针对 MPI 应用程序优化的额外网络接口。

      32-Gbps 后端,支持 RDMA:实现低延迟、高吞吐量 单个云中实例之间的应用程序通信 服务或可用性集。仅为 MPI 流量保留。

      还有不少documentation 用于设置。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2023-03-08
        • 1970-01-01
        • 2016-10-24
        • 1970-01-01
        • 2020-05-25
        • 1970-01-01
        • 2014-01-29
        相关资源
        最近更新 更多