Jump to content
billington.mark

VM CPU Assignment when creating VMs

10 posts in this topic Last Reply

Recommended Posts

A table showing CPU thread pairs and current CPU assignment to VMs would be useful on the VM template screen, to make CPU assignment easier.

 

Similar to how in the docker template you have a list of already assigned ports.

  • Upvote 2

Share this post


Link to post

+666!

 

The devil?  :o

 

One thing to add I think would be nice on this request (and thought of how useful this idea would have been prior to now), have the CPU's assigned on the main VM page also, similar to the ram assigned and vdisk sizes.

Share this post


Link to post

+666!

 

The devil?  :o

 

 

The devil, where?

In the eye of the beholder  ;)

Share this post


Link to post

I would expand it further...

 

Have a general table/allocation dashboard, where the header should have columns like:

VM Name, Description, GPU, Audio, USB controller, CPU Pair 1, CPU Pair2, CPU Pair3, CPU Pair 4, ... and so on

 

CPU Pair - Should be more like 'CPU0;7' , 'CPU1;8', and so on, for an 8 core 16 thread CPU for example...

 

And this table filled initially with the currently defined VM's - each row for an existing VM and it's current resources.

 

And have dropdowns for the installed resources like GPUs, Audio, USB controllers...

Users will mark with 'x' the CPU thread pairs they want to allocate for each VM.

 

Probably there should be some initial configuration to pair GPU devices with respective rom files as well (e.g. first slot Nvidia GPU passthrough)

So that 'rom' element is also added to the xmls.

 

In this way, one could easily reallocate the resources to the VM's as per their immediate needs, without editing each VM separately, and loosing track of the CPU allocation, GPU, etc...

 

This kind of feature could be a nice addition also to the ControlR mobile app.

 

Share this post


Link to post

So I was going to as for this feature, but I found the request is already here. I made some mock-ups.

2096584854_unRAIDvmmockup.thumb.jpg.b72ddd4314bfebf6b0f25439ebcac0c1.jpg347550646_unRAIDvmmockup2.thumb.jpg.b85bfd5f6b1ac66d3dbf0c0a1667468b.jpg

 

 

I'm not a graphics artist, so I simply copy/pasted existing elements. In the first picture for /VMs all of the running cpu-pins are listed, and colorized - the user has a better visual of assignments. Second picture, is same as before; this way the user has the information for new provisioning. 

 

Devils advocate (the non-programmer's edition, me) counter points:

  •       Does this create too much over-head this element in a pure NAS setup?
  •       Will this create a color-chaos rainbow effect with too much VMs - looks like clowns. Visual style - would care if there is overlap of VMs what then? Is this worth programmers time for this    visuals?
  •      If can colorize and not make a mess, don't forget about color-blindness. 

I know this is an old post too, so I would like to throw in, that I have appreciated the changes made in VMs - so that you can look at individual vm assignments.

Share this post


Link to post

+1. I'd love to see this.

 

Regarding the mock-up above, I'd also suggest colour-coding it in some way, to quickly show you which VMs are using what cores.

 

With VMs that are used more, I leave them to their own cores. With ones that are more infrequently used, they share cores with other VMs, so it would be nice to cleanly (I think text would be too messy here) which VMs are where, within cores as well.

Share this post


Link to post
On 6/24/2018 at 8:23 AM, -Daedalus said:

I'd also suggest colour-coding it in some way, to quickly show you which VMs are using what cores.

I tried doing that with the checkmarks, but choose poorly in colors and perhaps didn't fill them in as well as I could have. 

Share this post


Link to post

Wow... didnt realise it was 2 years ago i posted this!!

 

There's so much more that could be done on this front too... like how much memory is available to allocate based on NUMA node and cpu assignment, which PCIe devices are associated with which NUMA node too, so the correct CPU cores can be assigned.

Only an issue for 2+ CPU builds though.

 

basically.. NUMA node info in the GUI on top of currently assigned CPUs.

Share this post


Link to post

Or which CPUs are on which CCXs for Ryzen/Threadripper owners.. who will want to choose cores on same CCX to reduce latency

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now