如何使所有分布式节点的RAM对单个节点可用? [英] How to make all distributed nodes RAM available to a single node?

查看:27
本文介绍了如何使所有分布式节点的RAM对单个节点可用?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在Linux上开发了一个应用程序,它将受益于一个具有更多RAM的进程,而不是将单个进程卸载到具有较少RAM的较小计算节点上。因此,这是我在这里研究的一个选项。

我希望在主节点上运行一个进程,同时以某种方式使所有计算节点上的所有可用RAM对主节点显示为一大块可用RAM(就像单个系统一样)。

据我所知,这种单一系统映像(SSI)的使用现在称为分布式共享内存(DSM)。我一直在查看单个系统映像,但无法分辨哪些系统映像支持此功能。

有人知道哪种开源SSI包可以做到这一点吗?我也想知道OpenSSI,尽管列表非常不活跃。

编辑:
在使用DSM时,我考虑的是在不同的计算节点上拥有物理上独立的地址空间,并且能够像访问单个节点(头节点)上的单个进程可用的一个逻辑共享地址空间一样访问它们。我使用术语SSI(在这个上下文中是错误的),因为我希望系统从用户的角度看起来像一个单独的系统。我目前使用的SSI是一个文件系统,其中所有无盘节点从主节点上特定位置的单个映像引导。

我知道多个节点的内存是通过comm库(目前正在使用)来完成的,但我需要更多的RAM。因此,在研究似乎提到支持"单个IPC空间"的能力的SSI包时,我认为可能是有用的。我已经阅读了几份白皮书,其中节点的内存管理可以在操作系统级别处理,因此我不需要通信库,因为它将在用户空间下抽象。

我不想修改代码,因为如果本地主机上已经有大量RAM可用,那么它已经利用了大量RAM。我确实有大量的RAM,只是RAM分布在不同的节点上,因此确实需要使用一些MPI类型库。修改代码的成本很高,添加更多的RAM需要一个新的集群,成本高昂。然而,一个解决方案会给我的应用程序带来一个非常大的单个地址空间的错觉……我只能抱有希望。

推荐答案

这是一个商业解决方案,而不是开源的,但我相信ScaleMP可以做你想要的。我曾经在使用它的装置中工作过,这些装置使用它将多个商用服务器聚合到一个更大的系统中,但我自己还没有直接使用过它。不过,我认为它需要Infiniband作为节点互连,而且他们有一个不太长的supported hardware列表。

这篇关于如何使所有分布式节点的RAM对单个节点可用?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆