我正在写我的毕业论文。主要目标是创建基于 Web 的应用程序,登录的用户可以在其中查看空闲和繁忙的节点、打开和关闭它们、查看它们正在运行的进程等。我发现我可以做这样的事情 - 编写一些每 30 秒左右运行一次的 cron 守护进程,它可以为每个节点运行 ping 实用程序以查明它是打开还是关闭,然后将结果写入某个文件。然后从我的 Web 应用程序(我将用 PHP 编写)中,我可以从中读取信息。这会是一个好的解决方案吗?您建议我怎么做?最后,是否有任何现有的解决方案(它可能不是基于 ewb 的)用于管理集群节点?
答案1
过去我曾使用 Ganglia 来监控节点可用性和负载。它不会告诉你正在运行哪些作业,但会显示集群的运行状况。
Nagios 是我在集群中使用的另一个工具,但它的作用远不止集群监控。它可以监控进程、磁盘空间、内存以及任何可以编写脚本或找到脚本的东西。这也是基于 Web 的。
至于作业调度程序,有几个选项取决于您希望如何配置。选项包括但不限于:OpenPBS、TORQUE、PBSPro、Maui Cluster Scheduler、SLURM、Sun Grid Engine。这些都是我所知道的中心目前正在使用的 HPC 调度程序。维基百科有一个列表,但我认为列出的并不是所有都是用于 HPC 调度的。http://en.wikipedia.org/wiki/Job_scheduler
站点:
答案2
查看动态随机存取存储器协议。它是用于作业提交和控制的通用 API,正在成为工作负载管理器之间的标准。至于控制节点本身,这在很大程度上取决于您所使用的系统。大多数系统都有某种 API,您可以使用它们与它们交互并执行与使用命令行工具相同的操作。
你的项目听起来确实很有趣,祝你好运。