virtueller PC: Cores zusammenfassen möglich?
Moderator: Moderatoren
virtueller PC: Cores zusammenfassen möglich?
Hallo
um irgendwelche rechenintensive Programme die nur einen Kern nutzen schneller zu machen könnte es doch möglich sein, diese über einen virtuellen PC laufen zu lassen welcher in der Lage ist, seinerseits mehrere Cores anzusteuern, dem eigentlichen (End-)Programm aber nur einen (zusammengefassten) Kern vorzuschwindeln.
Das müsste die Rechenleistung des Userprogramms dann deutlich erhöhen.
Kann das VMWare, VirtualBox oder ein anderes Programm?
um irgendwelche rechenintensive Programme die nur einen Kern nutzen schneller zu machen könnte es doch möglich sein, diese über einen virtuellen PC laufen zu lassen welcher in der Lage ist, seinerseits mehrere Cores anzusteuern, dem eigentlichen (End-)Programm aber nur einen (zusammengefassten) Kern vorzuschwindeln.
Das müsste die Rechenleistung des Userprogramms dann deutlich erhöhen.
Kann das VMWare, VirtualBox oder ein anderes Programm?
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: virtueller PC: Cores zusammenfassen möglich?
Nein ...
Apps die mehrere CPU nutzen gibt es noch nicht viele was hauptsächlich daran liegt das die "Aufgabe verteilt" werden muss. Gerne würden Gamer die vielen Cores einer AMD Ryzen CPU nutzen aber auch in dem Gebiet gibt es nur wenige "Engine" die das nutzen können.
Xbase++ arbeitet IMMER nur mit 1 x CPU.
gruss by OHR
Jimmy
Jimmy
Re: virtueller PC: Cores zusammenfassen möglich?
@ Jimmy
da hast Du natürlich Recht, die meisten Programme arbeiten nur mit einer CPU.
Genau deshalb bin ich ja am schauen, ob es bereits eine Virtualisierungs-Software gibt welche den 1-Core-Betrieb eines (beliebigen) Programms automatisch auf mehrere CPUs gleichzeitig verteilt und damit (viel) mehr Leistung bereitsteht.
da hast Du natürlich Recht, die meisten Programme arbeiten nur mit einer CPU.
Genau deshalb bin ich ja am schauen, ob es bereits eine Virtualisierungs-Software gibt welche den 1-Core-Betrieb eines (beliebigen) Programms automatisch auf mehrere CPUs gleichzeitig verteilt und damit (viel) mehr Leistung bereitsteht.
-
- Der Entwickler von "Deep Thought"
- Beiträge: 2829
- Registriert: Fr, 08. Feb 2008 21:29
- Hat sich bedankt: 97 Mal
- Danksagung erhalten: 13 Mal
Re: virtueller PC: Cores zusammenfassen möglich?
Hallo, Roland -
echtes Multithreading ist deshalb (zumindest erwarten wir das) schneller, weil die Arbeitslast aufgeteilt wird und dann an mehrere Prozessoren verteilt wird. Das setzt aber entsprechende Programmierung voraus, denn die meisten Programme sind in sich linear, und meist ist eine Anweisung abhängig vom Ergebnis der vorhergehenden Anweisung, so dass man diese nicht parallelisieren kann.
Wenn Du mehrere Kerne "zusammenfasst", erhältst Du dann aber nicht das erwartete Ergebnis: 2 Kerne von 3 GHz ergeben nicht einen Kern von 6 GHz, sondern eben wieder nur einen Kern von 3 GHz. Und ein Kern wird sich wohl "zu Tode" langweilen.
echtes Multithreading ist deshalb (zumindest erwarten wir das) schneller, weil die Arbeitslast aufgeteilt wird und dann an mehrere Prozessoren verteilt wird. Das setzt aber entsprechende Programmierung voraus, denn die meisten Programme sind in sich linear, und meist ist eine Anweisung abhängig vom Ergebnis der vorhergehenden Anweisung, so dass man diese nicht parallelisieren kann.
Wenn Du mehrere Kerne "zusammenfasst", erhältst Du dann aber nicht das erwartete Ergebnis: 2 Kerne von 3 GHz ergeben nicht einen Kern von 6 GHz, sondern eben wieder nur einen Kern von 3 GHz. Und ein Kern wird sich wohl "zu Tode" langweilen.
Liebe Grüsse aus der Eifel,
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
Georg S. Lorrig
Redakteur der Wiki des Deutschprachigen Xbase-Entwickler e.V.
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: virtueller PC: Cores zusammenfassen möglich?
ich würde es so sehen:
Step 1 : multi-Usern (Netzwerk)
Step 2 : multi-threading (auf einem PC)
Step 3 : multi-CPU (echt,virtuell,Netzwerk)
wie Georg schon sagte sind die meisten Apps ja linear aufgebaut wo schon Step 2 "nicht passt" da ich nur an "einer" Sache arbeite.
Step 2 "könnte" man z.b. verwenden beim importieren von Daten wobei die sich gegenseitig nicht beeinflussen sollten.
bei Step 3 käme es darauf an ob die sich Daten "teilen" (Zwischenergebnisse) denn dann bräuchte man einen gemeinsamen "Cache"
---
angenommen ich hätte 10 Workstation und lasse jeweils die App laufen die einen "Teil" bearbeiten kann und keine Info von den anderen 9 Workstation braucht ... die App "könnte" dann auch auf einem PC mit 10 virtuellen PCs arbeiten.
gruss by OHR
Jimmy
Jimmy
- AUGE_OHR
- Marvin
- Beiträge: 12911
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 46 Mal
Re: virtueller PC: Cores zusammenfassen möglich?
es geht dir doch im Prinzip um die Ausnutzung der CPUs da Xbase++ nur auf einer CPU läuft.
man kann ja, mit SmpSetCPU() , die CPU umschalten. wenn man dann CMD.EXE aufruft läuft die auf "der" CPUnun läuft dann (fast) jede App, die man unter "der" CMD starte, auf "der" CPU ... nur Xbase++ Apps nicht
man kann ja, mit SmpSetCPU() , die CPU umschalten. wenn man dann CMD.EXE aufruft läuft die auf "der" CPU
Code: Alles auswählen
PROCEDURE Main(cExe,cPara,nCPU)
DEFAULT cExe TO "CMD.EXE"
DEFAULT cPara TO ""
DEFAULT nCPU TO 2
IF SmpSetCPU(nCpu) = 0
SmpSetCPU(1)
ENDIF
cEXE := "/C START "+cEXE
RunShell(cPara,cExe,.T.)
IF nCpu = SmpGetCPU()
SmpSetCPU(1)
ENDIF
RETURN
gruss by OHR
Jimmy
Jimmy
Re: virtueller PC: Cores zusammenfassen möglich?
@Yimmy
Deine Antwort
Könnte ja durchaus sein, dass ich eine bahnbrechende Neuerung verschlafen habe und nur ich mich mit elend langsamen Programmabläufen herumschlage...
Wenn nicht...IST ALLES GUT
Deine Antwort
ist das genau das was ich mit miner Frage einfach erneut hinterfragen/überprüfen möchte.AUGE_OHR hat geschrieben:Nein
Könnte ja durchaus sein, dass ich eine bahnbrechende Neuerung verschlafen habe und nur ich mich mit elend langsamen Programmabläufen herumschlage...
Wenn nicht...IST ALLES GUT