Jump to content


Photo

XenServer 7.2 Compatible with Nvidia Quadro M4000 - 8 GB?

Started by Chintan Athalye , 22 July 2017 - 04:46 PM
4 replies to this topic

Chintan Athalye Members

Chintan Athalye
  • 3 posts

Posted 22 July 2017 - 04:46 PM

Hello, 

 

   I am a company owner who is planning to deploy a Server for virtualisation of 3D Modelling CAD Workstations. 

 

   Server Specs : 

    Lenovo ThinkServer TD 350 with following Specs

 

      Processor : Xeon E5 2609v4 x 2 

      RAM : 64 GB

      GPU : Nvidia Quadro M4000 - 8 GB (Would it work for GPU Passthrough?) 

 

    Application : 3D Modelling Software (Solidworks), CAD Software for Remote Desktop Access via Gigabit LAN. 

 

    Nvidia Quadro M4000 is NOT listed for Citrix Xenserver 7.2 for approved Graphics Cards for GPU Passthrough. 

 

     1. My question is that, would it still work? Has anybody tried it? 

    2. How many CAD workstations (lets say 4 Core, 8 GB RAM) , or Normal Workstations (2 Core / 1 Core, 2~4 GB RAM for Word/Excel/Powerpoint kind of work) would i be able to deploy from the server with above specs? (Sorry if this question is too stupid...i'm a newbie to virtualization)

 

      ALL the listed cards by Nvidia that are compatible with Solidworks and Xenserver 7.2 both, are out of my budget :( 

 

       thanks in advance! 



Chintan Athalye Members

Chintan Athalye
  • 3 posts

Posted 23 July 2017 - 02:35 PM

The cards that are also okay with my Budget are : 

 

   AMD Firepro W4100 (2 GB) x 4 Nos.

   AMD Firepro W7100 (8 GB) x 1 No. 



Tobias Kreidl CTP Member

Tobias Kreidl
  • 18,831 posts

Posted 23 July 2017 - 03:29 PM

A number of cards will work with pure passthrough mode, including the M4000. See http://hcl.xenserver.org/gpus/

 for details. Fo trues GPU/vGPU support only certain NVIDIA GRID cards are supported and recently, a few of the AMDs, as well as some built-in Intel CPU./GPU combos.

 

Load will depend heavily on what everyone is doing and how much of it will be at the same time, so hard to spec out. One power user can eat up a whole such GPU pretty easily.

 

-=Tobias.



Chintan Athalye Members

Chintan Athalye
  • 3 posts

Posted 23 July 2017 - 03:57 PM

Thanks a lot for the reply!  This is my first try in Virtualization. I am a Mechanical Engineer by qualification so some of the questions may be a bit silly...but here it goes... 

 

1) So in passthrough mode, Each VM will be configured to have its dedicated GPU? Or can 1 Powerful GPU be shared in passthrough mode by 4 VMs? 

 

As in, would 2 GB x 4 GPUs be required in passthrough mode to power 4 3D-CAD VMs to work simultaneously? or 1 GPU of 8 GB will be good for 4 3D-CAD VMs working simultaneously, sharing 2 GB each?

 

2) Which scenario would give better performance?

       A. 2 GB x 4 Nos. of AMD Firepro W4100 (2 GB)

              or

       B. 8 GB x 1 No. of AMD Firepro W7100 (8 GB)

 

 

3) For a normal workstation where in Word/Powerpoint/Excel and Browsing would be the main activity, what resources should i allocate to the VM? Something like (1 Core, 2 GB RAM) would be sufficient, or (2 Core, 3~4 GB RAM) would be required? In this hypothetical scenario that there are NO CAD workstations, and only nominal load workstations, how many VMs can 2 of XEON E5 - 1.7Ghz x Octacore processors, with 64 GB RAM host? I just want to be sure that my requirement of hosting 10~15 machines will be fulfilled with the specs of hardware that i am buying. 



Tobias Kreidl CTP Member

Tobias Kreidl
  • 18,831 posts

Posted 23 July 2017 - 04:37 PM

No, in passthough mode, all VMs share the same GPU and each gets all of it, but in a shared, multiplexed way. With XenServer, however, you can still only assign one VM to run in passthrough mode to a GPU - you can't share it with other VMs. To share a GPU in passthrough mode with multiple VMs, you'd need to do something like running a VM as an RDS terminal server and allow VMs to connect in turn to it.

 

I'd guess you could probably support 4-10 users with a GPU like that, depending on how intensive their apps are. With more sophisticated GPUs, vGPUs can be allocated which guaranty a certain amount of GPU memory, but the processing itself is time sliced, meaning that each user gets a short time when the session will be actively processed, then it moves on to the next, and goes around. The advantage there is that data need not be constantly shuffled back and forth between the GPU memory and external storage if not all jobs can be contained within the GPU's memory. That's why the amount of GPU memory available can be just as important as the speed and power of the GPU engine, itself.

 

Depending on if a user had a dedicated GPU and the amount of memory (2GB in your case) was adequate to hold all the data to be processed, that could be faster, but if more memory is needed that will start eating into the performance. Best is to see what sort of memory requirements your tasks use. You can test this out on a desktop with a basic GPU on your system by running such routines as GPUprofiler to see what your typical resource usage is for different applications and use that as a guide.

 

For any workstation load, I think 2 VGPUs is always desirable. For our Windows 10 instances now, we see for students typically around just 3 GB of RAM being used (we allocate 4 GB but configure it to be able to be ballooned between 3 and 4 GB). Your more intensive environment may require more than that. Again, monitoring performance is key to tuning the environment to work best with the resources you have or worst case, to identify and justify what is needed to bring it up to par.

 

Many vGPU scenarios require a very different licensing model which can add significantly to costs, so if funds are limited, you will probably be way cheaper off to use some sort of passthrough mechanism.

 

As to the best bang for the buck in GPU passthrough, I'd give the NVIDIA P5000 a good look. We're thinking of using it for RDS support on standalone Windows 2016 servers, but it could be used as a passthrough engine for a VM supporting RDS, as well.

 

HTH,

-=Tobias