[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   Hard- und Software Allgemein (http://www.emule-web.de/board/hard-und-software-allgemein/)
-   -   Verdongelte Software mit VM's austricksen, geht das? (http://www.emule-web.de/board/14047-verdongelte-software-mit-vms-austricksen.html)

Pan Tau 9. May 2009 14:30

Verdongelte Software mit VM's austricksen, geht das?
 
Folgendes Problem:
Ein Freund hat eine professionelle Software aus dem Ingenieurbereich die zwar mit vielen Prozessoren und bzw. oder auch Kernen Rechnen kann aber per USB-Dongle ist nur ein Kern / Prozessor zugelassen.
Wenn ich die jetzt in eine VM installiere die dem Gast-OS nur einen Kern vorgaukelt, und das auf einem Wirts-Rechner mit viel Power unter der Haube installiere (vermutlich ein 4 Prozessor-Board mit Quad-Core XEON's), wobei der Rechner nur das Wirts-OS und die - dann sehr hoch priorisierte - VM ausführen wird, dürfte sich nicht dadurch die Performance der o. g. Software mächtig steigern lassen oder erkennt so ein durchgereichtes Dongle von sich aus die Hardware des Wirts-PC's??

Pan Tau

tHe WiZaRd Of DoS 9. May 2009 15:17

Die Software muss von sich aus mit den verschiedenen Kernen arbeiten, ein Programm dass nur für einen Kern geschrieben ist läuft unter 2,4,x Kernen ja auch nicht schneller (selbst wenn sie 100% nutzt macht das auf einem 2,4,x Kern-System dann ja nur 100/x%).
Sinn machen die Kerne nur fürs Multitasking und für einzelne Applikationen wenn sie so geschrieben sind dass sie mehrere Threads nutzen - die o.g. Anwendung wird auf nur einen Kern getrimmt und somit wirst du keinen Effekt spüren.
Toll wäre natürlich eine Funktion in der VM die die Last auf die diversen Kerne verteilt aber wie so etwas gehen sollte entzieht sich dann doch meiner Kenntnis... die ganze Last müsste analysiert und in kleinere Threads aufgespalten werden... und ich denke dann wäre das schon wieder ineffizient.

Pan Tau 9. May 2009 19:20

Die Software an sich kann auch mit bis zu 64 CPU's betrieben werden, er hat sich nur die Lizenz für eine CPU leisten können, die ist auch in dem Dongle freigeschaltet.
Wollte mehr CPU's nutzen bräuchte er eine neue Lizenz und bekommt ein Dongle welches die Anzahl der CPU's zulässt, jede weitere CPU erhöht die zu zahlende Lizenzgebühr, die Software selbst müsste nicht neu installiert werden.

Mein Gedanke war für das Gast-OS eine 1 CPU-VM aufzusetzen (wo das Gast-OS nur eine CPU zu haben glaubt) die auf einem potenten Multi-CPU-Rechner läuft. Der wiederum sollte dann die VM "mit allem was er zu bieten hat" auf Touren bringen, also alle seine CPU's und deren Kerne quasi nur der VM zur Verfügung stellen.
Die Software meines Freundes lastet nämlich das System vollständig aus und das für Tage und Wochen aufgrund der zu verarbeitenden Datenmenge.

Pan Tau

tHe WiZaRd Of DoS 9. May 2009 20:45

Das verstehe ich schon, das Problem ist nur, wie oben beschrieben, dass er - weil die Software nur einen Kern und somit nur "einen Thread" (vereinfacht ausgedrückt) benutzt - davon keinen Vorteil hätte weil dann eben nur ein Kern (wegen einem Thread) mit 100% belastet wäre - das ganze System dann also mit 25%. Die VM kann ja leider nicht die Anfrage auf die 4 Kerne verteilen obwohl das natürlich schön wäre.
Einen Versuch ist das ganze natürlich trotzdem wert - ich denke aber dass der Schuss (wegen Resourcenverbrauch der VM) eher nach hinten losgeht.

Pan Tau 10. May 2009 01:51

Irgendwie schade.
Ich meine mal irgendwo gelesen zu haben dass wenn eine Software derart Ressourcenhungrig ist das sie einen Kern "am Anschlag" fährt, im Falle von dessen Auslastung dann auch Kern 2 (und folgende) mit einbezogen werden.
Dazu hab ich jetzt gerade noch einen Screenshot gemacht. Die grün umrandeten Prozesse sind 2 aktive Virtuelle Maschinen, im roten Rahmen ist die Anzahl der Threads der jeweiligen Prozesse zu sehen.

http://img9.imageshack.us/img9/1503/vmwarethreads.jpg

Ich glaube da kommen wir dann wohl nicht um das ausprobieren auf meinem PC drumherum.
Bin für jeden weiteren Hinweis dankbar!

THX,
Pan Tau

tHe WiZaRd Of DoS 10. May 2009 08:21

Zitat:

Zitat von Pan Tau (Beitrag 141021)
Irgendwie schade.
Ich meine mal irgendwo gelesen zu haben dass wenn eine Software derart Ressourcenhungrig ist das sie einen Kern "am Anschlag" fährt, im Falle von dessen Auslastung dann auch Kern 2 (und folgende) mit einbezogen werden.

Nein, eben nicht... das siehst du auch daran wenn z.B. eine Anwendung 100% CPU nutzt und dein einer Kern ausgelastet ist (der Primärkern), dann ist auch das ganze System lahmgelegt weil die Programme den zweiten (dritten, vierten...) Kern eben NICHT nutzen... zwar kommen manche Programme mal kurz über 100% (25%, 50%...) aber wohl nur in dem Fall wenn eine Windows-Funktion aufgerufen wird, die das OS dann eben auf den/die anderen Kern(e) auslagern kann.

drfreak2004 10. May 2009 08:55

Also für solche Geschichten würde ich XEN nutzen...VM ist leider estwas lahm geworden.... du brauchst auch sehr schnelle Platten sonst bringt das nix.... auch musst du das vmware sichern was nicht schwer ist.... XEN hat einfach mehr Power auch mit Windows als Gastsystem.... da kannst du eine Voll oder Teil Virtualisierung machen....
A64 x2 6000 mit 8 GB RAM nehmen Opensuse 64 Bit nehmen und dann in XEN Windows zb... habe das auch und es laufen 4 Maschinen drauf...

Stulle 10. May 2009 09:50

drfreak, wie wiz schon sagt, eine VM kann nicht ausbügeln was die software verbricht. multithreaded ist ohnehin schon ein ziemlicher schmerz in der programmierung, gerade wenn die threads an der selben aufgabe arbeiten sollen. kann man sich vorstellen als wenn schmied, schleifer und griffmacher gleichzeitig an einem messer arbeiten sollen. wird sehr schwierig...


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:20 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102