“集群”的作用是什么?与 MPI 相关的软件?

发布于 2024-12-01 02:17:02 字数 75 浏览 1 评论 0原文

我对集群实现(“Beowulf 集群”)与 MPI 等通信协议的关系有点困惑。使用 OpenMPI 等工具设置“集群”需要哪些软件组件?

I'm a little confused regarding how a cluster implementation ("Beowulf cluster") relates to a communication protocol such as MPI. What software components are needed to set up a "cluster" using something like OpenMPI?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

反话 2024-12-08 02:17:02

如您所知,集群是一组联网的计算机。当你有这样的配置时,通常会安装和使用以下内容:

  • MPI,用于进程之间的通信
  • NFS,使网络磁盘对所有节点可见并共享
  • NTP,用于同步节点的时间,以便可以比较日志事件和时间时间戳
  • bootp 从远程节点启动节点,以便每个节点重新启动并保证良好且统一的设置。
  • 一组让您的生活更轻松的集群实用程序,例如分布式 ssh,可以同时在所有节点上执行相同的命令。
  • 任务调度程序或队列管理器,例如 Condor、LFS 或其他,允许您确定作业提交的优先级并最终衡量它们以进行限制/定价。
  • 一个看门狗,以便在一个节点卡住时自动重新启动它。
  • UPS 的软件控制(以便在长时间断电的情况下自动关闭)

等等。所有这些东西完全是 MPI 的附加内容。 MPI只是进程之间的通信通道。 MPI 本身并不能“创建集群”。

A cluster, as you know, is a bunch of computers networked together. When you have such configuration, you normally install and use the following:

  • MPI, for communication between processes
  • NFS, to have a network disk visible and shared to all nodes
  • NTP, to synchronize the time of the nodes so that you can compare log events and timestamps
  • bootp to boot the nodes from a remote node, so that each node restart fresh with a guaranteed good and uniform setup.
  • a set of cluster utilities to make your life easier, such as a distributed ssh to execute the same command on all nodes at the same time.
  • a task scheduler, or queue manager, such as Condor, LFS or others, that allow you to prioritize job submissions and eventually measure them for limiting/pricing.
  • a watchdog, so to reboot one node automatically if it gets stuck.
  • software control for UPS (so to shut down automatically in case of prolonged loss of power)

And much more. All this stuff is completely additional to MPI. MPI is just a communication channel between processes. MPI alone does not "make the cluster".

没有心的人 2024-12-08 02:17:02

正如您所指出的,MPI 仅提供进程之间的通信。如果没有几个人使用集群,那么您实际上不需要更多(除了一些在所有节点上启动程序的脚本)。

但遗憾的是,实际上我们很少拥有自己的个人集群。这时候你就需要一个调度程序了。调度程序通常处理作业提交和资源分配,还可能处理优先级、用户管理和其他事情,以使您的生活更轻松。

MPI, as you noted, will only provide communication between processes. If there will not be several people using the cluster, you really need nothing more (apart from some script to launch your program on all the nodes).

But, in reality we sadly seldom have our personal cluster. That's when you need a scheduler. The scheduler typically handles job submissions and resource allocation, possibly also taking care of prioritization, user management and other things to make your life easier.

傲娇萝莉攻 2024-12-08 02:17:02

查看 Oracle Grid Engine(又称为 Sun Grid Engine 或 CODINE)。

Take a look at Oracle Grid Engine (nee Sun Grid Engine or CODINE).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文