Frage von Tidos, 163

Mehrere CPU Kerne zu Einem verbinden

Mahlzeit zusammen,

ich suche eine Möglichkeit mit der ich mehrere CPU Kerne zu einem verbinden kann bzw. für eine Software die nur einen Thread hat, es irgendwie so zu realisieren, dass sie mehrere Kerne nutzen kann. Ich weis, dass es über Virtualisierung wie VirtualBox oder VMWare gehen kann, aber mein Problem ist, dass ich das für ein Game brauche und ich in der virtuellen Maschiene nicht auf die schnelle eine GPU mit vollem Umfang hinbekomme. Vielleicht kennt ja jemand eine Software oder Möglichkeit sowas zu realisieren. Ich hoffe, ich konnte es soweit deutlich erklären und bedanke mich schon mal im vorraus fürs Lesen. Sollten noch Fragen zwecks Hardware oder Software sein, dann bitte hier stellen.

Hardware:

  • Prozessor: Intel(R) Core(TM) i7-3630QM CPU @ 2.40GHz, 2401 MHz, 4 Kern(e), 8 logische(r) Prozessor(en)
  • OS: MS Windows 7 (6.1.7601 Service Pack 1 Build 7601)
  • GPU: NVIDIA GeForce GTX 680M (4 GB RAM)
  • RAM: 16 GB DDR3 1600 MHz
Hilfreichste Antwort - ausgezeichnet vom Fragesteller
von Nvidia4Ever, 163

Ich wüsste nicht, wie das möglich sein sollte. Wenn dann, wie du gesagt hast, müsste man die Hardware virtuallisieren. Physisch gesehen ist das völlig unmöglich, 4x2,6 GHz sind einfach nicht gleich 10,4 GHz. Ansonsten ist mir kein Programm bekannt, dass das kann. (außer das von dir erwähnte VMBox etc.). Außer auf dem Weg der Virtualisierung würde mir auch nicht einfallen, wie ein solches Programm arbeiten sollte.

MfG

Nvidia

Antwort
von FaronWeissAlles, 135

Das geht nicht. Auch nicht mit Virtualisierung. Wenn du VBox und co nutzt kannst du einstellen, dass er nur 1 Kern dafür nutzen soll. Und in der VM erscheint dann eben nur ein Kern.

Das ganze ist ein grundlegendes Problem und nichts was man mit ein paar Klicks einstellen kann. Eine Software die auf Mehrkern-Betrieb optimiert ist, funktioniert intern anders als eine Singlecore-Anwendung. Die Software muss bei Paralellisierung schließlich die Aufgaben an die Threads verteilen und die Ergebnisse zusammentragen. Das ist ein völlig anderes logisches Vorgehen als wenn es nur ein Thread gibt der alles alleine nacheinander macht

Antwort
von Fugenfuzzi, 100
 aber mein Problem ist, dass ich das für ein Game brauche

entweder Unterstützt das Game Multi Prozessoring oder nicht. Es dazu Zwingen wäre ein fataler Fehler da sowas zu 99% immer schiefgeht. die Games sind für gewisse Hardwareanforderungen ausgelegt. diese sollte man auch Berücksichtigen und nicht mit aller Gewalt irgendwas Rumfrickeln. Wenn du was am Game verändern willst ,lass dir vom Hersteller des Games die Genehmigung geben den Quellcode speziell dafür um zu schreiben.

Kommentar von Tidos ,

Ich glaub du hast nicht ganz verstanden was ich machen möchte. Ich will NICHT das Game zu irgendwas zwingen oder umprogrammieren, sondern ich möchte eine Umgebung zwischen CPU und Binary schalten, die es ermöglicht mehr Leistung für einen Thread zu erzielen. Wenn es nach deiner Meinung zu 99% schiefgeht sowas zu realisieren, warum sollten dann große Hersteller wie Oracle und VMWare es dann ihren Kunden anbieten? Hätte nicht gedacht, dass ein Linux Administrator solche Antworten gibt.

Antwort
von Dingo, 88

An der TU Leipzig wurden mal 500 PII CPUs zu einem Superrechner gemacht, einen solchen Rechner mit den heutigen Mitteln zu bauen würde Millionen kosten. Für dein Vorhaben wird es kein Programm/Software geben. Was du vorhast ist praktisch eine völlig neue Codierung. Als Programmierer mit der richtigen Software könnte das evt. klappen.

Da solltren dann aber auch Programmierer ihren Senf dazutun.

Kommentar von Tidos ,

Dann bekommste von mir gern eine Portion Senf ^^. Mir geht es doch nicht darum gleich einen Superrechner zu bauen. Es würde mir doch schon reichen wenn ich wenigstens 2 Kerne verbinden könnte.

Antwort
von Pr0fessor, 74

Es ist einfach nicht möglich ....

Wenn du z.B. ein Paket in einen LKW von A nach B schickst ist das Paket ja auch nicht schneller da wenn du 4 oder 8 oder 50 LKW fahren lässt.... mit CPU´s ist es im Prinzip auch so. 4 x 2,4Ghz sind eben nicht 9,6Ghz - da kannst du machen was du willst - es wird nicht funktionieren.

Kommentar von Tidos ,

Der Vergleich ist keine schlechte Idee, nur passt er zu dem Fall leider nicht. Wenn du den Vergleich mit LKW's machst, dann müsstest du es anders formulieren:

Ein Unternehmen muss 10 Pakete versenden und hat nur einen LKW der jeweils nur ein Paket gleichzeitig transportieren kann. Also müsste das Unternehmen 10 Strecken fahren um alle Pakete zu transportieren.

Angenommen das Unternehmen hat jetzt für die selbe Aufgabe 2 LKWS. Dann brauch das Unternehmen nur noch 5 Strecken fahren, da bei jeder fahrt gleich 2 Pakete transportiert werden können.

Das mit dem Beispiel von 9,6 GHz geht in der Theorie. Wenn man rießige Server als Host für virtuelle Maschienen benutzt kann man bei den Gastsystemen als CPU Ressource die GHz einstellen. Es ist klar, dass das nicht der Taktung des CPU's entpricht, sonderen nur eine Art Leistungsindex ist. Aber dort kann man einen Kern für den Gast zuteilen und ihm viele GHz zuweisen. Das Gastsystem denkt dann wirklich es hätte nur einen Kern mit z.B. 20 Ghz, aber in wirklichkeit hängen da vielleicht 5 Kerne mit jeweils 4 GHz dahinter.

Keine passende Antwort gefunden?

Fragen Sie die Community

Weitere Fragen mit Antworten