1

私は大きなMinecraftサーバーを実行しています.Minecraftサーバー側はシングルスレッドです。すべてがメインのゲーム ループで行われます。Mojang が Minecraft のサーバー側をマルチスレッド化した場合、Minecraft のサーバーはハードウェアのレンタルが少なくて済み、年間 200 万ドル節約できます。

とにかく、私はこれらの噂や理論について聞いたことがあります. 私はそれをグーグルで調べて理解することができませんでした。

マルチコアCPUをシングルコア、シングルスレッドに変換する方法はありますか?

ハイパーバイザー ソフトウェアはマルチスレッドで実行され、シングル コアで構成できれば、複数のコアが 1 つのコアに変換されるのではないかと推測しています。

私は Java プログラマーの友人にこのアイデアを持ちかけました。そして、個々のスレッドが何をすべきかを知る方法がないため、それは不可能だと彼は私に言いました。彼が何を言ったか正確には覚えていませんが、彼は基本的にそれは不可能だと言いました。

Minecraft サーバーは、4.5 GHz にオーバークロックされたハードウェアのレンタルに月額 700 ドル以上を費やしています。なんで?デフォルト サーバーのコストは 100 ~ 150 で、3.8 ~ 4.5 であるためです。

オーバークロックされたサーバーでは、シングル スレッドのパフォーマンスが 1/8 向上します。これにより、サーバーはより多くのプレイヤーを保持できます。サーバーが保持できるプレーヤーが多ければ多いほど、より多くのお金を稼ぐことができます。

したがって、オーバークロックのサーバーを購入する代わりに、quad proq E5 サーバーを購入して 1 つのスレッドに接続し、パフォーマンスとプレーヤー数のすべての記録を更新する方がはるかに効率的です。

最も効率的なのは、mojang がマインクラフトをマルチスレッド化することだと理解しています。これには、すべてのコードを完全に書き直す必要があります。

彼らはそれをしたくありません。Minecraft のアカウントは 26 ドルです。彼らは2000万を販売しました。彼らは、マインクラフトのサーバーをマルチスレッド化するのではなく、愚かなコンテンツの更新を行って、不潔な金持ちの生地を転がしています。

マインクラフトのゲームクライアントでさえマルチスレッド化されていません。

問題は、複数の CPU コアを組み合わせて、驚異的なシングル スレッド パフォーマンスを実現できるかどうかです。もしそうなら、どのように?

それができると聞いたことがありますが、オーバーヘッドはクレイジーです。

とにかく、オーバーヘッドを計算しますか?

4

2 に答える 2

2

これを行う方法があれば、私たちはそれを実行します。問題は単純です。実行中のプログラムは、単一の命令ストリームしか提供しません。

朝、仕事の準備をするために人がたどる手順を想像してみてください。彼らは起きて、シャワーを浴びて、服を着て、朝食を作り、朝食を食べます。手順の完全なリストを使用すると、複数の人がいる場合にタスクを重複させる効率的な方法を見つけることができるでしょう。たとえば、誰かが朝食を作っている間に、他の人が服を選ぶことができます。しかし、前のステップが完了したときに各ステップについてのみ通知された場合、それは絶望的です。

シングルスレッド コードは、前のステップが完了したときに各ステップを通知するだけです。

于 2013-09-21T19:19:45.870 に答える