virtual machine en meerdere cores

Pagina: 1
Acties:

  • Molybdenum
  • Registratie: April 2000
  • Laatst online: 14-01 08:42
Ik heb een machine met een processor met meerdere cores (nu een Pentium D, binnen een paar dagen een Core i7). Heel veel software is single-core en gebruikt dus niet het volle potentieel van de processor.

Hoe werkt dat met een virtual machine? Als ik bv. in VMWare of Virtual Box XP of Vista installeer, kan de virtual machine dan de benodigde rekenkracht spreiden over alle cores, terwijl er bv. in de virtual machine een app draait, die normaal maar met 1 core werkt?

Ik hoop dat mijn vraag duidelijk is. :)

  • Oguz286
  • Registratie: Juni 2002
  • Laatst online: 26-12-2025
VMWare kan zover ik weet 2 cores gebruiken (misschien ook meer) en VirtualBox kan op dit moment slechts 1 core gebruiken. Ik heb alleen wel gelezen dat meerdere cores in VMWare niet echt aan te raden was omdat wanneer een thread in de VM een core gebruikt dan kunnen threads van je host die core niet gebruiken. Of dat nu nog steeds zo is weet ik niet en zou je op moeten zoeken.

Ik gebruik zelf VirtualBox en dat bevalt me uitstekend op mijn quadcore aangezien die op 1 core draait en ik nog 3 cores over heb voor allerlei andere dingen.

[ Voor 7% gewijzigd door Oguz286 op 19-12-2008 22:48 ]


  • leuk_he
  • Registratie: Augustus 2000
  • Laatst online: 19:27

leuk_he

1. Controleer de kabel!

Je applicatie wordt nooit (een vreemde uitzonder na) sneller door virtualisatie.

1 Core kunnen gebruiken op je host betekend ook maar 1 core kunnen gebruiken op je client OS.

Uiteraard helpen meer cores wel een beetje om de overhead van virutlsatie te drukken als je meer cores hebt maar je applictie is mar single core. Een deel van de virtualisatie overhead kan gedaan worden door de andere core.


Je kunt wel aan een client OS slecht een (of een beperkt aantal) cores toewijzen, zodat het host OS responive blijft met de overige cores.

Need more data. We want your specs. Ik ben ook maar dom. anders: forum, ff reggen, ff topic maken
En als je een oplossing hebt gevonden laat het ook ujb ff in dit topic horen.


  • Molybdenum
  • Registratie: April 2000
  • Laatst online: 14-01 08:42
oke. het is dus niet zo dat de virtual machine de meerdere beschikbare cores 'vertaalt' naar één virtual core voor de client app.?

want dat is namelijk waar ik op uit ben.

[ Voor 14% gewijzigd door Molybdenum op 19-12-2008 22:56 ]


  • GoldenBatt
  • Registratie: Januari 2006
  • Laatst online: 27-01 09:44
Nee, als jij der 2 instelt, ziet de virtual pc der ook 2. en niet 1 samen gevoegte. Maar dit kan je in windows taakbeheer zelf wel instellen. Beter zoeken...

editje: Dan ziet taakbeheer der teminste 1tje... Applicaties niet...

[ Voor 18% gewijzigd door GoldenBatt op 19-12-2008 23:10 ]

Specs!


  • CyBeR
  • Registratie: September 2001
  • Niet online

CyBeR

💩

Molybdenum schreef op vrijdag 19 december 2008 @ 22:56:
oke. het is dus niet zo dat de virtual machine de meerdere beschikbare cores 'vertaalt' naar één virtual core voor de client app.?

want dat is namelijk waar ik op uit ben.
Nee, dat kan namelijk niet zonder het geheel flink langzamer te maken.

All my posts are provided as-is. They come with NO WARRANTY at all.


  • Kees
  • Registratie: Juni 1999
  • Laatst online: 17:26

Kees

Serveradmin / BOFH / DoC
Het zou theoretisch mogelijk zijn, maar daarmee maak je je systeem zo traag dat nog geen devver stom genoeg geweest is om een VM zo te schrijven, het geeft een enorme overhead bv om registers in sync te houden, zelf uitvogelen welke instructies je wel en welke je niet naast elkaar kan draaien (simpel voorbeeld: a=a+1; write_to_file(a); stel dat die gelijktijdig uitgevoerd worden, wat staat er dan in de file? a of a+1?), verder geeft het nog veel meer locking, deadlocking mogelijkheden en sync problemen; er is een verdraait goede reden dat zoveel apps singlecore zijn, als een simpele VM dat zou kunnen oplossen dan waren die programma's in eerste instantie ook niet single-threaded geweest en had het OS ze allang over meerdere cores verdeeld.

"Een serveradmin, voluit een serveradministrator, is dan weer een slavenbeheerder oftewel een slavendrijver" - Rataplan


  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 21:52

Microkid

Frontpage Admin / Moderator PW/VA

Smile

Molybdenum schreef op vrijdag 19 december 2008 @ 22:56:
oke. het is dus niet zo dat de virtual machine de meerdere beschikbare cores 'vertaalt' naar één virtual core voor de client app.?

want dat is namelijk waar ik op uit ben.
Sterker nog, het is helemaal niet handig om een VM meerdere cores te geven. Het probleem van meerdere cores is dat de instructies vanuit de VM pas uitgevoerd kunnen worden als er netzoveel fysieke cores vrij zijn als jij in je VM hebt aangewezen. Stel je hebt een dual core PC en je maakt een VM met 2 cores. Als er dan binnen de VM een opdracht komt die beide cores nodig heeft zal de VM moeten wachten totdat op de host beide cores ook even vrij zijn. Dit is niet handig. Dus wat een betere oplossing is, is gewoon 1 core toewijzen aan je VM. Stel je hebt een dual-core of quad core PC en een VM met 1 core. Als er nu een opdracht vanuit de VM komt is er altijd wel een fysieke core vrij (je hebt immers 2 of 4 echte cores). Dus hoeft de VM veel minder te wachten.
Het advies wat een VMware docent mij gaf was: gebruik in je VM's altijd maar 1 core. Als je echt meer cores moet toewijzen, zorg dan dat je fysieke host altijd over meer cores bevat. Dit zou zich vertalen in: dual-core = 1 core per VM, quad core = max 2 cores per VM enz.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.


  • Seth4Chaos
  • Registratie: Maart 2001
  • Niet online

Seth4Chaos

that's me...

zoiezo is het soms ook wel handig om 1 core dedicated te houden voor de host. Zodat alle administratie die de host moet doen direct verwerk kunnen worden en daarvoor geen guest moet wordt uit-gescheduled.

Mistakes are proof that you are trying...


  • Molybdenum
  • Registratie: April 2000
  • Laatst online: 14-01 08:42
Oke, allemaal hele duidelijke antwoorden. :)
Ik heb weer wat geleerd, bedankt!

  • ppl
  • Registratie: Juni 2001
  • Niet online

ppl

Bij iets als VMware is het gewoon een programma dat met multicore omgevingen om kan gaan. Het doet dan feitelijk niets anders dan wat andere programma's die ook met multicore omgevingen om kan gaan doen. Ik geloof dat Parallels for Mac wel de mogelijkheid heeft om een vm aan en core te koppelen (geen idee of dit ook bij de Windows variant zo is, Windows is niet zo erg goed in multicore/smp).

  • Microkid
  • Registratie: Augustus 2000
  • Laatst online: 21:52

Microkid

Frontpage Admin / Moderator PW/VA

Smile

ppl schreef op dinsdag 23 december 2008 @ 13:16:
Bij iets als VMware is het gewoon een programma dat met multicore omgevingen om kan gaan. Het doet dan feitelijk niets anders dan wat andere programma's die ook met multicore omgevingen om kan gaan doen. Ik geloof dat Parallels for Mac wel de mogelijkheid heeft om een vm aan en core te koppelen (geen idee of dit ook bij de Windows variant zo is, Windows is niet zo erg goed in multicore/smp).
Dat kan binnen Windows ook wel, maar dat moet je dan zelf doen. Je kan via de Task manager de bewuste VM opzoeken en dan de Affinitie op een bepaalde core zetten. Maar handig is dat niet, want als die core dan even bezet is door de host moet de VM wachten.

4800Wp zonnestroom met Enphase
Life's a waste of time. Time's a waste of life. Get wasted all the time and you'll have the time of your life.

Pagina: 1