MPI 与容器集群:高性能计算新方案
1. Docker Swarm 集群支持 MPI
在 Docker 上支持 MPI 面临着不少挑战。多数相关工作依赖用户手动完善主机文件信息,或者需要借助外部工具来达成目标。虽然有工作尝试创建自动化流程,但可靠性欠佳。
这一难题的根源在于 Docker Swarm 并非专为高性能计算环境设计,而是作为一种具备自平衡和容错能力的应用部署环境。Docker 支持两种执行模式:
- “个体”模式 :容器作为独立应用启动,无需与其他实例建立额外连接。
- “服务”模式 :属于 Docker Swarm 配置的一部分,实例通过路由覆盖网络相互连接。该覆盖网络包含命名服务,便于服务相互定位,还具备负载均衡机制,可在实例副本间重定向消息或重启故障实例。
对于 MPI 应用而言,Docker 的“复制与重定向”方法并不适用,因为 MPI 主机文件需要计算服务器列表。在 Docker Swarm 中获取主机名并非易事,因为覆盖网络会将实例隐藏在同一“伞状”名称下。所以,我们需要发现覆盖网络内实例的 IP 地址。
具体操作步骤如下:
1. 发现 IP 地址 :使用 dig DNS 查找工具查询 Docker 的命名服务。Docker Swarm 允许通过 tasks.XXXX 昵称联系同一服务的所有实例,其中 XXXX 为服务名称。通过 dig 可获取 DNS 服务器发送的详细信息,
超级会员免费看
订阅专栏 解锁全文
566

被折叠的 条评论
为什么被折叠?



