gpt4 book ai didi

azure - 使用 Microsoft Azure 作为计算集群

转载 作者:行者123 更新时间:2023-12-03 03:10:01 24 4
gpt4 key购买 nike

我的实验室刚刚获得 Microsoft Azure 的赞助,我正在探索如何利用它。我是工业级云服务的新手,对大量术语和概念感到非常困惑。简而言之,这是我的场景:

  1. 我想用多个数据集试验相同的算法,即数据并行性。
  2. 该算法在 Linux (ubuntu 16.04) 上用 C++ 实现。我尽力使用静态链接,但仍然依赖于一些动态库。不过这些动态库可以通过 apt 轻松安装。
  3. 每个数据集都是结构化的,这意味着数据(图像、其他文件...)通过文件夹进行组织。

理想的系统配置是一堆相同的虚拟机和一个共享文件系统。然后我可以通过脚本或其他方式使用“qsub”提交我的工作。有没有办法在 Azure 上执行此操作?

我调查了批处理服务,但在创建计算节点后安装依赖项时遇到问题。我在存储方面也遇到了麻烦。到目前为止,我只看到了将 Batch 与 Blob 存储结合使用的示例,而且是非结构化的。

那么Azure还有其他服务可以满足我的要求吗?

最佳答案

我以某种方式根据这篇文章找到了自己的答案:https://azure.microsoft.com/en-us/documentation/articles/virtual-machines-linux-classic-hpcpack-cluster/ 。这是我的解决方案:

  1. 创建一个包含 Windows 头节点和一组 Linux 计算节点的 HPC 包。以下是 Marketplace 中的几个有用的模板。

  2. 从头节点,我们可以在 Linux 计算节点内执行命令,无论是在 HPC 集群管理器内,还是在 PowerShell 内使用“clusrun”。我们可以通过apt-get方便地为计算节点安装依赖。

  3. 在其中一个存储帐户内创建文件共享。集群内的所有机器都可以安装它。

  4. 这里的一个问题是,由于某种加密原因,您无法在 Azure 外部 Linux 计算机上安装文件共享。我的想法有两种解决方案:(1) 将文件共享挂载到 Windows 头节点,并通过 FTP 或 SSH 从那里创建文件共享。 (2) 创建另一个Linux VM(作为桥),在该VM 上挂载文件共享并使用“scp”从外部与其通信。由于我对Windows不熟悉,所以采用了后面的解决方案。

  5. 对于可执行文件,我只是上传了在本地计算机上编译的二进制可执行文件。大多数依赖项都是静态链接的。不过,仍然有一些动态对象。我将这些动态对象上传到Azure,并在计算节点上执行程序时设置LD_LIBRARY_PATH。

  6. 作业提交在 Windows 头节点中完成。为了使其更加灵活,我编写了一个Python脚本,它写入XML文件。作业管理器可以加载这些 XML 文件来创建作业。以下是一些说明:https://msdn.microsoft.com/en-us/library/hh560266(v=vs.85).aspx

我相信 Azure Batch Service 应该有更优雅的解决方案,但到目前为止,我的小型集群在 HPC Pack 上运行得很好。希望这篇文章可以帮助别人。

关于azure - 使用 Microsoft Azure 作为计算集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39820417/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com