Seite 1 von 1

virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 12:50
von DelUser01
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?

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 16:19
von AUGE_OHR
DelUser01 hat geschrieben: Mo, 19. Jun 2017 12:50 Kann das VMWare, VirtualBox oder ein anderes Programm?
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.

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 16:46
von DelUser01
@ 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.

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 17:25
von georg
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.

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 18:35
von AUGE_OHR
DelUser01 hat geschrieben: Mo, 19. Jun 2017 16:46Genau 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.
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.

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Mo, 19. Jun 2017 18:51
von AUGE_OHR
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" 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
nun läuft dann (fast) jede App, die man unter "der" CMD starte, auf "der" CPU ... nur Xbase++ Apps nicht :banghead:

Re: virtueller PC: Cores zusammenfassen möglich?

Verfasst: Di, 20. Jun 2017 1:16
von DelUser01
@Yimmy
Deine Antwort
AUGE_OHR hat geschrieben:Nein
ist das genau das was ich mit miner Frage einfach erneut hinterfragen/überprüfen möchte.
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 :-)