AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 849817
Accepted
B00TK1D
B00TK1D
Asked: 2017-05-13 11:13:04 +0800 CST2017-05-13 11:13:04 +0800 CST 2017-05-13 11:13:04 +0800 CST

经典集群问题的解决方案

  • 772

这是一个多步骤的问题,所以请耐心等待。

我正在考虑构建一个小型(10 - 20 个节点)集群。但是,我希望普通程序(不是为集群设计的)能够利用额外的处理速度。在最理想的情况下,我希望能够在整个集群上运行单个管理程序。据我所知,对于这个问题,没有一个好的解决方案可以让一个普通的程序在集群上运行得更快。

因此,我正在集思广益,我将如何设计这样一个系统,以及尝试是否可行。似乎集群的固有问题是移动数据比处理数据需要更多时间。(即,将问题从一个节点转移到另一个节点需要 2 秒,但在第一个节点上解决它只需要 1 秒。)但是,我已经想到了一个可能的解决方案。

我们只是说理论上集群中的所有节点都可以从同一个磁盘启动。因此,他们都可以直接访问相同的数据和相同的程序。其次,让我们假设可以修改 Linux 内核以将每个新命令发送到不同的从节点,无限循环通过所有节点。鉴于这两个条件,用户可以登录到主节点的终端并以正常(非面向集群)格式运行命令,但命令的负载将或多或少均匀地分布在整个集群中。

因此,通过介绍,这是我的两个问题:

  1. 是否有可能创建一个所有计算机都从一个磁盘(可能是 NAS)启动的环境? (我知道 PXE,但据我所知,它不提供持久存储,它只托管操作系统。)如果目前可能,怎么做?
  2. 是否可以修改内核以将每个新命令委托给单独的节点? (这可以通过修改 bash 二进制文件而不是内核本身来完成 - 我不确定。)如果是这样,请说明如何。

这是我在 Stack Exchange 上尝试过的最复杂的问题,所以我希望人们在评论中提出问题。然而,如果这个解决方案能够真正实施,它可能会彻底改变虚拟化。

cluster
  • 2 2 个回答
  • 59 Views

2 个回答

  • Voted
  1. Best Answer
    EEAA
    2017-05-13T11:16:31+08:002017-05-13T11:16:31+08:00

    是否有可能创建一个所有计算机都从一个磁盘(可能是 NAS)启动的环境?(我知道 PXE,但据我所知,它不提供持久存储,它只托管操作系统。)

    当然,PXE 与 NFS 安装共享的组合用于持久存储。

    是否可以修改内核以将每个新命令委托给单独的节点?

    是的。

    很简单,对吧?没有那么多。

    您应该问的问题是:这样做需要做多少工作?

    已经有公司在这个问题上工作了 30 年,投入了数十亿美元,但问题还没有解决。这并不是说它无法解决,但这是一个非常复杂的问题。

    • 2
  2. John Mahowald
    2017-05-14T09:19:20+08:002017-05-14T09:19:20+08:00

    存在多节点、独立操作系统映像、共享存储系统。例如,在 OpenVMS 上运行的 VMScluster 本质上是一个多节点系统。但是,这不是 Linux 操作系统,应用程序需要针对不同的平台和多节点感知进行设计。

    通常 Linux 可以扩展到更大或更多机器。对于更大的,将更多的 CPU 和内存添加到一个 OS 映像。想想大型数据库服务器。更重要的是,添加具有自己操作系统映像的较小机器,将它们联网,并使用某种作业管理软件或其他负载平衡器。想想云应用程序或高性能计算。编辑:请注意,HPC 应用程序特别使用 MPI 接口进行直接内存访问。这要求它们针对这些消息库进行开发和构建。

    • 0

相关问题

  • 是否有可能从多台计算机中创建一台速度更快的计算机?

  • LVS 集群帮助

  • 如何从 Windows 2008 故障转移群集中删除“额外”(不需要的)网络?

  • 如何在低负载期间关闭(关闭)集群节点?

  • 使用 Nagios 监视 Novell 集群服务

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve