web-dev-qa-db-ja.com

仮想マシンに1つのコアだけを持たせながら、ホストマシンで3つのコアを使用する方法はありますか?

重複の可能性:
VM複数の物理コアを使用できますか?

私は毎日かなり大きくなっているMinecraftサーバーの共同所有者ですが、大きくなるにつれて、Minecraftとそのコーディング方法の限界に直面しています。ゲームは複数のコアを使用するようにコーディングされておらず、代わりに1つのコアのみを使用します。そこで彼は友人と話し、仮想マシンに仮想コアを1つだけ持たせながら、ホストマシンの4つのコアのうち3つを使用できるかどうかを確認することを提案しました。調査を行ったところ、答えが見つからないようです。ホストオペレーティングシステムがWindowsであるかLinuxであるかは関係ありません、私はそれができるかどうかだけに興味があります。

それが可能であるか、自動的に行われる場合、私がこれを読んで詳細を学ぶことができるようにリンクを提供できますか...私は仮想マシンに慣れていないので簡単に行ってください。

18
bradleyhilton

今日の時点で、すべての答えは正しいようです:それを行う方法はありません。

私はそれらのステートメントにいくつかの肉を追加したいと思います:

ウィキペディア 「自動並列化」について。

自動並列化は、特定のシリアルアルゴリズムを使用して、並列で実行できるコマンドシーケンスを見つけようとし、それらのシーケンスをスケジュールして使用可能な(ハードウェア:CPU)リソースにディスパッチし、結果(=データ)を結合するプロセスです。さらなる処理のために戻ってください。

問題は、相互に依存せず、したがって並行して作業できるシーケンスを見つけることだけではありません。しかし、通信のオーバーヘッドも法外になる可能性があります。 1つのMinecraftワールドが何らかの方法で別のCPUに分割されるという特定の問題について考えてみてください。ワールドを幾何学的に分割する場合、たとえば:= 9ブロックとすると、境界で個々のサブワールドを交換する必要があります。世界の変化や住民の動き。

上記は典型的な「分割統治」アプローチであり、問​​題の幾何学的分割は並列化の広範な解決策ですが、通常は手作業でコーディングされ、問題の設計者(この場合はゲーム)の知識を利用します。開発者が持っています。

仮想の「ハイパー」サーバーにはMinecraftが内部でどのように動作するかを知る方法がないため、提案されたアイデアには、完全に未知のアルゴリズムの自動化が含まれます。したがって、この問題に対する唯一の角度は、実行されたアセンブリコードです。この低いレベルでは、メリットのあるソリューションを考え出すことは非常に困難であり、現在は不可能のようです。

Googleは科学出版物を検索できます 最近。そして、あなたが本当に興味を持っているなら、私は関連する会議の出版物を見るでしょう。 [〜#〜] ieee [〜#〜][〜#〜] acm [〜#〜] などの組織はそのための良い出発点かもしれません。

8
cfi

9人の女性は1か月で赤ちゃんを産むことができません。申し訳ありませんが、少なくとも今のところ、VM環境でCPUを接着することは不可能です。しかし、それは興味深いアイデアです!

38

意味が無い。物理コアから魔法のようにスーパーコアを作成することはできません。ハイパーバイザーはコアを要求できません。

8
TomTom

いいえ、(少なくとも私が知っている)ハイパーバイザーはありません。 2つの2GHz CPUを取り出し、それらから仮想4 GHzCPUを作成します。

6
Massimo

番号。

4
MDMarra