计算机集群可以用于一般的日常应用吗?

发布于 2024-08-06 19:28:01 字数 127 浏览 1 评论 0 原文

有谁知道计算机集群如何用于日常应用,例如视频游戏?

我想构建一个计算机集群,可以在集群上运行不是专门为计算机集群设计的应用程序,并且仍然可以看到性能的提高。一种用途是视频游戏,但我还想利用增强的计算能力来运行大型虚拟机网络。

Does anyone know how a computer cluster can be used for everyday applications, like for example video games?

I would like to build a computer cluster that can run applications over the cluster that were not specifically designed for computer clusters and still see the performance increase. One use would be for video games, but I would also like to utilize the increased computing power for running a large network of virtualized machines.

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

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

发布评论

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

评论(4

浊酒尽余欢 2024-08-13 19:28:01

这没有帮助,尤其是在视频游戏的情况下。你必须围绕集群进行构建;该集群无法在您周围工作。

无论如何,视频游戏需要低于 50 毫秒的输入和响应响应时间,而网络传播只会破坏您可能看到的任何性能提升。另一方面,视频处理从集群中受益匪浅,因为该任务本质上是面向并行化的。它不需要用户输入,输出仅根据批处理过程进行测量。

It won't help, especially in the case of video games. You have to build around the cluster; the cluster does not work around you.

At any rate, video games require sub-50ms response time on input and response,and network propagation would just destroy any performance gains you might see. Video processing, on the other hand, benefits GREATLY from the cluster as the task is inherently geared toward parallelization. It does not require user input, and output is only measured in terms of the batch process.

指尖微凉心微凉 2024-08-13 19:28:01

如果您有一个为单核编写的程序,那么在四核处理器上运行它不会对您有帮助(除非一个核可以专用于该程序)。例如,我在这台机器上的多个核心上进行 Visual Studio 编译,但链接是在一个核心上完成的(并且速度慢得令人烦恼)。为了充分利用多个核心,我必须运行可以使用多个核心的程序或运行多个单独的程序。

集群就是这样,甚至更是如此。机器之间的所有通信都是显式的,必须进行编程。您可以使用集群做一些事情(请参阅 Google 的 Map-Reduce 算法),但它们确实需要特殊的编程和工作。

典型的集群要么用于专用机器(例如,一台可能是数据库服务器,一台是 Web 服务器),要么用于同时运行大量程序。

If you have a program written for a single core, running it on a four-core processor won't help you (except that one core can be devoted to that program). For example, I have Visual Studio compiling on multiple cores on this machine, but linking is done on one core (and is annoyingly slow). In order to get use out of multiple cores, I have to either run something that can use multiple cores or run several separate programs.

Clusters are like that, only more so. All communication between the machines is explicit and must be programmed in. There are things you can do with a cluster (see Google's map-reduce algorithm), but they do require special programming and work.

Typical clusters are used either to specialize machines (one might be a database server and one a web server, for example), or to run large numbers of programs simultaneously.

红焚 2024-08-13 19:28:01

您将无法轻松地在集群上运行视频游戏,除非它已经设计为在多台机器上运行。我还没有听说过这样的游戏。您可能会幸运地创建一个虚拟服务器场,但我怀疑让它完美运行是否很容易。如果您对此感兴趣,亚马逊的 EC2 服务就是一个例子。他们提供按小时“出租”的虚拟机。在幕后,我假设他们有一个巨大的集群来提供所有这些虚拟机。

You will not be able to easily run a video game on a cluster, unless it was already designed to work on multiple machines. I have not heard of such a game. You may have some luck creating a virtual server farm, but I doubt it will be easy to get it working perfectly. If you are interested in this, one example would be amazon's EC2 service. They offer virtual machines for "rent" by the hour. Behind the scenes, I assume they have a giant cluster that is supplying all of these virtual machines.

木槿暧夏七纪年 2024-08-13 19:28:01

不幸的是,除非您考虑到一些非常聪明的操作系统/软件设计 - 简单地通过集群将程序连接在一起并希望获得更高的性能是不可能的 - 特别是对于视频游戏而言。为了通过在集群中运行事物来提高性能,您必须对其进行编程,否则会有一个很好的更改,您会看到性能下降而不是增加。

Unfortunately, unless you have some pretty clever operating system / software design in mind - simply connecting programs together via a cluster and hoping to get increased performance is not likely to work - especially not for video games. In order to get increased performance from running things in a cluster you have to program for it otherwise there is a good change you'd see a decrease in performance rather than an increase.

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