Frage Gibt es eine Möglichkeit, dass eine virtuelle Maschine nur einen Kern hat, aber drei Kerne auf dem Hostcomputer verwendet? [Duplikat]


Mögliche Duplikate:
Kann ein einzelner virtueller Kern auf einer VM mehr als einen physischen Kern verwenden? 

Ich bin Miteigentümer eines Minecraft-Servers, der jeden Tag ziemlich groß wird, aber wenn wir größer werden, geraten wir in die Grenzen von Minecraft und dessen Kodierung. Das Spiel ist nicht so programmiert, dass es mehrere Kerne verwendet, sondern nur einen Kern. Im Gespräch mit einem Freund schlug er vor, zu sehen, ob es möglich ist, dass eine virtuelle Maschine nur einen virtuellen Kern hat, aber drei der vier Kerne auf der Host-Maschine verwendet. Ich habe etwas recherchiert und finde keine Antworten. Es spielt keine Rolle, ob das Host-Betriebssystem Windows oder Linux ist, ich bin nur neugierig, ob es möglich ist.

Wenn es getan werden kann oder automatisch gemacht wird, können Sie Links bereitstellen, so dass ich darüber lesen und mehr erfahren kann ... Ich bin neu in virtuellen Maschinen, also gehen Sie einfach.


18
2017-10-17 05:57


Ursprung


Ich habe eine große Sympathie für minecraft Admins, ich war mal selbst einer ... es ist ein harter Job, jede Update-Kerbe macht jeden Mod kaputt, Welten werden aufgegeben und oft gehen auch Banlisten dabei verloren! - Silverfire
Ich denke, Sie sollten über die grundlegende Funktionsweise von Programmen - nämlich Parallelisierung - nachdenken. Wenn es für Entwickler schwierig ist, können Programme nicht automatisch ausgeführt werden. - Mircea Chirea


Antworten:


Ab heute scheinen alle Antworten richtig zu sein: Keine Möglichkeit, es zu tun.

Ich möchte diesen Aussagen etwas Fleisch hinzufügen:

Wikipedia auf "automatische Parallelisierung".

Automatische Parallelisierung wäre der Prozess, um einen gegebenen seriellen Algorithmus zu verwenden und zu versuchen, Befehlsfolgen zu finden, die parallel ausgeführt werden könnten, dann diese Sequenzen auf die verfügbaren (Hardware: CPU-) Ressourcen zu planen und zu senden und dann dem Ergebnis (= Daten) beizutreten zurück zur weiteren Verarbeitung.

Das Problem besteht nicht nur darin, Sequenzen zu finden, die nicht voneinander abhängen und daher parallel bearbeitet werden können. Aber auch der Kommunikations-Overhead kann prohibitiv werden. Denken Sie über Ihr spezielles Problem nach, bei dem die eine Minecraft-Welt auf die verschiedenen CPUs gespalten wird: Wenn Sie die Welt geometrisch aufteilen, sagen wir in: = 9 Blöcke, dann müssen die einzelnen Subwelten an den Grenzen alle austauschen Weltmodifikationen oder Bewegungen von Einwohnern.

Während das Obige ein typischer "Teile-und-herrsche" -Ansatz ist und die geometrische Aufteilung eines Problems eine weit verbreitete Lösung für die Parallelisierung ist, wird es normalerweise handcodiert, wobei das Wissen des Problemdesigners - in diesem Fall - des Spiels genutzt wird Entwickler hat.

Ihre vorgeschlagene Idee würde eine gewisse Automatisierung eines Algorithmus beinhalten, der völlig unbekannt ist, weil der virtuelle "Hyper" -Server keine Möglichkeit hat zu wissen, wie sich Minecraft intern verhält. Der einzige Winkel zu diesem Problem ist der ausgeführte Assemblercode. Bei diesem niedrigen Niveau ist es sehr schwer - und derzeit scheint es unmöglich - eine Lösung zu finden, die irgendeinen Wert hat.

Google kann nach wissenschaftlichen Publikationen suchen heutzutage. Und wenn Sie wirklich interessiert sind, würde ich mir die Publikationen auf verwandten Konferenzen anschauen. Organisationen wie die IEEE und das ACM dafür vielleicht gute Ansatzpunkte.


8
2017-10-17 11:16





Neun Frauen können in einem Monat kein Baby zeugen. Entschuldigung, zumindest jetzt ist es unmöglich, CPUs in der VM-Umgebung zusammen zu kleben. Aber das ist eine interessante Idee!


38
2017-10-17 07:04



+1 große und lustige Analogie! - nalply
Allerdings neun Frauen sind in der Lage, jeden Monat ein Baby zu produzieren, ftw füttern :). - Sverre Rabbelier
@SverreRabbelier Kollektiv benötigen sie noch 81 Monate, um 9 Babys zu zeugen. Es spielt keine Rolle, ob sie parallel oder seriell arbeiten. - Chris S
@Chris S: Stimmt, aber sie bekommen diese 81 Monate Arbeit in 18. - afrazier
Was ist mit Mehrlingsgeburten? Wäre das wie Multiprozessing? - John Gardeniers


Nr. Punkt. Du kannst keinen magischen Superkern aus physischen Kernen machen. Hyper-Visiere können Ihren Kern nicht benötigen.


8
2017-10-17 06:07





Nein, es gibt keinen Hypervisor (von dem ich zumindest weiß), der z. Nehmen Sie zwei 2-GHz-CPUs und erstellen Sie daraus eine virtuelle 4-Ghz-CPU.


6
2017-10-17 06:15





Nein.


4
2017-10-17 06:06



-1 für absolut 0 Mühe in deine Antwort stecken. Wenigstens Versuchen um zu erklären warum - TheLQ
@TheLQ Eine Antwort mit geringem Aufwand für eine Frage mit geringem Aufwand. - MDMarra
Wie ist die Frage geringer Aufwand? Es ist vernünftig gefragt, ziemlich detailliert und fragt nach anderen Unterlagen wenn möglich. - TheLQ
@TheLQ Stimme zu, nicht einverstanden zu sein. 4 Leute + 1'd meine Antwort und nur 1 -1'd es. Kommentare sind jedoch nicht der Ort, um darüber zu diskutieren. Ich bin oft in Serverfehler-Chat wenn Sie jemals darüber diskutieren möchten. - MDMarra
Manchmal ist nur ein Ja oder Nein erforderlich. Dies ist eine dieser Zeiten. - John Gardeniers