【发布时间】:2013-03-22 00:10:06
【问题描述】:
问题:我正在为分布式 CPU/GPU 模拟器开发图形前端。由于此模拟器使用 MPI,它需要一个主机文件,详细说明网络上使用的所有计算机的主机名,以便它知道要在哪些机器上分发。由于我的应用程序的最终用户不是计算机科学家(甚至可能不是很懂计算机),我不能指望他们知道/找到他们网络/集群上每台计算机的主机名。我想以编程方式执行此主机名发现,以便在应用程序启动时,用户可以看到可用的机器,并从中选择他们想要运行的主机。如果可能的话,我希望这个解决方案是跨平台的,但由于模拟器当前包含一些 linux 依赖项,我可以处理仅 Linux 的解决方案。
到目前为止我所做的尝试:我尝试使用 nmap 包来使用诸如 nmap -sP <ip address range> 之类的命令来发现网络上的主机,并使用该本地网络的 IP 地址范围。但是,它只转储主机的 IP 地址(不是主机名),我不确定如何将这些 IP 地址转换为 ssh 主机名(因为 MPI 使用 ssh 进行主机发现)。此外,我使用了类似的方法,通过 ping 提供广播地址,它返回几乎相同的结果。
对于这个问题的广泛性和所显示代码的缺乏,我深表歉意,但我对网络探测/编程不是很有经验,我什至不知道从哪里开始。我尝试用谷歌搜索,但找不到合适的选项(可能是因为我缺乏经验导致我使用不正确的术语导致不正确的结果)我的背景主要是图形和用户界面编程,所以这有点超出我的舒适区.
【问题讨论】:
标签: linux networking mpi hostname