云计算 - 多台物理计算机,一台逻辑计算机

云计算 - 多台物理计算机,一台逻辑计算机

我知道您可以在每台物理计算机上设置多个虚拟机。我想知道是否可以将多台物理计算机作为一个逻辑单元运行?

从根本上讲,我设想的运作方式是,一天内你可以将 10 台计算机投入到设施中。你有一个客户需要相当于两台计算机的资源,而其他 100 个客户则占用了剩余的 8 台计算机。随着需求的变化,你只需重新分配逻辑资源,也许 2 台计算机的客户现在需要第三个物理系统。你只需将其添加到云中,而不必担心数据库分片或将数据迁移到新服务器。

可以这样吗?

如果是,那么为什么还有人会手动对数据库服务器进行分区呢?只需添加更多计算资源即可。您可以使用硬件进行水平扩展,但您的服务器似乎可以垂直扩展。无需修改应用程序的支持基础架构来支持多个数据库等。

答案1

听起来很像网格计算,试着看看这个: http://en.wikipedia.org/wiki/Grid_computing

可用的云服务也可以让您进行某些类型的操作,例如 Amazon 的 S3 存储,您只需将数据上传到一个大型“存储桶”,他们就会将数据在其多台机器上移动 - 您仍然只需使用“文件指针”(密钥)即可访问它。

你甚至可以通过他们称之为 CloudFront 的东西来多路复用你的数据(http://aws.amazon.com/cloudfront/),但它的本意是“内容交付网络”,为您提供大量快速的网络服务器,向数百万用户发送数据。许多大型网站已经在使用这些网络。

关于运行需要更多功率的程序的透明度,您可以编写一些程序来传输/中继作业 - 但您将使用某种分配机制来处理它。无论是作为操作系统的一部分,还是如果它更多地基于应用程序,则只是在“计算机网格/农场”中协同工作的应用程序。

大多数大型 3D 渲染程序(例如 MAYA 和 3D Studio MAX)也都具有“Renderfarm”软件。您将所有物理硬件机器放在网络中并“启用它们作为渲染节点”,然后在“主服务器”上放置要渲染的项目。然后,每个节点都会向主服务器请求“作业”,然后它们将渲染动画片段并将结果发回主服务器/目标。

SETI 项目也使用了同样的技巧。 http://www.seti.org/

他们为您提供了一个小型“屏幕保护程序”,该屏幕保护程序会从其巨大的数据中心下载一些数据 - 然后程序开始处理下载的数据。分析完成后,它会将结果上传到主服务器并请求新的数据。所有操作都无需您做任何事情,只需安装“节点”即可。

这样,运行这个小客户端的数千台计算机将组成一个巨大的网格网络。

如果每个人都拥有一个“网格计算机操作系统”,那么您就永远不会知道您的计算机上正在运行什么程序、谁在运行什么程序或运行了多少程序 - 这可能会带来一些有趣的安全问题 + 如果您的系统被“黑客入侵”了...那会怎样?是整个网络瘫痪了还是只是您的网格访问瘫痪了?

作为参考,请查阅“博格家族”和“星际迷航”......哈哈!

答案2

可以做到,但不能像“把它们扔进去,连接硬件,让它自动工作”那样做(至少据我所知不是)。您需要配置一个服务器作为代理(在互联网的服务器端)和每个服务器上的应用程序。因此,用户登录到代理,代理将他们传递给应用程序服务器。然后,应用程序服务器处理所有处理器密集型的东西(简单地将位从一端传递到另一端并不那么处理器密集)。然后,应用程序可能会与数据库服务器通信。

Citrix以此方式工作。

答案3

A贝奥武夫集群大致如此,尽管它是专门用于科学计算的。

此外,OpenVMS 具有(是的,具有)集群能力,可以共享磁盘和内存,我认为它已被移植到 Ultrix,但 Ultrix 现已停产(也许 HP 会将其移植到 HPUX,谁知道呢)

答案4

好问题。它即将问世,但尚未问世,但我所说的多服务器单映像的承诺已被英特尔、IBM 和 TidalScale 所熟知。TidalScale 可以通过 10G+ 以太网互连在软件中提供您现在所要求的功能。英特尔 6 年前承诺通过光纤 QPI 互连在硬件中实现该功能,但从未实现。SGI 很久以前就为超级计算机(多服务器 NUMA 总线)实现了该功能,但它们失败了。英特尔正在通过 PCIe 链路上的 UPI 再次谈论它。请参阅https://www.nextplatform.com/2021/11/23/finally-a-coherent-interconnect-strategy-cxl-absorbs-gen-z/

相关内容