设置集群

设置集群

我有 5 台 PC 通过交换机连接到 LAN。
我想将它们连接起来形成 HPC 集群。操作系统可以是任何 Linux 版本(目前我安装了 Ubuntu 8.10、9.10 和 Fedora 10)
集群的目的
1. 执行我使用 OpenMP 开发的 C 代码并提供高性能。
2. 作为我开发的 JSP 动态 Web 文档的负载平衡集群。

我希望开发一个集群来解决这两个目的,但在最坏的情况下,我希望我的集群至少能够实现第一个目的。

我还希望开发一个不存在节点瓶颈的集群,因为如果一个节点发生故障,则意味着整个系统发生故障。相反,我希望我的集群能够继续使用剩余节点工作,即使少数(甚至是最重要的)节点发生故障...

任何形式的帮助都将受到感谢。

感谢致敬

答案1

我认为您不能使用 OpenMP 做您想做的事情。OpenMP 专为共享内存编程而设计。其中一个例子是在同一台机器上使用多个核心和/或处理器。集群(至少是由商品硬件制成的典型集群)是分布式内存。通常使用 MPI 来编程这些类型的机器。

目前有多种解决方案可以管理分布式内存集群。我熟悉的一种是韦尔伍尔夫。通常,这些类型的系统有一个作业队列,在空闲节点上运行作业。如果某个节点发生故障,则使用该节点的任何作业都可能失败,但作业将继续在剩余节点上进行调度。

答案2

我会看看 GridEngine(任何变体)。它很容易在 Ubuntu 上安装,并且对使用相同资源运行各种应用程序提供了出色的支持。您可以为不同类型的应用程序指定不同的队列,甚至可以指定从属队列,以便优先级较高的任务可以将优先级较低的任务从节点中剔除。

在您的情况下,您可以将负载均衡器任务作为作业提交给调度程序,在必要时,该调度程序可以在某种程度上被您的 HPC 任务抢占。

至于节点故障的弹性,当然已经涵盖。通常,除非您的任务跨越多个节点,否则单个执行节点的故障不会对集群的其余部分产生影响。

答案3

如果您只想运行简单的应用程序,而不希望集群全天候运行,则应使用 PelicanHPC 来即时创建 HPC。 pareto.uab.es/mcreel/PelicanHPC 只需从主节点启动 PelicanHPC,然后通过网络启动另一台计算机即可。教程:http://pareto.uab.es/mcreel/PelicanHPC/Tutorial/PelicanTutorial.html

答案4

设置一个具有相当好的排队系统的“贝奥武甫”

相关内容